News Home
The latest 10 news entries are included below. To view other entries, use the form above.
That looks about right
chris on 2008-Apr-11 10:59 AM
Ella's latest stats
chris on 2008-Apr-06 10:40 PM
Just in case anyone's curious, Ella had her 15-month checkup last week. She's now 26 pounds 10 ounces, 31.75 inches long, with a head circumfrence of 47 cm. The first two are 90%, the last 97%. So she officially does have a big heed.
[ Tags: ella ] [ Comments? (0) ] [ Permanent ]
Ella's latest compliment
chris on 2008-Mar-23 04:48 PM
This weekend we had friends over, along with their four boys ranging from 5 to 12 (I think, I'm terrible with ages). At one point Ella was in the middle of the lot of them, trying to throw a ball, laughing when it hit her on the comeback, getting jostled here and there. And the next-to-oldest one said, "I like Ella. She's tough."
[ Tags: ella ] [ Comments? (0) ] [ Permanent ]
TNR on the Obama speech
chris on 2008-Mar-19 11:10 AM
What I've read of the two articles from The New Republic on Obama's speech yesterday has been thoughtful (part 1 and part 2). But one notion that struck me in particular: how kickass would Obama's campaign be if Hillary weren't running and Bill could get behind him? Because over and over I hear, "The only other politician besides Obama to do X so skillfully has been Bill Clinton."
Then again, if she weren't running he might not have had as much of a challenge to rise to.
[ Tags: politics barackobama ] [ Comments? (0) ] [ Permanent ]
World of superlatives
chris on 2008-Feb-25 10:45 PM
I've had lots of entries floating through my head over the last months, but they float out just as quickly. This morning while brushing my teeth I had some not-stupid thoughts about superlatives, but by the time the heat fired up in the car on my way to work, poof.
Fortunately this kernel of a notion got repopped when I ran across Word processing, then and now in my feeds, with this as a quote (emphasis added):
For those of us who learned Basic on a Zenith Z19 and started word processing on a Kaypro (anyone?), the retro green-and-black now takes the breath away.
A phrase previously reserved for pondering the lost loves of youth, or the heroic strivings of humanity's best, or a tragedy that cuts to the heart of you, now? Now it's used for nostalgic pining for the constraints imposed by old, barely functional technology.
I know it's hard to write; I know it's easy to snipe from the blogging sidelines; and I know I've committed far more writing sins than I can remember. But I'm also not published in the New York Times.
Cheapening these phrases through overuse reminds me of football commentators, exclaiming how this cornerback, "has the fastest closing speed in the league" and that linebacker "tackles harder than I've ever seen". Nobody listens unless it's absolutely positively the best ever.
Then while writing this I remembered an ode to the Tivo from Jeff Atwood, noted only with the added emphasis:
Its true beauty was the synthesis of an intuitive user interface, cool hardware, and an elegant remote. It fired on all cylinders. I loved my series one unit with a passion most people reserve for their newborn children.
[ Tags: language ] [ Comments? (10) ] [ Permanent ]
Time of day: 6:49 am
chris on 2008-Feb-08 07:47 AM
Impressions of OpenSolaris
chris on 2008-Feb-02 01:43 AM
I've been using a build of SXDE as my primary work machine for about the last month. The reason is to get used to Solaris since we'll be deploying our application on it starting sometime this year -- I haven't been even a fake sysadmin for years, and that was on Linux.
Since I'm using a laptop (Thinkpad T60p) and WinXP, I took the relatively safe way out and installed a second hard drive in the ultra bay for Solaris. Because the ultra bay is taken up you need an external CD/DVD drive for installation, but USB works fine.
I haven't been taking notes for the whole time, so this is off the top of my head:
First surprise: installation was slick and easy. I'd installed Solaris 10 on a spare PC a while ago (year?) and it was fairly primitive, reminding me of linux installs 10 years ago.
Next surprise: wireless just worked. If it doesn't see a wired connection it'll pop up a little applet with the networks it sees and the security for each. (There's no 'Stop looking!' button, but that's minor.)
After that, it's been mostly great, with a few notable ups and downs:
Down
- Up until about two hours ago I couldn't VPN in to work. If this wasn't fixed it probably would have been the single biggest reason to stop using Solaris, Most of the time getting email through a web interface is sufficient, but other times I really need access to perforce.
- No suspend/resume. One of the biggest advantages of using a laptop is that I can open it and immediately start doing something. I never have to turn it off. Well, when I used Windows on this machine I didn't. Now I do. It's annoying.
- Something about power management or fan control isn't working properly, because I can freeze (sometimes reboot) this machine under load. And using the 'batstat' program I can see the temperature going up up up until it's two or three degrees below critical for one of the thermal zones, then =pow!=, it's gone. This happens more easily while the machine is docked (I think because there's no air passing under the machine to carry away heat), but it can happen when it's sitting on my iCurve as well, it just takes a little longer. It's possible this is a result of using the ultra bay hard drive as the primary one, but I dunno.
- I really miss a QuickSilver/Launchy-type application. I know there's a couple for GNOME (like GNOME Do or GNOME Launch Box), but they or their dependencies have problems building. Most GUI stuff treats non-Linux systems as an afterthought, but they'll eventually be supported (probably).
- Multiple-monitor support. On Win32 in the dock I can drive 2 20"
panels from the laptop. And even if it's not in the dock I should be
able to display on both the single external VGA port and on the
built-in LCD. And plugging into a projector? Ha!
This laptop has an ATI FireGL 5200 chipset. Unfortuntely it's not nVidia, which is apparently more common and more easily supports these crazy use cases.
- It's heresy, but I miss Outlook a little. When I first saw screenshots of the vertical three-pane view I didn't like it, but after using it a bit I'm hooked. The three-pane view in Thunderbird is just okay, it doesn't show enough information in the middle pane (listing view). And while there is some basic calendar support in Thunderbird it's one way -- I can't confirm appointments, just add them to my calendar. (Evolution does support Exchange, but it's been flaky.)
- We have fairly arcane methods of getting to some of our client sites, and some of them (based on Citrix) are Win32 only. Annoying, but not Solaris's fault.
Ups
- Ahh, back to unix. Everything else is pretty much gravy.
- My daily work (compiling, editing, running) is faster. Something that took a minute on Windows takes 20 seconds.
- ZFS is freaking magical
- Most everything I used in Win32 (which isn't much) has a good equivalent: IM, basic image editing, screenshots, Java IDE, xemacs, web, Postgres, remote desktop.
That should do for now, more things will probably pop up later.
[ Tags: solaris unix ] [ Comments? (8) ] [ Permanent ]
Getting vpnc to work on OpenSolaris
chris on 2008-Feb-02 12:37 AM
I haven't found a recipe of how to get the vpnc project to work on OpenSolaris. So when I found one that worked for me I figured I'd post it, even though I don't know if it will work on Solaris 10, on other builds of OpenSolaris, or even on your computer given the exact same build I'm using. (I'm still a Solaris newb.) So YMMV.
My setup:
- Solaris Express Developer Edition 9/2007
- Blastwave package management setup according to their instructions
- Thinkpad T60p
1) Install some dependencies with Blastwave:
$ pkg-get -i binutils $ pkg-get -i libgcrypt $ pkg-get -i intltool $ pkg-get -i libiconv $ pkg-get -i gnupg $ pkg-get -i tun $ pkg-get -i gcc3
2) Put gcc on your PATH (assuming you're using bash):
$ export PATH=$PATH:/opt/csw/gcc3/bin
3) Download vpnc-0.5.1
4) Unpack vpnc, cd into the directory
5) Open 'Makefile' in your favorite text editor and change all calls of 'install' to 'ginstall' (don't change the make targets, just the invocations)
6) Make and install:
$ gmake $ gmake install
7) If they're not already there, add some items to your path (you'll need this permanently):
$ export PATH=$PATH:/usr/local/bin:/usr/local/sbin
8) Create the directory for vpnc to store files:
$ mkdir /var/run/vpnc
9) Modify the first line of the following files to use '#!/usr/bin/bash' instead of '#!/bin/bash':
/usr/local/sbin/vpnc-disconnect
/etc/vpnc/vpnc-script
10) Update the 'route add' statements in /etc/vpnc/vpnc-script on lines 164, 175, 183 and 189 by appending ' -interface'
11) Create your config. You can use the bundled 'pcf2vpnc' script (installed to /usr/local/bin) to translate the Cisco profile your company provides to a vpnc configuration:
$ pcf2vpnc Your-Company-Profile.pcf > /etc/vpnc/Your-Company.conf
12) Fire it up!
$ vpnc Your-Company.conf
13) You can see that it's working by listing your interfaces:
$ ifconfig -a
...
tun0: flags=10010008d1<UP,POINTOPOINT,RUNNING,NOARP,\
MULTICAST,IPv4,FIXEDMTU> mtu 1412 index 7
inet 172.16.6.170 --> 172.16.6.170 netmask ffffffff
ether eb:d5:90:b2:eb:d5
or printing your route table:
$ netstat -nrv
14) Other useful resources:
[ Tags: solaris vpn ] [ Comments? (0) ] [ Permanent ]
More shit I can do without
chris on 2008-Jan-22 10:42 PM
"Now more than ever!" What does that even mean? Do advertising people
like it because it can be recycled over and over, like "new and
improved" for everything from detergent to cat food?
Baby boomers trying to stay young. Botox and injected gel for those unsightly wrinkles, diets for those unsightly folds, pills for everything else, People get old, it's not a bad thing.
Job titles with numbers in them. Database Administrator III, Developer IV, Wanker II. The english language is rife with adjectives, and there's even a commonly accepted set used in the HR world (senior, junior, apprentice, master...). Can we at least try not to treat people like the interchangeable cogs management frequently wants them to be?
[ Tags: dumb advertising ] [ Comments? (0) ] [ Permanent ]
Is dependency management useful for internal projects?
chris on 2008-Jan-19 11:56 PM
One of the benefits of Maven is that you can declare your project's dependent libraries and they'll be pulled down from a central repository for you. And if they're configured properly, maven will also pull their dependencies as well. Sounds great, and an entirely separate project (Ivy) also exists in the Apache world to do this within Ant.
But how useful is dependency management for internal projects? It is (or better be!) the goal of any build process that every checkout of the same code should build the same way every time. But I think introducing a dynamic layer (dependency resolution) into the compilation process subverts that goal. Those dependency mappings are under the control of other folks who can get things wrong. The open source community being what it is they'll probably get corrected sooner or later. But you don't know when. (You can correct it yourself: see discussion of repositories below.)
And then there's the 'SNAPSHOT' issue. A project can declare a dependency on a library's development version. Most of the time it's something like 'foo-2.0-SNAPSHOT.jar' with no idea as to when the snapshot was taken. So when the snapshot is updated (e.g., someone thinks to update the public repository) you'll get a different snapshot than what was initially used. Most of the time it will likely not be an issue, since hopefully not much changes between SNAPSHOT releases. But 'most of the time' shouldn't be good enough with something like builds.
Typically you'll only checkout from a past label to fix a bug. To fix a bug you need everything to remain the same except your fix, otherewise there's always the chance that you'll introduce side-effects which may become immediately apparent, or they may lie in waiting until some weird condition presents itself and then fail. (And hopefully not silently.)
Ah, wait, there's a way out. Since maven gets is dependencies via HTTP it's pretty simple to maintain your own maven repository that all the developers use. So you'll always have the same version of the '-SNAPSHOT' file. And you can fix any errors in the declared dependencies of your projects as well. True, true...
...but the original point of all this dependency management was so that I wouldn't have to manage anything. Now I have to maintain a local webserver, along with telling all the developers they'll have to make a configuration change to reference it? (Which goes against making the setup as easy as possible.) Feh, I say!
Let's walk through alternative, maintaining the dependencies yourself in your favorite version control system:
- I add a new library 'foo v 1.4.5' to my project by copying its JAR to my 'lib/' directory
- The docs declare that there are two dependent libraries, 'foo-utils v 1.4.5' and 'commons-blah v 2.3', I copy those to my 'lib/' directory, too.
- I add a note to my project's dependency manifest so someone can determine what libraries we're using and their licenses.
Since my Ant task for compiling my project pulls everything from my 'lib/' directory, I'm good to go.
When the 'foo' library gets upgraded I review its improvements and bugfixes and decide that we should upgrade. So I go through the same process as above, first removing the old versions then adding the new ones.
There is a complication when an upgrade no longer depends on a library, so without the metadata that 'commons-blah v 2.3' was only needed by 'foo v 1.4.5' I'll have an orphaned library in my classpath. And the harm in that is... the classloader has one more JAR to scan through.
There's also the potential issue that my own project (or a dependency) depends on 'commons-blah v 1.8', so the introduction of 'v 2.3' may introduce incompatibilities. But this is a general library issue and doesn't come from using (or not) dependency management.
In all cases:
- The library files are included in every checkout, and the proper version of a library and its dependencies are associated with a release,
- developers don't need extra configuration to build,
- nor do they need a connection to the net.
So how is dependency management helping me out again?
Tip 39
Invest Regularly in Your Knowledge Portfolio
Make learning a habit.










