Thursday, March 22, 2007

Kurt Vonnegut on Writing

Listen! has a page up on Kurt Vonnegut's 8 Rules for Writing Fiction.

When I was younger I read as much Vonnegut as I could get my hands on.  My first girlfriend got me into him, having done a report on Cat's Cradle her freshman year.  I borrowed the book when she was done.  Later that year in a sociology class I had to read Player Piano.  From then on I read everything I could find:  Slaughterhouse Five, Sirens of Titan, Bluebeard, Harrison Bergeron, Welcome to the Monkey House... you name it. Great stuff.

If you're never read him, I highly recommend...well, most of it.  I was going to write something down but I kept changing my mind.  Cat's Cradle, Player Piano, Harrison Bergeron, Sirens of Titan, Slaughterhouse Five.  Pick one.  Then read it and pick another, and repeat. 

He spoke at my college about how to write fiction.  Things I remember:

  • He said "Throw away the first N pages of what you've written.  You've said nothing."  I can't remember what N was.
  • In a demonstration of why the traditional "plot curve" (build, climax, denouement) was useless, he graphed Hamlet as a flat horizontal line.
  • He graphed something as a line which went straight up, but I can't remember what it was.  I remember that he used Kafka's Metamorphosis as an example of a line that went straight down.

I was told later that he'd previously gone out drinking with the whatever college activities student group it was that was hosting the event.

Po tee wheet.


Technorati tags: , ,

Wednesday, March 21, 2007

Somebody Call American Inventor

I was just told that my name's going on a patent application, and if the order of names on the email was any indication, I'm the lead inventor.  Cool.

That, of course, reminds me of Richard Feynman's famous I Want My Dollar story.  I think I actually have to wait until the patent is granted to get my cash, though, don't I? :)

I was inventor on a patent application once before, a long time ago during the boom at my financial services company.  I watched the process for maybe 2 years, talked to lawyers, read through paperwork...and then the collapse began, and with it came the layoffs, and one day I called up the lawyer who'd been working on it and asked if the application was still in process.  She laughed. "Like we have money for that!" she said.  I didn't mind terminating the process so much, but to never even mention it and then to laugh at me for asking was a little over the top.


Technorati tags: , , ,

Monday, March 19, 2007

Best Cities for Software Developer Pay

Having been born and raised in Massachusetts (and basically never left, I even went to college here) I've always had a skewed view of the high tech industry.  I was destined to be a coder since I was 10 years old, and nothing really changed all that much.  But does that mean I've got the good life?  Big salary, big house?  I'm glad that looks not only at pay, but at pay adjusted for cost of living.  Boston is right up at #6 on pay alone (interesting that 3 of the top 5 are in California), but once you factor in cost of living, it drops right off.  Once you do that, Texas rules the list.  The blog post lists data for the top 50 largest cities, but doesn't sort them by any measure that I can see.  When you sort by adjusted salary, Boston drops to 37.  Yeah, I have to say I look at my mortgage statement and I feel more like a 37 than a 6.


Technorati tags: , , ,

Wednesday, March 14, 2007

Hey, Free Wii

[ I dig the irony of Chow setting up a contest that he knows is incredibly spammy and then making part of the rules be that you have to link the phrase "root of all evil" to his web site.  ]

The root of all evil, John Chow is giving away a Nintendo Wii. To enter, all I have to do is write a blog post about it. So here you go.The contest is sponsored by They make promotional pens.

Sunday, March 11, 2007

Technology comes to 411 Directory Assistance : It's about time

Something that's bothered me for years about directory assistance is what happens when you need to call the number again.  You dial 411 on your cellphone, you get the number, then you have them automatically dial it for you.  This is a good thing.  Except what happens when you don't complete the call for some reason?  It's busy, or you get cut off or you have to call back.   Then what?  Keep calling 411 at a buck a piece?  Once upon a time I wrote up a geek joke about how this situation is handled like a "forward" - you request one number and then on the server they forward you to another - when it would be more useful to handle it like a "redirect", where you request the first number, and then they send the number back to your phone to originate the second call.  That way you have the number in case you need it.

I'm happy to discover that the directory assistance on my cell phone (T-Mobile) now offers exactly this service.  Well, not exactly, but close.  Today I called 411 and was told, "Press 1 to receive a text message of this number."  Neat!  I did, and sure enough I got the number mailed to me.  I'd still have to move it into my speed dial or address book for it to be useful, of course, but at least I've got a record of the number now instead of calling again.  Good idea!


Friday, March 09, 2007

Ruby/Rails/ActiveRecord/Oracle : TNS-12560 Protocol Adapter Error

Ok, this is just stupid enough of me that I'm blogging it mostly so that when I do it again in a month I'll be able to find the answer.

90% of the time with my Ruby code I point it to my local OracleExpress instance, which I tell ActiveRecord about thusly:

  :adapter=>'oci', :database=>'xe', :username=>'foo', :password=>'bar'

and everything is ducky.  Today, though, for the first time in months I had to point to a new schema on the common development machine at work, so I tried:

:adapter=>'oci', :database=>'dev_common', :username=>'foo', :password=>'bar'

And for most of the afternoon now I've gotten the dreaded 12560 Protocol Adapter Error message.  My tnsnames.ora file is in order.  I can tnsping the server.  I can fire up sqlplus and hit the server.  Heck, I can even run this little tasty bit of code I picked up directly from Oracle's Ruby/Rails FAQ:

ruby -r oci8 -e "'foo', 'bar', 'dev_common').exec('select * from user_table') do |r| puts r.join('|'); end"

and have it work (insert your own SQL, of course).

But when I fire up irb, require 'active_record' and try to do this:

ActiveRecord::Base.establish_connection :adapter=>'oci', :database=>'dev_common', :username=>'foo', :password=>'bar'

I'm back to square one.

Until I figured it out.  Know what the problem is, apparently?  I'm saying "database" when I should be saying "host".  Try this:

ActiveRecord::Base.establish_connection :adapter=>'oci', :host=>'dev_common', :username=>'foo', :password=>'bar'

Now everything works fine. Go figure!  When I'm connecting to XE I get the opposite problem - I have to say :database=>'xe'.  I'm not fully clear on the different between what's a host and what's a database, cuz it's sure not obvious since they both contain the same value.  Maybe somebody can explain it to me.

AddThis Social Bookmark Button

Does Bluetooth crash your Motorola V360?

I love my Motorola V360 cellphone.  It's very geeky, offering USB charging, MP3 ringtones, extra memory card for storage, all that good stuff.  I'm having a problem recently, though, and wondering if it's just my phone or everybody's.  For Christmas I got a bluetooth headset.  Specifically the Motorola v500, which I was led to believe should work just fine, what with both being Motorola products.

The problem is that regularly now (as in, at least once per day) when I'm talking on the headset, my phone will reboot itself.  Right in the middle of the conversation, I'll get a blank white screen on the phone, and then it starts up again like I just turned it on.  I have to reconnect to the headset and everything.  Typically it only happens once and then I'm fine, but yesterday it happened three times.  Does this happen to anyone else?  Thus far it has only ever happened to me when I am engaged in a conversation via the bluetooth connection.  Just leaving bluetooth on doesn't seem to do it.  When bluetooth is off completely, I have not had the problem.

Recently I did happen to get a "Check SIM" message out of the clear blue sky, but I'm hoping that's a coincidence.  I did pop out the card and reseat it, and the message has not reappeared.  I asked a guy at a T-Mobile shop about a possible connection between the two, and he couldn't imagine one.  His only suggestion was that perhaps my battery was causing me trouble.

Anybody else?


Technorati tags: , , , , ,

Tuesday, March 06, 2007

Killer Asteroids Are Coming

Oddly enough I first heard about the latest killer asteroid on the podcast edition of NPR's Wait Wait, Don't Tell Me show.  They had a NASA scientist on as guest and he mentioned it.  Perhaps it was all timed that way, maybe that's NASA's equivalent of a "book tour."  Anyway, it seems that within the next 50 years an asteroid is going to come so close to Earth that it is literally going to come between us and our satellites.  That's pretty freakin close.

I have a friend who works on the Hubble telescope.  I asked him about this, and here's how the conversation went over AOL instant messenger:

Question: "what's this i hear about an asteroid having a near miss with us within like the next 50 years or something?   near like 'between us and our satellites' kind of near"

Answer: "yeah, cool huh?  wannaspend $300 million to change its orbit?"

Question:  "we gonna die?"

Answer: "It is unclear, I think it is much smaller than the dinosaur killer"

This was a couple of days ago.  I'm fascinated that his only answer to me "are we going to die" comment was a simple "It is unclear."  That and the fact that the coming asteroid is, quote, "cool, huh?"


Technorati tags: , , ,

Podcasting : How To Leave Listener Feedback

Everybody knows the rule about pimping your own blog -- comment on other people's blogs.  Well it seems to be true for podcasts, as well.  If you want people to know about your podcast, you leave listener feedback on other people's podcasts.  But listener feedback is different in some crucial areas:

  • You're not in a context where you can provide me a link to click and bookmark (maybe in the show notes, but not in the audio).  So I either have to remember what you said, or be so interested that I go and check out the show notes.
  • It takes me more time to listen to your feedback than it would have to scan your comment
  • In a text post you can just drop in a .sig file with a link, a title and a catchphrase.  When you're speaking, you have to work it into some sort of context.
  • There is no "skip to next listener feedback" button on a podcast player.

It's this last point that is key to it all.  Nobody reads all of the comments on sites like Slashdot and Digg - there are hundreds.  So, you scan.  It's clearly defined where one comment starts and another ends, and moving from one to the next is as easy as flicking your eyes down the screen an inch.

But with an audio stream like a podcast, there's no way to do that.  From the minute you begin speaking, I as the listener am stuck listening to you.  I have the option of blindly fast forwarding, but without knowing how long you're going to speak, I could be scanning back and forth many times before I do it right.  Maybe MP3 players need a Tivo-like "skip ahead a few seconds" button, like a commercial skip? Hmmmm, that's an idea for a different post....

The only option I've got at my disposal is the "next podcast" button.  Think about what happens if I hit that.  I basically give up on the whole show.  That means that you're not being heard, of course, but it also means that anybody else in that listener feedback section didn't get heard.  Plus it makes the main podcast itself look bad.

Anyway, my point is that you've got my attention when you're speaking, so if you want me to actually remember you, you need show a little "listener courtesy" while you've got the microphone. 

  1. Introduce yourself, that's only polite.  But dear god make it short, huh?  Your plug for yourself shouldn't be longer than your comment.  I don't even really want you plugging anything before I've heard what you have to say, I just want the context of knowing who is speaking.  I heard a podcast recently where a listener commented started with, I kid you not, somebody rambling for a good 30 seconds or more about the book she'd just written.  She described the book, when it was coming out, who she wrote it with, and the audience that would enjoy it.   All this before she'd actually made a comment.  That's just rude, both to me as the listener, but also to your podcast host who has decided to play your feedback.
  2. Say something entertaining.  Add some value.  Don't just spam your link out there.
  3. Try not to be too stale.  If you're only on episode 15 and the podcast is up to episode 20, well guess what, you missed your chance.  Nobody wants to hear your comment on something that happened 2 weeks ago.
  4. Go ahead and put your plug in at the end.  I'm cool with that.  If you said something useful, now is the time when I'll be most open to checking out if you've got any more to say.



Technorati tags: