Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: MSS Code Factory 1.11.5365 Beta 1

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.

User Journal

Journal Journal: yo

--
Censorship is obscene.
Patriotism is bigotry.
Slashdot is unusable without noscript.

User Journal

Journal Journal: Android for Raspberry Pi 4

More or less every day I visit the Raspberry Pi home page to see if there is any new information on when the allegedly-mostly-working Android 4 will be released, and every day there isn't. As far as I know, Broadcom is the holdup. This does not give me confidence in Broadcom...

User Journal

Journal Journal: How To Jump Out of An Airplane

http://www.youtube.com/watch?v=2QgG4hwKbH4 Pretty much like that.

http://youtu.be/ZHdsUICa7zY Eeh, not the best exit but in my defense it was the first one where I've been "on my own" at the exit. All previous times, someone's been holding on to me.

The second video is my 10th jump. I'm running out of levels to fail, though! I'm much rather take it slow and be sure I have it right than rush through the program.

User Journal

Journal Journal: MSS Code Factory is moving right along 1

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.

User Journal

Journal Journal: I gave up and filed for disability

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.

P.S.

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."

Peace.

Printer

Journal Journal: Good large-format inkjet with continuous inking?

I am looking for a large-format inkjet with continuous inking that is suitable for printing poster prints and the like. Ideally it would have both Linux and Windows support, preferably through a standard protocol, but this is not an absolute necessity. What IS a necessity is the ability to install a continuous inking system for making these large prints, and being able to change inks. I am biased towards Epson or Canon but I want good advice, not just biased.

User Journal

Journal Journal: Joy oh joy 2

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...

User Journal

Journal Journal: Copyright 2

Copyright is not a natural right, and if it had been instituted in its current form (denial of copying, as opposed to forced copying) two thousand years earlier we'd probably be at least a thousand years behind where we are now.

User Journal

Journal Journal: Getting a Job 4

Someone on Slashdot recently claimed I hadn't read Keep the Aspidistra Flying because I thought the ending was depressing. After I finished my PhD in 2007, I've managed to avoid the same fate and have successfully avoided having a real job for almost five years. I've done freelance programming and written four books, and had a lot of time to post on Slashdot (as you can tell from the fact that, so far, I've posted more than anyone else this quarter) and do open source stuff (Ohloh ranks me in the top 2,000 geeks with no life^W^W^W^Wopen source developers).

That's about to change though. I had two interesting job offers recently (I seem to get job offers from banks very often, but I have a very low tolerance for tedium, so I'd probably have been fired around day 3 if I'd taken any of them). One was from Google in Paris (yay!) but working on boring things (boo!). The other was from Cambridge University, which is about as well paid as you expect in academia (aww!) but basically involves working on the same stuff I do for fun (yay!) with some very intelligent people (yay!). Oh, and it's in a city where a quick search found four tango classes (yay!) and property prices not much lower than London (oops!) and which is both small and flat enough that I can cycle everywhere (yay!) and so does everyone else (look out!).

So, in a few weeks I'm moving to Cambridge. I'll miss looking out at the sea, but being able to dance tango more than once a week should be some compensation. There also seems to be a lively salsa scene, although having to learn yet another set of names for the same Rueda steps is going to be a little tiresome...

When I visited, I went for drinks with some of the makerspace guys the night before my interview (I have no idea how much I drank, but it didn't seem to affect my interview performance too badly...) and met someone who worked on the C++11 atomics spec (which I was in the middle of implementing at the time) and someone who had ported 2BSD to a 32-bit PIC with 128KB of RAM, so it definitely seems like a city with no shortage of geeks...

User Journal

Journal Journal: Thoughts on the entangled-quantum future

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.

User Journal

Journal Journal: The music industry has made the people half deaf 4

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.

Canada

Journal Journal: Racknine and calls to numbers on the Canadian NDNC list

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.

https://www.lnnte-dncl.gc.ca/pfac-fcca-eng

User Journal

Journal Journal: Comparing MSS Code Factory 1.8 and 1.9 runtimes

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

Slashdot Top Deals

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...