10 years, 10 posts

Well, it’s been 10 years since Ron Conery (@robconery) inspired me to start a blog, and I’m disappointed to say I haven’t been posting, on average, more than once per year. The day job has kept me quite busy, and happy that things are progressing! My hobbies, meanwhile, have tended to be non-computer-oriented – brewing beer, learning accordion, dabbling in political activism. But hey, 10 posts is not nothing, right? Right? Thinking about a new side-project, so we’ll see if that changes. Onward and upward!


Up until now, there hasn’t been a simple tool for installing and maintaining all of your desktop software for Windows. Linux people have apt-get (and others), Mac users have Homebrew, but Windows users have been more or less left in the lurch….until now. Just discovered my new favorite tool – Chocolatey. Never before have I seen software (for Windows, at least) that makes getting a new computer populated with software so darn easy. I’ve blogged before about Ninite, which is great. But, it’s far from comprehensive – I’m still left with a long list of things to install manually. With Chocolatey, it’s simple:

1) From your command prompt (Win key -> type “cmd.exe” –> hit Enter), paste (with right-mouse button) thetext on the chocolatey.org website home page (“@powershell … “)

2) Close cmd. exe, start it up again, and install whatever you want (there’s a searchable list here). E.g.:

cinst GoogleChrome

It helps if you start cmd.exe in an elevated prompt, to skip some of the admin elevations that happen throughout the installs. Here’s my current setup (paste the whole thing into cmd.exe, or save it as a .bat file and run it:

cinst MicrosoftSecurityEssentials
cinst git.install
cinst 7zip.install
cinst GoogleChrome
cinst javaruntime
cinst SublimeText3
cinst adobereader
cinst paint.net
cinst skype
cinst dropbox
cinst resharper
cinst gitextensions
cinst VirtualCloneDrive
cinst CutePDF
cinst tortoisehg
cinst dotPeek
cinst Quicktime
cinst teamviewer
cinst imgburn
cinst 1password
cinst dependencywalker
cinst vcredist2005
cinst vcredist2008
cinst vcredist2010
cinst flashplayeractivex
cinst CrashPlan
cinst InnoSetup
cinst VisualHG
cinst resharper
cinst monogame

Pretty impressive! The only thing missing (besides Office and Visual Studio) in my typical list is Cyberduck. Between GMail Dropbox, Basecamp, GitHub/Bitbucket, and now Chocolatey, less than ever am I worried about a computer going up in flames. I can get up and running with any workstation in less time than ever.

Services I use

Back in October 2009, I created a post called “Stuff I Install” which gave a snapshot of the stuff I use to setup a new computer. Since then, each day it seems like there are fewer and fewer desktop apps I rely on, while my dependence on web services, web apps, and web data have grown tremendously. This shift has been partly caused by/facilitated by my use of/need for heterogeneous computing (iPhone, Windows Desktop). In fact, most of my new choices for services are based on the requirement that they work with my iPhone. So, I thought I’d take a moment to review this and catalog for myself my current “setup.” I also do this as a bit of a digital “time capsule” – some of these choices seem so obvious to me right now, but might seem silly in another 4 years…will be interesting to see if I’m married to Office 365 and a Windows Phone by then.

GMail + Google Calendar – Goes without saying, but these are indispensable tools. Even from iOS, I use the dedicated GMail app to do deep, contextual search of all of my digital life since November 19th, 2004 (what I did before that is hopefully still archived in an Outlook .pst file on an old server somewhere, but god knows where that is). Priority Inbox has significantly improved my ability to filter email and keep track of important starred to-do items.

Basecamp – Speaking of todos, this is my new favorite collaboration tool for keeping track of the myriad of activities at work. The biggest benefit is that it pulls important data and decisions out of email inboxes, which inevitably become confusing or end up dropping an important stakeholder from the thread. Our team at the day job has done a great job of integrating this into most all our work activities. Besides allowing basic organization and threaded discussion on any topic (we use a Working/Ready/Backlog todo list structure for each project), Basecamp also recently introduced Client Projects which add a simple way to bring in non-Basecamp users and unify the strategy of keeping things solely in email. All that said, it’s email integration (ability to email/forward/reply to Basecamp projects from email) is what sets it apart, IMO. The one downside – it’s not free (try Trello for a neat free task manager). But in my opinion, it’s priced just right and totally worth what you get.

Dropbox – Important data/documents/presentations do not belong 1) siloed on a single PC, or 2) stuck in email attachments. And in my opinion, they also shouldn’t be archived on a centralized server. You won’t always have access to that server and manually handling synchronization is a nightmare, especially when collaborating with others. Dropbox is great because any of my computers that I sit down to have all of my important files up to date. Selective sync keeps my laptop SSD from getting too full, and Packrat (an extra fee) makes sure if something accidentally gets deleted/modified, we can easily retrieve any of the older copies. The real synergy here is with Basecamp – if your team can agree on a common shared location for the files (e.g. “C:\Dropbox”), then you can add direct links in Basecamp posts to folders and documents on Dropbox.

Feedly – My savior! Google killed Reader and Feedly has taken it’s place. I spend too much time on Feedly, but it’s awesome for aggregating all of the interesting internet things, as well as a good tool for listening to replys on forums, getting notified of source code check-ins, etc.

Netflix Streaming – Feels a little frivolous to put this in, but non-traditional sources of long-form video have finally crept into daily life. Beyond the DVR, my wife and I have been pretty slow to adopt new living room technology. But, Star Trek TOS (because Roku). That happened. Plus, we finally splurged on a Logitech Harmony which makes changing between Roku/TV/DVD activities a cinch with a single remote, even with a fairly complex entertainment system setup.

Bitbucket, GitHub, CodePlex, Team Foundation Service for managing all of the codes public and private. I won’t gets into a much larger collection of sites that I use daily, except to mention how profoundly StackOverflow.com has fundamentally changed what’s possible for a developer to do/learn/grok in such a short time.

I have now outsourced almost all of my IT to online services such as GoDaddy hosting, WordPress.com blog hosting, Drobo Sync (for secure offsite replication of TB-scale backups), and CrashPlan  (for backup of GB-scale personal data).

That all said, I still use Windows 8 as my main PC OS. Here’s the stuff I (still) install onto my three desktops and two laptops:

Ninite gets me started with all the free basics: Chrome, Security Essentials, Skype, Z-Zip, QuickTime, Java, TeamViewer, ImgBurn, Paint.NET, Dropbox, Reader, CutePDF

Then, 1 PasswordVirtual CloneDrive, Sublime Text, MS OfficeCyberDuck, WinDirStat, and some dev tools like  Visual StudioTortoiseHgVisualHgGit ExtensionsGit for VS, and XML Notepad 2007. I also recently started using Fuze for free, 3-way video chats (see also Google Hangouts). I find AlternativeTo.net a useful tool for making sure I’m making good choices (for me, at least). And Scott Hansleman. Which is why I’m going to try Choclatey to see if I can’t get more of this paragraph’s installs automated (tried it with MDT a while ago, but couldn’t get the hang of it).

I’m sure I’m forgetting things, but that’s the gist of it for me – feel free to post your opinions in the comments!

Starting an MVC Website Project

Obviously, these days a web presence is an absolute necessity for any public activity, not just classic “business" activities. I’ve always avoided diving too much about website development, because it was too far from my everyday needs as a scientist, engineer, or even as CEO. I’ve used a self-hosted CMS site based on GraffitiCMS with mild success. At the time, it seemed like a promising platform with a very highly rated dev team. Unfortunately, those guys at Telligent seemed to fall off the face of the earth, leaving me and many others with no support, bug fixes or future development (apparently, it’s now open-source…maybe it’ll finally get that MetaWeblog API).

Anyway, I have lots of different websites that need to be built out – a personal ‘CV’ type site, VirtualPhotonics site, Modulated Imaging site, and an improved Introspective Medical site to start off. Even if I’m not the main dev or architect, I really need to understand web development at a deeper level to ask the right questions and guide the projects in the right direction. So, instead of searching for yet-another-prefab-solution, I think I’ll take the plunge and create a site myself. Stay tuned…

Stuff I install

I admit it: I’m addicted to clean OS installs. This absolutely takes too much of my time, but I just love the newness. I even like installing programs, because it’s an opportunity to discover new apps and find cleaner solutions to old problems.

But there’s obviously still some monotony to the reinstall, and I have less and less time these days to toy around. I’ve spent some time the last few weeks on understanding how to automate the process with the Microsoft Deployment Toolkit, sysprep, and Ximage (hope to write on this soon). One of the things this forced me do is create a list of things I like to install a new OS. Inspired by this and Jesse Liberty’s post on his favorite free software utilities, here’s my up-to-the-minute list of helper apps I like on my personal Windows 7 and Server 2008 R2 “workstation” client machines:


Synergy – An amazing app utilizing network protocols to allow a single keyboard and mouse to control multiple computers. It’s no Hiperwall, but multi-monitor “remote desktop” sans the remoting  is an amazing experience. It even works cross-platform and cross-architecture (x86/x64), and to top it all off…copy/paste! (edit: Synergy apparently doesn’t play nice with Win2K8 R2 (so, now I use Input Director).

Virtual CloneDrive – The Windows 7 OSes include an .iso burning tool (hooray!), but still don’t have .iso mounting (boo!)*.  This is my favorite substitute. Very responsive devs over there, too…they had W7 compatible builds within days of the first beta.

*That is, at least this capability wasn’t delivered as an end-user tool (my recent romance with .wim disk imaging, however, leads me to believe we may see this in the future).

Nero Free Edition – Transcend the simple .iso burning built-in to Windows 7 OS with the free version of Nero. Not “full-featured” by a long shot, but it sure beats paying for features I don’t need.

Windows Live Writer – Other than my 1995 9th-grade summer camp triumph of designing my first website (completely on college-ruled paper, by the way), I’m very new to web development. And despite my degrees in physics and engineering, I find myself fairly allergic to markup like HTML, LaTex, CSS…I think it’s the time-sink: I generally want the computer to do the grunt work (isn’t that what they’re for?). That’s why I love Windows Live Writer – it’s a WYSIWYG designer for web content, and there is scant a blogging or CMS tool it can’t connect to. It even works on Server 2008 R2 (up until recently, it would detect a server OS and fail to install).

Skype – Internet-based communication tool extraordinaire. Text your BFF, call France, video chat with your cat, whatever. There’s even an iPhone app that works pretty well (albeit only over WiFi at the moment).

7-zip – New favorite, though I’ve used WinRAR pretty regularly since the early days.

Anti-virus applications:

AVG Free Antivirus – Very satisfied; never had any trouble with this software. Be sure to turn off the Link Scanner, though…it’ll slow down your web searches considerably. That said, my default is not the following…

Microsoft Security Essentials – Microsoft just introduced this free (for home use) anti-virus program, and I haven’t run in to any issues so far. Seems very performant and whisper-quiet.

Comodo AntiVirus – Server-OS-detecting software is very annoying! I’m really enjoying Server 2K8R2 as a personal development machine, and I had to go down the list maybe 7 times before I found an effective and free server antivirus. I choose only the antivirus during install (and no toolbar madness!), but even then you’ll get a lot of “false positives” from the Defense+ protection early on if you don’t put it in “Training Mode”. Or you could turn that off all-together.

Web stuff:

Mozilla Firefox – “You’ve tried all the rest, now try the best!” Nothing beats Firefox. I really wanted to like Chrome, but it’s just not compatible with all the sites I use (especially Google Sites!). Supposedly IE8 is fast, and still required for some sites (I’m looking at you, MSDN documentation and Microsoft File Transfer Manager).

Evernote Web Clipper Firefox Plugin – Evernote is “my external brain” (I guess this blog is now, too). Anything I need to remember from my web browsing gets clipped to my Evernote database. They even tag data in images via OCR for extreme searchability. Relax, it’s in Evernote. (Note to self: maybe I should make a “Best of Evernote” post).

And of course: Adobe Reader, Adobe Flash Player, Windows Media Player plugin for Firefox.

Synchronization and Backup:

I’m actually in a little bit of a synchronization funk right now. I have a hybrid of distributed and centralized backup systems, but I wish it was simpler. On the plus side, any one of my computers could die at any moment, and I wouldn’t lose much of anything. On the minus side, I can’t seem to get a coherent strategy (from MS or otherwise) on the long-term vision for this mode of operation. Is it cloud services? I just can’t get into Windows Live. Is it Sharepoint Workspace? We’ll see. Here’s what I use right now:

TortoiseSVN (client) + VisualSVN Server – Subversion repository tools I use mainly for code, though I’ve successfully used it for other documents too.

Live Mesh – Mainly for songs and pictures. Nice that it can sync >5GB peer-to-peer, even though that’s the online limit. Still beta, though…who knows what’s going to happen.

Microsoft Office Groove (not free) – Mainly for office documents. Fantastic for collaborating with a distributed team. Not actually “backup” solution, but at the moment the whole SoCal would have to go down to lose our docs. My team is busting Groove at the seams, though, due to the 2GB-per-workspace limit. And it’s EOL’d…

Windows Home Server (really not free, but very worth the price) – Mainly for backups of my home PCs. Amazingly easy to use. If it’s an HP MediaSmart Server, there’s an iPhone “app for that” too.

Other sync tools I’ve used in the past:

Windows Live Foldershare – I forget why I stopped using this. Maybe this is the solution to my Groove woes…

SyncToy – Stopped using it after they removed my main use case, but still very effective and well-designed.

So, you can see I’m a bit of a Microsoft junkie. But in the end, I just want solid experiences that let me do more important things with my time. After writing this, I realize that many of my main (mostly non-OS) Windows tools aren’t even here (besides Evernote, at least). They’re web apps like Gmail and Google Reader.

If anyone actually reads this and has other helpful tools to suggest, feel free to chime in!