I remembered a dream this weekend. I was walking in Bangkok and it occurred to me I should turn off the data on my smart phone, lest I get raped by the service provider. Then I was kind of pleased to see that my smart phone was my Sidekick 2, because that thing was just wonderful.
Then I said to myself “I’m in Bangkok with a smart phone and its a Sidekick 2 when I know I own a G1, so like, am I dreaming?!” And so my unconscious was like shitshit, no look, it says Sidekick 4! Whoo! Shiny! Wouldn’t that make an awesome Android phone!? And I was like “damn, that rocks! When did we come up with this?”
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.
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.
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.
I rode an older Talgo in Spain, which was delayed due to a fire on the tracks ahead of us. They passed out soft drinks as we sat, and the Spaniards began playing music.
Virgin America has wireless access on its flights. For $13 you get enough bandwidth to video conference. It was fun.
I tried not to talk too much or too loudly from my seat. To be sure, everyone on Virgin America is pretty much immersed in their personal entertainment anyway so its not so much of a thing.
I’m flying to New York. Fortunately, I needn’t lose a work day because for $15, Virgin America has got me on the Internet!
It is zippy enough, and the latency is perfectly fine, so I am guessing it is a terrestrial network. VPN works fine, too.
http://www.speakeasy.net/speedtest/
Last Result:
Download Speed: 964 kbps (120.5 KB/sec transfer rate)
Upload Speed: 337 kbps (42.1 KB/sec transfer rate)
It is a bit cramped, for sure. Fortunately, my Dell Mini 10 arrived yesterday, with Ubuntu pre-installed. (Vendor Linux!) I hope to write more about that later, but this is a zippy little thing that is probably about as usable as you’re ever going to get in a coach class airplane seat. Yay!
Virgin claim to have power plugs at each seat. I haven’t seen mine, but given the battery life this thing claims, I shouldn’t need to plug in for the duration of this continental crossing.
That looks like . . . Nevada. No . . . we’re above US Route 6 in Utah. 2112 miles to go. That’s another thing I dig about Virgin America: an interactive map at the seat terminal, and an adjustable headrest, which Southwest lacks . . .
Well, this is a work day, better get back to working.
0-14:22 djh@ratchet ~> ls -lh mail/archive-*
-rw------- 1 djh djh 18M Jun 14 17:17 mail/archive-1997
-rw------- 1 djh djh 29M Jun 14 17:16 mail/archive-1998
-rw------- 1 djh djh 18M Jun 14 17:13 mail/archive-1999
-rw------- 1 djh djh 26M Jun 14 17:13 mail/archive-2000
-rw------- 1 djh djh 25M Jun 14 17:11 mail/archive-2001
-rw------- 1 djh djh 18M Jun 17 2004 mail/archive-2002
-rw------- 1 djh djh 25M Jun 14 17:09 mail/archive-2003
-rw------- 1 djh djh 15M Jun 14 17:08 mail/archive-2004
-rw------- 1 djh djh 63M Jun 14 17:05 mail/archive-2005
-rw------- 1 djh djh 202M Jun 14 16:54 mail/archive-2006
-rw------- 1 djh djh 362M Jun 14 18:06 mail/archive-2007
-rw------- 1 djh djh 202M Jun 14 19:17 mail/archive-2008
I recently went through, and using mutt’s date-range filters, revised my e-mail archives, most notably saving messages stored in Gmail into these annual mbox archives.
I think it was around late 2005 that I started using Flickr, so the ramp up in sizes is pictures being e-mailed from mobile devices.
I delete most e-mail that I receive, but I pretty much archive all personal correspondence, and anything I send.
Also, I was disappointed that when I tried to copy archival messages into Gmail, via IMAP, Gmail would interpret the message date as the date it was copied in to the archive, and not the date the messages was created. That was disappointing. I like Gmail’s search capability, so it would have been nice to give it access to my corpus.
Mainly though, I dig Gmail’s interface, especially while traveling. But I recently got mutt running again because it is a much faster way to step through an Inbox and delete / reply / Archive than clicky click web interface. If only I could give it access to my Gmail contacts . . .
Back in 2005, Marissa Mayer, VP of Search Products & User Experience at Google, stated:
“There will not be crazy, flashy, graphical doodads flying and popping up all over the Google site. Ever.”
Apparently Google lacks the same sort of respect for the web sites of its AdSense customers, because they started putting animated advertising on my site.
“Say it aint so.”
According to Google’s “self-service tech support” there is no way to turn them off, short of reverting to text-only ads.
This is wrong on a few levels. And I’m not sure if Google is just being its regular sloppy self or if they are getting desperate for revenue such that they’re finding more wiggle room in the “don’t be evil” philosophy.
Whatever is going on down in Mountain View, I will just get along without the $10/mo or so I’ve gotten from AdSense revenue.
I hate spam at least as much as the next guy. Heck, fighting spam is my day job. But I just gotta say, this little guy who made it through the Gmail spam filter this morning just made me smile:
Perhaps they are just being self-important, and I can’t help but imagine that the government is blocking them, but if this is even 10% true, well, Twitter and their network provider are doing the right thing in rescheduling some network maintenance:
“Our network partners at NTT America recognize the role Twitter is currently playing as an important communication tool in Iran. Tonight’s planned maintenance has been rescheduled to tomorrow between 2-3p PST (1:30a in Iran).”
Current and former Googlers said the company is losing talent because some employees feel they can’t make the same impact as the company matures. Several said Google provides little formal career planning, and some found the company’s human-resources programs too impersonal.
Concerned that employees may leave because HR is uncaring and impersonal, Google has naturally responded in the Google way:
The Internet search giant recently began crunching data from employee reviews and promotion and pay histories in a mathematical formula Google says can identify which of its 20,000 employees are most likely to quit.
Good luck with that.
I picture some super HR geniuses down in the Googleplex able to predict with great accuracy who will quit next, and exactly when, but lack any clue as to why they are likely to quit, or how to retain them. Still, they will still be hailed as ingenious visionaries because they figured it all out with great scientific precision and implemented their analysis using MapReduce.
I think Twitter is over rated. Some BBC commentator was yammering on the radio this weekend about how Twitter was insufficient to replace established media. WTF? Twitter is a way to waste a few minutes of time and occasionally score a chuckle or a wry observation off a friend. Much like a grilled cheese sandwich, Twitter should not be taken too seriously. And yet, there’s a whole ecosystem of people re-tweeting each other and #tagging their posts and live-tweeting as if like hey, its the blog-o-sphere 5.0 with a 140-character limit. Seriously, if you’re imitating the blagojoshere, you’re doing it wrong.