Contact Information

Eli Weinstock-Herman (Tarwn)
Raleigh, NC   USA 35° 53' 6.69" N 78° 31' 9.74" W
Eli Weinstock-Herman, Contact Information


(from the Reading List page)
Leading Lean Software Development: Results Are not the Point
The Career Programmer: Guerilla Tactics for an Imperfect World

Compiled list of C# + .Net Features

Original post blogged on Mon, Sep 07 2015 at

We have talked about doing this at work for a while, so I finally sat down this weekend and tried to make a list of C# features that the team could share. We intend to use this to help gauge who the best people are to ask questions in different areas (C# isn’t our only list) as well as a list of things to learn when you’re bored (after crossing off all the ones you know). I added in some of the .Net framework features to round the list off.

Based on their relevance in our team, I left some grouped together (like unsafe code and WPF) and broke others into details (ASP.Net)...

Advanced Smoke Testing with PhantomJS

Original post blogged on Wed, Aug 26 2015 at

Recently I found myself wanting a new kind of safety net. There are any number of surprise problems that can show up in front-end development, from mistyped image URLs to bad output when the minification script barfs to the unexpected surprises after adding new dependencies. As an application scales from smaller to larger, it becomes even more time consuming to check all of the interfaces and look for little things like 404s, script errors, and odd side effects.

While manual testing is possible, we’re only human and will eventually miss something. Plus there’s the ongoin...

Using CodeDOM to Automate Technical Screening Evaluation

Original post blogged on Wed, May 27 2015 at

CodeDOM provides dynamic compilation of .Net code and is commonly used in places like template generation or compilation of emitted code. I recently needed a way to evaluate code submissions against a known set of test cases, so this post will walk through building a small program to do take source code as files, compile it, and execute it against a series of known inputs and outputs to evaluate it.

Sample Code: tarwn/Blog_CodeDom on github

To download and run the code yourself, you will n...

Bundling with the RequireJS Optimizer

Original post blogged on Thu, Feb 19 2015 at

When we build sites using an AMD library like RequireJS, we will have a long list of files that need to be downloaded when someone uses the site. More files means more trips to the server and more download time. Minifying files and using gzip can speed up the download times, but neither affects the Round Trip Time (RTT) that even a cache validation incurs, clogging up a request pipeline just to ask the server if an ETag or last modified date is still valid.

So let’s see one way we can improve things, with small (14 requests) and larger (194 r...