Friday, October 23, 2009

News of the week

Puff makes friends

I worked from home yesterday so that Scout wouldn't have to go to daycare for the few hours between Liberty leaving for work and me coming home. The day was uneventful, Scout played quietly while I worked, I made her some lunch, she watched a movie, then I was done with work and we went out.

We went to Stacey's school to watch Stacey play in the annual Powderpuff football game between the 7th and 8th grade girls. Stacey's team won handily (34 to 6, I believe), and she managed to get a little muddy, a little banged up, but in good spirits overall. Scout was happily cheering for a little while, but quickly became bored with the game, and struck up a conversation with the 5 year old beside her. A transcript, F for friend, S for Scout:

F "I like your Hello Kitty shoes."
S "Thanks, I like your Hello Kitty necklace."
F "Thanks, my mom got it for me. Do you live on Greenwood drive?*" * - name changed, not actually Greenwood drive
S "No, we live in Westerville."
F "Are you in school?"
S "Yes, I go to dinosaur school."
(pause to hear my whispers)
S "Oh, right... I go to Nikou, it's a dinosaur school."
F "Oh." ... "I'm in kindergarten."
[lull in conversation]
(pause to hear more of my whispers)
S "What school do you go to?"
F "Mark Twain. Do you leave near Greenwood drive?"
S "We didn't drive, we walked."

Wednesday, October 14, 2009

Latest Tinkerings

Google Voice

About a month ago I put my name on the "send me an invitation" list for Google Voice. Yesterday I finally received my invitation, and set the account up today.

If you haven't heard of this before, it's a free phone number from Google, free voicemail, free SMS messages, but not actual phone service. It rings all your existing phones, or just the phone you tell it to. It can forward SMS messages to your mobile phone or not. It can give different callers different greetings, and block callers. It handles voicemails as an email with an audio attachment, and attempts to transcribe the message.

The above image shows Google's attempt to transcribe me leaving myself a voicemail. Those of you who have heard me speak know I mumble terribly. In fact, I'm barely comprehendable when I'm right next to you in a quiet room. I left myself a mumbly message and said exactly the following:

"Hi Curtis, this is Fred. Give me a call when you get a chance. See ya'. Bye."

Hearing "Curtis" as "Chris" I've been putting up with my whole life, so no surprise there. I kind of slurred together "See ya" as one word, so missing that is understandable, too, I just don't know how they got "Ciao" out of it.

Another cool thing you can do is put a "call me" link on a web page or email that doesn't expose the phone number, and you can delete it later. Looks like this is going to be a fantastic service, and I'm happy I signed up early.

Ebay Merchant Account

Several years ago I helped a lady set up a website to sell her handmade jewelry. She owned a domain name and had a web host set up, and a php-based e-commerce engine that had hooks into Paypal. The main purpose of her seeking me out was to have me add code to the php scripts that could handle county lookups by zip-code, and offer a choice of counties to the user if their zip-code spanned counties (like mine does: 43081 crosses the county line between Franklin and Delaware counties). This was all to handle a new Ohio tax law that required Internet sellers to charge the correct tax rate for destination counties.

That part was pretty straight-forward; I just added a page that, if the destination state was Ohio, queried a lookup table (PostgreSQL, I believe it was... select county from lookup_t where zip = $input, something like that - after $input was sanitized, naturally), and prompted you if there was more than one hit. The hard part was understanding how it interacted with Paypal. To help me get that working, I signed up my personal account for merchant functions.

Long story short, I figured everything out, got the website working famously, and the lady who hired me never had enough sales to support the site. She contacted me a year or two later to retrieve the customer info from the database before the site was taken down. Bummin'. Although, now I can do this with my paypal account:

Bring a Bag of Awesome to your parties! (only $10, plus tax)

Hire Curtis and Liberty to come to your parties and bring their keen insight, skill at party games, clothing and computer repair, and optional bouncer services if the party gets out of hand. For each extra Bag of Awesome you buy, we'll bring some sort of treat - 6 pack of cider, pizza, hors d'eouvres, board game, paper mache sculpture, what have you. Buy now, we ain't getting any younger!

The above button is the result of me experimenting today. It's actually functional, so don't play around with it unless you really intend to send me $10. Plus tax.

Monday, October 12, 2009

A sane adult's review of the Twilight series

The heroine of Twilight, Bella, spends 90% of the narration and dialog navigating a love triangle between herself, a werewolf, and a vampire. She does this with copious pillowtalk that, to my 13 year-old daughter, sounds epic and dreamy. Bella second-guesses herself, doesn't realize she is in love with the competing lover until he forces himself on her and she has time to reflect on it. To sum up the pillowtalk of book 3, Eclipse:

Edward: "I'll wait for you to figure out what you want, but them werewolves is dangerous and you should stay away."
Bella: "Cool, but I'm going to hang with them anyway, because I'm mad at you for not having sex with me until we get married."

Jacob, after pinning Bella and kissing her roughly: "You like that, don't you, bitch?"
Bella: "No, damn it! How could you? Drive me home right now.... Actually, I liked it quite well; let's do that again before you go off to get injured in battle."

Edward: "Hey, if you want him instead, you know, knock yourself out."
Bella: "I don't know, you're both so big and strong, but you're in front of me right now, so I'm yours, bebbeh, as long as you promise to do me just before you turn me into a vampire."

There, with those adjustments, the book could be condensed to about the length of a short story, a novella at most. And here's the shocker: It would be fantastic. The mythology in this series is very impressive, much to my surprise. The characters are very close to psychological archetypes - Edward is an Arthurian knight, with a knight's noble love for the queen, just barely suppressing his manly urges, sacrificing all for the sake of duty and rightousness. Jacob is a Viking, fighting with his small group against stronger opponents with greater numbers, sure of the futility of his efforts, but valiantly fighting to his inevitable doom. Bella is the mystery of the void, a siren to the undead, immune to their magical powers, the pure being that both sides want to protect from the evils of the other. She is Thumbelina, smaller and weaker than the beings that fight over her, questing to find the right prince to marry so she can become Maia.

Saturday, October 03, 2009

Oldschool Mainframe/COBOL geek-out

Oldschool Mainframe/COBOL geek-out

So I logged onto my work's mainframe a few days ago (for an arcane project-related purpose I won't go into), and, as I am wont to do, I poked around in my directory to see what I was working on way back when. Last year, I did a lot of work in our mainframe developing a job-scheduling solution. This year, I've been hanging out mainly in Unix land, and haven't had any mainframe contact for several months.

I miss the mainframe, the misunderstood behemoth, with its OCOPY and BPXBATCH, its copybooks, its IDCAMS and LISTCAT, and, lastly, its COBOL. But on the other hand, it's insane, and has a lot of acronyms that are unfamiliar to most of the modern IT world, who are knee-deep in C#.NET, Eclipse, and Oracle, or maybe Linux, Python, and MySQL. In fact, in the late 90s when I was explaining to my NT Administrator buddy about working on a mainframe through a 3270 terminal, how the native character set was EBCDIC, not ASCII-based, and how synchronous comm like Bisync and SNA worked, he scratched his head in befuddlement at the queer, unfamiliar arcana.

So with that in mind, I suspect that no one I know who reads this will have any idea what any of this means, and so I will try to go slow, and attempt to explain all the fun I had taking my trip down memory lane. The punchline is this: Last year I played with COBOL in my downtime, to see what the fuss was all about. I used ROSCOE to write the code, to submit the jobs, to compile, to link, and to execute. And it was fun.

Step 1: 3270