The Fairway Technologies Blog

Since 1995, I've been learning from my mistakes in the world of web development. Although I'm an architect and coder at heart, I've also acted as a technical sales guy, business analyst, project manager, Scrum Master, QA resource, and DevOps engineer. I'm far from perfect at any of those, but I've spent enough time doing all of them to get a sense for how they work together effectively, for clients like HP, Intel, Disney, Toyota, Union Bank, PayPal, Whirlpool, and SPAWAR.

Recent Posts

November 21, 2018 | Noah Heldman

Stp Abrvtng!

When I started out as a wee programmer back in the 1980s, “Hungarian Notation” was all the rage. Invented by Charles Simonyi (a Hungarian guy!), it espoused a naming convention for variables that included the intent (or kind, or type) for that variable. Unfortunately, the semantic meaning of type is overloaded, and many developers assumed it meant “data type.” So, you had variables that were clearly string variables called strFirstName or clearly integer variables called intCount. In a type-safe compiled language, this is redundant, but many Microsoft devs, myself included, blindly followed the pattern because we learned it, and it made sense on the surface.

July 31, 2018 | Noah Heldman

Stress at Work: From Hospital to Hospitable


We all get stressed... In this blog post, Noah Heldman talks about his personal experience with stress at work, and the tools he has used to significantly reduce and effectively manage it, with a focus on the benefits we get from stress (yes, you read that right), and the costs.

April 18, 2014 | Noah Heldman

Cascading Selects with Backbone.js, Stickit, and Select2

Cascading select boxes, dependent dropdown lists, that thing where what you choose in one list updates the choices in another list…  whatever you call it, it’s something we need to do a lot as programmers.  And it’s a wheel I seem to reinvent every time I need it.  So, let the reinvention begin, this time with Backbone, Stickit, and Select2.

January 22, 2014 | Noah Heldman

Configure WordPress Properly in IIS 7+


I always have a bunch of issues dealing with media, plugins, and ftp when trying to get WordPress running on IIS.  If you have seen errors like “Could not remove the old plugin, Plugin update failed” or “media upload error occurred”, then you know what I’m talking about.  I knew that the Microsoft Web Platform Installer (WPI) did a good job of installing and properly configuring WordPress for IIS, so I decided to reverse engineer what happens on install.  I’m mainly interested in how the WPI install sets up the IIS Web Site and Application Pool, and sets directory permissions, which is really all there is to it.

March 20, 2013 | Noah Heldman

Load Testing with Locust on Windows



Jonatan Heyman, co-creator of Locust, hunted my blog post down and provided some helpful info in the comments (see below).  I've updated this post with the relevant info (just look for bold text as you scroll down).  Hooray Jonatan!  I promise not to swarm with my locust scripts!

The Point

Locust is, if you believe the hype, the HOLY GRAIL of obscure Python-based distributed load testing tools with real-time web-based statistics:

I’ve tried a few different times to get Locust up and running on Windows, and every time something has gone wrong enough for me to be demotivated and quit.  ‘Cause, y’know, I’m a quitter.

Until now!

My goal is to help YOU get Locust setup on your Windows machine in the “recommended” way, so you can bring down your server by flooding it with thousands of requests too.  There is something awe-some about having the power to bring down a server remotely just by typing “100,000” in the “How many users?” input box…  Please note that Locust is really designed to run on Unix/Linux, so if you are able to run your Locust load tests from there, please do.

April 24, 2012 | Noah Heldman

The Ballad of Tim Toady

Open-Minded Project Management

March 30, 2012 | Noah Heldman

I Windows 8!

Note:  The opinions in this blog post are exclusively mine, unless of course they exactly match your opinions, in which case, neat!

February 23, 2012 | Noah Heldman

The IE8 "hover" Bug: The Most Awesome IE Bug Ever?

Numbered Lists

When you want to create a numbered list in HTML, you probably use the <ol> and <li> tags.  These work well most of the time, and are pretty flexible when paired up with CSS.  You can have the numbers be decimals, alphabetic characters (lower or upper), roman numerals (lower or upper), and more, or you can hide them altogether.

But sometimes you can’t (or just don’t want to) use <li> tags to structure your markup, but you still want automatic numbering.  So CSS 2.1 came up with this swanky idea to allow automatic numbering on any element:  It also allows decimal, alpha, roman, and other numbering formats, which is great.  And it’s officially supported in Firefox 4+, Google Chrome 10+, Safari 5+, and IE8+, which is also great-ish!

January 20, 2012 | Noah Heldman

Handling Session Timeout Gracefully


Have you ever been to those sites that show you a nice helpful popup to let you know that your session will expire in a few minutes?  You know, the ones that show you a countdown timer, and let you Continue Your Session, or Log Out?  And if you've been gone so long that your session really did expire because you were feeding your nerd-face, it automatically logs you out and shows you a nice message letting you know it was only to protect you?  That it was For Your Own Good?

Yeah, me too!   Then I said, "I want one!" and set out to build my own.

February 4, 2010 | Noah Heldman

Why should I care about functions as first-class citizens?

The term "first-class citizen" as it applies to a feature of a programming language has always sounded weird to me. Besides anthropomorphizing code, it's vaguely insulting, as if other language features might be considered "illegal immigrants". On top of that, I've been using functions as first-class citizens in JavaScript for a long time now, but never appreciated why being first class was so special.

Well, I found a situation that changed my mind.

New Call-to-action

Sign Up For Our Monthly Newsletter

New Call-to-action