Workstation Setup 2011

A new workstation means it’s time to install lots of stuff, and we’re still a long way from DropSteam.  Here’s my log from fresh Windows 7 install in a new VM image to a functional development environment:

First, I hit Ninite and install:

  • All Browsers (I use Chrome as default)
  • Adobe Air
  • Adobe flash
  • VLC Player
  • IrfanView
  • Inkscape
  • Paint.NET
  • Foxit Reader
  • PDFCreator
  • CutePDF (yes, you need both PDF printers, as it’s fairly common for one of them to have a problem with a particular job)
  • CCleaner (tweak settings before running so you don’t nuke more than you want to, like browser history)
  • 7-Zip
  • Notepad++
  • WinSCP
  • JDK

Then I grab the ZIP of all of the Putty programs.  I put installer-less programs like this in C:\bin

Cloudberry Freeware for Amazon S3 buckets.

Download JavaDoc and install in JDK folder.

Download Eclipse (3.4, not impressed with 4.X so far) and then:

  • Set text font to 8pt Lucida Console
  • Most companies and many open source projects are still using SVN so I install the Subclipse plugin for Eclipse.
  • I’m not a huge fan of m2eclipse but I find that doing eclipse:eclipse from the command line costs you too much integration, so I use it.
  • Turn on all compiler warnings except:
    • Non-Externalized Strings – Enable as-needed
    • serialVersionUID – Not useful for most projects
    • Method can potentially be static – False positives on unit tests
  • Turn on line numbers
  • Install CheckStyle.
  • Install FindBugs.

Maven 3 seems a little rough around the edges so I still use Maven 2.X

Install Cygwin and add git, svn, curl, and ssh packages.

Install MySQL Community Edition.  During the installer I:

  • Change the charset to utf8
  • Fix the windows service name to something like MYSQL5
  • Add to windows path
  • Add a password

JRebel.  You’re using this, right?  If not, slap yourself and then go get it.  Pay for the license out of your own pocket if you need to.

Lombok.  I have finally used this on a real project and can say it’s ready for prime-time.  It does not work with IntelliJ IDEA but I haven’t really seen any reasons to use IntelliJ that outweigh the benefits of Lombok.

Photoshop Elements because while IrfanView is great for viewing and Paint.NET is great for simple edits, you will at some point need a more powerful editor.  Also most designers work in Photoshop so this let’s you open those files directly.

Photoshop Elements+ is basically a $12 unlock of some of Elements’ crippled features.  For me it’s worth it for tracking alone.

LastPass is useful even if you don’t store anything sensitive in it, it’s great for testing webapps with multiple users.

I use Git for my own work so we’ll need that. Don’t forget to set your name!

I also make some Windows tweaks:

  • Set desktop background to black.
  • Check “Show hidden files, folder and drives”.
  • Uncheck “Hide extensions for known file types”.
  • Set %JAVA_HOME to JDK directory.
  • Add Maven’s bin directory to %PATH
  • Add C:\bin to %PATH

I will obviously add more over time, but this is the stuff I know I will need.  What’s great is that almost all of it is free, and it can all be downloaded (except the original Windows install), so no disks required like the old days

You might think this is an incomplete list, where is my email client, my MS/Open office, my music player?  I don’t use those unless I have to.  Keep in mind that this is a VM so some of this software is installed on the Host OS, while the rest of it I prefer to use web-based solutions (Meebo, Google docs, webmail) so there’s no issues of having to keep updating settings.

Vista: Day 600

So, I had meant to do this sooner, but here’s the follow-up to my 1-day update after 18 months of using Vista.

  • I haven’t downgraded to XP, nor felt any need to. On the flip side I’m still running XP at home, and haven’t felt the need to upgrade.
  • It hasn’t crashed. Nope, not once.
  • The one vista feature I’ve grown to use is the “Start Search” box, which is basically a slower/simpler version of Quicksilver, but provides most of the functionality you need (i.e. finding programs and files you don’t use all day).

Well, that’s about it.

Oh, the Macbook I gave to Phil when I got the PC? He used it for a while, but after too many problems with it, he eventually had to go and buy a replacement (his 4th Macbook in 2 years).

Enabling Buttons on Apple Keyboard in Windows

I recently picked up, and am liking, the new “wafer thin” aluminum keyboard from Apple. Its very small, I like the key action and it’s very solid considering it’s size and thickness. But, I use it on Windows, and there’s no driver available other than the standard keyboard one, so the extra keys like media controls aren’t enabled. I came across a freeware macro program called AutoHotKey that works very nicely, and wrote up a few little scripts for it. You can download AutoHotKey and run the scripts yourself, or you can download the compiled version here [enable_mac_aluminum.zip, 193KB] and just pop it into your Startup folder.

Commands:
Shift-F3: Print Screen
Shift-F4: Task Manager
Shift-F7: Previous Track (in Winamp or Yahoo! Music Jukebox)
Shift-F8: Pause/Play (in Winamp or Yahoo! Music Jukebox)
Shift-F9: Next Track (in Winamp or Yahoo! Music Jukebox)
Shift-F10: Mute/Unmute
Shift-F11: Volume Down
Shift-F12: Volume Up
Windows-s: Open http://www.efsavage.com 🙂

Here’s the entire script:

#s::Run www.efsavage.com
+F3::Send {PrintScreen}
+F4::Send, {SHIFTDOWN}{CTRLDOWN}{ESC}{SHIFTUP}{CTRLUP}
+F7::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, z ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 112, 76
WinMinimize
return
}
return
+F8::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, c ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 30, 77
WinMinimize
return
}
return
+F9::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, b ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 148, 79
WinMinimize
return
}
return
+F10::Send {Volume_Mute}
+F11::Send {Volume_Down 3}
+F12::Send {Volume_Up}

Update: Reader Svolte points us to SharpKeys, which (by default) maps F13 to print screen. The advantage of doing this is that alt-print-screen (capture just active window) works, while I was unable to replicate with the AutoHotKey script.

Vista: Day 1

So, after finally calling it quits in my battle against my MacBook Pro, I retreated to Microsoft. You basically can’t buy a Dell without Vista now, so I figured I’d give it a shot. There’s been a fair amount of hype by Microsoft in favor of it, and a tremendous amount of anti-hype against it by basically everyone else. After my first day, I’ll say that neither side has much to stand on.

The system is what I’d consider an average developer box these days. Grand total with tax was less than $1150.

  • Dell E521
  • Athlon Dual-core 5000+
  • 2GB RAM
  • 250GB hard drive (no raid)
  • ATI X1300 video card
  • 20″ Dell 4:3 LCD
  • Windows Vista Home Premium

I hooked it up to my pre-existing 24″ LCD as primary monitor. I had bought a Radeon 9250 so that I could run the second monitor on DVI, but ATI doesn’t have Vista drivers for that, so I hooked it up to the VGA port until I return that card for a newer one.

Here’s what I installed:

  • JDK6 – No problems
  • Eclipse 3.3M4 – No problems
  • Jetty 5 and 6 – No problems
  • JettyLauncher (eclipse plugin) – Only works with JDK 5, not sure if this is a Vista thing, so…
  • Subclipse (eclipse/subversion plugin) – No problems
  • JDK5 – No problems
  • MySQL 4 – No problems
  • Firefox 2 – No problems
  • Yahoo IM – Crashed once, but it does that on XP too often too.
  • AIM 6 – Crashed once after I first started it, ran fine through several conversations later on.
  • Windows Mail (pre-installed, I configured for POP and SMTP over SSL) – no problems.

So the big complaint by the hordes has been performance. For a mid-range machine, with full Aero enabled on two monitors at 1920×1200 and 1600×1200, I see no lag at all. Aero is actually decent. It’s only major flourish is the new “flip-3d” where the windows stack up like something you would see on a Mac, but its really kind of useless, and I prefer alt-tab. The live previews when you over over the task bar are actually kind of nice, though not very useful. The transparency is fancy, but not overdone, the fade/shrink when you minimize is quick and nicely done. I haven’t disabled any of it yet after 7 hours of use, which is about 6.9 hours longer than the ridiculous XP theme lasted.

Programs launch and run faster, though it does seem like installers go slower and hang for a while. It also comes with a ton of nice fonts, I’m curious if we’ll start seeing those show up in CSS files. I set most of my stuff up for familiar 8pt Lucida Console, I’ll have to go through and see if they’ve added any other nice monospace fonts.

Microsoft seems to have adopted the unix idea of security when it comes to “sudo”. Whenever you do anything that affects the OS, it prompts you to allow it to proceed. If you want to do something like edit your hosts file, you’ll need to run your editor as an administrator, which is as easy as a right click. It’s all a bit annoying, but probably just because I was tweaking it alot. We’ll see how it plays out after a period of normal usage. The worst part is that when the box comes up, the whole screen flickers and takes on a lightbox type effect. Seems to be overkill and poorly implemented.

Other than that, I hate to break it to the Microsoft PR squad and the throngs of haters, but it’s really just good old Windows. The paths are a bit different, things are called slightly different names, but from my perspective, it’s all trivial stuff. Unless I come across something tragic or wonderful, I see no reason for people to upgrade, or to resist upgrading.