Friday, November 14, 2014

Frivolous Friday, 2014.11.14: Live-blogging my NADD* navel-gazing

In software development, there's a term known as "yak-shaving," which refers to all the time-consuming stuff that you didn't budget time for doing before you could get down to the serious business of coding.  Or maybe debugging.  Scott Hanselman's definition is the most cited.

Today, my client and I are basically in evaluation mode for code that's been rolled out in pieces over the last few weeks.  So far--knock on wood--nothing's gone kerblooey, so I set aside a "half-day" to get my house in order for upcoming development projects.

W00t!  New dev. tools!  It's Christmas morning!

... But first, I really should install all those system/software patches to which I've mostly been giving lip service (if that).

... But there are some kernel-level updates for the Debian laptop (my primary computer for development and emailing clients)--it'd be a good idea to back up email first.  In two places, because this is mission-critical stuff.  Okay, patched and turned off.

... But the brand-new Windows 7 installation is complaining that the standalone (not OEM) copy of Windows is not valid.  Some updates fail.  So does the online attempt to prove to MS that my copy came from Best Buy and not the back of a windowless van.  So I dig out the DVDs and re-type the activation code...no thanks a certain Office Cat #1 who shall remain nameless.  Reboot, lather, rinse, reboot.

... Ubuntu workstation updated w/o any static.  Good baby.  [pats top of case]

... But the Windows 8 laptop is not prompting me to download and install updates, despite being off for well over a week.  Okay, where are they hiding update in Windows 8?  Found it.  Go do something else while those downloads take their sweet time to download.  Install.  Reboot, which installs more patches.  Okay, you do that, Windows 8.  Sure, let's take Windows Defender out for a run while we're at it.

... So...time to turn this shiny Win 7 installation into a real software development box.  Geany?  Check.  Mercurial?  Check.  NetBeans?  Whoops--I need the JDK first.   Which fails on the first download.  Try again.  Okay.  Now NetBeans.  Cool.

... But out of the box, a lot of Geany's default settings are the polar opposite of my preferences.  Go away, message window and sidebar.  80 character line wrapping, please.  Show white-space, and tab-indent at three spaces, thank you.  That will be all for now, Windows7.

... But last night I learned that Microsoft had released a new freebie version of Visual Studio.  So let's figure out how to enable IIS on Windows 8 (no biggie).  Microsoft wants you to create an account before they'll give you free stuff.  Fair enough.  But, no, Dennis doesn't have a login I can borrow.  Dig out the password file to make sure I don't have one.  Go to account page; try to come up with an ugly but memorable (to me) password.

... Knowing how much Microsoft will email me, I select my usual spam email.  Sign in to said email account to activate account.  Decide that as long as I'm at it, I should delete all the cron job emails that landed when I was testing an enhancement last week.  Okay, now whack a bunch of other automated emails.  Account activated.

... But there's very little point in IIS + Visual Studio w/o a database, so off to find the download for the freebie edition of SQL Server, particularly since I'm already logged into my Microsoft account.

... SQL Server download is lickety-split.  Expected downloaded time for Visual Studio climbs to over 24 hours.  Kill that.  Crud.  I already closed the download window in the browser.  Go find it again.

... Waitaminnit...isn't Firefox supposed to be dumping my history & cookies on every shutdown?  Go check settings on that.

... Dang.  I should have thought of the Visual Studio / SQL Server thing before I turned off the Windows 7 box.  Turn that box back on.  (Have I mentioned that I heart KVM switches?)

... Whoops, except that I heard Windows 7 make the startup beep, which means it rebooted itself, which requires me to (quickly) switch back to it on the KVM or it won't pick up the keyboard, mouse, and monitor and I'll have to crash it.  Okay, as long as I'm here, I might as well log in with my shiny new Microsoft account and get my freebies.  Some runaround from SQL Server...maybe I should have just sneakernetted the executables from Windows 8? 

... Um, no, I will not wait six days for a 6.x GB file that you're streaming through a digital eyedropper.  Yeah, sneakernet...something's not right.

... So....what, precisely, just happened after I installed what's supposed to be SQL Server 2014 Express?  There's absolutely nothing in Program Files, and I can't even find its daemon in Services.  Fine.  Uninstall, and hopefully I didn't clutter up the registry too badly.  Back over to Windows 8 to figure out what's going on here.

... Oh, for the love of Cthulu, how many updates does Windows 7 need to install?  Guess we're shutting down.  Again.

... Time for dinner now.  (Yeah, technically, I'm just sharpening my razor and not shaving the yak in this step.)

...  Okay, back at it.  Cool.  Now, where were we?  Right--figuring out what I actually installed when I thought I was installing SQL Server Express 2014.  Ah.  Got it.  Don't take the default options.  Let's try this again.  No, you can't contact me at my business phone number, Microsoft.  You're on the West Coast; you don't even know my time zone exists.

...  Oooof...this is going to take awhile to download.  Maybe this would be a good time to snag jQuery & jQuery Mobile, maybe even see what we can do about setting up for Apache Cordova development, since that looks like it will be in the cards shortly.

... jQuery Mobile was a almost a no-brainer except for Windows freaking out about unzipping a file in the inetpub folder.  Now download and install Node.js (crazy-simple) and Git for Windows (because Cordova uses both under the hood).

... Oh, there's a free eBook for Git?  Groovy.  Gimme summa that goodness.  Fetch the tablet and cable and import the .EPUB into the Aldiko eReader.  (Bonus:  This is Windows -> Android.  Ergo, simple little file copy.)

... Command line...npm install -g cordova.  Oh, fun little retro touch of -/|\ spinner!  Totally brings me back to the 90s.  (Good times, the 90s...except for the part about graduating as a Liberal Arts major into that pre-dot-com recession.  But, hey, I could eat half a pan of brownies and burn off the calories drinking a pot of coffee.)

... Oh!  Looks like SQL Server Express (the bells-and-whistles version) is done downloading.  Let's use the Win 7 box as the guinea-pig on this.  Copy to USB drive...eject...copy to Win7.  Mostly take the defaults while installing.  Aaaaaannnnd wait...

... Meanwhile, back on Windows 8, let's snag MySQL and MySQL Workbench.  Oh, Workbench can be installed alongside MySQL.  Ossum.  Let's do that.

...  Or not.  Visual Studio (still downloading...allegedly for another hour to go) has MySQL connectors, and MySQL knows this.  It also wants Excel (not gonna happen) and Python (that we can do).  Long story short, though, this isn't going to all happen tonight. 

... Checking in with Windows 7, it's finished installing SQL Server Express 2014...plus a piece of SQL Server 2008.  It's taking awhile to launch, which I put down to initialisation issues--and toggle back to Windows 8 to install Python.

... While Python is installing, peek in at Windows 7, and find that SQL Server Management Studio will at least launch--if slowly.  Elect to install yet another round of updates (106 of them, as it turns out--I am not making this up) and shut that machine down for the night.

... The Visual Studio installer still--allegedly--has  a half-hour to go.

And now it's nearly 11:00 and it doesn't look like I'll get to rebuilding a Raspberry Pi (which--my bad--I more or less rooted b/c I was misinformed about the permissions one needs to patch Raspbian) will have to wait until later this weekend.   Determining how well MacOS will run in a VMWare instance on Ubuntu is looking like it might even have to wait until next weekend--assuming I can finagle a legit copy, of course.  (Dirty secret:  To download a copy from The Mac Store, you have to use, well, a Mac.  Open-source, commodity hardware hippies like m'self have to do a little horse-trading, y'understand...)

A small part of me desperately misses the SysAdmin Who Walks on Water.  But the vast majority of me fully appreciates what an amazing time it is to be a developer here in the developed world.  As I hope that the above (bit)stream-of-consciousness fully demonstrates, the only real problem is the embarrassment of riches one has at the other end of one's broadband connection.

And I would be remiss if I didn't credit the commercial software behemoths for what they contribute to the ecosystem.  Microsoft is mentioned above...a lot...but Oracle--miraculously, despite every incentive--has yet to kill off MySQL.  Java/NetBeans are still free-as-in-beer in 2014  (also thanks to Oracle's noblesse oblige).  Apple has loosened the screws--a bit--on how one can generate the bits for an iOS app.  One hopes they will eventually have no choice but to come back to ground in other respects--particularly if they don't stop treating Mac developers like untermenchen.

- - - - -

* NADD is a term coined by (the oft-quoted) author Michael Lopp, and stands for "Nerd Attention Deficit Disorder."  NADD stands in surreal contrast to the monomaniacal state of concentration we geeks are known to achieve when debugging or taking a firehose of interesting data straight to the brain.