It's raining today, about time. It's already rained more this morning than it has for the last 4 months combined.
I just heard that my friend JF went and got married. At the Hitching Post of all places. Heh, I didn't even know they had a website.
I played frisbee golf after work today, but at work, on the building grounds. It's a nice big area, in any other part of the city it would be a park. It was kind of fun.
Mr. Pookies is howling again, he's really chatty this time of the evening.. Maybe it's because this is about the time I'm usually getting home...
Helped my Uncle Sam with his computer, he bought a new CD-R drive and it wasn't being detected. Just a jumper problem on the back, but I had to take the power supply out to get to the back to put the cables back on. Man I like home-made computers in big cases...
Okay, skip this one if you're sensitive and have no sense of humor
MP and I were talking at work about woodworking and he said he had a project for me, to make a rocking horse. We got to talking about how to cut stuff out, etc. and he said just pop the handle of his parents' rocking horse and trace it on to wood. Then he said he thought it might be glued in, and I suggested just sawing it off, and you could call the rocking horse "Lefty". We decided that little one-armed neighborhood kids could ride it.
While I was finsihing putting my shelves together tonight, a lady came by asking me to sign a petition about a zoning issue on the empty lot behind my house. She came into my garage and said "Oh, you work with wood. My husband works with wood." I was going to say I do a little, it's not much of a hobby for me, but looking around the garage there are powertools and stacks upon stacks of different bits of wood everywhere.
I don't think she'd have believed me.
My shelves are cool. I puttied up the holes and some spots that needed it, but the shelves are done now except for some final sanding and paint. I don't want to stain this thing, but I'm still not firm on that. I'll talk to my dad about it soon, he always has good ideas about things like this.
I've noticed that the last 2 days in a row Microsoft has released updates for Windows XP Pro.
Too little too late boys
<sarcasm>I thought running VBScript from the body of an email was a good idea.</sarcasm>
I went by Home Depot (by the way, check out Home Despot, it's funny) on my way home from work to pick up some #6x2" wood screws. They sell them in packs of 6. Little plastic bags with 6 screws in them. That makes me so happy. I bought all the little plastic bags of #6x2" screws they had on the shelf (9 in all). I think they were 98 cents each. I told the lady at the checkout counter I wish they had them in larger quantities, she didn't sympathize with me. I did get a discount on the 2 washers I bought though. They were 11 cents each, she couldn't find them in the little red book they have at the counter, the closest ones rang up at 8 cents each. So I came out 6 cents ahead.
I was pleasantly surprised when I went out to water the bamboo (Fargesia Nitida) in my front yard to see that it has sprouted 13 new culms each from 12-18 inches tall in the last 2 days. It has survived the cooler North Idaho climate quite well. I daresay it's 'thriving' right now. Maybe it's because I've been watering it diligently. I hope to have my sprinkler system turned on soon, so I don't have to worry about forgetting to water it anymore.
It's definitely Galaxies time...
Some weird problem causes my PHP/SQL setup to freak out and duplicate data. Someday I'll have the time to figure it out and fix it.
Back to our story:
My solution is fairly elegant, and pretty safe.
First, I create user/password pairs and encrypt the passwords with the blowfish algorithm and my special key. When a user connects (via the web anyway), I authenticate them by encrypting their password and then comparing it to the value I hard-coded into the program, on a match, they are given an ID. I hard code the encrypted passwords for 2 reasons: nobody can fake them without direct access to the source code (or a hex editor I guess); and to make it hard for someone with a hex editor to see somebody's plain-text password/username combination. The ID has a certain number of bytes that serve two functions: serve as the key to decode the ID; and determine the validity of the ID (so you can't just copy the source of an HTML page and use the ID that was in there to continue to access the system). These key bytes are combined with some random bytes, then replicated and used as a key to encrypt user-specific information, which are then compared against what the server generates. If they don't jive, I don't allow their commands to be executed.
Cool, eh?
Okay here's the scoop: the company I work for needs an updated version of our security management too. We have diverging products that both need support, and right now I know of 4 separate branches of the same files, and keeping them up to date is such a pain. MP and I coded our original tool, I did the back end (server-side) and MP did the windows client. Well, he hacked it together anyway. It's not entirely his fault (read: yes it is, but I'm being nice..) because we were originally going to have it integrated with some new CRM software - a project which went tango uniform pretty much just after it was started.
Anyway, we need a new tool. Since I'm the best man for the job (why is this always true??) I get to write it. This is good, really, because I can design it and code it the way it should be done. My main goals are:
Since we've used cgi-bin programs in the past for this sort of thing, I decided that it would be a good thing to continue (especially since some networks use proxy servers and connecting to strange port numbers can fail). But the main problem with HTTP (and HTTPS for that matter) is that it's a stateless protocol (which is why cookies were invented - well, HTTP cookies anyway). So I needed not only to authenticate users, but also needed to have a way to keep them authenticated (without cookies) throughout the work-day.
--continued in next blog--
I got home about 2 hours ago and worked in the garage (Mr. Pookies is howling right now, a nightly thing lately). I'm putting my corner shelf together, everything is fitting together nicely, but pine is soft wood, and usually somewhat bent. Excuses. Okay, one of my shelves is a little funny looking. Aw, it just looks home-made. It's straight, just slanted. Can it be both? This shelf is. I layed the face frames on top and bottom (they have decorative arches) and it'll look nice when it's fully assembled. It's about 80% assembled now.
Decorative arches, heh. Nobody ever says "It is a decorative square cut". It's always a decorative arch or something like that.
Anyway, busted out some slick code today, too bad I was so busy I didn't have enough time to finish out the whole project at work. I'll explain this in another blog. It's complicated and technical. But I have a (somewhat) elegant solution. Sure, it's not perfect, but ah, well, neither am I...
Five is sprawled over the back of the futon, momentarily unmolested by Mr. Pookies. She straddles it and cocks her head to the side so she can see where Mr. Pookies is.
It's almost Galaxies time...
I have this theory about computer viruses. I think (at least some of them) are written by anti-virus companies.
There aren't a whole lot of industries where you could exercise this kind of control, and actually create business for yourself. All they have to do is write a bad virus and send it out. Put a fix for the virus in their software, and voila, sales.
Just finished cleaning up after W32Sobig.F@mm here in the office. I wish people would not run attachments to emails, even from people they know. Unless, of course, they are expecting them. Luckily, I got it stopped before it hit a 3rd computer. I asked MS about the virus doll and he said it got thrown away. GW bought this nasty gross trollish doll on Ebay for the express purpose of putting on desks when a person is responsible for bringing a virus in to the network. The girls in shipping and TB especially hated it, MS told me that she was so vehemently against displaying it on her desk that she threw it away so it would never happen. hehe
Resumes are little stained-glass windows into peoples' lives. We've been advertising for an open position at work lately, and I filter resumes out to whomever should receive them (depends on department).
Why stained-glass windows and not normal windows, doors, or other miscellaneous wall openings? Because they distort the image behind them. Everybody knows that resumes are for making you look good, even when you're not. You don't see resumes with "I don't work well with other people" or "I like to take lots of sick time off when I'm not really sick" on them. I've seen resumes of all sorts, mostly serious, some are just plain jokes.