Scott Nonnenberg

A blog about software development and geekery of all kinds.

Popular Posts - Tags - RSS - Atom - About Me

I won't share your email with anyone. See previous emails.

A holistic health checkin 2017 May 31

It’s been a while since I last talked about nutrition, fitness or health. I think it’s time. Where before my articles about this have been focused on one aspect of health, this article will cover it all. It makes sense though - it’s reflective of my more holistic approach these days. Read more »

Starting on Signal 2017 May 17

I’ve decided to put away my consultant hat for a while, because I’ve joined Open Whisper Systems to work on their Signal Desktop application! I’m really excited to contribute to such an important mission. Read more »

What's a Monad? Digging into Haskell 2017 May 03

My functional journey started with Javascript techniques, grew as I briefly explored a few functional languages, then bloomed as I got comfortable with Elixir. Going further has finally defined some long-nebulous terms and shown me the power of both algebraic data types and compiler assurance that a given function is truly pure. Read more »

Hard-won lessons: Five years with Node.js 2017 Apr 19

After five years working with Node.js, I’ve learned a lot. I’ve already shared a few stories, but this time I wanted to focus on the ones I learned the hard way. Bugs, challenges, surprises, and the lessons you can apply to your own projects! Read more »

Better Git configuration 2017 Apr 05

I like Git. I use it all the time. As I sometimes do, I recently took some time to really dig in, read through documentation, and review my global Git configuration. Welcome to my fourth stack improvements post! Read more »

Think in alternatives (Dev productivity tip #5) 2017 Mar 21

I’ve been told that I’m a very productive developer. And I’m sharing how I do it. Welcome to the fifth in my developer productivity tips series: Think in alternatives. Your solution works, yes. Did... Read more »

Getting started with Elixir 2017 Mar 07

The more time I spend with JavaScript, the more brushes I have with the dangerous cliffs of Node.js, and the more I gravitate toward functional design principles. Thus, I periodically find myself... Read more »

An Agile organization 2017 Feb 21

What does an Agile company look like? Most discussion of Agile is about the software development methodology, therefore only the software parts of an organization. But leadership wants to be able to... Read more »

2017: Twenty years online 2017 Feb 07

Remember AngelFire? It was 20 years ago when I signed up to host my first little web page, establishing my initial presence on the internet. I’ve spoken before about my blogging progression, but for... Read more »

Top ten pull request review mistakes 2017 Jan 25

I’ve worked on a whole lot of GitHub-hosted projects, whether personal, open-source, or on contract. Sometimes using the public GitHub, and other times GitHub Enterprise. But one thing is the same: it... Read more »

Find a test rhythm (Dev productivity tip #4) 2017 Jan 10
First, listen 2016 Dec 20
Six books for greater context 2016 Dec 13
Better docs and static analysis 2016 Dec 06
Be a scientist (Dev productivity tip #3) 2016 Nov 29
Web application test strategy 2016 Nov 16
Fear of the subjective 2016 Nov 08
Breaking other servers with Node.js 2016 Nov 01
Focus (Dev productivity tip #2) 2016 Oct 25
The technology side of Agile 2016 Oct 18
Better async Redux, i18n, and Node.js versions 2016 Oct 11
Systems for collaboration 2016 Oct 04
Breaking the Node.js event loop 2016 Sep 27
Contract: An unusual skillset 2016 Sep 20
Understand the problem (Dev productivity tip #1) 2016 Sep 13
Modern evidence requirements 2016 Aug 03
Hands-on with CircleCI and Node.js 2016 Jul 25
Better changelogs, strings, and paths 2016 Jul 19
Private Node.js modules: A journey 2016 Jul 12
This blog is now open source! 2016 Jul 05
Notate: Better Javascript callstacks 2016 Jun 28
Carrots, not sticks 2016 Jun 23
ESLint Part 3: Analysis 2016 Jun 21
ESLint Part 2: Contribution 2016 Jun 16
ESLint Part 1: Exploration 2016 Jun 14
Customizing Agile 2016 Jun 07
Contract: New techniques, old technology 2016 May 31
Avoid these abused words 2016 May 24
From tech person to people person 2016 May 17
A functional distinction 2016 May 10
The state of thehelp 2016 May 03
Contract: React Training 2016 Apr 26
Practical Gatsby.js 2016 Apr 21
Static site generation with Gatsby.js 2016 Apr 19
Feeling the Bern 2016 Apr 14
Star Wars Cards! 2016 Mar 10
My 2016 Mantras 2016 Mar 06
P for Postgres (NERP stack part 4) 2016 Feb 22
R for React (NERP stack part 3) 2016 Feb 15
E for Express (NERP stack part 2) 2016 Feb 08
A 35lb weight swing in two years 2016 Feb 03
N for Node.js (NERP stack part 1) 2016 Feb 01
A modest async proposal 2016 Jan 25
Open Source and Feelings: The Challenge 2016 Jan 19
A running update 2016 Jan 19
Systems and Incentives 2016 Jan 14
Enterprise Node.js/Javascript Difficulties 2016 Jan 13
The trouble with promises 2016 Jan 12
The Why of Agile 2016 Jan 12
Four books for greater understanding 2016 Jan 08
Open Source and Feelings: The Awesome 2016 Jan 06
Contract: Teaching! 2015 Oct 09
The dangerous cliffs of Node.js 2015 Feb 11
A system for 2015 2015 Feb 06
Hippie Experiments 2014 Dec 17
Node.js is not magical 2014 Dec 09
The Last Year 2014 Oct 02
Autumn Associations 2014 Sep 25
Learning limits: post-injury running 2014 Sep 18
Antidotes for antiskills 2014 Sep 12
Cycling, Computers, and Posture 2014 Sep 04
Woot Shirts! 2014 Aug 29
Injury, identity, and non-attachment 2014 Aug 22
Introversion 2014 Feb 24
Resolutions (and Systems) 2014 Feb 10
How not to do customer service: Credit card edition 2013 Oct 07
My Standard Breakfast 2013 Sep 30
Why I left LIFFFT 2013 Sep 16
12 things I learned from Microsoft 2013 Mar 17
Don't let this happen to you - lessons from a failed side project 2013 Feb 20

It's me!
Hi, I'm Scott. I've written both server and client code in many languages for many employers and clients. I've also got a bit of an unusual perspective, since I've spent time in roles outside the pure 'software developer.'