This year I added Miller [0] to my list; a tool to process tabular data, similar to sed, awk, etc. It handles csv, tav, json lines, etc. in a consistent way. I like the delimited key-value pairs format, which allows me to write simple oneliners in bash to collect some data (e.g. "ip=x.x.x.x,endpoint=/api/x") and use Miller to crunch the results. Not sure it saved me 100h, but it was one of the biggest time savers this year!
Ask HN: Programs that saved you 100 hours? (2022 edition)
311–320 of 574 posts
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#312I feel like I have a unique one here. The chrome extension: "Replace Youtube's Home with Subscriptions" It has easily saved me over 100 hours by preventing me from continuously scrolling through youtube recommendations. https://chrome.google.com/webstore/detail/replace-youtubes-h...
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#313Not a program, but being very familiar with the keyboard shortcuts in SublimeText has saved me countless hours of dev time. Things like Ctrl-D to highlight multiple instances of a word, plus the ability to put on Caps checking in the search bar first so you're only highlighting correctly capitalized versions. Make the same change in multiple locations. Saves so much time. Knowing how to highlight a letter, a word, a…
It has also saved me over 100 hours or more.
And this includes its instantaneous speed and the ability to open huge files!
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#314Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#315http://freedom.to Block websites so you can focus on work. Different blocklists and different sessions makes it easy for me to stay focused during the week. Best investment in myself I ever made.
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#316Microsoft Excel. Manipulating tens or hundreds of thousands of rows, including cross-referencing across tables, is just so satisfying and much faster than doing it with a DB or code. Alternative spreadsheet software do some things better, but they don't come close as a complete package, I don't regret paying for it myself for the first time in my life. It such a life saver in a pinch. Obligatory Spolsky intro to Exce…
Pssh... adults use JMP ;-): https://www.jmp.com/en_us/software/data-analysis-software.ht... Trivia: JMP stands for "John's Macintosh Project". Also, the entire semiconductor industry depends on JMP just like the entire pharmaceutical industry depends on Minitab.
Still use Excel for quick stuff but otherwise it's pandas for me.
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#317Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#318Not a program, but the concept of functional programming and pure functions. It makes it a lot easier to think about code, and also makes it easier to test and parallelize code. Although be warned, it can also have the "side-effect" (functional programming pun!) of making you somewhat insufferable as you try to convince everyone around you that functional programming is amazing.
Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#319Re: Ask HN: Programs that saved you 100 hours? (2022 edition)
#320Earlier quoted context omitted.
sed -i "s/function_name/function_name2/g" $FILES && git restore $FILES Edit: Not claiming this is better, just saying what I get by with. I have never used an IDE in my career so far, or any autocomplete or code modification features.
It cannot differentiate between a field in a class and a variable in a method, or even a word in a comment, can it?
I did sth like that (I had bash scripts for common programming "refactorings" and "queries" like "print all classes and methods where this variable is used"). I couldn't use a modern IDE cause we were programming on a legacy linux server through ssh for licencing reasons.
And the (C++) code was written by a guy that learnt C++ and OOP on the job and it showed. Class hierarchies were sometimes 8 levels deep and class variables were reused for different purposes to "save effort on serializing them" :)
So if the user interactions were in the same order and with the same text prompts - a class would inherit them and add some new ones. Even if the old class was just accidentally asking the user similar questions :) So OR_PalNr could mean shelf number in base class and Printer number in descendant, because both times the user was asked to "scan the barcode", while the callstack was a mix of methods from both classes :)
Fun times.
BTW nowadays I mostly work with IntelliJ, but sometimes a script is still the best way to understand the code. For example grepping the git blame output is often very useful. It's never 100% reliable, but it's often good enough.