Saturday, August 9, 2014

Living a Life of Vapor

After thirty years in systems programming, there is not one single thing you could touch that I did ... but I built a lot of things.  They paid fairly well for vapor so the deal was sort of good.  The irony in systems programming is the better the job you do the fewer the people who know you did it.

That's how it goes with Valerie's Web site now as you will never see the coolest parts and these are needed for the Inventory management functions.  They can modify the content of the site so I keep them restricted.

The progress on these background functions really is pleasing me as they work well and the pages are even pretty rather than being spartan utility routines.  The sophistication in them is that it doesn't take too much to display images but performing file management functions to support them along with the data editing for the information is much different.

Systems programming means obsessive concern about error detection.  If I don't like the name for an image file (e.g. it has spaces or characters invalid for a Unix file name) then I'll kick it out.  If the suffix is not .jpg and the MIME type is not correct, it gets thrown out.  If it's bigger than 500K then it's rejected.

What I'm doing really is a low level of systems programming.  Above all the Images file must be protected.  If an upload goes bad then that could leave a corrupted image in the Images file so that can't happen.  First we'll upload it to another folder so it can be viewed and validated.  If that's ok, then go ahead and move it ... but ... first we will look into the Images file to see if a copy is already there.  If so then don't move it without a confirmation.

The corrupted image file leads to another piece of code.  The corrupted file needs to be deleted but we don't want the artist to need to use CPanel to do it so a solution needs to be written.  This is what should be kicked off in the above process.  When we detect the image is corrupt, an option needs to be presented to go ahead and get rid of it.

All of these things you've seen before and, for me, it's like leaning against something I built and feeling, yep, this one will stand up.  Twisted enough but I do enjoy pushing these things to see if they will break and what else might break.

This stuff is boring and geeky and I'd love to tell you about it but the details would have you running for your lives.  I really don't know PHP but part of systems programming is being good at doing things when you don't know how to do them (seriously).  I discover stuff it can do and think, hmmm, this would be very cool, let's try it.  Almost all of my background has been in writing machine-level code (i.e. assembler), so it's actually entertaining to use a language that has agility like this.


I'm also pleased with the "Shooting Through a Star" tune as I like how it goes four minutes and I'm looking for where I'm going with this ... you can hear it hit after that, not so much in volume but that comes later.  I was surprised at the confidence in the guitar playing, particularly without echo.  I used it but sparingly.  And, no, you can't touch it either but it would be cool if you listen to it.

No comments: