Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!



Ask Slashdot: How Should a Liberal Arts Major Get Into STEM?

msobkow Have times changed that much? (279 comments)

It used to be that any degree would get your "foot in the door" with HR. Some of the best programmers I worked with over the years had degrees in English, Philosophy, and even a History major.

University teaches you how to learn new material, how to prioritize it, how to summarize, how to reach the meat in the middle of the chaff. It does not teach you how to program. While there are benefits to knowing computing theory, it's not theory that gets the job done -- experience does that.

I'm surprised you're having such a tough time finding work if you're actually good at programming. Perhaps it's the way you're presenting yourself in your resume, because, as I said, it doesn't really matter what your degree is in for getting your foot in the door.

3 days ago

Virtual Reality Experiment Wants To Put White People In Black Bodies

msobkow It's far easier (446 comments)

It's far easier to just have the cops shoot the white people, too. Then they'll know what it's like to be a "person of colour." :(

3 days ago

Vinyl Record Pressing Plants Struggle To Keep Up With Demand

msobkow And 1...2...3... (433 comments)

And in 1...2...3...

Cue all the math junkies who claim that there is "proof" you can't hear the difference between 44.1/16 bit audio streams and higher quality rates like 192/24 or analogue. Because the math "prooves" that thousands upon thousands of people who claim to hear a difference are "delusional liars."

I am neither delusional nor a liar. I hear the difference. It's clear as night and day.

about a week ago

Blade Runner 2 Script Done, Harrison Ford Says "the Best Ever"

msobkow Re:Doubt it (297 comments)

I disagree completely. Good science fiction has never been about the technology, but about human and alien personalities and moral questions brought about by the technology. Good science fiction explores interpersonal relationships, character traits, philosophical stances, and other such subject matter.

The science fiction of the mid-late '80s made good movies because the directors and script writers were selecting stories with deep connotations, instead of viewing them with an eye towards turning them into CGI action flicks emphasizing trivia like "the technology" instead of the plot.

There is still a tremendous amount of good science fiction written over the years that would make terrific movies. But hollywood won't back those "risks" -- they're too busy investing in action movies pretending to be science fiction. There are exceptions to that, but for the most part you know it's true: hollywood doesn't want to discuss morality, philosophy, and personal interactions in a script. They want a nice "safe" piece of pablum that will make audiences go "ooh" and "aah" over the mindless special F/X, not cause them to think for themselves.

about a week ago

Is Enterprise IT More Difficult To Manage Now Than Ever?

msobkow The problem has never changed (241 comments)

The problem has been the same since the PC first came out: users can "do things" with a PC/laptop/smartphone/tablet and think that "doing things" makes them an expert on IT. So when they come up with a "great idea for a new application", they can not and will not fathom the fact that it can take months or years to implement, is going to cost hundreds of thousands if not millions of dollars, and will be obsolete before it ever hits production due to changing business needs.

There is no cure for the "wisdom" of people who tell you how to do your job, or how their 14 year old nephew could write the application in a few weeks. They've made up their mind that you're just a lazy SOB trying to milk the company for money and a cushy job, and will never, ever, ever understand just how much effort goes into security, design, testing, porting, etc. To them, everything is "easy."

The real problem is that companies let such users and managers make business decisions based on "their gut instinct" instead of properly planned and projected schedules. Because heaven forbid you should ever tell the marketting manager that he can't have his shiny Sharepoint solution because it doesn't provide anything useful to the company that can't be accomplished with a properly organized set of folders on a shared drive/server somewhere.

No, they're the ones who sign for the budgets, and they're the ones who like the "shiny", so you're the one who gets stuck trying to make the shiny work with all the line of business systems that are actually important to the operation of the business.

And if you even hint that you can't do it, well, there's a company overseas that's promising to do it in a month as an offshore service, so you're fired.

Which, in a nutshell, is how the bean counters and their ilk get away with their bad business decisions: they constantly hold the threat of offshoring and termination over your head to beat Mr. IT into submission.

about a week ago

AI Expert: AI Won't Exterminate Us -- It Will Empower Us

msobkow Intelligence does not imply volition (417 comments)

Artificial Intelligence does not imply volition. I know of no reason to expect an early AI to have a will or to come up with results expect in response to events and information it's designed to respond to. While some might try to simulate the volition of a live entity, I do not feel it's necessary to include such a component in order to qualify something as an Artificial Intelligence.

Artificial Intelligence just means artificial thought about something. Sufficient understanding of the subject matter to reach conclusions and produce outputs relevant to what is known or implied. Creativity and volition are another kettle of fish entirely.

about two weeks ago

Utilities Face Billions In Losses From Distributed Renewables

msobkow I fail to see how they're "losing money" (280 comments)

I can see them losing market share to renewables, but that's not the same as losing money.

There is nothing about legislation anywhere in North America that guarantees the continued success of an obsolete business model. No matter how many congressmen and senators the MPAA and RIAA have bought off.

about two weeks ago

How Relevant is C in 2014?

msobkow It was and is the ultimate macro assembler (641 comments)

C started out with high level "constructs" that were basically the operators of the PDP-11 and VAX processors from DEC. While those constructs have mapped well to other processors, virtually every statement in C originally compiled to one instruction on those processors.

To this day, C still gives you the power and flexibility of any low-level language worth it's salt, and ample opportunity to hang yourself and your code. Don't forget -- C++ originally targetted C as it's output, not machine code. C has similarly provided the "back end" for no small number of special-purpose compilers.

Then there are the operating systems and device drivers that have been written with it, and all the embedded systems logic for devices all and sundry.

C will never die any more than assembly or COBOL and FORTRAN will. There will always be those special-purpose high-performance tasks where it is worthwhile to use C instead of a higher level language. Just as there are times where it still makes sense to drop even lower and into assembly.

You go ahead and try to bootstrap an entire C++ implementation so you can write a kernel in it. Good luck with that. Getting a C library framework running on a bootstrapped kernel is hard enough. C++ would be orders of magnitude harder.

about two weeks ago

Civil Rights Groups Divided On Net Neutrality

msobkow Those areas are underserved because... (127 comments)

Those areas are underserved because the only place you're going to see a computer there is tucked under the arm of a crackhead who stole one and is looking for a fence.

about two weeks ago

The Failed Economics of Our Software Commons

msobkow He doesn't get it (205 comments)

I work on my pet project (http://msscodefactory.sourceforge.net) because it's a fun challenge I set myself many years ago. Whether others use it is irrelevant. Whether I ever make money off it is irrelevant. There is only one thing that matters to me:

Having fun coding.

That's it. Beginning and end of story. I work on it for fun.

about two weeks ago

Google Releases Android Studio 1.0, the First Stable Version of Its IDE

msobkow Re:What's wrong with emacs and make ? (115 comments)

Use an IDE to edit? You're kidding, right?

Why in all that's holy would I load up a multi-megabyte behemoth instead of using a text editor for editing code? I use the IDE to fix build errors that result, and to do the debugging.

But with ant handling the build process and a decent debugger, I see absolutely no need for an IDE. In fact, Eclipse crashes about half the time I try to use it, so I can't use it for projects the size I work on as a build manager. It pukes itself far too often, forcing a complete rebuild every time. And the more code has to be rebuilt, the more likely it is to puke on itself.

No man. A decent editor like vi or emacs, a build manager, and a debugger are all you need. Loading up a whole IDE is overkill.

But then again, I've never seen any debuggers other than IDEs for Java.

about two weeks ago

45-Year Physics Mystery Shows a Path To Quantum Transistors

msobkow Fluff piece (56 comments)

The summary and the article itself are so fluffy and short that they don't give any useful information about how this material relates to quantum computing, nor why it's properties are significant. There is mention of a class of electrons involved, but not how nor why this particular type of electron is relevant to quantum computing.

It sounds interesting and all, but it would have been nice to have enough information to give one something to think about instead of just having to assume that the high faluting professors know their shit and must be right. :P

about two weeks ago

Ask Slashdot: Paying For Linux Support vs. Rolling Your Own?

msobkow Ask yourself: What is our business model? (118 comments)

You're asking the wrong question. The question is "what is our business?".

If it's not your business, you hire experts to take care of it.

My guess is "producing a Linux distribution" isn't in your business model.

about two weeks ago

Microsoft Introduces .NET Core

msobkow Re:Haters gonna hate (187 comments)

Good to know you bother installing those monthly security patches. What was your IP again? :P

about two weeks ago

Should IT Professionals Be Exempt From Overtime Regulations?

msobkow Re:Nobody should be exempt (545 comments)

You're missing the point.

If companies want to compress schedules without being able to increase staffing, then they should be prepared to pay for it.

If they can't justify the cost, then I guess it wasn't that all-fired important in the first place, was it? No, it was just that Billy-Bob-Joe over in Accounting said they "have" to have it by such and such date, but they're not willing to *pay* to have it by that date.

Well, then, it's time for the IT department manager to grow a God-damned spine and tell the customer department "No" instead of expecting the staff to kill themselves for nothing.

And shame on those of you who put up with such crap.

about two weeks ago

Should IT Professionals Be Exempt From Overtime Regulations?

msobkow Re:Nobody should be exempt (545 comments)

Then adjust the schedule or pay through the nose.

about two weeks ago

Should IT Professionals Be Exempt From Overtime Regulations?

msobkow Nobody should be exempt (545 comments)

Nobody should be exempt from time and a half except the owners of a business. Anyone who works for pay should get paid overtime, if only to punish companies and businesses that insist on overworking their employees instead of hiring more staff to handle the load.

about two weeks ago

FTC: Online Billing Service Deceptively Collected Medical Records

msobkow I take it (25 comments)

I take it the one medical provider who had the major screwup of providing such personal and private data has had their license revoked and is now out of business?

about two weeks ago

New Effort To Grant Legal Rights To Chimpanzees Fails

msobkow Re:Good. (341 comments)

We're managing to beat you in the "dumb shit for goobernmint time wasting" in Canada today. Some psycho nutbars from the "truther" movement managed to get their petition submitted to Parliament's schedule by Elizabeth May (leader of the Green Party.)


I want a few hundred highly paid politicians debating the paranoid lunatic's fringe perverse fantasies instead of dealing with *real* issues. :(

about two weeks ago



Politicians vs. "Regular People"

msobkow msobkow writes  |  about a year ago

msobkow (48369) writes "Mayor Rob Ford of Toronto has admitted smoking crack cocaine while in a "drunken stupor." Yet he refuses to step down as mayor, and insists on serving out the balance of his term.

In private industry both North and South of the border, someone with a drug or alcohol problem is given three choices:
  1. Go to rehab while suspended from your job
  2. Resign
  3. Be fired

What do you think? Should politicians be exempted from the rules that apply to private industry?"



MSS Code Factory 1.11.12558 Service Pack 6: It is done!

msobkow msobkow writes  |  about a month and a half ago

Service Pack 6 provides move up/down functionality for the Chains for all of the supported databases. Note that the RAM storage does not support Chains or complex object deletes at all -- it's intended for high volume read/update/delete data, such as the call record information for an Asterisk or FreeSwitch PBX system, or the internals of MSS Code Factory itself.

There are some critical bugs fixed with Service Pack 6, including cache integrity bugs that were discovered during testing of the move up/down functionality.

With this release, I think I'm pretty much done with MSS Code Factory 1.11. I can't think of any more functions I'd want to add that I have experience with. Sure I could implement proper login security with hashing algorithms, a JEE server to receive and respond to X(ml)Msg requests, and polish the prototype GUI some more, but that's really not my forte. I spent 30 years as a back end database programmer, tuning servers and wringing every last bit of performance out of database engines that I could.

MSS Code Factory 1.11 now incorporates everything I ever learned about making an RDBMS sing and dance. It provides all the functionality points that I was ever asked to deliver to a front end application programming team, and does it all automagically from a Business Application Model.

It's been 18 years of long hours working on this project to get to this point. The idea was around even longer (I came up with the concept way back in 1987, before I'd even had any experience with data modelling tools.)

Service Pack 6 is, in essence, my life's work. My magnum opus. I have climbed my mountain, and the view is great.



MSS Code Factory 1.11 Service Pack 1 released

msobkow msobkow writes  |  about 3 months ago

MSS Code Factory is a model-to-code development tool that provides Java 7 using JDBC and stored procedures for DB/2 LUW, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and Sybase ASE.

Service Pack 1 corrects defects in the manufactured database schema installation scripts, the core Java ORM objects, the stored procedures, and the JDBC layer. It also adds in the production of an XML messaging based communications framework for doing client-server or web development (you have to code the transport layer, but the message parsers and processing are provided.)

Service Pack 1 also provides a prototype Swing GUI that can be used as-is for performing demos and walkthroughs of a business application model for users, rather than counting on users to understand ERD or UML diagrams. The prototype is entirely factory and interface based, so it can form the basis of a custom user interface by either subclassing the manufactured GUI components produced, or by replacing them wholesale with JInternalFrame and JPanel instances as appropriate (the only requirement is that they implement the interfaces specified by the manufactured objects.)

The source code for the project is hosted at github, but the main project is on SourceForge at http://msscodefactory.sourceforge.net.

The project has been under research and development since Java 1.1 was released in 1997, with the past two years focusing on the 1.11 release.


24/192 Audio Redux

msobkow msobkow writes  |  about 5 months ago

A while back I put my laptop into forced 24bit/192kHz output mode in order to be able to play some Grateful Dead tracks that were recorded in that format. I've left it at that setting on the Windows 7 laptop because it plays back lower resolution audio just fine.

In fact, it seems to upsample lower resolution audio rather nicely. So while CDs and MP3s still are far from as clean sounding as the Grateful Dead tracks, the upsampling prevents "digital fatigue" and sounds more "musical" than 44.1 Hz output does on my Linux box. So I find myself spending more and more time listening to my music under headphones plugged into the laptop (a rather nice set of Sony noise cancelling full-cup headphones that cost nearly $300 15 years ago -- a gift from good friends.)

For the life of me, I do not understand people who claim they can't hear the difference between 44.1 audio and higher resolutions. They must be deaf. The difference is obvious as night and day, if you know what to listen for.


MSS Code Factory 1.11 has been released to production

msobkow msobkow writes  |  about 7 months ago

This day had to come eventually. It was just a matter of patience, persistence, and time.

Today I released MSS Code Factory 1.11 to production.

This is the first time I've ever released a piece of software because I honestly believe it's ready to be released rather than because some marketing/sales rep or management had set an arbitrary delivery date.

This release was 4 years in development. The project itself was started 18 years ago.

But my baby has all grown up, and it's time to send her out the door into the wild, wild world.

If I were to die today, I'd die knowing I accomplished something with my life.

This has been the mountain I had to climb; the ocean I had to sail; the desert I had to cross. It has been my mission ever since I first conceived of the idea of manufacturing code by reversing the logic of a compiler/parser way back in my University days.

For those of you who are programmers, please download and play.


By the way, as a side effect of the testing and validation of MSS Code Factory itself, I produced CFUniverse, a conglomerate business application model project that is nearly 14,000,000 lines of source code. To put that in perspective, the biggest project I ever worked on was about 1.5 million lines, coded by a team of over 150 developers over a 3 year period. Were you to print out CFUniverse at 100 lines per page, double-sided, you'd need 5 cases of paper plus another 20 reams to do it.

I'd love to dump that sucker on someone's desk for a code review!


MSS Code Factory 1.11 is almost done

msobkow msobkow writes  |  about 7 months ago

Within the next week or few, I should be releasing MSS Code Factory 1.11 to production.

1.11 has been a 4 year effort, kickstarted by some rule sets from previous versions of the tool. Each of the earlier versions encountered problems which sent me back to the drawing board to resolve the issues I encountered, going so far as to migrate the core engine code to C# at one point, and then back to Java again, all in an effort to clean up the last bugs in the core technology (the effort was successful, but it was a good two years of my time to do it.)

As I write this, I realize that it's been roughly 18 years since I created the 1.0 version of MSS Code Factory using Java JDK 1.0. I've believed in the "write once, run anywhere" philosophy since day one, and bought into the "Network Is The Computer" concept as well. Hence my decision to focus the efforts of MSS Code Factory on Java, rather than diverging into other languages such as C# or C++ (although there is absolutely no reason I couldn't produce code for those languages, sharing the same database models and stored procedures that the Java code relies on.)

18 years.

My precious is almost an adult.

Just a few more weeks of database script testing, more to find and correct issues with the Business Application Models than with any expectation of long-term problems with the database installation scripts as manufactured by the tool.

At the point of release as a side-effect of testing, I'll have created CFUniverse 2.0. A mammoth general purpose database/schema/application comprising 366 tables and nearly 14,000,000 lines of source code.

Top that, 'ya slackers!


16/44.1 vs 24/192 audio

msobkow msobkow writes  |  about a year ago

Some people insist the difference between 16/44.1 and 24/192 audio files is "all in your head", because some idiot mathematician says you shouldn't be able to hear the difference. Well, human ears aren't mathematicians, and I can most emphatically hear the difference even with these aging ears when using a $500 set of headphones.

I am absolutely in *glory* listening to The Grateful Dead's "Built to Last" album at 24/192 right now. The cymbals *splash* and the triangles *ring*. The maracas *rustle*. You can hear the *wires* of the snare drum rattling against the drum heads. And most important of all, the overall experience of listening is *soothing* instead of earache-inducing as with dithered audio. You should hear the sax I'm listening to right now -- that's one instrument whose sound I *know*, having played one for nearly 10 years in my youth.

My theory is that people who've been raised on digital audio have never learned to hear the difference between live instruments and digital dithering. They *can't* hear the difference, because they've never been exposed to and learned how to hear the sounds, much as someone who did not grow up amongst the Chinese can't hear the difference between some sounds in their languages.

The psychoacoustic training of one's ears is a very real phenomenon. If you've never learned to hear and listen for something because you've never been exposed to it, you grow to be *incapable* of hearing it without a *lot* of exposure.


I am a T-Rex

msobkow msobkow writes  |  about a year ago

Smart ass punks think they know *nix history.

I cut my wisdom teeth on a VAX 11/780 running BSD in the fall of 1984.

I PRE-DATE the GPL -- Ricky Stallman was just touring campuses (including the University of Saskatchewan) with his "new" GPL idea when I was learning *nix coding and the ORIGINAL K&R 'C' language.

I've run, coded, and delivered systems on just about every dialect of *nix that ever existed. I AM A DINOSAUR! A T-Rex that will eat your OS/X crap for breakfast.

FORTRAN, COBOL, LISP, Algol, APL, PL/C, K&R 'C', ANSI 'C', C++ (from 1.0), Erlang, Java (from 1.0), Z-80 assembly, 6502 assembly, PDP-11 assembly, VAX assembly, -- hell, when I was programming the Z-80, I didn't even *have* an assembler -- I converted my code into hex and POKE'd it into the machine and saved the memory image to cassette tapes!

RSX-11, BSD on VAX, VMS on VAX, AT&T SVR4, VMS on Alpha, DEC Unix on Alpha, HP1000/A, HP9000, the first release of AIX on POWER, Minux, Linux from Red Hat 5 onwards (including RHEL/CentOS/OracleLinux, Ubuntu, Debian, SuSE, Slackware, and a couple other distros whose names escape me at the moment), every flavour of Windows from 3.11 onwards, Mach (which is merged into OS/X), QNX (now Blackberry 10), SunOS, Solaris, Amiga, Commodore 64, Commodore PET, Apple II, and a few more that I can't remember the names of at the moment.

So go ahead and try to "tell me", kid. I'll run rings around you in coding, hardware, and experience. I GREW UP WITH THE HISTORY YOU ONLY HAVE READ ABOUT. I've been programming longer than most of you pups have been alive!

(Can you tell I'm pissed that some 7-digit luser tried to tell me I'm "probably not even a programmer"? :P :P :P)


A Perspective on Privacy

msobkow msobkow writes  |  about a year ago

No doubt people who've read my posts realize I'm concerned about the NSA spying issue, especially in light of the global cooperation in sharing information between spy networks run by other countries including Australia, New Zealand, Germany, and the UK. Even here in Canada our CSIS uses information collected on their behalf by the US NSA. It's already being abused, with information being fed to the DEA and from there on to police departments in the US, which has nothing to do with the original goal of "catching terrorists."

As my own ISP, SaskTel, leases servers in Florida, my email is monitored. My Google and Yahoo accounts are also monitored. There is no way for me to communicate any more without being tracked.

I've always expected this day would come, because when the internet protocol was designed, one of the key requirements were headers that identified the sender and receiver of data packets. There was no way around this, and there is still no way to avoid such identification (though it can be obfuscated to some degree by protocols like TOR.)

As computers have gotten more powerful, it was inevitable that humanity would have the capability to monitor all communications and track all users. It was just a question of when would it happen, and I must admit I'm surprised that we've come this far in my lifetime.

Unfortunately, it would seem the corporate-led fascists are the ones who are leading the charge. Governments whose leaders no longer respect the will of the people, nor even listen to the concerns of the people, but instead spin the lies suggested by their corporate masters. The world is all about the money nowadays.

Maybe some day we'll see a resurgance of humanism and a more equitable social order based on socialist ideals ala Star Trek, where people work for perks, not survival, but I don't think we're going to see that in my life time. Perhaps we'll never see it, because the more entrenched the elite owners of the corporate world become in their mastery of individual country's governments, the less likely it is that they can be uprooted and removed from the halls of power.

Still, I haven't given up hope on humanity.

I'm just very worried about where things are going to go in my own lifetime, never mind the lifetimes of my nieces and nephews.

Despite the tracking that is possible, people insist on using pseudonyms and aliases for their web accounts. I think that's fundamentally wrong. If you've got any sense of honour, integrity, and personal responsibility, you should not be afraid of having your comments and articles on the 'net associated with who you really are. In fact, you should be proud of who you are, stand up as an individual, and rant with enthusiasm against the evils of the world.

Sure you'll make mistakes. You'll say embarassing things. You'll shove your foot in your mouth up to the knee from time to time. And those mistakes will not be erased from the 'net.

But so what? Everyone is human. If anyone is in error, it's those who insist on judging people by their past mistakes instead of realizing that people screw up, learn from their mistakes, and grow to be better people because of them. I've certainly never worried about being judged by potential employers or friends on the internet.

After all, if I am anything, it is honest and blunt with my opinions. I am the kind of person I want to be and would want for a friend: trustworthy and blunt. I hate double-talking backstabbers with a passion, and wouldn't want to work for a company that would judge me based on my internet social life instead of my job history and quality of my work.

So rave on, rave on, rave on, I shall.


Mark Sobkow


MSS Code Factory 1.11.6160 Beta 6 (Ok, so I'm not done with betas yet after all)

msobkow msobkow writes  |  about 2 years ago

Beta 6 implements the table id generators for the RAM implementation and corrects a defect in the implementation of the RAM deletes.

It also corrects the use of table id generators for all of the supported databases (DB/2 LUW 10.1, MySQL 5.5, SQL Server 2012, PostgreSQL 9.1, Oracle 11gR2, and Sybase ASE 15.7.) Previously the client-side code that is generated for objects which incorporate BLOBs (or TEXT for SQL Server) would not have properly used the table id generators, but instead would have relied on obsolete/incorrect code for schema id generators of the same name.

All of the RAM and database implementations have regression tested using the CFDbTest 2.0 test suite.

Beta 6 and the corresponding test suite are available for download from http://sourceforge.net/projects/msscodefactory/files/.


MSS Code Factory 1.11.6008 - Beta 5 - The last of the betas

msobkow msobkow writes  |  about 2 years ago

I finally reached Beta 5 with my pet project. It now supports manufacturing of code for DB/2 LUW 10.1, SQL Server 2012, MySQL 5.5, Oracle 11gR2, Sybase ASE 15.7, and PostgreSQL 9.1.

I've finally achieved what I set out to do 15 years ago -- provide a multi/cross database coding tool that automates the mapping from an abstract business model to the specifics of the database while using all of the available performance tuning options of the database. This is far more challenging and complex than something like EJB3, which just generates dynamic SQL, not stored procedures and prepared statements.

Next up will be using the tool to write an application. I'm thinking of doing something simple and straight forward, like the core of an accounting system with general ledger, accounts, subledgering, and so on. During that development I may well add in the security support I've been planning all these years, but maybe not. Time will tell.

Regardless, I'm just peaking to have finally achieved this long outstanding milestone. :)


MSS Code Factory 1.11.5365 Beta 1

msobkow msobkow writes  |  about 2 years ago

The PostgreSQL 9.1 implementation has been updated to make use of stored procedures, prepared SQL statements, and every other performance-tuning trick I've learned in 30+ years of database programming. Subsequent betas will be released as additional databases are brought to the same level of integration as this release for PostgreSQL.

The PostgreSQL code should run rings around EJB3 and similar technologies that rely on dynamic SQL.

MySQL 5.5 support is as complete as it will ever be, and basic DB/2 LUW 10.1 support is also provided.

Download MSS Code Factory Beta 1 from SourceForge.


MSS Code Factory is moving right along

msobkow msobkow writes  |  more than 2 years ago

As you can see from the MSS Code Factory project site, things are progressing steadily with my pet project. I've just finished spending a couple of weeks reworking the PostgreSQL database IOs to use PreparedStatements wherever possible instead of pure dynamic SQL. At this point, dynamic SQL is only used for cursor-based reads and index queries which reference nullable columns; all other queries and accessors use prepared statements (static SQL.)

I haven't tested the performance of this new layer with PostgreSQL, and don't intend to compare performance of dynamic and static SQL as it would require keeping copies of and debugging both versions of the code. I know from previous experience with DB/2 UDB that using PreparedStatements can result in an 80% overall performance improvement for something like loading a model into a relational database.

Unfortunately most of the performance benefits would be lost when using the code for a web server, because you have to releasePreparedStatements() at the end of each web page served, because there is the possibility that a particular vendor's implementation of PreparedStatements might have data associated with it on the server end of the connection, and the connection has to be released after serving the page.

One of the biggest advantages of switching to static SQL is that parameter binding with PreparedStatements can handle variables up to the maximum size for the type, whereas dynamic SQL is limited by the size of the statement buffer accepted by the database (which used to be a significant limitation with DB/2 UDB 7.2, though I've no doubt that limit has been expanded or eliminated.)

A key point of the use of static SQL is that the only difference between the different databases now is the specific SQL functions used to convert strings to date-time types, so I'm going to be rolling out the support for the commercial databases under GPLv3 after all, rather than trying to leverage them for profit. The differences are just too negligable for me to believe anyone would pay for the privelege of using a commercial database.


I gave up and filed for disability

msobkow msobkow writes  |  more than 2 years ago

I've been working as a programmer since the spring of 1987. I've travelled all over North America, worked in many cities and with some of the biggest names in technology. I've had an absolute blast working with skilled and intelligent people who were not only good at what they did, but became good friends.

But it's time to face the facts: I can no longer work "office hour" jobs due to chronic migraines. Even with complete flexibility to work from home and at odd hours, I was barely able to get in 24-30 hours per week at the last company that was willing or able to work with me on the scheduling issues caused by the migraines.

I've therefore filed for disability here in Saskatchewan, and am in the process of getting approved for the SAID program (Saskatchewan Assured Income for Disability.) I used to pay twice as much in taxes per year in the '90s than I'll be getting under SAID, but at least it'll be subsistance living.

Don't make the same mistake I did of enjoying your income while you have it. Save and invest your money like it's going to be the last dollar you earn, because you never know when you're going to be hit by the proverbial bus and find yourself disabled. It's not fun, it's not a "safety net" as some claim, and it's a very depressing future to face.

But many of you will face that future, whether due to medical issues or accidents.

Good luck.


I'm going to try to keep Singularity One Systems, Inc. alive because every once in a while I do find a few hundred bucks worth of offsite programming I can do for someone. With the company, I can "bank" that income, and draw the $200/month I'm allowed to on disability over time, as well as running a few expenses like monitors and part of my internet/phone fees through the company instead of paying it all out of pocket.

Who knows? Maybe some day one of my pet projects will turn into a money maker. I've always said I'd program for a hobby if I weren't programming for pay, and that's where life is headed: hobby programming to keep myself from being bored silly in "retirement."



Joy oh joy

msobkow msobkow writes  |  more than 2 years ago

My Ubuntu 10.04.1 partition developed a serious case of USB problems after this morning's kernel update. When I rebooted to try to reset the USB devices, the partition table nuked itself.

So I'm reinstalling WinXP. This is NOT how I planned to spend my day!

Needless to say, I am NOT a happy camper...


Thoughts on the entangled-quantum future

msobkow msobkow writes  |  more than 2 years ago

In the future, and a not too distant future at that, we will have quantum-entangled computers that work alongside or as add-ons to our existing computers.

Entangled quantum processors are good at the very class of computing problem that traditional CPUs suck at. And the reverse is also true, so we won't all be switching to quantum computers, we'll be merging the two technologies into a single box capable of tackling both classes of computing problem efficiently.

The issue to society is that current encryption technologies rely on the difficulty of calculations of precisely the type that quantum computers are good for. In the quantum era, it will be effectively impossible to encrypt data in a secure fashion. If you vary your keys fast enough, you might be able to maintain some semblance of security for a specific communications link to another node on the internet, but that would be about it.

That means that all the information on all the centralized data servers running behind every major business or website on the internet is readable.

I realized this years ago. It's one of the reasons I post publicly -- because I know the futility of trying to conceal or limit the access to what I post on the internet.

And it will happen in my lifetime, of that I have no doubt.

I contend that the only way to secure personal data in that future is to have personal servers located at your own home, with maintenance scripted so thoroughly that all the user has to do is pop in a backup cartridge each evening to receive the daily incrementals and weekly full backups of their life.

Instead of you entering in your information to a shared server somewhere, you would grant that shared server's processing systems read-only access to the relevant parts of your information, identified by some sort of unique id code/string (maybe even just a UUID) and the specific IPv6 address of the single host that is being granted that read permission.

Just for safety's sake, every time the application server read your personal information, an access entry would be logged.

It would be forbidden for any application server to retain the data. The sole source of your personal information would be your home node itself.

Sure, some might choose to contract the hosting of that node out to something akin to an ISP or a Google or a MicroSoft, or even an IBM node in a data center/cluster some where, but the key point is that the IPv6 address of each and every individuals information be assigned to one particular node.

I can not imagine any other way of protecting your personal data in the quantum future.

And that's the future I'm building towards.

Your node would assign each application server a corresponding signature, the UUID. The unique id number generator. Basic, simple, effective, and in production for a long time. But hardly anything akin to a password.

Maybe you'd want to look into how the data center at the host is physically architected to protect the token.

Just remember that with the quantum capabilities, passwords will be easily cracked and stolen by anyone with access to a backbone link that can have a good old fashioned network sniffer attached. You're rely relying on the request coming from that particular IPv6 address with the assigned UUID as the unique signature of the authorized request.

Implementing such a system means implementing common data structure standards across all platforms and all systems in due time. You'd choose your hardware/node provider based on your faith in the quality of the system they deliver as a whole.

So you could buy an IBM stack, an Oracle stack, a MicroSoft Windows stack, an Apple stack, or any one of the many Linux and BSD stacks.

Or even smartphone and tablet OS stacks.

Similarly, you'd choose your database service provider from the supported RDBMS vendors, your file system, and so on. Some stack vendors don't let you choose some options, but that's part of what you get when you buy into their stack.


The music industry has made the people half deaf

msobkow msobkow writes  |  more than 2 years ago

When a snare drum is struck, you should hear the rattle of the wires underneath the bottom drum head, not a tissue paper crackle.

When a triangle is struck, you should hear a bell-like ring soaring above the field of music, not a digitally compressed buzzing sound.

Pat Benatar's high register should soar with authority, not break up into digital noise.

When a cymbal is struck with a stick, it rings with a brassy tone; it does not break up into distortion.

But the past two generations have spent their entire lives listening to 44.1KHz/16bit samples or even more highly compressed MP3s. Their neural pathways have been trained to filter out the digital noise, and now they can't even hear the higher frequencies.

Back when vinyl was king and CDs had just came out, double-blind study after double-blind study proved that analogue was superior, and that the average person could hear the difference.

20-30 years later, the double-blind studies were repeated comparing 192KHz/24bit studio recordings to 44.1KHz/16bit CD quality audio.

Sadly, modern subjects can't hear the difference any more.

They've been robbed of their hearing, and they don't even realize it. Worse, they point to the new study as "proof" that I'm "delusional" and have even come up with some fancy name for the "delusion."

I thought I saw a class-action lawsuit against the *AA and the audio industry in the making for the loss of hearing by the general population, but people are in such denial of the issue that they modded every single one of my posts on the topic down to zero.

How sad. You've all been robbed and you'd rather claim I'm delusional than realize the new study proves you've been robbed.


Racknine and calls to numbers on the Canadian NDNC list

msobkow msobkow writes  |  more than 2 years ago

My number is on the do-not-call list for Canada.

I received one of the robocalls trying to send me to a non-existent polling station, presumably a call made by Racknine.

As Racknine has been unable to identify a political party as approving and being responsible for those calls, Racknine did not perform due diligence and therefore the call made was illegal under CRTC telemarketing restrictions. Only someone who is a duly authorized representative of a political party can contract a robocalling company to call someone who is on the National Do Not Call List.

I believe the penalty for violating the Do Not Call List without proper authorization or exemption status is on the order of $20,000 per call if I recall correctly.

Being able to provide a "burner" cell phone number and an obviously fake name as the "authorization" for these calls means Racknine engaged in wide spread illegal calling of OTHER people who are also on the national do not call list -- I will NOT be the only one who was called an on the NDNC.

I STRONGLY encourage any other Canadian who received such a robocall to contact the CRTC and register a complaint against Racknine. THEY are responsible for ensuring that their business operates within the guidelines of Canadian law.



Comparing MSS Code Factory 1.8 and 1.9 runtimes

msobkow msobkow writes  |  more than 2 years ago

I finally have some hard oranges-to-oranges comparison numbers between MSS Code Factory 1.8 and 1.9.

With the addition of the GEL compiler and runtimes and other performance tuning, 1.9 takes 1m25s to create MSSBam110 as of 2012.02.18.

The 1.8 release takes 3m25s to produce idential code for 1.9.

That's a 68% reduction in the execution time. Not bad. Not bad at all.

MSS Code Factory


Rest in Peace, Whitney Houston

msobkow msobkow writes  |  more than 2 years ago

I guess what really strikes me about Whitney Houston's demise is that she was only a year older than me.

I've faced some of the same problems she did in life, including addictions.

It could easily have been ME that died today instead of her, whatever the cause of her death was, and that hits home.


RIP Whitney.

Slashdot Login

Need an Account?

Forgot your password?