---
title: "Software estimation is hard, but do it anyway"
publication: "StatusCode Weekly"
issue: 322
published_at: "2021-06-23"
canonical_url: "https://weekly.statuscode.com/issues/322"
---

Plus the top 'small tools' we've linked to in recent years. |        

#​322 — June 23, 2021 

[Web Version](https://weekly.statuscode.com/issues/322)    

👋 As part of our winding down to our July hiatus, last week we included a roundup of some of the most popular reads from the past few years. One even made it back on to Hacker News the same day, so it's great to see them resonate :-) This week we're running a roundup of the most popular _'tiny tools'_ we've linked to in recent years, so I hope you enjoy it.
__
_Peter Cooper, your editor
([@peterc](https://twitter.com/peterc) to follow me on Twitter)_  

![](https://res.cloudinary.com/cpress/image/upload/e_grayscale,w_150,h_170,c_pad,g_south/xrupigpv8kyjqotfdgy8.jpg)    StatusCode Weekly What's happening in software development, ops, platforms and tools.  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/fdqfaa2pam7bz0w06skl.jpg)](https://cacm.acm.org/magazines/2021/7/253461-the-2021-software-developer-shortage-is-coming/fulltext)  

[The 2021 Software Developer Shortage Is Coming?](https://cacm.acm.org/magazines/2021/7/253461-the-2021-software-developer-shortage-is-coming/fulltext) — A big headline from the ACM here, but the argument is that travel embargoes and significant declines in 2021 comp sci student graduation rates coupled with increased competition will only make a tight labor market even tighter. (_Better conditions and more pay can always help though.._) 

Breaux and Moritz   

[Introducing AWS Step Functions Workflow Studio](https://aws.amazon.com/blogs/aws/new-aws-step-functions-workflow-studio-a-low-code-visual-tool-for-building-state-machines/) — AWS Step Functions has been around for years and is a serverless orchestrator that lets you build scalable apps using state machines. _Workflow Studio_ takes things to another level providing a low-code visual way to bring things together. Perfect for anyone new to or otherwise intimidated by the usual process. 

Marcia Villalba (AWS)   [![\](https://copm.s3.amazonaws.com/0f4741bf.png)](https://www.ardanlabs.com/training/?utm_source=Cooperpress%20PrimaryV4) 

[Advanced Engineering Go, Docker & K8’s Training](https://www.ardanlabs.com/training/?utm_source=Cooperpress%20PrimaryV4) — Ardan Labs provides instructor-led live-streaming training and self-paced online video training for teams and individuals. Join the 10,000 + engineers who’ve dramatically improved their engineering skills using Ardan Labs training now! 

Ardan Labs sponsor   

[Benchmarking JavaScript Memory Usage](https://blog.webpagetest.org/posts/benchmarking-javascript-memory-usage/) — Historically, memory usage hasn’t been a heavily tracked thing in the JavaScript world, whether for a lack of tooling or motivation. This is changing and new tools and APIs are turning up all the time. Here, Tim has done some analysis of what the top 10k web sites are using in terms of memory and, perhaps controversially, how the choice of framework can affect things. 

Tim Kadlec (WebPageTest)   

**IN BRIEF:** 

- Estimating how long it'll take to complete a project or even to implement a single feature is hard but esteemed engineer Jacob Kaplan-Moss explains [while estimation is hard, we should do it anyway](https://jacobian.org/2021/may/20/estimation/).
- I've been seeing praise for the [Julia](https://julialang.org/) programming language (commonly used for numeric analysis) bubbling up lately, more recently in ["My view of Julia: faster than Fortran, cleaner than Numpy"](https://www.matecdev.com/posts/numpy-julia-fortran.html).
- The Coq tool/language is 32 years old and has, amazingly, only just made it to seriously [discussing changing its name](https://www.theregister.com/2021/06/15/coq_programming_language_change/).
- How many layers of UI consistencies are in Windows 10? [Quite a lot](https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windows-how-many-layers-of-ui-inconsistencies-are-in-windows-10/), it turns out. `moricons.dll` provides quite the nostalgia trip for me..   

[What Does 'First Normal Form' Actually Mean?](https://www.cargocultcode.com/what-does-first-normal-form-mean/) — Normalization is a fundamental concept in relational databases but there are different formal _levels_ of it. This is a good explanation of _first_ normal form (aka 1NF). Then you can move on to 2NF and [3NF](https://en.wikipedia.org/wiki/Third_normal_form). Fundamental database concepts worth knowing _about_ even if you don’t memorize their definitions. 

Galimatias   

[What Every Programmer Should Know About SSDs](https://databasearchitects.blogspot.com/2021/06/what-every-programmer-should-know-about.html) — SSDs have some interesting characteristics that can affect how to get the most out of them. This item led to some [interesting discussion on Hacker News](https://news.ycombinator.com/item?id=27572218) going into more detail about the realities of SSD use in production environments. 

Viktor Leis   

[That Time I Deleted A Production Database, or How Everyone Makes Mistakes](https://threadreaderapp.com/thread/1405826698839576576.html) — A roller up Twitter thread inspired by [last week’s HBO Max test email mistake](https://ftw.usatoday.com/lists/hbo-max-intern-test-email-twitter). 

Francis Stokes   

[A Tour of Bitcoin 'From Scratch' in Python](https://karpathy.github.io/2021/06/21/blockchain/) — Even if you may own some Bitcoin, do you know how it really works? Maybe even the reasonably simple [academic paper](https://bitcoin.org/bitcoin.pdf) didn’t work for you. Here’s another take from a Pythonic perspective. 

Andrej Karpathy   

[Is AWS Certification Worth It? Weighing All the Factors](https://www.lastweekinaws.com/blog/is-aws-certification-worth-it-weighing-all-the-factors/) — Essential qualification or waste of time? As always, _it depends._ 

Alex Chan   

[A Collection of Modern Alternatives to Classic Unix Commands](https://github.com/ibraheemdev/modern-unix) — Relates to our ‘tiny tools’ section below, somewhat, but with a variety of options, each shown off with a screenshot or animation. 

Ibraheem Ahmed       

# Top Tiny Tools 2019-2021 🔧   

supported by [![Okta\](https://res.cloudinary.com/cpress/image/upload/v1602154330/de7dtktheistsfpqdem4.png)](https://developer.okta.com/?utm_campaign=newsletter_cooperpress_all_multiple_inc_dev_sponsored-section_null&utm_source=cooperpress&utm_medium=cpc)     

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/m8aqzlbtgqa3neoedjv6.jpg)](https://htop.dev/)   

[htop: The Interactive Process Viewer](https://htop.dev/) — `htop` is a long standing cross platform tool that provides a better process viewing experience than standard `top`. v3.0 came out last year. You might also enjoy [these comments](https://github.com/hishamhm/htop/issues/992#issuecomment-683286672) by the main creator on what it’s been like to work on the project for fifteen (now sixteen) years so far. 

htop maintainers   

[Dog: A New Command-Line DNS Client](https://github.com/ogham/dog) — We had `nslookup`, we got `dig`, but in 2010 we got `dog` too.. and it’s really neat. I’m very much here for common command line tools being ‘rethought’ and modernized in Rust. 

Benjamin Sago   

[Ali: Generate HTTP Loads and Plot The Results in Real-Time](https://github.com/nakabonne/ali) — Go is fantastic at putting together tools like this. 

Ryo Nakao    

[[Download\] Forrester New Wave: Feature Management and Experimentation](https://learn.launchdarkly.com/forrester-wave/?utm_source=cooperpress&utm_medium=display&utm_campaign=21q1-cooperpress&utm_content=ebook_forrester_wave) — Learn how LaunchDarkly helps development teams reduce software release headaches & enable true testing in production. 

LaunchDarkly sponsor      

[wuzz: Interactive CLI Tool for HTTP Inspection](https://github.com/asciimoo/wuzz) — Think `curl` but with a text UI to show off request and response headers, manage params, etc. 

Adam Tauber   

[SQLPad: A Web-Based SQL Editor to Run In Your Private Cloud](https://rickbergfalk.github.io/sqlpad/#/) — Built in JavaScript but available to run via a Docker image, this elegant SQL query runner and visualizer supports MySQL, Postgres, SQL Server, Presto, SAP HANA, Cassandra, SQLite and more. 

Rick Bergfalk   

[nq: Simple Unix Command Line Queuing System](https://github.com/leahneukirchen/nq) — Small utilities for creating a lightweight job queue system in a very Unix-y way. Jobs are queued in an interesting way with chains of file locks. 

Leah Neukirchen   

[is-website-vulnerable: Find Known Vulnerabilities in a Site's Frontend Libraries](https://github.com/lirantal/is-website-vulnerable) — This is a neat tool, especially as `npx` lets you run it right now as simply as `npx is-website-vulnerable http://....`. Give it a try on your own site. 

Liran Tal   

[Falcon: An Open-Source, Cross Platform SQL Client](https://github.com/plotly/falcon#readme) — Built around Electron and React, this basic client can quickly do chart visualizations of query results and can connect to RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, Oracle, SQLite and more. 

Plotly   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ach9tpvmfytllqpqwcxb.jpg)](https://github.com/muesli/duf)   

[duf: Think `htop` but for Disk Usage](https://github.com/muesli/duf) — For Linux, BSD and macOS and written in Go. 

Christian Muehlhaeuser   

[Gitql: A Git Query Language and Tool](https://github.com/cloudson/gitql) — Lets you query a git repository using a SQL-like syntax, e.g. `select date, message from commits where date < '2014-04-10'` 

Claudson Oliveira    

[Free Chat & Activity Feed APIs for Qualifying Teams](https://getstream.io/blog/maker-account/?utm_source=statuscode_weekly&utm_medium=promoted_newsletter&utm_content=developer&utm_campaign=06_23_2021) 

Stream sponsor      

[gping: Ping, But with A Graph](https://github.com/orf/gping) — I had a shaky connection last year and wanted a more visual way to see the results of pinging 8.8.8.8 (I know, I know..) – this did the job pretty well and is written in Rust. 

Tom Forbes   

[nb: A Command Line Note-Taking, Bookmarking, Archiving, and Knowledge Base App](https://github.com/xwmx/nb) — Features encryption, filter/search, import/export in many doc formats, Git-based versioning, customizable color themes, extensibility via plugins, and more. Impressively entirely written in bash(!) 

William Melody    

And if you need encouragement to take a break.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1586275321/a07rxsfzbjzdgeoprmri.png)](https://github.com/schneefux/vscode-winddown)  

[Winddown: A VS Code Extension That Encourages You to Take a Break](https://github.com/schneefux/vscode-winddown) — After 25 minutes of use, this extension slowly fades out your syntax highlight colors, making things _just_ annoying enough to encourage you to take a quick break. 

schneefux    

**Got a new email?** You can [change your address here.](https://weekly.statuscode.com/edit_subscription/*|UID|*) 

--- 

**Bored of us?** [Click here to stop getting StatusCode Weekly.](https://weekly.statuscode.com/leave/*|UID|*) 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://weekly.statuscode.com/leave/*|UID|*)
