Active Coder

My thoughts about staying active as a husband, parent, and generalist while keeping skills current and creating great software

52 Tools: RDCMan 2.7

This week's 52 Tools post is about RCDMan, a tool created in 2010 by Microsoft and recently updated in November 2014 (H/T Dan Usher).

I use Remote Desktop a lot. In fact, I'm usually on 3-5 servers most days all day, comparing and checking configuration, updating installer packages and writing code. My main development environment is in a VM, although I use the updated Virtual Machine Connection application for that so I don't have to mess with network settings.

Update: It looks like 2.7 can do VM connections too, although I didn't have any luck getting it to actually work.

Anyway, I had been using version 2.2 (published in 2010) up until I posted this review, so I haven't had much time to tinker with the updated version. But based on the longevity of the 2010 version, I expect it to be great.

Remote Desktop Connection Manager 2.7

It lets you connect to many different remote desktop sessions, and inherit permissions from a server group. That's nice for connecting to multiple servers on the same domain -- if the password changes you just change it on the server group.

52 Tools: Pixels

This post is about monitor technolgy as it relates to developer and consultant productivity. It's part of a blog series called 52 Tools where I post weekly about a tool that makes my life easier.

At Hubstream, I straddle the line between being a coder and being a consultant. I typically have 10-20 windows open doing various things like email, my development environment, remote desktop sessions, debug views, OneNote, event viewers, our company's SharePoint site, StackOverflow, and the like.

Having enough screen real estate gives me quicker access to tools and remote sessions that help me be more responsive, and I think that makes be a better consultant.

A good window into my computing world can make a huge difference in my ability to manage different work streams. I can follow many different sets of problems at the same time.

For the other half of my work life, I'm not really sure my ability to open massive amounts of software on my computer helps me be a better developer. But on a single screen, being able to see more code certainly does.

I've been passionate about monitors since my first home brewed computer after I left the Army in 2003. It was a ViewSonic P220f.

Its native resolution was 1600x1200, and this was ideal. I also had another ViewSonic monitor at 1280x1024, and I kept this resolution as I transitioned into dual monitor LCDs around 2006.

For some reason (movies I suppose), mainstream computing trasitioned to widescreen monitors, so I ended up as a victim of this trend, working on Full HD (1920x1080) and smaller (1600x900, 1366x7680, 1280x720). The pixel density has been fine, but the screen ratio left something lacking.

Another trend has been to use TN panels, which are actually pretty bad. I was inspired to check out IPS panels by Jeff Atwood's rant and pride in his 3-IPS panel setup, and now I can't possibly use anything else. Especially with a large screen, I notice discoloration around the edges and dislike that it's not the same consistent color when I come in the room versus when I sit down at the computer.

The other day I purchased a Asus ProArt PA248Q, which puts me back in my sweet spot of resolutions. At 1200 vertical pixels (it has a resolution of 1920x1200), I gain room at the bottom for the taskbar and the output window in Visual Studio, and effectively can see another 10-15 lines of code on my screen.

More isn't always better. I also have a Dell XPS 15 that has a crazy 3200x1800 resolution so the text is immensely clear. However, Remote Desktop and Hyper-V Virtual Machine connections don't know how to scale appropriately to this size. So I end up running it at 2048x1152 (2560x1440 is strangely missing as someone else noticed).

I also have an older FHD IPS screen, which is pretty nice as well Asus VS239. I had previously been using a dual monitor arm (a generic brand from Micro Center), but the stand on the PA248Q is really nice so I am now using the arm for the widescreen monitor and letting the new one use the stand.

My latest setup

There's also a balance to be had between refresh rates and fill rates, but that doesn't control much of the discussion with regards to consultant or developer productivity (unless your work involves 3D modeling or something like that).

One final note, about lighting. I've added bias lighting (thanks again Jeff Atwood) and nighttime color temperature adjustment (using F.lux, hat tip to Scott Hanselman). Unscientifically, I think it makes me more alert and reduces eystrain. I use "bright white" bulbs (3000K) in three lamps in the office, and 18" Commercial Electric under cabinet lights behind the top of each monitor.

In the end, pixels matter and a developer's needs (like many other choices in hardware) are different that what's cheap and readily available. So I chose a high end monitor to get more vertical space, and a cheaper second monitor for overflow.

The Year of Tools

In 2015, I will discover, create or relearn one tool every week to help make life easier. Coupled with this, I'll share a quick review of the tool on this blog.

Exciting and a bit crazy

I'm 3.5 months into working full time with Hubstream. My focus so far has been on deployment, configuration and admin training for our products. Secondarily, I've been knocking out bugs in Intelligence Server and helping enhance performance on data import processes. I've traveled to the UK twice and the mother ship (a much smaller ship than before) once.

I've gained a couple pounds. The dream of morning spinning classes has not been realized. I'll take ownership of that. Working with European customers causes me to be up in the mornings, but not every morning. Our Xbox One with the fitness app is literally 15 feet from my desk and I've not started it yet. Peloton Cycle has been taunting me on Facebook. How convenient would that be, albiet antisocial? I've been walking a good bit and my Garmin VivoFit and earned some rewards in EveryMove, which feels validating. However, it may just be for steps I would have taken anyway, rather than affecting any changing behavior. the Walgreens Balance Rewards program gives you points for walking but my device isn't supported (yet). If I were still a Microsft employee I'd probably get a Microsoft Band due to the Stay Fit reimbursement. Out on my own I'll probably wait for v2 or v3 of that one. Wendy wants one of the new FitBit devices, and they integrate directly with Windows Phone now, so that's tempting.

I got to spend the day today with my daughter who has been sick. It was oddly glorious to not have to fill out a form for the missed day. I'm now behind and will have to make up the time. There's nobody else to do the work.

Anyhow, the work has been very interesting and important, impactful, and stressful (mostly in a good way in that I feel that it is important and I am a pivotal piece).

Trusting the system

Satya Nadella has been great for Microsoft, I think. He's a fresh face on a series of growing new business ventures for the company. Maybe he's less polished (read: less stuffy) than Steve Ballmer, and it looks like that got him in trouble yesterday.

Yesterday he gave bad advice, which he later recanted, that basically said that you should trust the system to give you raises when you deserve them.

I'm not surprised at this comment. It's part of the culture of Microsoft. From the day I was hired it was made clear that the deal I came on with was the one I'll be stuck with (it was a fair one), and each time promotions, bonuses and raises came up in my 6 1/2 years, it was dictated to me as an exact dollar amount with no negotiation and no further discussion. No room for off-cycle incentives, except for occasional award bonuses. These bonuses were for highly competetive things like a notable performance or exceptional team. They were nice ways to be recognized, but not very interesting on the pay stub. In the end, I was paid well but felt like a promotion was overdue, and that there was no real outlet to tell anyone this in a meaningful way. "The system" knew I was over 4 years in my role/level, but it wasn't clear what the system was going to do about it. My manager wasn't going to do anything :).

This may just be how big companies have to be run. If the numbers are fair, there's not much reason to complain as an employee. In the case of Microsoft, they probably know the value of a "level 63 senior consultant" better than I do.

However, I know the value of Paul Whitaker better than they do. When it comes down to trusting the system, learning to tell the story of my value was part of the review cycle. Couple this with extreme turnover in mid-level management, it becomes a difficult undertaking.

I didn't leave Microsoft because of Microsoft, but because I figured out something else that felt more valuable, challenging and interesting to do with my work life.

But I could see why the "trust the system" attitude from the top levels of Microsoft could lead to higher turnover and be an easy way to bleed employees. I suppose with its cash reserves Microsoft could just keep giving everybody a raise and the system would continue to be competitive. Or they could keep changing the system so nobody really knows how it works to know whether they should ask for more :).