Understanding Modality

Yes that is a word. Yes it sounds like it came from Mortal Kombat II. Modal dialogs are a usability nightmare. Joel spoke about it, and we all have experienced it. For some situations, they are necessary however. When it is necasary it is important to only interrupt the user for what really matters. IE doesn’t do a great job at this. The next time you are in IE and get prompted for a user/pass, try to change tabs. »

Hello World - Mike Dellanoce

One of my coworkers, Mike Dellanoce, just started his own blog (after 2 years of coaxing from me). I encourage you all to subscribe. »

Brian Hartsock on #Reviews,

Joel Spolsky - Design and Decisions

Joel ends up #4 on my list of Business of Software speakers. Here is my take on his talk. Have you ever wondered why UAC in Windows Vista/7 annoys you so much? Joel tried to delve into this topic and uncover why users hate this kind of behavior. To Joel, it really boils down to one thing, Design is the art of making decisions. Good design means the decisions were right, whereas bad design means the opposite. »

Ryan Carson - How to make your company remarkable?

Ryan is #5 on my Business of Software top five speakers, and the first to be reviewed. Ryan reminds me of a gentle Jason Fried. His outlook on life and software is very similar to Fried’s, except he throws in words like love and treats his customers like gods. Ryan had a lot of great things to say, some quite obvious but good hear. Here are a few highlights from my perspective. »

Business of Software Top 5 #BoS2009

I just got back from the Business of Software conference in San Francisco. It was a great time and I wanted to share it with the world (or those few poor souls that read my blog regularly). There were a ton of great speakers, but I wanted to highlight who I thought were the top five. Over the next few days, I will be posting about a specific speaker and why I liked them, so stay tuned. »

Restoring Transaction Logs in Powershell

Using the SQL Server UI to restore a bunch of transaction logs is the most painful thing I have every done. I created this script, and then tested restoring around 10,000 transaction logs and burnt through them pretty fast. Create the script restore-transactionLog.ps1 with the following code. (I am using integrated auth and running the script on localhost. It wouldn’t be too hard to use different connection strings in the code if you wanted) param ( [string] $dbName ) process { if(test-path $_){ $sql = "RESTORE LOG [$dbName] FROM DISK = N'$($_.fullName)' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10" write-verbose $sql sqlcmd -Q "$sql" -E }else{ write-error "Can't find file $_" } } Then you can use it pretty easily in the following scenario. »

Business of Software 2009 - You should be here

Right now, I am sitting in a huge room with hundreds of amazing entrepreneurs, developers, founders, etc. I am at the Business of Software conference in San Francisco. In the next few day’s, I hope to have a few posts up about the conference and specific presentations I really liked. Stay tuned. »

An outsider's first look at Scrum

Today, I interviewed a developer/team lead who had a very similar first experience with Scrum. Not very surprisingly, it matched my own so I thought I would share. The terminology sucks Two years ago, when Scrum was first proposed, I remember I hated the terminology. Sprint? Backlog? Scrum? Story Points?. It is like a mixture between a sport and fantasy novel. Back then, I liked terms like requirements and project plans. »

Brian Hartsock on #Scrum,

My gotta-have software

It’s been a little over a week since I installed Windows 7. I tried the upgrade route, failed, and re-formatted the whole machine (every now and again you need to give your PC a good scrubbing). The real question is, what software did I put on the machine? Chrome - Chrome is the new Firefox. It is fast, and the UI is just phenomenal. What sucks about it? Extensibility, which leads to… Firefox - Developers still need Firefox. »

Type object code smells

I have been playing around with the Enyim Memcached client for .NET over the past few days. It has a lot of really cool functionality, but one big smell that has been bugging me. Extensibility is used through the Type class, not through dependency injection. Here is the interface for the configuration object. public class MemcachedClientConfiguration : IMemcachedClientConfiguration { public MemcachedClientConfiguration(); public Type NodeLocator { get; set; } public Type KeyTransformer { get; set; } public IList<ipendpoint> Servers { get; } public ISocketPoolConfiguration SocketPool { get; } public Type Transcoder { get; set; } } Note that KeyTransformer, NodeLocator, and Transcoder are extension points for the library (really cool extension points at that). »