And so but anyway, did I ever tell you about my most humiliating experience as a skilled and successful computer programmer?
And so but anyway, did I ever tell you about my most humiliating experience as a skilled and successful computer programmer?
@GeePawHill Delightful thread -- and you lived to laugh about it! Also happy at the mention of Canadian icebreakers. My grandpa was a merchant sea captain and was responsible for delivering a much-needed icebreaker abroad during the war (to Russia, maybe?). Got a medal for it and they used his silhouette in a poster. Bc when you need an icebreaker, even when lots else is going on, you NEED an ICEBREAKER. 😸
@GeePawHill what a great story! I'll be using it to teach juniors about fun... And talking to your users before even planning anything 😉
@GeePawHill Thank you for the story!
@GeePawHill
Fantastic story!
Another way of summing up the issue: When doing data analysis, get real world data as quickly as possible
What an awesome story. And congrats on helping an icebreaker momentarily attain lightspeed!
@GeePawHill This is a great story. Thanks for sharing.
@GeePawHill wonderful story, thanks! 😃
@GeePawHill a good read, you made my lunch break, thanks!
@GeePawHill A great story, and well told. Thank you for this!
Canada has serious ports that are, well, kinda up-north-ish. In order to get ships in to those ports, which include some significant manufacturing and other supplies, one must use a kind of ship called an icebreaker.
Icebreakers are, basically, a big-assed razorblade at the prow, and big-assed engines at the stern.
Being an icebreaker captain is one of the most stressful jobs you can imagine.
You're working in harsh weather. You can't see shit. You have these client ships that are very slow and very large and very expensive. If you even *touch* one of the client ships, that's $3m, minimum, instantly.
An icebreaker would go right through an oil tanker, and come out the other side of it with a broken radar antenna, covered in oil.
And the icebreaker runs in front of the client breaking ice so it can get where it's going.
There are three main modern tools you can use, versus the old days: You have a radar system, you have a speed log, and you have GPS.
All of those tools have serial outputs on them, good ol' RS-232.
So here was the concept: take a PC and make a custom "ice breaking" UI, taking input from the three devices, and rendering it in such a fashion that the icebreaker skipper could get all the info in one place.
And I was sub-contracted to do that. It was about a six month long project. I wrote an entire windowing system on top of DOS to use VGA to show the display.
(I'm a good fucking programmer, and that's not the only time I've written a graphical UI from scratch.)
And. A comical note: about six weeks before the project was due, my hard drive died. And. My backup drive died.
All I had were some two-month old printouts.
@GeePawHill I’m fairly sure Fred Brooks didn’t mean that when he said “Plan to throw one away”, but whatever floats your boat… 🤷♂️😉
@thirstybear Yeah, he wasn't talking about dead drives. :)
Fun, fun, fun!😉
So, for my juniors, when I tell you "typing is not the bottleneck", I know what I'm fucking talking about.
It took me a couple of weeks to re-create 4 months worth of work. If I had to bet, I'd bet my second edition was *better* than the edition I lost.
So we come down to the day, and I am ready.
@GeePawHill
It's a terrible thing to experience when it happens, but this is exactly my experience too.
And it's probably a variant on Fred Brook's "throw one away".
Coding is primarily a way to come to understand the problem, and so to understand what the solution/program should look like.
Once you know, the typing usually isn't the bottleneck.
First, I had to go before the admiral's board of the Canadian Coast Guard and give a demo.
*Second* comical note: the fucking app froze in the middle of the demo, and w/o in any way acknowledging this, I used it as an opportunity to demonstrate that even if we lost power, the app would restart correctly.
Yep. That's right. I rebooted the computer and startup.bat did its magic.
Anyway, the admiral's board is like, "cool, let's try it in the field."