August 31, 2004
The Well-Informed (or lucky) Recruiter
Sitting in my office recently and the phone rang . . . a recruiter. I get these calls from time to time and most of the time it's as good as spam, but this time was different in an eerie kind of way.
While I listened for my chance to say don't bother me she said, "I represent a University in the Washington,DC area who's looking for a technical lead to design and code a federated application, which would be a part of a trust fabric using Shibboleth."
I was somewhat suprised, primarily because the position was so dead-on in the fairly specific work I've been doing recently at Tufts, and I couldn't figure out how someone would have known that. She said she saw my name on a conference list (and to think I believed that those were only available to attendees!). Either it was just a lucky guess, or she actually did some searching on Google to dig up details on specific types of work that came up with each name.
Curiosity got the better of me and I asked her to send along the job description (and salary). Didn't take much looking around to find the position listing was from Georgetown University. Looks interesting, the salary would be a nice jump up, but alas, no interest in going to DC.
Advice to recruiters, before you call a person do a Google search. Find something the person has worked on recently, then on the call pitch a job to them involving similar technologies. Hope that knowing something relevant to their work will intrigue them, and perhaps even stroke the ego because they might start to believe you've come to them as an expert in the field. This will get you a lot further than "it's time for you to get a new job with a much higher salary (and large recruiter fee)."
Posted by mike at 9:10 PM
Apple Expo Paris Keynote without Steve Jobs
It takes some work for me to enjoy the keynote without Steve. Philip says things right, but doesn't have the exact touch. Steve comes across with such confidence and has this way of building anticipation through the presentation.
Posted by mike at 2:46 PM
August 27, 2004
Least Deadly State for Driving: MA
When I saw this headline, Deadliest States for Driving I figured I'd better check it out just to see how close Massachusetts was to the top of the list. To my suprise, the findings of the National Highway Traffic Safety Administration indicate that the more rural the state the higher the death percentage per 100,000 population.
Never would have guessed that Wyoming would be the top of the list, and New York and Massachusetts would be the two lowest.
Posted by mike at 8:56 PM
Changing end-of-line Mode in Emacs (replaces ^M line return)
Every now and then I run into this. I export CSV data from Excel and find that when trying to use it in other places the line-returns aren't quite right and unix tools like 'less' and 'pico' think the file is one long line, with ^M in places where a line-return should be.
Wanting to replace the ^M I open the file in emacs, which is smart enough to go into Mac mode and show the file with the correct line returns.
I poked around and found that if the ^M is showing up in emacs this sequence will replace them:
1. M-% (esc % on Mac X11 Emacs)
2. ctrl-q ctrl-m RET (specifies ^M to replace)
3. ctrl-q ctrl-j RET (specifies a line return as the replacement)
4. ! (runs the replace on the entire file)
But in my case the ^M isn't showing because emacs knows to use ^M for a line return on mac. So what I need to do is change the end-of-line, which is specified in buffer-file-coding-system. You can change the file from Mac mode to unix with this command:
M-x set-buffer-file-coding-system RET unix
When you do that emacs suggests using this shortcut:
ctrl-x RET f unix RET
Save the file after changing the end-of-line and all is good in my other unix utilities.
Posted by mike at 10:34 AM
August 26, 2004
Building a Fort in the Living Room
I probably didn't get it out of my system when I was young, and I want the kids to have fun with it, but I'm pretty sure my primary interest now is being able to apply principles of engineering that you just aren't aware of as a kid. Plus, dad can approve things like setting chairs on top of each other or using furniture typically off-limits to the kids.
We built a small fort a few days ago and I snapped a few photos. Nothing terribly impressive about this one, a more conservative design which is sturdy and provides complete blockage from outsiders (as opposed to an open-ended). The biggest one we've built to date spanned the entire living room including the TV so we could watch Sesame Street, was a considerably less stable and more open design.
Posted by mike at 6:59 PM
August 25, 2004
Shibboleth Demo a Success
Over the past two days I've madly worked to get ready for a demo of Shibboleth-based authentication for our site. Although there is some interest in using Shibboleth, it never stays long on the top of the priority list which slows progress considerably.
The bulk of the time I spent compiling and recompiling Apache to try to get the Shibboleth authentication module to work alongside our own authentication module. Around 6:30pm I gave up on creating one Apache process that could do handle both types of authentication and built a separate, stripped-down Apache and wrote a Perl script to do what I needed. Once I embraced putting shib auth into a separate Apache process the development went quite quickly.
Shibboleth protects the Perl script, so once the authentication has happened and the assertion is available from the identity provider the Perl script pickes that up, provisions an account, creates a cookie, and forwards the user to the requested page. The major goal of Shibboleth is accomplished, the user doesn't have to give us information to authenticate but can access content in the system.
The demo was to a small group; the team members, my boss and my bosses boss. A lot of good conversation generated and the go-ahead to initiate communication with some potential schools to offer some sets of our content.
Posted by mike at 2:03 PM
The Ever-So-Cryptic Nuclear Missle Launch Code
Reading an article on The Nation and came across this interesting paragraph, from an interview with Bruce Blair, a nuclear missle launch officer in the 1970s:
To launch a Minuteman [nuclear missile] in [the 1970s], one had to "unlock" the missile by dialing in a code -- the equivalent of a safety catch on a handgun. However, Blair reports, the US Strategic Air Command was worried that a bunch of sissy safety features might slow things down. It ordered all locks set to 00000000 -- and in launch checklists, reminded all launch officers like Blair to keep the codes there. "So the 'secret unlock code' during the height of the nuclear crises of the Cold War," Blair says, "remained constant at 00000000."
Makes me grateful for the relatively low level of damage that can be done from our machines should a simple password lead to a compromise.
Posted by mike at 1:43 PM
How much info should an RSS feed contain?
The RSS aggregator has come to play a significant role in the way I gather information, and over the past year I've started to notice some preferences, annoyances.
I think the primary observation is there is a fine balance between too little, just right, and too much information in a feed.
An entry in the RSS aggregator like this is just not enough to know if I want to read more:
THE BUCK STOPS DOWN THERE. According to the Washington Post and New York Times, two expected reports on the Abu...
And then there are full-post RSS feeds from the verbose writer that include the comments in the same feed. Not only is it a commitment to read certain posts, the RSS entries continually show up as changed because another comment has been added.
My first choice to to have a full-post feed, without comments included. That means I can read the post in it's entirety in the aggregator. However, I understand that there are bandwidth considerations to delivering full feeds, especially if only some of the articles are read.
If a full-post feed isn't available I prefer to have a summary that includes enough to get the gist of the entire article. I guess some of that boils down to good writing, titles etc. The Microcontent guidelines gives good advice on writing headlines, page titles, and subject lines.
Posted by mike at 6:53 AM
August 20, 2004
Book and Music Logs are Back
Once upon a time I had a column or two on the main weblog keeping track of my reading and listening. The side-bar got lost on the move to MT 3.0, but I've still maintained the lists.
Posted by mike at 9:30 PM
Yearly Student Import: Doing More Work Now to Save Time Later
It's that time again, between last Monday and next Monday the students from the six Tufts University schools that use our system (Medical, Dental, Veterinary, Nutrition, Biomedical Sciences, Graduate Degrees) are back in full force. Before the new students enter the classroom for the first time we get a dump of all the new students from the various registrars (centralized into one directory) and set up their accounts (login, user groups, associated courses etc).
Every year it's a quick Perl script to suck in data from the file, but this year I had a two-week warning, which gave me enough time to actually design a set of more generic import tools accessed from our web-based management area. It was quite a bit more work, and not quite as fun as writing the quick Perl script, but next year when it's time to import again I won't have to write anything . . . and if I've built the tools right can probably have someone else bother with importing the data.
In addition, if another group needs to bulk-create user accounts and can get the data into the specified format, they can use the tools as well.
As a general rule, I've found that the more rushed a project is the longer it lingers and remains a thorn in my side. There are a few projects I've worked on where I look back and remember how long and painstaking the specification, design and coding were, but can't remember the last time when I was bothered by a problem with it. It's too bad the well-done projects don't come back and say "hey you did this right," it would be a nice reinforcement. I guess projects that regularly pop up and say "this is a piece of crap" should be enough to ensure better development going forward . . . yet it isn't.
Posted by mike at 2:06 PM
August 19, 2004
What does Apache's graceful restart really do?
Once upon a time I had heard that using Apache's graceful restart in a Apache/mod_perl environment wasn't a good idea. For that reason I've avoided graceful restarts, using stop/start to ensure the webserver is down and then bring it back up. Because there would be a few seconds of downtime in the stop/start process I'd typically wait until the wee hours of the next morning.
Today I needed to restart a webserver immediately, in the middle of the day. I decided it was time to clear up the graceful rumors, just to prove one way or another.
I stumbled into some good info in the Apache docs:
USR1 Signal: graceful restart
Note: prior to release 1.2b9 this code is quite unstable and shouldn't be used at all.
The USR1 signal causes the parent process to advise the children to exit after their current request (or to exit immediately if they're not serving anything). The parent re-reads its configuration files and re-opens its log files. As each child dies off the parent replaces it with a child from the new generation of the configuration, which begins serving new requests immediately.
I find the description poetic, prehaps because it is poetry or because it's the answer I wanted to hear.
The problems with graceful are very old, and my caution was unwarranted. I gracefully restarted the server without incidence.
Posted by mike at 9:40 AM
August 18, 2004
Is there a Need for RSS Feeds from Tufts?
Today I started thinking about how we might offer RSS feeds to the people who use the Tufts University Sciences Knowledgebase (TUSK).
When a user first logs into TUSK we display, in a portal-like way, the announcements, list of content recently viewed by all users in a group, recently updated content, recent postings to the forums etc. I can imagine the student who would want to stick the RSS feed into their aggregator and during certain times throughout the semester keep an eye on the changes happening in his or her relevant groups or courses.
The major issue is we require secure authentication for access to the information. I can think of a few options:
- dummy down the information so only titles show, like a linkblog, so authentication isn't necessary to get the feeds
- require a SSL-enabled browser-based RSS reader - the user logs into the site and then all feeds are based on the TUSK cookie
- hope, request, push for aggregators to allow user to authenticate for certain sites
Right now it seems somewhat frivolous, but will have to keep it in the back of my mind and perhaps will develop into something down the road.
Posted by mike at 1:43 PM
Our Next Vehicle: Hybrid Toyota Highlander
There's a lot of bad things said about SUVs, and for some time I've agreed with most of it. The problem . . . we bought a Jeep Cherokee in 1996 when we lived in Idaho because our Subaru was having to make regular trips to the mechanic after weekend excursions into the wild of northern Idaho. The Subaru wasn't built for the wear and tear, so we bought a Jeep.
When we moved to Boston we debated about getting rid of the Jeep, but in the end couldn't let go because we loved the car and loved having it paid off. In addition, we use the T for work commute, leaving the Jeep in the driveway most of the week. However, as time wears on, better options become available, gas prices rise, the Jeep has gotten worn out etc. We've started to feel pretty good about getting a new car.
The next problem though is we need space for 5-6 people, at least 2 of those in carseats (which consume more space than a person), and cargo room for family camping/road trips. For a year or so we've been looking at hybrids but somehow knew that a small Civic or Prius would not meet our needs.
A few months ago I stumbled into the Toyota Highlander Hybrid site, after a little reading we got pretty excited about it being our next car. Not only does it get 600 miles on a tank of gas, the Highlander seats 7 people. Being able to seat 7 means we don't have to go to a mini-van or a larger class of SUV.
Talking with one of the local Toyota dealers reveals that the vehicles probably won't be out until sometime in summer 2005, and that Toyota hasn't provided any information to the dealerships other than what's on the web site. No choice but to be patient.
I've bought a new car before, but never one that would be pre-ordered. Not much of an early-adopter, hopefully won't get burned.
Posted by mike at 5:46 AM
August 17, 2004
Hey, that's Me at OSCON in the Solaris 10 BoF
I've thought about this meeting a bit, and spoken to a friend or two about Solaris 10. My opinion of Sun, which hasn't been that great (even though Sun is all up in our production environment), has risen since that meeting. If I could point to one thing I'd say it was those developers showing the work they were doing and me thinking, "Hey, these guys are doing some interesting things, are excited about it, and in many ways are just like any other developer working on their project." I typically think of Sun as being full of closed-minded, secretive folks who disapprove of anyone who's not Sunnified. That image was broken down a bit.
That's three "Hey's" in one entry, will try to control myself in the future.
Posted by mike at 11:34 AM
August 14, 2004
Midnight Run to Apple Store Nets 14" iBook and More
A few months ago I decided to get Heidi a 14" iBook for her birthday. The official birthday isn't until late September but her Beige G3 300 got really messed up in the past week. I was planning on ordering everything online, but was prompted by a few friends to take advantage of the Massachusetts Sales Tax Holiday, which means no sales tax today. Apple was cool enough to identify the opportunity and opened all Apple stores in MA at midnight.
I told Heidi I had something to do at the data center at midnight, left around 11:30 and picked up Heidi's sister, Holli, who was thinking about getting an iPod.
There were quite a few folks at the Apple store, actually the busiest I've ever seen one. Apple had all these great deals with the iBook, which I was able to combine with educational discount to come back with:
- 14" iBook G4 1.2 Ghz (AirPort extreme included, extra RAM added)
- 20G iPod for $69 ($30 ed discount & $200 rebate)
- HP DeskJet 5150 ($89 with $89 rebate)
- Final Cut Express 2 ($200 off)
- Airport Express ($10 ed discount)
All the while I was in line, Holli was trying to decide if she should get a new computer. She decided on the 12" iBook, but when the store didn't have any in stock we left. As I was starting the car to leave she decided to get the 14", so we went back in and got her a 14" iBook with the 20G iPod for $69. I can't say I was objective, Holli had an original iMac for years but when it died started using a PC laptop. I was happy to provide encouragement and support for her getting back to Apple.
Got home around 3am, left the iBook on the living room floor with a sign "Your birthday celebration starts extra early this year" and went to bed. At 7am Heidi found the box and note and I came downstairs to watch her open etc. It's been a pretty exciting 12 hours.
I want to make a comment at how great the Apple store folks were. Everyone was friendly, laughing and having fun with the customers. There were forms from the state that had to detail all the purchases, which was kind of a headache for the empolyees, but I didn't get the sense that they were annoyed by it. In some ways the trip was kind of like going to a party with friendly people, and the atmosphere certainly enforced the decision to purchase from the Apple store.
Posted by mike at 6:43 AM
August 13, 2004
Laying off Branching in CVS
We used to do a lot of branching our CVS tree. In fact, every time we did a release we branched. Sometime in the late spring, in a developer meeting we decided to stop the branching madness and move to non-branching tags.
We used branching because we needed a snapshot of the code at a certain time, but it's overkill. Branching not only gives you a snapshot, it gives you the ability to make changes on those files, separate from the main trunk. We realized that we really had no need to make changes to the branched files and that we could save some work by just tagging the code. Now, when we're ready to release some code we do a tag of the code:
cvs rtag <tag> <module>
If changes need to be made before the release goes out the tag on a file can be moved up to a newer version:
cvs tag -r <new version> -F <tag> <file>
We're somewhat soft about changes made after a release. If the change is minor and on the same day we usually move the tag up. If the changes are more major, or if some time has passed we do a delta release, tagging based on the most recent minor release.
We haven't forgotten about branching, we're reserving it for cases where a module might need to be maintained for production at the same time major development is going on. This seems like a more sane use of branching.
Ahh, the things you learn with experience. Of course the only reason I write is because I got tired of looking up the CVS command for moving a tag.
Posted by mike at 1:38 PM
August 12, 2004
More Non-Tech Weblogs Please
I'm reading Brian's social tonic about wanting to know more about technology. When I realized my hope was that Brian would write about his take on books, movies, culture, art (the things I knew Brian for in a pre-weblog time), I realized that I've been far to narrow in my exposure to what people are doing with weblogs.
Here I thought writing a weblog was a techie thing, but as I start to look around, I realize there are a lot of people writing about a wide array of things. I think this is exciting, and am hoping to find a selection of weblogs that might compliment my other interests, perhaps expand them.
I see that Yahoo! has a weblog category, looks like a promising place to start.
Posted by mike at 7:19 PM
August 11, 2004
Camping Trip to Mount Monadnock, NH
Heidi picked me up last Friday at the subway with the car loaded and we headed up to Mount Monadnock for a few days of camping. We love Monadnock State Park because it's not a long drive (1.5-2 hrs), not overly commercialized (but has clean bathrooms) and the campsites are spread out a bit for semi-private camping.
Great weather the entire weekend, had an enjoyable time playing in the campground (yes, that is a Tonka truck), sitting for hours around the fire, hiking through the woods and enjoying the small town of Jaffrey, NH which is nearby.
There is a small airport in Jaffrey. We noticed a number of small planes going in and out so we drove up to the airfield and spent a little time watching planes come and go. Got a nice shot of an old biplane that we saw take off, do a few tricks and then land.
I took the campsite photo using panorama mode on my camera, the helper tool on the camera required 5 photos to get the campsite. When I assembled the 5 photos in Photoshop there was enough duplication that I only used 3 of the photos to assemble the photo.
Posted by mike at 8:15 PM
What if Mozilla were to Win?
The [Microsoft] presenter was doing his pitch in a polished way and at one point he said he wanted to show us a "really cool" feature and he looked up into the audience and said "Show of hands...How many of you use Internet Explorer?". Probably 99 times out of 100 when he asks that question all the hands go up, right? Well first there was a pause and then a giggle and then a whoop of laughter as the audience looked around and realized that NO ONE had raised a hand. The presenter was thrown off his mark, but he recovered and said, "Wow! Okay how many of you wish we'd fix IE so you could use it?"
Still no hands....
The thought of Mozilla becoming more widely used is good, but I'm not sure I'd want any browser to win. There is so much to like about Mozilla, but I still find myself using Safari for months at a time when I want a change of pace. I do loathe using IE, most often because I Ctrl-T to open a new tab and after waiting a moment I remember there isn't tabbed browsing.
Now that I think about it . . . it's been awhile that I've been on Safari, perhaps I'll switch back to Mozilla for awhile.
Posted by mike at 7:59 AM
August 10, 2004
To the fan who's mad R.E.M. joined the Vote for Change tour.
Boston Globe is running a story about fans being upset about musicians getting political. The article talks specifically about the Vote for Change tour, and features a photo of an R.E.M. fan who's not happy about R.E.M. getting involved in the tour.
I don't know all the artists on the tour, and certainly don't know details about their personal views, but have been following R.E.M. since Murmur was released back in 1983. I don't get too deep into musicians personal lives, but after 20 years of listening I picked up a thing or two, and certainly am aware of R.E.M's general ideas on political issues.
What I'm suggesting to this R.E.M. fan is it shouldn't be a suprise that they are involved in the swing state tour, given the lyrics in their songs and previous political involvement. A good chunk of their music is about historical, political, social, economical and environmental issues, and in general has a liberal slant. Someone has taken the time to put together a listing of all R.E.M. tunes with possible lyrical meanings.
Off the top of my head I can think of some more specific examples of R.E.M.'s involvement in polical issues:
- 1988 - Green is released on election day, ads run (I saw it in Rolling Stone) encouraging people to buy the album and vote for Dukakis
- 1988 - Stipe runs ads in college newspapers which say "Don't Get Bushwhacked. Get out and vote. Vote Dukakis."
- 1992 - Automatic for the People is released 2 months before election day
- Drive, from AftP, includes line "Smack, crack, bushwhacked," which some argued was pointed at then president George Bush Sr.
Perhaps it is possible to listen to R.E.M. tunes and not hear the often subtle messages, but it seems clear to me they've been on the liberal side since R.E.M. time began.
Posted by mike at 10:46 AM
August 4, 2004
Is a software project dead and worthless if development ceases?
In these days of continuous development where we're constantly reconsidering, revamping, refactoring, redesigning, rethinking, recoding what's been done in the past, it seems there is a lack of credibility on a software project if development slows or stops. If you're talking with another developer about some software you use is it such a terrible blow for them to say "is that even being developed anymore?" or "they haven't released an update for more than 10 months?"
I agree that the problems that computers and software solve are constantly changing and still being defined, but is it impossible to think that a certain piece of software isn't being developed anymore because it does what it needs to? To me, if a software package does the job I need it to and doesn't have any obvious bugs I'm not sure I care if someone continues to develop on it.
I would reserve the right to move to another package if my needs changed or some major flaw started to show, but to move just because development slows or stops seems silly.
Posted by mike at 3:15 PM
August 2, 2004
Mirroring Disks with Solaris DiskSuite
I end up creating disk mirrors with Solaris DiskSuite enough, but not enough, that it warrants a note here about the simple commands.
After partitioning the drives with fdisk:
metainit d71 1 1 c0t11d0s0
metainit d73 1 1 c0t12d0s0
metainit d70 -m d71
metattach d70 d72
newfs and mount the disk up and it's ready to go.
Posted by mike at 7:57 PM
August 1, 2004
Evening Concert at Stage Fort park, Gloucester, MA
Stage Fort has one of our favorite playgrounds, has some history, and tons of green grass to run wild. To our delight we found that tonight the Cape Ann symphony was putting on a pops concert, just a few hours after we got there. After an hour of playing on the equipment and throwing rocks into the sea we set up on the blanket, ate some dinner and listened to the music. Quite incredible looking over the ocean and watching the blue sky as the sun set. Will have to watch for this event next year.
The photo is my first attempt at using the built-in panorama feature on my digital camera. Took some Photoshop magic to get the four photos together just right.
Posted by mike at 8:33 PM