Coach Thrasher
Silicon Valley Social Valuation
Wow, here's a juicy Silicon Valley bit: Michael Arrington is smacked down by Loic Le Meur at LeWeb for being American. This is really representative of my own experience here in SV as well. We take ourselves too seriously, as though nothing else matters besides work and our role therein. We don't develop the deep relationships that people do in other parts of the United States. When opportunities arise that require those deep relationships, we fail to identify them, or take positive action.
This concerns me, more now than ever. The world economy is down, and I strongly believe accelerating downward. Things (products) are getting devalued, yet economies like the United States have made strategic assumptions about consumerism, and are relying on people to buy more things to get us out of the mess. But that doesn't look likely to happen. We seem to have created a negative feedback loop: the less we buy to protect ourselves from the bad economic times, the worse the economic conditions get.
How is this related to Michael Arrington's smackdown? Well, I believe things that aren't material will have more value as the economy declines. One of those things is personal relationships. As such, I assume people that are morally or socially bankrupt will have a harder time than others, despite their absolute financial position. Unfortunately, the US, and particularly Silicon Valley culture, doesn't seem well positioned to take advantage of that value. We're not all bankrupt, but the perspective that Le Meur's post highlights is a point on the social gradient allowing a deeper evaluation, or valuation, of personal value than other neighbors in Silicon Valley allow.
Posted at 01:45PM Dec 13, 2008 by jason in General |
It's Time For Some Campaign'
JibJab rocks:
Posted at 12:29PM Oct 26, 2008 by jason in General |
What will Baby T. Look Like?
Here's a very cool online app that lets you find out what kind of person your child might look like given a picture of the mom and dad:
Very cool! They should have a kiosk version of this at bars.
Posted at 03:38PM Oct 10, 2008 by jason in General |
Baby Twitter Howto
For the family and close friends interesting in following things via Twitter, here's the scoop: I'll be sending SMS updates to Twitter, and they will be sent to your phone if you're "following" me. I believe this is the easiest way to let everyone who's not in Palo Alto (which is almost everyone), follow along. It broadcasts updates to everyone at the same time, and doesn't create a distraction at the hospital with a kazillion phone calls. It worked great with Noah. So, here's what you need to do:
1) use your mobile phone to send a SMS text message to 40404 with "follow thrasher" as the only text in the body of the message.
2) wait for updates on your phone
OR, you can create an account on http://www.twitter.com and "follow" my username, which is "thrasher". There are more instructions here:
Twitter Help
Posted at 10:49PM Oct 07, 2008 by jason in General |
Twitter Baby Alerts
Just like with Noah, I'm sending out Twitter alerts as things progress. To get SMS updates pushed to your phone, subscribe to my Twitter feed here:
http://twitter.com/thrasher
Current status: Bridget has been feeling nauseous, and has flu-like symptoms. This is a sign of early labor. She didn't have any of this with Noah, but hey, this one's a girl.
Posted at 10:22AM Oct 05, 2008 by jason in General |
Baby Seat Two
I've finally installed the second carseat for Thrasher baby #2, due in .... any day! My 5 seat car is now a 2 seat station wagon. Check one action item off the list. Bridget will be happy.
Posted at 10:45AM Oct 04, 2008 by jason in General |
SVN diff with Meld
Every time I setup a new machine for development I forget a whole bunch of extra little bits that make developing more efficient and enjoyable. Most recently a new Macbook Pro has been my platform of choice. I like the visual diff implemented by Meld, and it works nicely using X11 with the Meld build coming from Fink. (Don't even try installing Meld from MacPorts... after 24 hours of hardcore Python pain it totally failed.) Here's a little script to launch a visual diff against the SVN repository that I keep misplacing (captured on my blog so I can find it again).
1) download it
2) move it to ~/bin/svn-diff-meld
3) chmod +x ~/bin/svn-diff-meld
4) echo "alias sd='svn diff --diff-cmd ~/bin/svn-diff-meld'" >> ~/.bash_profile
Then on the command line, run SVN diffs against the repo with something like:
$ sd -r 27003
or
$ sd path/to/some/file.txt
or
$ sd -r 27003 path/to/some/file.txt
Posted at 09:21AM Aug 15, 2008 by jason in Software |
Please, Thank you, You're Welcome
Noah is learning at least one new word every day. He's nearly 14 months old and already has a ~30 word vocabulary. It's amazing to see him identify something by name so quickly. He tries to pronounce multi-syllable words, but rushes through a bit to fast to get it all out. So "elephant" becomes "e-ant", and "Georgia" (our dog) becomes "Gege".
Bridget and I have realized that we need to interact with each other using proper communication so that Noah picks it up. Having been married for 4 years, we take appropriate shortcuts with each other in conversations. We've agreed to make a conscious effort to use "Please", "Thank you", and "Your Welcome" with each other while he's learning how to communicate.
Today I came across this timely quote for Noah:
"I learned very early the difference between knowing the name of something and knowing something."
-- Richard Feynman
My next step is to teach Noah how to learn to know something.
Posted at 04:41AM Aug 12, 2008 by jason in General |
jEdit on OSX 10.5.4
jEdit is a very lightweight text editor I've been using for years and years. Installation of jEdit on OSX 10.5.4 with JDK 1.6 fails due to a JNI incompatibility. Here's how to fix it.
Open the Info.plist file, and change:
to:
This file should live here, if you're using Safari's download manager:
~/Downloads/jEdit.app/Contents/Info.plist
Now jEdit can be installed to your dock normally.
The problem (on my developer-centric machine) is that the default JVM is 1.6, and the JNI libraries fail to allow jEdit to launch. Apparently it's because the Java-Cocoa bridge is 32-bit. When running with JDK6, I was getting this error:
[jason@jmac MacOS]$ ./jedit
[JavaAppLauncher] A 64-bit JVM is available for 1.6.0
[JavaAppLauncher] and it is the only version available
[JavaAppLauncher] JVMArchs not found in Java dictionary
10:16:04 AM [error] main: NSRuntime.loadLibrary(/usr/lib/java/libObjCJava.dylib) error.
10:16:04 AM [error] main: java.lang.UnsatisfiedLinkError: /usr/lib/java/libObjCJava.A.dylib:
10:16:04 AM [error] main: at java.lang.ClassLoader$NativeLibrary.load(Native Method)
[SNIP]
Posted at 10:35AM Jul 05, 2008 by jason in General |
Many Miles Before I Go
This moment of my life is described by John Hiatt's "Before I Go". I could not love my wife or my son any more. We need to make the most of our time together as this moment only comes once.
Posted at 08:09PM Jun 29, 2008 by jason in General |
RegCM and the Scientific Method
My wife is doing her graduate work at UCSC and using the RegCM regional climate model to simulate atmospheric conditions during the Eocene era. She frequently finds bugs in the code (FORTRAN), but she has no way to keep track of what changed other than creating a versioned tar ball of the whole code tree for each version change.
Recently she found a bug that affects all of the research she's done for the past 3 years. The bug likely affects countless other researchers and their published work, possibly invalidating their findings. This sounds incredibly troubling to me, but there's no way to understand what bugs those other researchers may have been affected by because they don't reference a version, branch, or tag, of any code tree.
How can any of their research be repeatable if they don't reference a version of their code? This seems like a fundamental flaw in implementation of the scientific method.
This has been driving me crazy because I would never embark on a large software project without a source control system. I would go insane tracking all of the changes, and trying to ascertain what happened when something didn't work.
After a little searching, I found a free SVN hosting solution at Code Spaces for her to use. It's not hosted at SourceForge, Google Code, or other OSS access points because we have little understanding of the licensing controls on the code, which is managed by some nice Italian climate researchers.
If anyone is interested in using the SVN system to track changes, here's where it lives:
http://svn.codespaces.com/regcm/regcm/
To check it out, just run:
svn co http://svn.codespaces.com/regcm/regcm/trunk regcm
Posted at 12:30PM Jun 27, 2008 by jason in Software |
TTL of Maven Repositories?
While building Spring Security 2.0.2 from their SVN tag I ran into what is increasingly becoming a major Maven annoyance. Namely, access to or maintenance of public Maven repositories is becoming problematic. They don't seem to be maintained, and when they are broken, many OSS projects aren't fixing references to them.
Spring Security, on the 2.0.2 SVN tag, won't build because it can't find the appropriate JetS3t. This is because the JetS3t jar doesn't exist where it once did. While I had no idea where it once lived, even the JetS3t Downloads page has incorrect instructions to find it: the referenced Maven repository URL doesn't seem to reference a valid S3 bucket. Maybe someone stopped paying the S3 bills?
So, while I was trying to update my JCaptcha code for AppFuse, I couldn't build the main Spring Security tree, nor the sandbox/captcha module required for JCaptcha. What a pain in the butt. Now I had to hunt down the correct version of the JetS3t jar to get Spring Security to build.
It turns out there's an interesting S3 based storage service called S3Browse that links to what appears to be a mirror of the former JetS3t maven repo path here: http://s3browse.com/explore/maven.springframework.org/external/. It's a bit shady because the jar isn't coming from the JetS3t file's owner, and I have no idea what's compiled into the version sitting on S3browse. Considering S3Browse's homepage doesn't seem to have been updated since 2007, I'm skeptical the link will live long.
So that begs the question: whats the time to live of OSS Maven repositories? I have faith Apache's will stick around, but there seems to be an opportunity for a repo-aggregator here to suck up the slack.
Posted at 10:43PM Jun 12, 2008 by jason in Software |
Glass Door
I just read about Glass Door, which shows salaries of companies that I'm competing against in the hiring relm. Specifically, we're competing against Google and Yahoo to hire the top talent in the Bay Area.
I'm very happy to say that 4INFO pays at the same level across the board. We need the brightest people, and must show that we'll compensate them appropriately in order to hire. It turns out that we're doing just that. I couldn't be prouder of Software Engineering at 4INFO!
Posted at 06:27PM Jun 12, 2008 by jason in Software |
Parameterized user.home for Maven on Windows XP
I found a handy way to reference the Java system property ${user.home} within a Maven build that supports Windows' ridiculous path name to home/profile directories:
c:\Documents and Settings\jason.
The problem is, when using Maven, this parameterized property doesn't get passed through as one property value, but as three, because somewhere in the build Maven chokes on the spaces or back-slashes and interprets it as either three arguments:
"c:\Documents", "and", "Settings\jason"
or treats the windows back-slash as an escape character and removes them so my parameterized user.home becomes:
"c:Documents and Settingsjason"
Why would this matter? Well, if you want to share build configurations with other developers, and can't check some of your files into a source control management system (because, for example, they contain private keys or certificates that don't belong in SCM), then you need a common, parameterized place to reference them that will work for every developer without much trouble. In my case, it's integration with Amazon's web-services that necessitates managing public/private PEM and P12 files.
For Amazon, I want to reference the AWS pem and p12 files like this from either the Maven pom.xml, or the settings.xml file:
${user.home}/aws/cert-BLAH.pem
${user.home}/aws/pk-BLAH.pem
${user.home}/aws/awskeystore-BLAH.p12
However, on Windows XP, unless I set the user.home on the build path every time, the back-slash escaping or space issues cause the files to not be found.
To fix it, add this profile to the $M2_HOME/conf/settings.xml file:
<profile>
<id>laptop-xp</id>
<properties>
<user.home>C:/Documents and Settings/${user.name}</user.home>
</properties>
</profile>
Then add an appropriate entry to the activeProfiles:
<activeProfile>laptop-xp</activeProfile>
Now every user will be able to use the user.home property to reference their home path correctly on the Windows box.
Posted at 10:13AM Jun 08, 2008 by jason in Software |
Mac OSX Terminal Colors
By terminal colors, I don't mean the colors of death, I do mean the command prompt. This dude has a great post on how to enable terminal colors on OSX. It's quite useful for reducing fatigue on the eyes (black background), and syntax highlighting within vi for different file extensions. My eyes get lost in the black and white of XML or Java after a few minutes on the stock terminal prompt.
Posted at 03:30PM Jun 02, 2008 by jason in Software |