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!

Rob Conery told me to

In a search for a content management system for work, I stumbled upon a post by Rob Conery on his new launch of Awesome. I’d already been impressed by Ron’s video series for SubSonic, but this site takes it to the next level. I am blown away at his ability to communicate effectively and efficiently to geeks just-like-me.

So, I was following along on the free “Coder To Developer” series intro where he suggests various ways to up your game professionally as a developer, hoping this is an “I’m totally on the right track” feel-good pick-me-up. For the most part, I scored with flying colors.

BUT, he reminded me to do what I’ve set out to do many times and failed to execute – start a blog.

I know “macro blogging” is so last month, but I think this could be very helpful for me, having a position at work where increasing complexity turns quickly into frustration. My overwhelming experience is that each time I sit down and actually describe a problem in text, things become much clearer, and well, a little less overwhelming.

I’m going to try this out. Stay tuned for more…

(P.S. Windows Live Writer + Windows Server 2008 R2 x64 “workstation” + WordPress = <3)