| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 30 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 31 | 1 | 2 | 3 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Search
Navigation
Categories
Blogroll
|

Wednesday, May 17, 2006
Setting Expectations And Being Accountable
I came across this posting tonight, via Scott Hanselman's riff on it, and it really got me thinking. In a nutshell, the postings talk about how life has changed over the past decade or so due to the broad acceptance of new technologies (email, voicemail, DVRs, RSS, etc), resulting in increased pressure on people to act on information as it becomes available, lest it pile up ominously.
I'll readily admit that I've often found myself in the past to be behind by a few voicemails, a few tens of DVR hours, a few hundred emails, a few thousand RSS items, etc. In fact, I'll bet most people feel the pressure to act and react to their open channels every second on a daily basis. However, I feel I've managed to find a pretty useful solution to this problem: saying “no” early and often.
Don't get me wrong--if you send me an email that expects a response, you'll get it. If I record TV I want to watch, I will. If you leave me a voicemail, I'll call you back. I think that saying "no" is a critical skill, but one that must be used preemptively.
At SharpLogic, I take on many different responsibilities that sometimes have complex interdependencies and are almost always "important" or "critical" (8+ on a 10 point scale). Every day I find myself with more than enough work to do, and it seems like there's always a ton of projects in the pipeline, which range from customer engagements to network maintenance to accounting to recruiting and so on. Some responsibilities are more important than others. However, every responsibility is still necessary.
One common thing I hear from people is "if I didn't reply to your message from last week, resend it because I delete all mail that's 10 days old". While this attitude may be fine among friends, it's completely unacceptable to a client.
Clients come to us with problems they need solved. In most cases, the problems range beyond software design to require a marketing perspective, and they also often necessitate a level of business consulting. They have tight deadlines (sometimes extremely tight) and, of course, need high quality results.
Sure, this might all sound common, so why do they come to us?
Results. I like to think of SharpLogic as Harvey Kietel’s character Winston Wolfe from Pulp Fiction (if you don’t know who that is, go see the movie).
When someone approaches us, they’re not looking for implementation of a spec. There probably isn’t even a spec. In fact, there probably isn’t even an identified solution. Clients come to us with problems—problems they want to “go away”. They want someone else to think about the problem, analyze the options, determine the best course of action, and deliver a proposal that minimizes the amount of time and effort they need to invest for the results to be delivered. The last thing they need from us is to be filling up their voicemail and email inboxes with tons of micromanagement administrivia. If we’re putting them in a position to say “no” to our requests, we’re part of the problem to begin with.
I know this is starting to sound like a commercial for the company, but I actually do have a point: I say “no” a lot.
In order to ensure our ability to deliver for customers, it’s necessary to be sure we have the time and resources available. If we don’t have time and resources, we won’t take on the project. There’s nothing worse than saying “no” to a customer after you’ve said “yes”—so avoid the problem by undercommitting, underpromising, and overdelivering.
These days my inbox rarely exceeds 25 “action required” items. I occassionally get voicemails, but they're usually some Silicon Valley startup trying to get me to resell their SharePoint Pong clone. Overall, it’s actually very easy to stay on top of everything if you scope “everything” down to a manageable size.
On a related note, I used to always wonder why people who are always “slammed” (way behind in work) ever got promoted. Then it occurred to me that the easiest way to undercommit, underpromise, and overdeliver is to always say you’re slammed. While I understand the motivation, it’s never been a strategy I’ve felt comfortable with since it lowers the confidence your peers have in you. However, it is an interesting, somewhat Darwinian, evolutionary mechanism that evolves the modern information worker. It’ll be interesting to see how it works out.
If you find yourself constantly slammed, you need to ask yourself whether or not you're overcommitted. I wish there was an easy formula to figure this out, but there isn't. While it would be great to get Outlook to automatically delete emails you'd end up deleting anyway, perhaps a better solution is to figure out why you're getting those emails in the first place. Sure, there's always unavoidable spam (both anonymous and from people who should know better), but there is also a level of personal accountability required to resolve the disease, not just the symptom. Sometimes people overcommit without realizing it (like the 35 Futurama episodes on my Media Center) or have a passive aggressive need for control (100+ RSS subscriptions
). Being overcommitted is awful and doesn't help anyone, especially those who rely on your committments only to have them broken.
5/17/2006 1:01:26 AM (Pacific Standard Time, UTC-08:00)

Wednesday, April 19, 2006
Our LEGO Project Mentioned On CNET
http://news.com.com/Microsoft+extends+tool+giveaway/2100-1007_3-6062716.html?tag=nefd.top
For everyone who emails me weekly asking if it's available yet, the answer is now "yes".
If you decide to play around with it, be sure to read John Wingfield's tips & tricks paper that will help you stay sane if you run into any problems getting things set up. Pay extra close attention to the infrared section as it just may save your life.
We really pushed the limits of the integrated ("tethered") programming model for the MINDSTORMS, so there are some things that might seem non-intuitive when you look at the library source. One of these days I hope to write a post about some of the major challenges we had to overcome, as well as the optimizations that make it usable. The library isn't right for every LEGO programming scenario, so take a look at the capabilities of MindScript and other "autonomous" offerings when picking a solution. If your solution needs to interact with a PC (such as to track a movement map or receive user input) then I think this project is the best solution available.
4/19/2006 10:32:01 AM (Pacific Standard Time, UTC-08:00)

Wednesday, April 12, 2006
Quick & Dirty x64 Porting Fix
I've been porting a native app to x64 (64-bit Windows XP) and having some headaches. In particular, I was running across this error:
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
Ironically, the app in question was part of the install process, so it definitely wasn't an installation issue.
After a few unsuccessful minor tweaks, I ended up creating a new "Hello World" app with VS 2005 on my 32-bit dev tablet. Sure enough, I got the same error when running it on the fresh 64-bit. After a little investigation, I found that I was able to run the app by not embedding the manifest (set "Embed Manifest" to "No" in Configuration Properties | Manifest Tool | Input And Output of the app's properties dialog), which is done by default.
I wouldn't recommend using this as a basis for a port, but it can help you get the app up and running quickly.
4/12/2006 8:44:20 AM (Pacific Standard Time, UTC-08:00)
I Can't Leave For A Single Week?!?
I was in Beijing last week, and look what happened while I was gone:

Ashton, am I being punk'd? Anyway, if I see Tom or Katie, I'll ask where your car is.
4/12/2006 2:50:17 AM (Pacific Standard Time, UTC-08:00)

Tuesday, April 04, 2006

Monday, March 20, 2006
Team Hanselman and Diabetes Walk 2006
Scott gives a ton to the community (such as being lead dev on DasBlog [the app that runs SharpLogic's blogs] and chairing the Portland Code Camp). If you can, help him out: http://www.hanselman.com/blog/TeamHanselmanAndDiabetesWalk2006.aspx
3/20/2006 12:00:23 PM (Pacific Standard Time, UTC-08:00)
The Tale of Two Jimmys
Scott brings up some good points about the future of America: http://swigartconsulting.blogs.com/tech_blender/2006/03/h1b_visas_and_t.html. I love "HIS NAME'S NOT JIMMY!!! THERE ARE NO JIMMY'S IN CHINA!!!" 
While I completely agree with Scott regarding the number of no-ops our country regularly produces, I also have a great deal of confidence in the future thanks to programs like H1B, which continually raise the average IQ and work ethic of our workforce and genepool. For the record, the H1B process makes sure you've given US citizens a fair opportunity to take on the job and requires you to pay the prevailing wage for a region, so it's actually more expensive to hire using H1B (after you account for legal and filing fees).
However, if we could also export one dud for every rock start import, that would be great too.
3/20/2006 11:32:24 AM (Pacific Standard Time, UTC-08:00)

Saturday, March 18, 2006

Monday, March 13, 2006

Thursday, March 09, 2006
Two Useful Tips
I've come across two solutions for common Windows problems that may help.
First, if you always get "an error has occurred in the script on this page" dialog boxes when using Windows Media Player, go into Internet Explorer and clear your temporary files. Not sure why it works, but I have less interest in figuring it out now that those dialogs have stopped.
Second, if you are running ActiveSync and have a device docked, you can probably cure 99% of all Windows problems by unplugging and replugging the device. I can't remember the last time that ActiveSync wasn't responsible for a temporary system hang, loss of Internet connectivity, or other problems. I have no idea what goes into developing ActiveSync, but it apparently involves disabling the user's access to the task list (via Task Manager or tasklist) and putting the kabash on anything that gives it a sideways glance. It's probably the surliest application I've ever used--and I even beta tested Microsoft FightPicker 2006 Super Belligerent Edition.
3/9/2006 1:07:35 PM (Pacific Standard Time, UTC-08:00)