Geek Boy's blog
Hanging out at #javaone
I've been at
JavaOne 2009 for the past few days. Lots and lots of great information, and learning a lot. Many of the talks I've been attending have been about alternate languages that run on the JVM - JRuby, Scala, Groovy, jython. Many of these languages solve problems that are difficult to solve given the constraints of the Java language, or at least are difficult to solve elegantly. Some of the problems along these lines are concurrency, simplicity, ease-of-development, and relaxing the type system. They all end up being about developer productivity. I find lots of analogies to the debates about java vs C++ in the late 1990s. This is probably healthy. The same thing appears to be happening in the .NET world - there are a lot of languages that run on the .NET CLR, and they don't all look like C#. In fact, F# looks pretty neat.
I also wanted to post a link to a great summary of a session about
concurrency gotchas in java.
I've been
posting updates on Twitter, if you're interested in following along.
Labels: java javaone scala jruby ruby
javaone 2009!
I'm at JavaOne in San Francisco. I'll occasionally post updates to Twitter. Http://www.twitter.com/pclark
Labels: Javaone
Confused about EIST/SpeedStep
Intel SpeedStep is a technology that allows the processor to be underclocked when it's not busy. AMD has a similar concept called
cool'n'quiet. The idea is that if the processor is slowed, it'll run cooler and use less power. If it's emitting less heat, then the building needs less air conditioning, and everyone is happy.
We've got a bunch of Dell OptiPlex 745, 755, and 760 computers at work. These machines all have Core 2 Duo or Pentium D processors that support Intel SpeedStep, and we're mostly running Windows XP SP3, which has support for speedstep in the OS. We also have a lot of users who like to use Remote Desktop from home (over the VPN), and so they leave their computers on all the time. This isn't necessarily a good use of electricity, so I wanted to be as conservative with power usage as possible. SpeedStep seems to be exactly what you'd want in this sort of situation.
We've enabled speedstep in the BIOS, we've set the power settings to 'minimal power management' which is supposed to turn on speedstep support in the OS. I've been able to verify that speedstep is running by checking the reported clock speed in the properties panel for "My Computer". But is it
really doing anything?
So - one of the best ways to measure actual power utilization is with a
Kill a Watt power meter, which measures how much power the machine is drawing from the wall. If you let stuff run over time, it'll also measure kilowatt-hours.
I fired up a OptiPlex 755 with all the power management stuff turned on, and let it run over a weekend. The power utilization was around 55 watt-hours as measures over a 70-hour period. I then turned off speedstep in the bios by setting it to 'home/office desktop', which is supposed to not underclock when on AC power. I verified that the CPU was running at full speed in the "My Computer" properties display. I let the machine run for a couple days and measured power consumption of... wait for it... 55 watt-hours.
What's up? Is speedstep a joke? Alternatively, is something along the lines of speedstep running all the time? The machine was idle under both scenarios. If anyone has any insight into this, please comment!
Labels: speedstep dell optiplex
From the mouths of babes...
A couple of days ago, Bea was annoyed that Laurel wasn't respecting her request for Laurel to keep her hands to herself. Bea complained to her mom "sometimes I think Laurel doesn't know what listening means".
Fun with Mail.app

I love Mac OS/X Mail.app. The latest bit of love is this - the message list will tell you how many attachments there are in a message - for instance, "3 items".
Unless there are too many for it to count quickly. Then, it just displays "lots":
Labels: mac mail amusing
Subversion and performance reviews
Thought for the day - when writing checkin comments, consider that your audience might be your boss, reviewing your past checkins, while said boss is writing your annual performance review.
Hooray for time capsule 7.4.1 update!
Apple has recently released an update for the Airport Extreme and the Time Capsule. I've got a 500gb time capsule, and for backing up over my wired ethernet network, it's great. Fast, efficient, and just what you'd want. It's slower than backing up to a firewire-800 drive, but my macbook air doesn't have a port for that.
However, backing up over the wifi network was painfully slow. In fact, it was broken. I use
iStat Menus to monitor a number of things, including network utilization, and it was kind of annoying when Time Machine would say "preparing backup" forever, and there was clearly minimal network traffic. I tried switching from 2.4ghz to 5ghz 802.11N only, I tried switching to 2.4ghz 802.11g only, I tried a bunch of things. It all came down to that it worked with ethernet, not with wifi.
With the new firmware, that's a thing of the past. I just ran a time machine backup over wifi (802.11N, 5ghz), and it was peppy.
Now my macbook air can be less tethered.
Labels: apple backup
It'd be cool if blizzards worked like this
Great picture of
a sandstorm coming into Riyadh. Wouldn't it be cool if Minnesota blizzards worked like that?
Truly, news you can use!
And the answer is, None. None more black.
Maskenball 2009
Last week was the Maskenball fundraiser for the
Twin Cities German Immersion School. My wife worked long and hard on it, and I'm glad to have her back. It was a splendid party. I'm not much of one for big events like this - as a friend recently commented in his "25 random things about me" response, "In a group of more than 5 people, I'll probably feel like the odd man out". True for me too. However, after trying on several masks from Pier One, I decided to go outfitted as the
Heath Ledger Joker. It really really worked. I had a blast, and had perhaps too much fun trying to be in character- "why so serious?!?" To top it off, someone else came dressed as Harlequin.
Pictures, for the moment, are
here.Labels: maskenball joker
New intel box
I just finished up building a new intel-based box from parts. This is the first time I've tried to assemble my own, rather than buying a whole one. However, my brother has made several machines out of Shuttle cases, and they seem to work well. All the parts came from newegg - here's what I got:
- Shuttle SP45H7 barebones case
- Intel Core 2 Duo E8400 3.0ghz processor, 65 watts
- 4 Gb Corsair DDR2 800 RAM
- Optiarc/NEC/Sony AD-7220S SATA DVD burner
and some other parts I had lying around, including a nvidia GeForce 8800GS PCIe video card and a 500gb seagate drive.
On the whole, it was incredibly easy to assemble - took about an hour. Getting XP and Vista x64 on it in a dual-boot configuration took a bit longer, due to hassles with the BIOS. It was flaky when trying to boot from the SATA DVD drive in AHCI mode. It either wouldn't boot, would blue-screen the installer, or would simply fail to recognize that there was a
For both XP and Vista, I had to switch the bios to IDE compatibility mode, install, make some registry hacks and install drivers, reboot, switch the bios to AHCI, and then continue. Details are available
here with more detail
here for XP.
Vista was much easier. I tried all sorts of things, trying to avoid having to do manual registry hacks, but once I got over that and did what needed to be done to the registry, then it went pretty smoothly.
Labels: pc windows intel shuttle barebones AHCI SATA
Last day in Germany
I'm in Groß-Gerau, a bit southwest of Frankfurt. I recently finished up a workshop at
Schloss Dagstuhl about the Data Documentation Initiative. Rather interesting (if you're in my line of work...).
I'm now visiting friends, and I head home tomorrow. Somewhat bittersweet - I've had a great trip and I've quite enjoyed visiting people I haven't seen in months or years, but I also miss my wife and kids, and I'm quite sure that she's ready to have me home.
Fun with IE6, SSLv2 and TLSv1
Internet Explorer pain
A consulting client of mine has a website with some
security requirements that mandate the use of encrypted communications. The site had been running on Tomcat 4 on a Win2K server machine, with no particular tuning of how tomcat dealt with crypto. We kinda just dropped in the server-side cert and ran with it, back in 2003 or so.
We recently ran a
nessus scan on the machine, which suggested that allowing SSL2 and weak ciphers was perhaps a bad idea. We were intending to retire the Win2K machine anyway and do some other software updates, so we decided to deal with this too. The new machine is a Win2003 R2 server running inside of VMWare, with Tomcat 6 running in a Java 6 JVM, and using the APR connecter rather than the tomcat standard connector.
We initially deployed with the following configuration:
<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
SSLEnabled="true" compression="on"
maxThreads="150" scheme="https" secure="true"
SSLProtocol="TLSv1"
SSLCipherSuite="HIGH:!SSLv2:!ADH:!aNULL:!eNULL:!NULL"
SSLCertificateKeyFile="conf/privatekey.key"
SSLCertificateFile="conf/site.crt"
SSLPassword="i_can_haz_crypto_k_thx_bye" />
this worked great with IE7, Firefox 2+, and Safari, but IE6 acted as if it couldn't find the site at all - as if it failed DNS resolution! We had some difficulty figuring out what was going on, but we ended up turning on SSLv3 as well as just TLSv1 in the SSLProtocol setting, like so:
<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
SSLEnabled="true" compression="on"
maxThreads="150" scheme="https" secure="true"
SSLProtocol="ALL -SSLv2"
SSLCipherSuite="HIGH:!SSLv2:!ADH:!aNULL:!eNULL:!NULL"
SSLCertificateKeyFile="conf/privatekey.key"
SSLCertificateFile="conf/site.crt"
SSLPassword="i_can_haz_crypto_k_thx_bye" />
and then things seemed much happier. This was particularly confusing, as our IE6 machine had "Support TLS" checked in the Tools->Internet Options->Advanced settings pane. Still not entirely sure what's going on, but turning on SSLv3 and leaving SSLv2 off appears to work.
Time to upgrade the world to
Firefox.
Labels: java tomcat ssl tls