This page features every post I write, and is dedicated to Andrew Ho.
Everyone is talking about Joel Spolsky, especially with his latest article.
Many appreciate what he has to say, but then again, he is basically articulating what we all know, and plenty figure that maybe his writing is no longer fresh, and he is just cranking out articles in order to shill his warez:
“This might be a neat opportunity to use Scrum. Once a week, the team gets together, in person or virtually, and reviews the previous week’s work. Then they decide which features and tasks to do over the next week. FogBugz would work great for tracking this . . .”
My position is that most stuff we read is mediocre, and Joel at least writes well, and Joel wears his ulterior motives on his sleeve, so when he starts figuring FogBugz can cure what ails CS curricula, I just figure “and now a word from our sponsors” and my brain hits the fast-forward button.
I think Tom actually has the best reaction to the issue Joel brings up, in that he adds that different people have different learning methods:
We all know there are students that are “visual learners”, “audio learners” and “kinesthetic” learners.
We all know what? Okay, yeah, and “everyone” is talking about this, right? Anyway, Tom, like me, is a learning-by-doing kind of guy who didn’t always “get” the formal CS curriculum:
When I took my undergraduate class on software engineering methodology I felt it was useless because I couldn’t see the point of most of what I was being taught. Most of my programming had been done solo or on a small team. I could not take seriously the problems that were being “fixed” by the software methodologies discussed in our lectures. “Code size estimation? Bah! Impossible, so why even try!”
In my CS days, the bits I enjoyed most were the learning-by-doing: compiling my first C program, bending my mind around recursion and functional programming to complete assignments in MIT Scheme, implementing a virtual spanning tree, and coming up on my own with the idea of a finite-state automaton to parse NWS weather forecasts. (Okay, that wasn’t a CS assignment and I didn’t know how to talk to girls.)
The parts where I fell completely flat were the theoretical classes where we considered bizarre hypothetical problems that didn’t make sense, using Greek letters that didn’t seem to have anything to do with reality. One day my ECE roommate asked how, as a CS major, I would go about sorting one million integers. My response was “why would you want to sort one million integers?” Later I slept through multiple lectures where the best methods of sorting integers were discussed at length. I skimmed the slides so I know that Quicksort performs well and in-place, but that Bubble Sort may work better if your data is mostly sorted, so in my mind that just means that if anybody asks how you would sort one million integers, the correct answer is to ask some questions as to why they need to sort one million integers.
Uh, yeah. Anyway, what was I nattering on about? Joel’s schtick is that CS students aren’t taught to manage large, complex, “real world” projects with lots of moving pieces. CS mostly focuses on the “interesting 10%” like how you would sort a million integers and skips over the boring 90% of hard work like implementing the interface for the customer to provide their million integers and retrieve the results. And Mark Dennehy’s reaction was “of course we focus on the interesting ten percent: the other 90% is constantly changing and best learned on the job!”
But, addressing the “how do you tackle big projects” thing, I think Joel has a point. And his point isn’t new. The point is extra-curricular activity.
Whether you’re a visual learner or whatever, the biggest secret to learning things is to find the thing that you are studying interesting. The very best computer programmers are all fucking fascinated by the challenge of getting the computers to do things within given parameters. Computer programming is fun because when you get down to it, it is a lot like computer games: a person at the interface banging away until they get their dopamine fix by either beating the level boss or getting the damn thing to compile and spit out the correct result.
Well, that is for the learning-by-doing types. Some computer programmers get their jollies by trying to fathom a new and novel method of sorting one million integers. Whatever floats their boat, I guess.
Anyway, long story short, I’m thinking the learning-by-doing types tend to get a little queasy after a few CS theory classes and end up majoring in English in order to score a bachelors degree, but they keep tinkering with the computers along the way, and end up, like Tom and me, as systems administrators, figuring out the best way to keep 1,000 computers running in order to make it possible to sort billions of objects with map-reduce algorithms in constant time.
Oh yeah, and that I agree with Joel that motivated CS students ought to find non-class projects that they are passionate about, and thereby gain chances to collaborate with others on the sort of “real world” challenges that they are likely to face in their professional careers. Back at Illinois the ACM played a big role in this. I myself did some time apprenticing at NCSA and at an ISP, and the big win these days it would seem are the oodles of Open Source projects ready to put interested volunteers to work. And that’s why Google’s “Summer of Code” just sounds like a fantastically great idea.
1 Comment

Barack Obama stumps for his mayoral candidacy near Grand Army Plaza, Brooklyn.
Here in New York City, there is a Democrat running a seemingly futile campaign against Mike Bloomberg. As far as I can tell the campaign platform is that Bloomberg is ambitious and power-hungry, with delusions of grandeur. Which, from what I can tell, must surely be a ringing indictment of character for the Mayor of Lake Woebegone, MN.
Anyway, His Holiness recently passed through town, bestowing upon Bloomberg’s Democrat opponent the ringing laurel of endorsement that his colleague was “in the house” . . . somewhere . . . they didn’t have time to meet . . . and then President Obama was off to New Jersey to stump hard for the governor there.
This morning the lamp posts in my black neighborhood are adorned with photographs of Barack Obama, who would surely be an awesome mayor . . . of Chicago.
Feedback Welcome
A comment I made on an e-mail thread that was well-received:
Intelligence is the product of basic brainpower, passion, and education. The brain is like a car engine: whether you have a little two-stroke or a V-12 you still aren’t going to get anywhere without some passion fuel, and the going will be really tough without some nice, smooth educational asphalt to help guide you to where you want to go.
Also, to those endlessly debating nature-versus-nurture, the answer is usually “both” . . . you start with a certain genetic baseline, then a childhood you don’t have much control over, and you make of your life what you will. Some folks receive a terrible start in life and are going to have it hard whatever they do, but most people have something they can work with, and with the right sort of ambition, positive attitude, and tenacity, can achieve some sort of success in life.
2 Comments
XVidCap is a very nice screen-capture program for Linux. I have been dabbling in it to capture video of my desktop.
Unfortunately, the binary offered by Ubuntu’s software distribution has audio disabled. I found a bug about that somewhere and added my two cents, then went and installed it manually. Then I had to reinstall it manually because the Ubuntu version had been bumped and the “newer” version replaced my audio-supporting version.
Step 1: Remove Existing xvidcap
sudo aptitude remove xvidcap
Step 2: Install XVidCap from SourceForge
http://sourceforge.net/projects/xvidcap/ — click “download now” and the rest is all point-and-click.
Step 3: Lock XVidCap Version
Ubuntu will be quietly bide its time until it can “upgrade” xvidcap to a version that doesn’t support Audio. Fortunately, you can tell it not to do that!
Open: System > Administration > Synaptic Package Manager
Search for “xvidcap”
Select the package, go to the Package menu and select “Lock Version”
(From what I can tell, sudo aptitude hold won’t actually prevent xvidcap from being “upgraded.”)
14 Comments
This is more for my own reference, because there are some broken rc scripts that don’t detach the PTY correctly, which can be really aggravating if you’re starting or stopping multiple daemons on multiple servers.
1-7:45 djh@opshost ~> cat .ssh/config
StrictHostKeyChecking no
BatchMode yes
KeepAlive yes
That KeepAlive yes is more for my interactive sessions. but here’s the real mojo:
ssh -f user@server command
I can add an & if I like . . .
Feedback Welcome
It feels like it has been longer, but at just over a month our apartment building has installed the window screens. Boy is it nice to have window screens! Of course, it would have been nicer if we had had the window screens during the really hot days of August, but I try not to gripe too much.
Of course, when the guy came by to install the window screens, he had to explain that management had instructed that screens not be installed on windows opening on to fire escapes. Since this is an idiotic request, and since I had explicitly requested window screens on those very same windows, he installed screens anyway, explaining that if the management company later insisted, he would have to remove them. I was happy to take the chance.
Later I mentioned the issue to our superintendent, who agreed that window screens do not belong next to fire escapes, and that is just one of the tragic outcomes of a city with so many complex rules governing it. I found that a bit unsettling.
Sometimes I find it hard to sleep at night, and my mind will churn with the great questions of our day, like “is there really a restriction against installing window screens on windows that open on to fire escapes in New York City?” Well, the wisdom of the Internet led me to the Rules of the City of New York, which explains in Chapter 15-10(k)(2):
Wire screens and storm windows. Wire screens are permitted on a door or window giving access to a fire-escape. Such screens may be of the rolling type, casement or of a type that slides vertically or horizontally in sections, providing that there shall be a clear unobstructed space two feet (2′) in width and two feet six inches (2′-6″) in height when the screens are opened and further provided that no such screen shall be subdivided with muntins or other dividing or separating bars into spaces less than two feet (2′) in width by two feet six inches (2′-6″) in height.
So yeah, window screens are completely legitimate. I don’t know if this contrary idea is actually with the management or some fanciful notion that has somehow been implanted into our superintendent, but should the issue need revisiting I can leverage my powers as Internet Man to defend the placement of these window screens for which I have long waited.
Feedback Welcome
From http://www.translationparty.com/#2010449:
We are stardust, we are golden, we are caught in the Devil’s bargain, and we’ve got to get ourselves back to the Garden!
ç§ãŸã¡ã¯ã‚¹ã‚¿ãƒ¼ãƒ€ã‚¹ãƒˆã«ã¯ã€é‡‘色ã®ã¯ã€æˆ‘ã€…ã¯æ‚ªé”ã®é§†ã‘引ãã«å·»ãè¾¼ã¾ã‚Œã€ç§ãŸã¡ã¯åºã«è‡ªåˆ†è‡ªèº«ã‚’å–り戻ã™ãžï¼
We are stardust, golden, we are involved in a devil’s bargain, we’ll get back to the garden itself!
ç§ãŸã¡ã¯ã€é»„金ã®ã€æˆ‘ã€…ã¯æ‚ªé”ã®å–引ã«é–¢ä¸Žã—ã¦ã„ã‚‹ã€ç§ã©ã‚‚ã®æ–¹ã§ã¯åºãã®ã‚‚ã®ã‚’è²·ã£ã¦ã‚ã’るスターダストï¼
We are golden, we are involved in the transactions of the devil, for us is to buy the Stardust Garden!
我々ã¯ã€æˆ‘ã€…ã¯æ‚ªé”ã®å–引ã«é–¢ä¸Žã—ã¦ã„ã‚‹ã€ç§ãŸã¡ã¯ã€ã‚¹ã‚¿ãƒ¼ãƒ€ã‚¹ãƒˆã‚’購入ã™ã‚‹é‡‘色ã®åºã§ã™ï¼
We are, we are involved in trading the devil we are to buy a garden of golden stardust!
我々ã¯ã€æˆ‘ã€…ã¯æˆ‘々黄金ã®ã‚¹ã‚¿ãƒ¼ãƒ€ã‚¹ãƒˆã®åºã‚’購入ã—ã¦ã„る悪é”ã®å–引ã«é–¢ä¸Žã—ã¦ã„ã¾ã™ï¼
We we we are involved in the transactions of the Devil’s Garden to buy the golden stardust!
ç§ãŸã¡ã¯ã€æ‚ªé”ã®åºã®å–引ã«é–¢ä¸Žã—ã¦ã„る我々ゴールデンスターダストを購入ã™ã‚‹ï¼
We are, we are involved in trading in the garden of the devil and buy GORUDENSUTADASUTO!
我々ã¯ã€æˆ‘々ã®å–引ã§ã¯ã€æ‚ªé”ã¨GORUDENSUTADASUTO購入ã®åºã«é–¢ä¸Žã—ã¦ã„ã¾ã™ï¼
We have in our business, and the devil is involved in the garden GORUDENSUTADASUTO purchase!
我々ã®ãƒ“ジãƒã‚¹ã§ã¯ã€ã¨ã¦ã€æ‚ªé”ã®åºåœ’を購入GORUDENSUTADASUTOã«ã‹ã‹ã‚ã£ã¦ã„ã‚‹ï¼
In our business, and bought the devil’s garden GORUDENSUTADASUTO be involved in!
ç§ãŸã¡ã®ãƒ“ジãƒã‚¹ã§ã¯ã€ã¨ã«é–¢ä¸Žã™ã‚‹GORUDENSUTADASUTO悪é”ã®åºã‚’購入ï¼
Our business is involved in the garden of the devil and GORUDENSUTADASUTO Purchase!
当社ã®äº‹æ¥ã¯ã€æ‚ªé”ã¨GORUDENSUTADASUTO購入ã®åºã«ã‹ã‹ã‚ã£ã¦ã„ã‚‹ï¼
Our business is the devil’s garden GORUDENSUTADASUTO be involved purchasing!
購買関与ã™ã‚‹GORUDENSUTADASUTO当社ã®äº‹æ¥ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
Be involved purchasing GORUDENSUTADASUTO Our business is the devil’s garden!
GORUDENSUTADASUTOを購入ã™ã‚‹ã“ã¨ãŒå½“社ã®äº‹æ¥é–¢ä¿‚ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
GORUDENSUTADASUTO our business relationship to purchase is the devil’s garden!
購入ã™ã‚‹GORUDENSUTADASUTOç§ãŸã¡ã®ãƒ“ジãƒã‚¹é–¢ä¿‚ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
Buy GORUDENSUTADASUTO our business relationship is the garden of the devil!
ç§ãŸã¡ã®ãƒ“ジãƒã‚¹é–¢ä¿‚を購入ã™ã‚‹GORUDENSUTADASUTO悪é”ã®åºã§ã™ï¼
Buy GORUDENSUTADASUTO our business relationship is the devil’s garden!
ç§ãŸã¡ã®ãƒ“ジãƒã‚¹é–¢ä¿‚を購入ã™ã‚‹GORUDENSUTADASUTO ã€æ‚ªé”ã®åºã§ã™ï¼
Buy a business in our GORUDENSUTADASUTO, is the garden of the devil!
ç§ãŸã¡ã®GORUDENSUTADASUTOã§ã€ãƒ“ジãƒã‚¹ã®è³¼å…¥ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
GORUDENSUTADASUTO in our purchase of the business is the devil’s garden!
ビジãƒã‚¹GORUDENSUTADASUTOã®è³¼å…¥ã«ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
GORUDENSUTADASUTO business to purchase is the devil’s garden!
GORUDENSUTADASUTOビジãƒã‚¹ã®è³¼å…¥ã«ã¯ã€æ‚ªé”ã®åºã§ã™ï¼
GORUDENSUTADASUTO to buy the business, is the garden of the devil!
GORUDENSUTADASUTO ã€æ‚ªé”ã®åºã•れã¦ã„るビジãƒã‚¹ã‚’購入ã™ã‚‹ï¼
GORUDENSUTADASUTO, to buy a business that is the devil’s garden!
GORUDENSUTADASUTOã¯ã€æ‚ªé”ã®åºåœ’ã§ã®ãƒ“ジãƒã‚¹ã‚’購入ã™ã‚‹ï¼
GORUDENSUTADASUTO is to buy a business in the gardens of the devil!
GORUDENSUTADASUTO悪é”ã®åºåœ’ã§ã®ãƒ“ジãƒã‚¹ã‚’購入ã™ã‚‹ã“ã¨ã§ã™ï¼
GORUDENSUTADASUTO is to buy a business in the gardens of the devil!
1 Comment
Here in New York I signed up for Optimum Triple-Play: I get cable, Internet, and phone from the local cable company. The Speakeasy Speed test says:
Download Speed: 12988 kbps (1623.5 KB/sec transfer rate)
Upload Speed: 2039 kbps (254.9 KB/sec transfer rate)
Twelve megabits?! That is a lot of bandwidth. So much so that my old 802.11b local wireless network will actually have less bandwidth than my uplink. Gadzooks!
And the cable comes with some HD channels to watch on our CRT, and a crude DVR which can record shows on multiple channels simultaneously. Not bad, I suppose, for a tad over $100/mo. Yeah, and free long distance, so I gotta start calling up relatives again.
Feedback Welcome
Week one in New York City has been good. We’re still unpacking . . . or at least, I am still unpacking. M had some coworkers help unload the truck. She stayed in the truck to help shift things around and guard against passing kleptomaniacs. I was good and exhausted as she excitedly tore open boxes and began stuffing things in closets. On Monday I went up to the Manhattan office — it is a half hour by subway. I like the place but as the week flowed along I found it preferable to work from home, emptying a couple boxes most evenings, making frustratingly-slow-to-M but measurable progress.

New Yorkers jaywalk habitually. Eastern Parkway has five lanes of high-speed traffic so they posted a sign advising pedestrians to actually obey the walk signal.
One big challenge is that I’m moving from a beautifully large kitchen chock full of cabinets and counter space into something well under half that size, and M has plenty of kitchen stuff as well. I take it as an interesting challenge to jigsaw everything into place in a logical, useful fashion, with every day items reachable by a woman whose height is emphatically to one side of the bell curve. As with any merger, there are redundancies to be reconciled by downsizing. Fortunately, those items left on the curb will readily find new employment in the brisk sidewalk economy of Brooklyn.
Near the end of the week I could tell I was feeling under-socialized. To be sure, I don’t require much social interaction, but even a computer geek in a new town needs some face time. Fortunately, my cousin the Actor / Tour Guide was by for lunch on Friday, and today I had lunch with a college friend, who although he grew up a nice Midwestern boy, has lived in New York long enough to have fully embraced at least the ambitious gusto of the city. “You can’t go about it by trying to save money here: you just keep striving and make more money,” he explains. Alas, he is a recruiter coming in on Saturdays to fix the office IT, and he has taken two pay cuts. But he’s excited that his novel is nearly ready.
Compared to the San Francisco Bay Area, where even a drywall contractor will show you his iPhone and talk about his cousin who works at eBay, New York City is not so tech savvy. When I went to sign the lease, the stereotypically Very Nice Older Brooklyn Jewish Lady seemed astonished at the idea that one could use the Internet to direct one’s bank to pay bills on their behalf. When she asked “what outfit are you with?” I answered and she was excited that I worked for the butchers! I’m pretty sure she had “the other Cisco” in mind but it was a refreshing surprise.
Another frustration is that our newly-renovated apartment has been renovated on the cheap, so various bits need to be fixed, while the “super” is busy managing the renovation of all the other units. (We are the fourth apartment occupied, out of about sixteen.) I won’t get in to too much griping detail, except to say that at one point the cable installers were here and frustrated at the truly horrible and mysterious site-wiring. (No, really, it is truly horrible. They had some nice wiring running to the units which they had cut off and replaced with cheaper coax that has apparently been terminated using a hammer and a pipe-wrench, and of course none of it is labeled.) The cable installer had his manager come in and I called the management company and at one point I had the grouchy guy at the management company and the field technician shouting at each other over the phone. Anyway, no cable until the site wiring is resolved: I’m going to sweet-talk the management company to get their inept contractor out here to label and signal test their drop-downs.
New York does not, to my knowledge, have a NextBus service, like San Francisco. From what I have seen, there’s not much need for it, since everything here operates reliably at all hours with fairly frequent service. It would be nice, for the power user, to know the status of complementary incoming trains on different platforms, but really I have had no problems getting where I am going. All the same, I’m glad Google Maps got transit directions into the Android application before I moved here. There’s also a little application that just shows you the subway map, and lets you zoom and pan around. Instead of looking like a tourist you’re just another douchebag playing with a trendy, overpriced toy.
Feedback Welcome
This is a note-to-self, since every so often I do this and each time I have to RTFM:
To select messages in a folder older than two months, it is:
~d >2m
Or, given my key-bindings:
T~d >2m
;d
Feedback Welcome
This time I am in a moving truck toting possessions of me and my lady to our new place in New York city, where we intend to live for one year for her work. She’s already out there, so it is just me, a 16′ Budget truck rental, and some $3 wifi access at a Motel 6. Hot diggity!
I have made this trek before, with and without my worldly possessions. This time through I own a crazy smart phone which is recording the trip via GPS, and I can upload progress to Google Maps, for all my friends and evil stalkers to see. I can send you a link: just shoot me an e-mail.
I am very happy with the Budget truck. It is a no-frills affair: the radio is just a radio. It has two power ports. I could gripe that it doesn’t have cruise control, but that might actually be a “feature” to keep the fool at the wheel alert. Best of all, it is a Ford, so I already know the dashboard!
This Motel 6 isn’t shabby either. I inquired at a casino just down the road, figuring room rates would be subsidized by gambling, but no. The Motel 6 is less than half the price and has all I need: a decent bed, toilet, shower, air conditioning, a desk and Internet access! (Oh and a TV.) They claim the lowest rates of any national chain, so I’ll have to research what they have down the road.
Ah yes, and as for work: I have received permission to work remote for my San Jose-based employer. As for my old apartment, which I love, a friend fell in love with the place and signed a lease. I left some furniture behind and some e-waste which I have to sweet-talk her into toting downstairs on a weekday, where San Francisco will collect it for free. Another blessing was the help of a trio of college friends who helped load the truck. I treated them to pizza and beers afterwards and we reveled in the pending home ownership of two of our friends. While this recession is hurting many folks, others who have been priced out of the housing market are finding their prudent patience rewarded.
Time to settle in for the evening so I can get on the road good and early tomorrow. The Motel 6 charges $3 for the wifi access, which is just the perfect price for a guy who’d like to kill an hour before bed!
Feedback Welcome
This past Saturday one Muni train rear-ended another at the West Portal station, half a mile from my house. I decided to stay away from the scene, so as not to crowd an accident scene where authorities were attending to around fifty injuries.
I have ridden these trains a great deal. They run under computer control through the subway and then convert to manually-operated streetcar service at West Portal station. Apparently, after switching to manual control at West Portal station, the driver blacked out, so his train rolled down the track at 20-23 MPH, colliding with the train in front of it.
The Chronicle points out that there is a consideration of the practice that Muni has been allowing trains to switch out of automatic mode in the tunnel before entering West Portal station: by overriding the computer control, a second train can get in to the station platform, allowing passengers a chance to change trains. Had this train remained on automatic, it would not have been allowed into the station, and the accident would not have happened.
But, to me, the thought of switching to manual control early doesn’t sound like the problem. The problem appears to be that the driver blacked out while operating a train, possibly due to a diabetic condition. In this case it may have been a blessing that he blacked out at West Portal, where his train was stopped by the train before it. Had he blacked out outbound of west Portal, his L train could well have been rolling downhill on Taraval across 19th Avenue, with little more substantial than automobiles and pedestrians to slow its descent.
I spent a little time researching whether the Breda vehicles are equipped with a dead-man’s switch or not, but couldn’t find anything conclusive. I found some reference to dead-man’s switches being required on all vehicles after 2000, while the Bredas were introduced from 1995 to 2003. My hunch is that there is a dead-man’s switch or other vigilance device, but it may not kick in automatically: had the train been rolling down Taraval maybe the brakes would have kicked, but a few seconds pulling up to the platform at West Portal was enough time for an accident between vehicles operating with minimal distance.
I don’t know . . . NTSB gets to figure it all out. I’m just glad nobody got killed.
Feedback Welcome
« Newer Stuff . . . Older Stuff »
Site Archive