Software I’m Thankful For



legrande 6d
This reminds me of Steve Jobs' email to himself. In 2010 he wrote:

I grow little of the food I eat, and of the little I do grow I did not breed or perfect the seeds.

I do not make any of my own clothing.

I speak a language I did not invent or refine.

I did not discover the mathematics I use.

I am protected by freedoms and laws I did not conceive of or legislate, and do not enforce or adjudicate.

I am moved by music I did not create myself.

When I needed medical attention, I was helpless to help myself survive.

I did not invent the transistor, the microprocessor, object oriented programming, or most of the technology I work with.

I love and admire my species, living and dead, and am totally dependent on them for my life and well being.

Sent from my iPad


Dalewyn 6d
Strangely enough: Windows.

Yes, I fucking hate Windows 10/11 for several laundry lists' worth of reasons, but you know what? At the end of the day, Windows is the only desktop OS that enables me to use my computer to do the shit I need or want to do.

So long as that fundamental principle as a tool is not violated, I will forever be thankful for Windows regardless what criticism I might have for it.

danpalmer 6d
I have to add Django and Postgres to this. Both rock solid, stable, but still staying up to date and improving without being trend-driven.
scorxn 6d
I'd have to add Pi-hole to this list. Anytime I browse the web on another network, I'm reminded just how much crippling ad garbage it's sparing me.
vincent-manis 6d
Emacs. TeX/LaTeX. Classic Unix. i3. A bunch of Scheme implementations. Tcl/Tk.
tezza 6d

  stream deck
  firefox / thunderbird
  socat / netcat
  postgres / mysql
  ms windows (ducks)
  ms excel
giuliomagnifico 6d
I share/approve many of them! I think that is incredible how a computer/software can change your life. If you’re born for the ‘80/‘90 and you remember how it was the life “without software”.
insane_dreamer 6d
git - can't imagine working without it


unit test frameworks - what a godsend

ruby - brought joy to writing code, even if I don't get to use it much anymore

gorjusborg 6d
httpie neovim redis asdf-vm keepassxc
eminence32 6d
Rarely a day goes by that I don't interact with tmux or vim or mosh. It's hard to imagine life without them
loudmax 6d
> WireGuard is a great demonstration of why the total complexity of the implementation ends up affecting the UX of the product.

This is absolutely true! Probably everything you could do with WireGuard you could accomplish with OpenSSL/OpenVPN, but the complexity is staggering. This makes it much more difficult to troubleshoot and far more likely that there will be an error in the configuration that could lead to compromise.

_ink_ 6d
JetBrains IDEs. I need to work with three different languages and it is just a blessing that every IDE works exactly the same.
onehair 6d
ffmpeg is one software that come to mind. At first it sounds and looks complicated, but all the internet video is ran by it, and now even for small stuff I use it with admiration
lemper 6d
I don't know about you, but I can't buy bread with 'thanks.'
dividedbyzero 6d
The fish shell, makes using the shell feel almost painless.

Hammerspoon, I use it to automatically switch audio devices based on context, so every call uses the best microphone currently available, window management via keystrokes, limiting media keys to Spotify, tons of other things. Indispensable.

Arduino, I don't think I would be able to tinker with microcontrollers as much if I had to write C and use obscure toolchains directly.

Solvespace, a limited but usable free CAD for simple parts to be 3d printed. Wish there was a real contender to the commercial ones though, or a free tier that doesn't smell like it's going away any time. Still very thankful that SolveSpace exists.

The Scala 3 compiler and the VSCode plugin for v3. Absolutely love the language and the experience is so much better than with IntelliJ, haven't had as much fun writing code in ages.

This will be a bit controversial, but Kubernetes, because if people use it via GKE, EKS etc. then I won't have to learn their organically grown solution to the same dozen-or-so operations problems, and I have yet to see one that isn't a hot mess in some way or other. Also anything running on top of Kubernetes won't be built the very old-fashioned vi-edits-on-server way, great for sanity.

Various modern messenger apps (Telegram, Whatsapp, Instagram's direct messages, ...) because I would hear a lot less from some highly cherished and very non-technical people in my life without these incredibly slick and fun and convenient apps. As one who's old enough to remember being dependent on landlines and payphones and letters, this still feels like a miracle.

rlam2x51 6d
Fork - a fast and friendly git client

Beyond Compare 4 - compare files and folders

uBlock Origin - An efficient blocker add-on for various browsers. Fast, potent, and lean.

Those tools made my life so much easier. Can't recommend them enough.

Just a happy user and not affiliated

mindcrime 6d
Turbo Pascal, Turbo C++, Borland C++ - not for anything I do today, but for being a big part of my gateway into programming back in the early 90's.

OS/2 - was my OS of choice until I switched to Linux full-time around 2000 or so.

















All things that have made my life much easier and more productive in more ways that I could probably count.

Oh, and can't forget Firefox, VLC, and XMMS. Those are essential as well.

Might as well add AWS too. For all the (fair) criticisms one could level at Amazon, AWS is an incredibly valuable resource and has been a big part of my world for the last 10 years or so.

rs_rs_rs_rs_rs 6d
Software I’m Thankful For: the linux kernel and the gnu userland that's the base for the linux distributions I'm using for the last 20 years. I can't image a life without them.
linsomniac 6d
Python - It (still) makes writing software enjoyable for me.

Type annotations: Started using them this year and it allows my editor to give me all sorts of hints about things I'm doing wrong.

Typer / Click: I've been writing a bunch of CLIs this year and Typer and Click make this really fun.

Wezterm: Went all in on this terminal 3-4 months ago and it's really great! In particular I like the "copy mode" features and it's "tmux+mosh" abilities.

LunarVim: Been using it for ~9 months, and it gives me all the advanced developer features I felt like I was missing in my various attempts at a custom vim setup, without the pain.

sway / i3wm: On my 4th year using it and it just fits my workflow so well.

scop 6d
Outside of OS & text editor (vim), there is one tool that I use countless times every, single, day:

fzf (

I can only wonder how much time fzf has saved me in the long term.

In terms of "software that I don't use for writing software", iA Writer is probably what I am most grateful for.

onemoresoop 6d
Two small contenders nobody mentions here are Winmerge and Notepad++, my daily drivers that are quietly just working.
sleepycatgirl 6d
Let's see.. Software I am thankful for.. there is a fair amount of such.

Anki - Software, that helped me build up habit, and made learning language an easier task

Emacs - Wonderful text editor, made interacting with system a bliss.

Nix/NixOS - Distro, that made updates a painless, and fearless task. I love it.

ZFS - Filesystem that I love, for it has many wonderful features, and they all just work. (Also cute compression)

Wine + DXVK/VKD3D - Thanks to this, I was able to completely drop windows partition, and go full Linux.

LaTeX - Thanks to it, I could have cute workflow for writing documents (And yesterday, wrote CV with its' help :D)

Calibre - Man.. what a behemot of book software. Makes anything ebook related painless

Common Lisp(SBCL) and Haskell(GHC) - Very interesting languages, with very wonderful features. I love them both.

Cool retro term - For playing roguelikes, lets me experience them in very retro, retro way.

Obviously, ublock origin, makes browsing web not a nightmare.

Aseprite - wonderful pixelart software.

There is more, but... I will stop there, to make the comment.. not too long.

wan_ala 6d
Suprised no one mentioned SHA256. I know there's not a official SHA256 implementation but i guess any implementation (except OpenSSL) is good.

Left out OpenSSL because of poor docs and a small amount of developers. Last I had seen it was like 2 or so.

umutcnkus 6d
I'm also in for most of the stuff others mentioned(VS Code specially), but two never mentioned I'm grateful are 'Flameshot' and 'Gitkraken'.
godshatter 6d
For me the list is:

  - Linux

  - gcc, vim, git, make, et al

  - KDE

  - firefox

  - yakuake (terminal that drops down like the old Quake console used to)

  - libre office

  - mpv

  - Steam and Proton (which have made gaming work very well on Linux and have contributed to the complete loss of all productivity gained by any of the above programs).
ekrebs 6d
The responses so far say so much about the HN audience. As a mobile app designer, developer, I'll throw in some higher level tools that I love: - Figma - Slack - VS Code - DataGrip (most JetBrains tools really) - Photoshop - 1Password - Lightroom (Classic, of course) - UBlock Origin - Gusto (makes my life easier as a startup founder)
bloopernova 6d
Stuff I'm thankful for, in no particular order. None of these are particularly unique to me, nor are they obscure and hipster, they're just stuff I have found myself really thankful for.

powerlevel10k because it makes adding custom sections to my shell prompt really straightforward.

terraform because I have a job wrangling it lol

asdf because it manages versions of software for me really well and it has thus far been rock solid reliable.

Emacs because it's about as configurable and customizable as my most insane requirements. And emacs lisp is very cool. Similarly, vim and vscode are also dear to me.

Factorio! because of course Factorio, it's amazing. Similarly Kerbal Space Program.

Firefox for standing up against the chrome hegemony nowadays, and for being so exciting back in 1998 with its initial open source decision.

And Tree Style Tabs, because every time I have to use a browser without it, my skin crawls at the lack of organization.

And the big ones: grep, sed, awk, cut, sort, uniq, jq for all the times they've turned something incomprehensible into something useful to this tiny mind.

bravetraveler 6d
I really appreciate the Docker registry software.

It's wonderfully simple, yet really flexible. You can make a registry of registries, back it by object storage, and a whole bunch of other things.

I've had to manage these at work and I love the relatively simple yet useful reach of support.

There have been some strange bugs. Up until ~2.8.1 it was ignoring TLS cipher settings.

I believe still... getting consistent HSTS headers for it [in scanning] requires a real webserver.

Non-200-OK requests lack the header, leading to what I'd call false positives

If I can gush for a moment: the whole Linux/OSS ecosystem, really. So many giants depend on the work of not that many really clever groups

neonSonOfXenon 6d
In no particular order:

Vivaldi Browser, because I was a heavy Opera user back in the day

VS Code and all of its fantastic debug extensions

Maven, which has made my life as a Java dev so much easier

fish shell, which comes with a lot of convenience features enabled out of the box

Krita, for providing me with a free yet fully-capable option for digital painting

Kind of the entire KDE suite in general, including Plasma

OpenMPT, same reason as Krita but for music composition

F#, which I don't get many opportunities to use, but I love the design philosophy behind it and think the syntax is gorgeous

Monospaced fonts with ligatures (Fira Code being my favorite)

Google Calendar, without which my life would be a completely disorganized mess

MusicBee, which provides iTunes level of music organization without being iTunes

Markdown + Typora, for letting me throw together quick but well formatted documents without having to set up a TeX install or deal with a full-blown word processor

Qt and QML, which taught me that UX design doesn't have to be painful

kasperset 6d
Visidata - Helpful to view excel/delimited text file to glance the data on TUI

Vscode - I was very skeptical of this text editor but it won me over. There are some rough edges but overall very good.

MacOS - Overall a stable operating system.

R Programming Language - Has flaws but works generally good to explore and clean data. Special thanks to Ggplot2 to make it bearable to make plots.

Folder Peek - Allowing me to switch different projects/folder from Menu bar.

lbotos 6d
Imapsync has been the one for me:

There is a docker container thats super easy to use. It's worked flawlessly for me the two times I've needed it. Each time I use it I donate because it's clearly a great bit of code.

throw7 6d
I cannot disagree with not one of's software I'm thankful for...

except vi... seriously you heathen??? emacs 4ever ;)

causality0 6d
If this thread has prompted you to go through your personal archive and update it, please remember that it's very possible that one or more obscure projects have taken over by bad actors and now contain malware. Be careful downloading an installer for that ten year old program.
aliencat 6d
Karabiner is incredible for making keyboard shortcut to do some pretty complicated task. Obsidian, what a note-taking app! Makes Evernote looks like a dinasour. Vim (and NeoVim), you learn it once and use it for everything.
Aeolun 6d
I’m thankful for all the framework authors that make it reasonable for me to author my own software without having to reinvent the wheel.
holri 6d
I am thankfull for all the free software people write and share to make this mess a little bit better world.
antman 6d
Python because it provided me with a great living

Google ortools because life and work needs optimization

Pysot because life and work needs optimization

Pocket because it is the only thing that allows me to organize my online research

Google colab because it allowed me to punch far above my weight in terms of computational resources

Microsoft office because although a vendor lock in it is lingua franca

Jupyter notebook

Dolphin browser fir android because it is the only one that allows plugins anymore sldo ublock also bypass paywall clean

Anki because learning

Obsidian because it takes note taking to the extreme Gmail

0xmohit 5d
Nobody seems to have mentioned pandoc [0].


74ls00 5d
Lots of mine (like git and vim) have already been mentioned, so here's some different ones

The Elm compiler, for giving me a welcoming on-ramp into functional programming. It's not the best nor my favourite, but its by far the most beginner friendly and is worth all developers learning for how it changes the way you think.

ed, whichever implementation you chose. And that's precisely what I'm thankful for. It showed me (via Michael W Lucas's book) that a software program can be fully specified, that you can have the entire spec in your head, and that you can just pick up any compliant implementation. So very refreshing.

Peter5 5d
Everything (Instant file search):
ziotom78 5d
Lots of good entries, I'll add a few that haven't been mentioned yet:

- ncdu, to find out which files and folders take up most of the disk space [1]

- julia, because scientific programming was never so fun and fast [2]

- midnight commander, because a TUI implementing Norton Commander dual-pane view is so useful! [3]

- lazarus, because creating multi-platform desktop apps couldn't be simpler [4]

- zstandard, its performance are awesome!






aborsy 5d
Linux, LaTeX, SSH, Vim, rsync, keepassxc.

I haven’t actually seen Windows since 2006. I run Linux on laptops too. If you do video editing, maybe a Mac or apparently a windows would be better. Otherwise, Ubuntu LTS works well.

BilalBudhani 5d
Agree with all the softwares author listed, I would like to add:

- Ruby and Rails - Homebrew - Sublime Text / VSCode - iTerm2 - Git

spider-mario 5d
The list is itself very focused on software making. How about mentioning some end-user software as well? Otherwise it makes it sound as though software development is purely an end in itself. Why be grateful for gcc, the Go compiler or SQLite if not for the software that they enable to exist?
blooalien 5d
Software I'm thankful for (2022): Everything open source, even that which I do not use myself, because it's still there to benefit others, and it's there for me to learn from, adapt, etc, etc. Even bad open source software can be a good lesson in how not do to a thing, or may have some good bits worth learning from or adapting. So yeah, I'm thankful for open source software … All of it. My use of computers has been richer for it.
olumiere 5d
I'm thankful for software based on open standards, like the Internet stack, email, Matrix for communications, ...
avl999 6d
Shellcheck : Shell scripts are unavoidable, you have to write one every now and then but shell is a terrible language with massive footguns around every corner. I don't write shell scripts extensively enough to remember all those footguns and even if I did, not sure I'd want to waste brainpower remembering all that archaic trivia.

Shellcheck makes writing shell scripts bearable and dare I say somewhat enjoyable. They have managed to collate all the shell scripting potholes and tribal knowledge into one static analysis tool. No shell script now gets checked in at work or on my personal machine without being pumped through shellcheck.