Writing Notes & Practice
A long-running archive of engineering notes, technical tradeoffs, and leadership reflections.
Recent Reflections (2024-Present)
Current essays on leadership, mentorship, decision-making, and building through industry change.
-
Reflecting on the foundational discussions of the early 2010s and why their 'durable insights' are more relevant than ever in the age of AI.
-
Reflections on the original 'pay to win' arcade systems and their parallel to AI token consumption. Evaluating the ROI of experience in a tokenized world.
-
“They’re Your Legs.” Feb 2025
-
The Boy Who Told the Truth Feb 2025
-
A Moment of Absurdity in Stagnation Jan 2025
-
The Power of People, Not Just AI Jan 2025
Deep Technical Focus (2013-2016)
Hands-on posts centered on SQL, performance, JRuby/JVM concurrency, and implementation-level tradeoffs.
Community and Platform Transition (2009-2012)
Writing from the Alt.NET and user-group years: community facilitation, platform shifts, and steady skill-building.
-
360 Learning at User Groups Sep 2012
-
I had the brilliant idea to upgrade to OS X Lion and perform a clean re-install of Xcode 4.3. As with most brilliant ideas that involve upgr...
-
Moving off Google to Google. Feb 2012
Google Apps excited the heck out of me from the day it was announced. The prospect of being able to manage my own domain on the world class ...
-
Re-getting back on the bike. Jan 2012
It's been little under two years since I'd written the " Getting back on the bike " post a lot has changed for me. I've been working with Ob...
-
The Lost Episode Sep 2010
Back in August we sat down to chat with Rob Reynolds and Dru Sellers about the Nu project. At the time, I hadn't even edited the interview with Brian Hogan yet. So in a death spira
-
Interview with Jeff Hardy Sep 2010
Tonight we're going to sit down to chat with Jeff Hardy, an IronPython MVP and apparently a daschund in a hotdog costume for all the pictures I could find of him on the interwebs.
-
IronLanguages-2010-08-05.mp3 Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can fin
-
We recorded two episodes of The Iron Languages Podcast: 'Mentoring, Rumbling, Bridging with Rails, Ruby, JavaScript & HTML' with Brian Hogan and 'That ''nu'' Thing' with Dru Sellers and Rob Reynolds.
-
You can listen to this and all the episodes at the official home of the IronLanguages.net podcast. Will and Mike chat with Shay “IronShay” Friedman, an IronRuby
-
We're going to be interviewing Shay Friedman, aka @ironshay. Shay is the author of IronRuby Unleashed an IronRuby MVP and blogs at http://blogs.microsoft.co.il/
-
Some minor housekeeping updates... We have a new domain for our site... http://ironlanguages.net Although the relatively new, but deprecated url of http://ironlanguages.posterous.c
-
Episode I: We Have Lift-off Jun 2010
IronLanguages-2010.06.16.m4a Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can fin
-
RVM (Ruby Version Manager) is Neat. Jun 2010
If you are working on Ruby then you are either probably using the default Ruby that came with your Mac or installed via apt-get or manually installed a version
-
Hi. Been a while since I’ve last blogged. Things have changed a bit for me as well, my personal life was in a bit of turmoil for the past few months that I won’
-
Chicago Code Camp 2 Apr 2010
Hey, live in or near Chicago? Are you a software developer? Do you like software? Do you just like going to places where other people are? Then you will LOVE th
-
START making DOS follow your CMD Mar 2010
I’ll be the first to say, I have *major* terminal envy working with so many Linux and Mac developers. Not just the shell, but pretty much everything about the c
-
Mixed Emotions Feb 2010
Sitting on the floor of our kitchen. Eating my wife’s “Hippy cakes.” Daughter bopping around banging kitchen utensils as classical piano music also plays in the
-
Henryka Zalewski Of Carpentersville Visitation for Henryka Zalewski (nee Tekien) will be held Tuesday, Feb. 9, 2010 from 3-9pm at Michaels Funeral Home, 800 S.
-
Tags vs Categories in WordPress Feb 2010
I’ve not been categorizing my last dozen or so posts. I don’t get what the difference between tagging and categorizing is supposed to be anyway. Maybe if I felt a little bit more r
-
Okay, here’s my next personal challenge. Learn Vim. Period. I’m taking away all my editors, save Visual Studio. I need Visual Studio to pay the bills (for now). So bye-bye TextPad,
-
37 posts in 31 days! I’m finally at the end of my month long challenge to blog everyday. I had lofty goals of writing insightful and info laden posts but given the aggresive schedu
-
February 8th, 2010. The McHenry Cloud Developer’s Group will be hosting it’s 3rd meeting. The night’s topic will be “Hello, World.” on the Microsoft Azure Platform. Presented by no
-
What comes after Alt.NET? Jan 2010
Between contracting with Obtiva and working at a client site where I and my co-developer are the only .NET developers on the site I’ve been focusing on learning tools and languages
-
Had a great time presenting “Building .NET w/Ruby” at the Lake County .NET User Group in Grayslake, IL this evening. Slides: Builds .NET with Ruby The audience was relatively new t
-
Pair Programming Jan 2010
After over a year of working solo it’s great to be working in a team again. And we’ve been aggresively pair programming for two weeks now and I have to say that it has been extreme
-
IronRuby at Obtiva’s Geekfest Jan 2010
I got a chance to present IronRuby to a group of some of the most hardcore Ruby fanatics in Chicago today. And I’ve survived to tell the tale. Not too much to say other than my .NE
-
MVC Song Jan 2010
42.241134 -88.316197 Filed under: Uncategorized , fun, learning, mvc, song
-
Quantity Over Quality. Jan 2010
Last night I had a severe case of writer’s block when I sat down to write my post. I already wrote my easy posts and didn’t have time for researching a more advanced topic. Then my
-
A little over two years ago I found out that my wife was pregnant. I of course did the logical thing and broke down in tears. Then I realized something, I need to take this stuff s
-
Recently on Twitter (where else anymore?) at least one person commented that they don’t understand why Microsoft developers would need an installer for tools like IronRuby and Iron
-
Roundup of Cool IronRuby Stuff. Jan 2010
This is the laziest blog post of the month. I’ve been completely distracted this afternoon playing around with IronRuby. Last night I got Ruby on Rails running on the latest releas
-
view source Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can find out how to enab
-
Chicago Code Camp 2 Jan 2010
The planning has begun for the second annual Chicago Code Camp. To put it in software development terms, we’re still in the “early alpha pre-release” phase. As soon as we have conc
-
Previously, I created a little Html extension to help with skinning a website based on the subdomain. It is working out for me pretty well in my current project, but I wanted somet
-
What’s with All These Roles? Jan 2010
I previously posted about some frustrations I’ve had when dealing with people in positions of authority who get too distracted from their intended responsibilities. Particularly th
-
first, I’d like to point out an intentional wording of the group’s name “Developer’s”. The apostrophe means that this isn’t a group of developers but a group owned by developers. I
-
I worked at a company with “coding architects” who were actually senior developers in disguise. It was so obvious that they were more interested in working on some little side proj
-
Building .NET with Ruby Jan 2010
-
A Month of Blog Dec 2009
If you are going to take on a difficult challenge declare your intentions publicly. So that way you at least you have the fear of shame to motivate you. Thirty to ninety day initia
-
Well, we’re finally underway! And a good start it is. We started the meeting off with a short introduction to the group and some ideas on what direction we could take the group. Af
-
Post# is a powerful and relatively mature Aspect-Oriented Programming (AOP) framework for .NET. I love it and use it in every project that I have a need to implement crosscutting c
-
Think about the application you are working on right now. What does it do? I don’t mean whether you’re writing some fancy bit of technological wonder. I mean what does your applica
-
The Trouble with Titles Dec 2009
Chief Principal Senior Enterprise Solutions Architect Manager Somewhere in the world there is someone with a title just like that. In my previous employer I ended up with the title
-
This is part zero of a multi-part series. Jump to The Poor Developer’s Object DataStore: Iteration 001 for the first code drop. What is an object datastore? For an object-oriented
-
String Formatting In JavaScript Nov 2009
A follow-up on JavaScript string formatting patterns, including static and prototype-based implementations and community alternatives.
-
Iowa Code Camp Nov 2009
-
I’ve learned one thing from Twittering, and that’s just say whatever comes to mind. Hence I’ve started writing these little one-off posts. Yet another inane thing that I’ve come ac
-
Terminal Services Goes Wonky May 2009
Okay, this was a pain in the tuckus. Not sure which service pack hosed me but I lost a couple hours trying to figure out why I wasn’t able to connect from my Virtual Server host in
-
Scroll down to the TortoiseSVN section and follow the instructions.
-
The horrible, horrible system beep is an artifact of an ancient time when computers were too much like R2-D2, communicating in a series of beeps and whistles only understood by ham
-
This post is more for own benefit because whenever I setup a new system I have to go looking for this setting. If you have Windows Desktop Search installed but don’t like it being
-
Yet another “note-to-self” post. I’m always forgetting and having to search for the documentation on how to pretty-print source code in posts. WordPress.com has integrated support
-
Using Twitter as a Simplified Message Distribution Platform (aka using Twitter how it was designed). Mar 2009
In a nutshell, I can send short commands via DM to a Twitter account that is following me. On the servers I wish to control I have installed agents that monitor the Twitter account
-
This was a fun one. The forum was a more traditional style where the audience listens and the speaker presents. Though Sergio’s laid back presentation style was a good fit and kept
-
I bought a T-Mobile G1 Android phone either on or around the official launch date and thought it was going to be another gadget/toy that would be fun for awhile and then just be an
-
Rant on building strings in C# Mar 2009
Okay, I’ve inherited a codebase with no shortage of embedded strings, but there is one thing driving me batty. string strSomething = "The Hungarian Notat" + "ion is bad enough.
-
Chicago ALT.NET A group dedicated to the ALT.NET manifesto. I’ve been to a few meetings and they were always fun. The group organizer Sergio Pereira is very active in the Chicago .
-
ASP.NET MVC 1.0 Released! Mar 2009
I’m probably the 100,000th person to blog this but, what the heck. http://blog.maartenballiauw.be/post/2009/03/18/ASPNET-MVC-10-has-been-released!.aspx Glorious day, now as soon as
-
Why use SonicFileFinder? It’s awesome. It’s free. SonicFileFinder provides a quick index of all the files in your Visual Studio solution. It’s like Intellisense for your files. I p
-
OODBMS vs. RDBMS Mar 2009
Not really, but some interesting opinions on the topic. Late in 2008, Rob Conery of SubSonic fame came out with some thoughts on using db4o instead of the “traditional” relational
-
ChicagoAlt.NET March Meeting Recap Mar 2009
Good meeting, with an Open Session flair. The concept for the evening was for everyone to suggest a topic by writing it on an index card, and everyone got to vote by initialing on
-
db40 on shared hosting love Mar 2009
I’m tired of fighting the ORM battle, L2S, SubSonic, NHibernate, Lightspeed, etc. They’re all great products but painful to use because they are all “bandages” on the problem of ob
Early Field Notes (2006-2008)
Short-form experiments and notes-to-self from early-career practice. These are intentionally preserved as snapshots of where my thinking was at the time.
-
MSDN Developer Conference Nov 2008
Chicago will be hosting a MDC event on January 13th at the Hyatt Regency Hotel in Downtown Chicago. I’ve got my ticket. It’s too bad that it’s only a one day event, I’d like to att
-
I love coffee and donuts almost as much as I love being a software developer. But this morning I had a moment of clarity during my daily indulgence. I stroll into the blur of activ
-
Video From Chicago ALT.NET Meeting Aug 2008
Sergio Pereira was kind enough to record, edit and post the Cruise demonstration from the Chicago ALT.NET meeting on August 13th, 2008. There are several excellent questions, espe
-
Red Gate has announced that they have reached an agreement with Lutz Roeder (announcement) to assume responsibility for the one tool that should be in every .NET developers toolbox
-
Repetition Does Not a Satriani Make. Aug 2008
A few days ago I posted my opinion on the old adage “Practice Makes Perfect“, but I feel I need to clarify a few things. The original article I cited was referred to repetition of
-
The Chicago Architects Group is having a meeting next Thursday, August 21st. The topic will be “What is an Architect? Roles and Responsibilities” by Carl Franklin, of .NET Rocks! f
-
Free pizza *and* a demo of ThoughtWorks Studio’s latest product, pretty nifty for my first meeting. The primary topic was the Cruise continuous integration server. The presenter, R
-
I’m a little neurotic about my desktop wallpaper. As a developer, I spend an inordinate amount of time staring at my computer. Granted, I’m rarely looking at a blank desktop but I
-
I’m looking forward to attending my first Chicago ALT.NET meeting this Wednesday. The topic is Cruise, the new continuous integration server being released by ThoughtWorks Studio.
-
Putting the “twit” in Twitter. Aug 2008
The only way to improve your writing skills is to write. And read. And stop every now and then to think. Oh, and having something to write about helps too. I think that’s the harde
-
A good plan, violently executed now, is better than a perfect plan next week.    – George S. Patton, US general (1885 – 1945) Coding Horror has another excellent article titled Qua
-
UML is painful and tedious. Or I meant to say that creating UML diagrams is painful and tedious. Mostly because the tools are graphical and require some level of ability to layout
-
Moved to another hosting provider. May 2008
Moved to here .
-
Brain Mapping Mar 2008
What made me begin to unconsciously type "worlofwarcraft.com" into my internet browser address bar. (really)Here's the scenarioIt all starts here. Reading a nice little article abo
-
Good Documentation Aug 2007
I don't think it is a coincidence that my favorite development tools are so well documented. The only reason they kept my attention long en...
-
Will My Software Project Fail? Jul 2007
There are a lot of reasons typically given for software projects failing, poor management, lack of requirements, and lack (or excess) of talent are common reasons I've heard(used)
-
String formatting tips for C# Jul 2007
Handy guide that I've perused once or twice for tips on formatting strings in C#. String Formatting in C#
-
BizTalk 2004 Links Jul 2007
A wealth of useful BizTalk 2004 information can be found at Gille's WebLog . The flat file strikes back: BizTalk 2004 parsing positional rec...
-
VS.Net: Trim EOL White Space Jul 2007
Regular expressions are great. Little strings of yummy helpfulness.Here's a little regex that can be used to trim all some or all of your trailing whitespace.:b+$Just pass nothing
-
Shared Server Etiquette Jul 2007
Log offDon't stay logged into shared machines, log off when you are done. The performance overhead of multiple logged in users is bad enough when we're all working, but do we reall
-
TextPad is my text-editor of choice. It's simple, fast and lightweight. Plus it supports regular expressions and wildcard searches.When preparing a post for upload onto the site I
-
TDD? You've got to be kidding me? Jul 2007
Just taking another peek over to the the Sun's side of the Sun/Microsoft fence and checking the color of their grass. Another tool for testing the reliability of your tests is Jest
-
Just reporting on untested code is nothin'. How about a tool that *removes* untested code.Check out the oh-so-provocatively named coverage tool, Guantanamo.When Guantanamo detects
-
The pendulum is swinging back towards Linux again for me. As my wife has noticed and much to her irritation, every couple months I'll take another shot at replacing my Microsoft...
-
Microsoft Action PackMicrosoft Empower for ISV's
-
Tsst. Jun 2007
Every wonder what career a character like Cartman might gravitate towards when he grows up? If you said Project Manager then you probably work as a developer too. Pushy, whiny, dem
-
Continued from Heroic Developer. *Deep Breath* If you find yourself working on some half-baked idea concocted by your project manager as they were on their way out the door at a 4:
-
Clumsy Development Jun 2007
Basically it’s the George Costanza model of software development. The only requirement is to know the vocabulary, not that you need to know what the words mean though. For example.
-
Programmers Bill of Rights Jun 2007
Coding Horror posted an article in 2006 that proposed a Programmers Bill of Rights. I’ve worked at some pretty messed up places that violated all or most of these “rights”. Althoug
-
Heroic Developer Jun 2007
Look, over in the cube. It’s a nerd. No, it’s a geek. NO! It’s Heroic Coder. Coding longer than a puny developer! Introducing bugs and errors faster than a marketing drone can drea
-
GWDD Jun 2007
Greasy-wheel Driven Development All development is driven by whomever is screaming loudest. Project priority is determined through a bidding type system where the competing request
-
Automated code formatting tools Jun 2007
I love automated code formatting tools. Anything that will help clean the layout of code, especially code that I’ve inherited, is a major productivity booster. I’ve been a bit of a
-
The Play Jun 2007
The actors are assembled for the Writer’s play. Some will play heroes, and some villains while most will walk through the scene forgotten and unheard. The Director moves the actors
-
Polish PM stands up to Germany Jun 2007
Germany is pushing for the votes of EU members to be based upon population. Which is not surprising considering that Germany has the highest population on the European continent, s
-
How would you unit test this? Jun 2007
if ( Jack.WorkQuantity == "All"    && Jack.PlayQuantity == "No" ){    Jack.BoyType = BoyTypes.Dull;} It’s a trick question, the answer is “Don’t.” Go outside, nerd.
-
wut it looks liek May 2007
thiss wut it luks liek wien my wife not edit my postsnerf^_^
-
When using the xml serialization object to serialize and deserialize an object a temporary class file is generated. This article explains how to find the intermediary file and step
-
From hard-sell to conversation May 2007
Interviewing is like selling a used-car. Only, instead of a jalopy, you have to pitch yourself or your company. You must negotiate the buyer’s eyes away from the patches of rust an
-
JavaScript String.format() method. Apr 2007
A simple JavaScript String.format helper for tokenized string interpolation, originally published on WordPress in 2007.
-
The Landlord Apr 2007
The LandlordThis had to take an eternity to film. That or she is a born natural.
-
WoW Summer Hiatus Apr 2007
WoW Summer HiatusI don't know if World of Warcraft is actually addictive. I do know that it is too easy to spend egregious amounts of time playing it. Actually it's less 'playing'
-
Recommended Tool: CopySourceAsHtml Apr 2007
Recommended Tool: CopySourceAsHtmlNow that I am working on trying to put some usable information on this blog I need an easy way to transfer the code from the rich-text world of my
-
Whenever you think you have the toughest, nastiest and unpleasant job ever then you may need to watch a show that my wife and I have been enjoying for a while now that I think will
-
Okay, a film, albeit highly-stylized, about an actual historical event is "moronic", a "sword'n'sandals" "dumb audience-friendly" romp.Yet, a gimmick laden movie about strippers, z
-
Look what we can do on only a $2000.00* budget!*Not including the cost of a real-estate appraisal, a dedicated team consisting of one professional home designer, and two or three p
-
Being stupid has never been so funny.My Name Is EarlIt's nice to see a skateboarder gone good. I cannot describe how much I loathe the Jackass guys. "My Name Is Earl" is so well sh
-
SchemaInSight Apr 2007
SchemaInSightMost code generation code is intended for generating data-access code. There doesn't seem to be any simple (or free) code for accessing a database and enumerating the
-
NStun Nov 2006
NStunSTUN, Simple Traversal Underneath Network Address Translators.The N is for .NET. :-)STUN in Wikipedia
-
NAT Nov 2006
NATNetwork Address TranslationNasty little critters. Get on my nerves.NAT in Wikipedia