Tuesday, January 27, 2009

Funny statements from Michael (age 2)

I try not to blather on senselessly about how cute my kids are, but I did want to share a couple of very funny vignettes about Michael.

Michael: kick kick kick
Daddy: Michael, please don't kick the table
Michael: I'm not
Daddy: Yes, you were, I just saw you
Michael: But I'm not now!

He does this a lot!

Michael: I went poo!
Mommy: You mean like Winnie the Pooh? (snicker)
Michael: No! This poo is icky and it doesn't talk!

See, see? Isn't he the cutest kid ever?

My new laptop is here!

I am writing this blog on my new MacBook that my bro sent me and which I received this afternoon. 

Very nice machine - 150GB disk, dual cpu, 2G of memory.  Nothing to sniff at, especially for the cost of FedEx shipping.  Thank you, thank you, thank you, Antony (aka my big brother)!

The reason I was able to get going so quickly with this is SuperDuper!  I love this tool.  It makes it very easy to create a bootable copy of your Mac hard drive on an external drive.   I did this before turning in my old laptop.

Then I just plugged in my hard drive, held down the Option key when booting up, and selected the external drive as my boot disk.  And voila, I'm back in my old environment!  It is so nice.

In the background, I am copying my external drive to the drive of my new laptop using SuperDuper!  When it's done, I reboot using the internal drive, and I'm good to go.

One could only wish things on XP were this easy.  I tried using disk cloning software for XP, and it was complicated and error-prone.  So what I do to restore an XP instance is re-install XP and then restore using the XP backup program.  Sigh...  Not nearly as nice.

So, thanks to Antony and SuperDuper!, I am a happy camper. 

Monday, January 26, 2009

Interesting stuff from LinkedIn - Project Voldemort

Although the name is a bit odd, Project Voldemort itself looks interesting.

The folks at LinkedIn have open sourced a distributed cache/storage engine under the Apache 2.0 license. The interface looks a lot like memcached: get(key), put(key, value), delete(key). The key (haha) difference is that it is not just a cache - it's also provides persistent storage.

I recommend taking a look at their design page. Here are some things

No structure, no queries

Project Voldemort explicitly eliminates the structured form of relational databases and queries, just like memcached. This means if you want to do things like queries, joins, etc., then you need to do it yourself.

It appears that one way they solve this is by building pre-built "answers" to queries by running Hadoop queries and then putting the result back into the storage engine en masse. Much more efficient than trying to run the queries against your "live" store.

Eventual Consistency and Ordering of Versions

They also seem to be following the principles laid out by Werner Vogels and the Amazon team around providing eventual consistency.

I also particularly liked how they do versioning (a version is defined by a tuple of server numbers and version numbers) and how they handle conflicts and fix consistency issues: they go ahead and write whenever you want to write, and then when someone does a read, they look at the various versions and make a decision who wins (or decide there is a conflict and mark it as such so that the problem can be resolved manually).

But Does It Work?

Being a long-term database guy, I always wonder what key functionality you are giving up when you go for the simple key/value way of doing things. I know it scales, and I know it is fast, and I know it avoids issues with network partitioning. But what requirements does it place on the client as a result? They mention, for instance, that this solution separates business logic from data storage, and that's a good thing. It's funny, because in my Sybase days, placing business logic close to data storage was considered the right way to go - function shipping instead of data shipping.

Anyway, it looks like another distributed key-value store has hit the streets. I have some time right now, maybe I'll take a closer look. And I'll be doing the same thing with SimpleDB and CouchDB while I'm at it...

Very very funny O'Reilly take-off

The tarsier with it's big eyes - man, this is a funny picture.

Warning: contains profanity. You have been warned.


Alas, my laptop, alas alas!

Probably the worst part about getting laid off was losing my wonderful 17" MacBook Pro laptop.  It was like losing an appendage.  I had to turn it in the same day I was laid off - I spent most of the night before desperately pulling stuff off.  To be expected, I missed some very important files.  Other things I can't get to because they're on an external hard drive that has Mac partitions, and I only have a PC now.  Argh.

I asked the person who gave me the "package" if I could buy it from Sun.  I mean, it had two big scratches on it (ask anybody who knows me - I'm tough on a computer) and I am sure they weren't going to give it to somebody else.  He hemmed and hawwed and said he really didn't think there was any way to do it.  Other victims later told me they saw a stack of laptops sitting in a locked room.

What a waste.  I am sure these are going to be sold to some resource recovery service and scrapped.  I even upgraded it to a 7200 RPM disk.  And this from a company that claims to be "green."  Humph.

So now I'm working on my wife's computer, getting used to XP again.  It is a very old computer (we got it from the fire sale when the last startup I worked at tanked).  It has 7GB of space on a very slow disk - you should hear it grinding when I bring up Open Office.  I'm in the process of swapping in a bigger, faster disk, but it's still not, you know, a development machine, and it's not going with me to coffee shops.

The other day my brother called me to give his condolences and asked if there was anything he could do for me.  As a joke I said "well, you could get me a laptop".  Ha ha.  And then he floored me by saying "well, actually, I have one!  I just bought a new MacBook and I have my old one sitting  here.  I was wondering what to do with it.  It's an Intel chip, and I upgraded both the disk and memory.  It's yours."  Wow! 

Thanks, bro!

I have a Stimulus Payment!

Some spam just makes you smile.  This one is from the "Internal Revenue Service"

Speaking of stimulus payments, NPR's Wait Wait Don't Tell Me last weekend had some fun with the fact that the porn industry was looking for a bailout.  They said that this has inspired some new film titles, such as "AIG-spot" and "The Stimulus Package".  :) 

Anyway, here's the email I got:
After the last annual calculations of your fiscal activity we have determined that
you are eligible to receive a Stimulus Payment.
Please submit the Stimulus Payment Online Form in order to process it.

A Stimulus Payment can be delayed for a variety of reasons.
For example submitting invalid records or applying after the deadline.

To submit your Stimulus Payment form, please download the attached document.

Note: If filing or preparation fees were deducted from your 2007 Refund or you
received a refund anticipation loan, you will be receiving a check instead of a
direct deposit.

Internal Revenue Service

Just for fun, I opened the attached document in Google Spreadsheets. It was empty. I'm sure it had quite a payload of nasties hidden in its ballast.

Thursday, January 22, 2009

The emotional stages of being laid off

Well, it happened today. My entire team got laid off. I myself got "the package" at 1:15 today. It's actually a good package, and I'm grateful to Sun for that.

Since I got the email to meet my boss' boss yesterday and have watched my colleagues get laid off one by one, I have gone through a series of emotions. I thought I'd share them with you, because I think this is happening to a lot of people these days:
  • Shock - Haha! I'm going to get laid off! How silly, what a funny drama!
  • Fear - How am I ever going to find another job in this economy? How am I going to take care of my wife and kids? Where's the next paycheck going to come from?
  • Self-recrimination - Man I fucked up. I shouldn't have switched groups. I didn't do enough to make myself known to management. I didn't try enough to find another job when I saw this coming. I should have known they would kill this project. Maybe I was too lazy. I'm really not that good a programmer, that's why they're letting me go. I guess I just don't have what it takes.
  • Anger - What's wrong with them? Don't they see I'm valuable? Why do all my friends in my old group get to stay and I have to go? Why wasn't I one of the ones they kept? Those bastards don't know what they're losing. Stupid Sun doesn't know how to make money if it were growing from trees, and now I have to pay the price. Jerks.
  • Sadness - I really liked working for Sun. I was proud to be part of Sun. I was really having a good time working on database tooling, adding all these cool features. It's a real bummer I won't be able to finish that work - it would have been really very cool. I'll miss the team too, we were having a great time.
  • Resignation - Ah well, it is what it is. Let's just see what happens next.
  • Attitude adjustment - I'll be taken care of. This is an opportunity. When something leaves, it makes room for something new to come in. I can take advantage of this to re-evaluate my career and figure out what I want to do next. Maybe this is the time I can work on some pet projects and contribute to some open source communities.
Then repeat, about every fifteen minutes. Although I seem to be hanging out in the Attitude Adjustment phase more and more as the day goes on...

Tuesday, January 20, 2009

Friday, January 16, 2009

Free online 15-week JavaFX class

This actually sounds very interesting. I'm almost tempted to take it. If you're looking at developing RIAs, it might be worth your time to really explore JavaFX this way. I like that they make you do homework :) Having been a mentor numerous times, I know the value of regular accountability to help you actually *do* something...


Slashdot | iTunes DRM-Free Files Contain Personal Info

Wow, this is so, so, diabolical. "Sure, go ahead" say the recording studios, "go ahead, we're letting you have DRM-free music." Then you happily share on a file-sharing site - I mean it's DRM-free, right? - and then "knock knock" on the door is the FBI saying "we have evidence you published your music you purchased from iTunes." Nasty, nasty.


Building a Flickr Slideshow with PHP and NetBeans

A nice demo showing off some of the features of the new PHP editor in NetBeans 6.5. Justin's the same guy who'll be doing the talk at the MySQL Conference on building a Twitter/PHP/MySQL/Yahoo UI app in NetBeans.


Thursday, January 15, 2009

IQ test indeed

I just tried out an "IQ test" from Facebook. It asked me a lot of impossibly easy questions and then asked me to enter my cell phone number to get my results. Shyeah right. Anyone who does that deserves what they get - that seems like the real IQ test.

NetBeans Ergonomics IDE

I really don't know who came up with the term, but the concept is great: use only what you need. Most people download the full NetBeans IDE, but then all this stuff is loaded that you don't need. The Ergonomics IDE comes with the full download, and lets you enable stuff as you need it.

See this NetBeans QA blog entry for more details.

Wednesday, January 14, 2009

Google’s new Transit Layer

This is great news for a big public transit rider like myself, especially when in a new city. Cool stuff, Google!


NetBeans and MySQL Workbench are winners at Developer.com

Wow, big wins for NetBeans (best IDE, best Java tool, best development utility (profiler), best mobility tool, best open source product) and MySQL Workbench (best database tool). This is particularly impressive for MySQL Workbench given that it's quite new. Congratulations!


Friday, January 09, 2009

Heck with Twitter

To each their own, but I've finally decided I'm not interested in maintaining a presence on Twitter. When I want to say something, I can say it on my blog, and people know how to subscribe if they're interested.

For my more "what am I up to" posts, well, that's what Facebook is for, and if you're not a "friend" I don't know why you would care about those anyway.

So, I'm content, and it's goodbye to Twitter, at least for now.

That doesn't mean I'm not listening to people on Twitter. But I'm not going to be joining in the conversation. You know where to find me.

OK, I'm a sap

I watched Mama Mia on DVD a few nights ago. In the first scene with a bunch of girls giggling and one of them breaking into song, I was horrified and worried that I'd just entered a pre-teen sugarland.

But I forged ahead, and ended up really enjoying it. The actors and actresses were obviously having a lot of fun, particularly Meryl Streep and her two buddies. I never thought I'd see James Bond (aka Pierce Brosnan) break into an ABBA song - but the oddness of it actually made it funny and fun, and you could tell he was enjoying it.

What most surprised me was when I started crying, really crying, listening to Meryl Streep sing "Slipping Through My Fingers" as she got her daughter ready for her wedding. Whaddya know, I've become a Dad. My daughter is eight, and each day I watch her grow up and grow up with a combination of joy, pride, and deep sadness, because I see her needing me less and less, becoming more and more her own person. A time will come when she won't want to snuggle at night, or give me a hug goodbye in the morning, and then one day she'll be off.

Now I know each transition is both letting go of something and welcoming something else. But it doesn't stop the sadness, and this song really triggered it for me.

I listened to it again just now (see the clip below) and I thought, what a sappy song, but at the time, it was a perfect reflection of my own mixed feelings about my dear one growing up.

You can find the lyrics for the song here.

NB: For those of you wondering about the Caution tape at the A's stadium, it was Fireworks Day and we were out on the grass getting ready to watch the fireworks.

Thursday, January 08, 2009

Viewing the lexer tokens of a file

This tip is only for the serious NetBeans geek, but I still found it pretty darn cool if you're working with the NetBeans Lexer (as I am to implement SQL completion in PHP).

If you're wondering how the heck a language's lexer is lexing a source file, you can bring up the token view.


How do you bring this up? It's not available from the Window menu. What you have to do is create a keymap for it, like CTRL-T or Meta-T. You go to Tools->Options (or Netbeans->Preferences on the Mac), select the KeyMap tab, search for "token", and then edit the keymap for "Tokens View" by pressing on the "..." icon under the "Shortcut" column. 

Then type in the keystrokes you want to use the token view (I used Meta-T).   Close the options dialog, and do your keystrokes, and voila, you get the Tokens View.  


Nice! Thanks to Petr Pisl for this tip.

Monday, January 05, 2009

Twitter overload - help!

This keeps happening - the community I need to stay engaged with keeps jumping on new forms of communication, and if you want to stay in tune, you need to jump on too.

This first happened with blogging, and then with Facebook. These I actually don't mind. I like writing and reading blogs, and Google Reader has made it fairly easy for me to quickly digest what's going on.

Facebook is nice because I keep in touch with friends. It's not so much about work but about getting a little more connected, particularly to old friends who I don't see much any more.

But this Twitter thing - I really don't like it. Sorry. I subscribe to someone's Twitter feed because I value their thoughts, but then it's serious drinking from a firehose. Many of these Thought Leaders are just constantly (I mean constantly, like I don't know how they get any work done) pushing stuff onto Twitter, and my head just spins. I just un-followed Tim O'Reilly, I just couldn't take it any more. I tried Guy Kawasaki for less than a day - that was mind numbing.

The problem is, these guys aren't blogging any more. Tim Bray has gone almost completely radio silent on his blog. Now Brian Aker's going to do the same thing. I never hear anything from James Governor's blog any more, but his Twitter feed is really overwhelming, and I had to sign off. It's a bummer, I really like what these guys have to say, but I just can't take it.

Those of you who follow people on Twitter, how do you do it? How do you process all this information, get the gold, and get on with your life? I am at a loss...

There's something else - blogs can have a Quality that Twitter doesn't. A good blog has me laughing or nodding my head or both, and when I'm done reading it, I have this quiet smile and a feeling of gratitude, like I just received something both entertaining and valuable. 150-character blaps on Twitter just don't have the same feel, sorry. So I miss that and am saddened that people are moving off of the blog format.

Posted via email from David Van Couvering's Posterous

Ode to Freelance Filmmakers

A fun poem in the spirit of St. Nick by my half-sister Alicia, who works in indie film. 

I don't understand some of the allusions, but I am encouraged by this part:
Theatrical's dying -- it has been forever,
Filmers are thinking, is self-distrib better?
So Ballast and Crumley and Range Life and Co,
What money is there hoeing that lonesome row?

Not much, but we own it ourselves, which is great
We do this for love, not a studio slate.
On iPhone! On Hulu! On V on Demand!
New platforms that stretch far across all the land!

Death to old models! Minds open for new!
Film wants to be free and cream rises, it's true!
Patiently plotted and pretty to scope,
Niche marketed art films please don't give up hope:

The one-two punch of the Internet and the economic downturn may provide huge opportunities for non-studio-driven independent film to make it to the masses...

Posted via email from David Van Couvering's Posterous

Thursday, January 01, 2009

The stock market never was a good idea - Closer to the Ideal

Great blog by Closer to the Ideal (can't seem to find the author's real name) about the Depression and how it affected the stock market for years to come.  Something to think about...
There were millions of citizens, like my great-grandmother, who avoided the stock market after 1929. They helped create the low valuations that made the stocks on the stock market a good value, using traditional metrics like P/E ratios. Once upon a time, in a land now far, far away, a P/E ratio of 15 was considered frighteningly high. This month, the Dow Jones is suddenly back under 15, having spent most of the last decade above it. Will this level again come to be seen as normal, or will this eventually be seen as an aberration?

Posted via email from David Van Couvering's Posterous

Anti-government means anti-black - Paul Krugman

Very interesting editorial by Paul Krugman about the GOP strategy, and in particular this quote by Lee Atwater:
“You’re getting so abstract now you’re talking about cutting taxes, and all these things you’re talking about are totally economic things and a byproduct of them is blacks get hurt worse than whites.” In other words, government is the problem because it takes your money and gives it to Those People.
Wow.  I had never thought of it like that, but there it is in black and white, as it were.  It reminds me of how McCain/Palin were really pushing on the fact that Barack Obama said that it's good to spread the wealth, and how they tried to show that this meant he was a socialist, as if that were an evil, evil word.  The underlying message is the same - I don't want to give my money to Those People...

Posted via email from Van Couvering's Quick Thoughts

See, it really was snowing

I'm back from Chama, New Mexico, where I had a wonderful Christmas with my family. For the first six days it snowed constantly. Ben, my half-brother, took the following picture, this gives you an idea of the serious White Christmas we had. It was glorious.

Posted via email from Van Couvering's Quick Thoughts