Top all-time · #3894
Ilya's blog
Personal blog · ilya-sher.orgprogrammingsystems
Ilya's blog is a personal blog at ilya-sher.org about programming and systems. Since 2016, 19 different Hacker News readers have linked it 85 times, most often “List of JSON tools for command line”. It is still writing: the last post was on 2026-07-06, and you can follow it by feed.
Systems and software engineering
Most-linked posts?
- List of JSON tools for command line6 people · 8 mentions · first linked 2018-04-10
- Jq is a symptom that bash can not handle the reality3 people · 6 mentions · first linked 2018-09-10
- Google deleted our G Suite3 people · 3 mentions · first linked 2018-03-27
- Why I have no favorite programming language2 people · 5 mentions · first linked 2017-10-10
- Bash or Python? The Square Pegs and a Round Hole Situation2 people · 3 mentions · first linked 2020-11-01
- Please don’t use Puppet2 people · 2 mentions · first linked 2017-06-09
- On Information Loss in Software2 people · 2 mentions · first linked 2019-05-20
What Hacker News says?
A few of the tools listed here seem to work like that, or roughly similar: https://ilya-sher.org/2018/04/10/list-of-json-tools-for-comm... I didn't check any of them out though.
Comment linking /2018/04/10/list-of-json-tools-for-command-line/
on “Zq: An easier and faster alternative to jq”Submitted Tips for beginning systems and software engineers as a story · 217 points
HN discussionWhile we are at it, I have a list of JSON tools for command line here - https://ilya-sher.org/2018/04/10/list-of-json-tools-for-comm...
Comment linking /2018/04/10/list-of-json-tools-for-command-line/
on “Zq: An easier and faster alternative to jq”Submitted Why I have no favorite programming language as a story · 58 points
HN discussionSorry. "elegant" here triggered. https://ilya-sher.org/2021/03/19/running-elegant-bash-on-sim...
Comment linking /2021/03/19/running-elegant-bash-on-simple-kubernetes-rant/
on “Bash functions are better than I thought”Submitted Python 3.8 Makes me Sad Again as a story · 24 points
HN discussion> writing shell scripts in Python to be cumbersome because whatever flavor of os.system() I end up using just doesn't work well syntactically. This is exactly how I felt. Bash can't handle structured data well. Python (being general purpose programming language) can't handle calling external programs well because it's not the "focus" of the language. My shameless plug solution is a "real" programming language that c…
Comment linking /2017/10/10/why-i-have-no-favorite-programming-language/
on “Bash functions are better than I thought”Submitted The sudo fraud as a story · 12 points
HN discussion(author here) Hm I've tried fish, and it seems very nice for interactive use. However I don't see it being used AT ALL for the cloud/linux use case? Those are the cases where you tend to get 1000+ lines of shell scripts. For example, I mention Kubernetes/Docker/Chef, and I've never seen fish in that space. I also don't know of any Linux distro that uses fish as their foundation -- they all appear to use a POSIX shel…
Comment linking /2017/07/07/why-next-generation-shell/
on “Why Create a New Unix Shell?”Submitted Google deleted our G Suite as a story · 9 points
HN discussionLuckily for us, Unix is easy to enhance by adding new "skills" to it - a quick search brought me to https://ilya-sher.org/2018/04/10/list-of-json-tools-for-comm...
Comment linking /2018/04/10/list-of-json-tools-for-command-line/
on “Removing duplicate lines from files keeping the original order with Awk”Submitted Interesting features of Perl 6 as a story · 5 points
HN discussionNice... but how you fix the way something fundamental as the way `if` works in bash? Each `if` is a bomb. `if grep -q ...;then ...;else ...;fi`. Two branches for three possible exit codes. Given a long script and big amount of output, you will miss the error message such as "file not found" and the execution will peacefully continue into the else branch. Things like the above motivated me to create Next Generation S…
Comment linking /2020/10/31/bash-or-python-the-square-pegs-and-a-round-hole-situation/
on “Pure Bash Bible – A collection of pure bash alternatives to external processes”Submitted Jq is a symptom that bash can not handle the reality as a story · 5 points
HN discussionIt's always the same trajectory with declarative programming. It starts with "it's just configuration, we need something simple". Then users come with use cases which are more complex. Then you have programming language on top of configuration language syntax. * https://ilya-sher.org/2018/06/30/terraform-becomes-a-program... * https://ilya-sher.org/2018/09/15/aws-cloudformation-became-a...
Comment linking /2018/09/15/aws-cloudformation-became-a-programming-language/
on “YAML: It's Time to Move On”Submitted OpenStack is not ready as a story · 5 points
HN discussionOpinion: Today's shells should have structured data; `jq` is a symptom of a shell that can't handle structured data. https://ilya-sher.org/2018/09/10/jq-is-a-symptom/ My bias: I'm the author of Next Generation Shell.
Comment linking /2018/09/10/jq-is-a-symptom/
on “Bringing the Unix philosophy to the 21st century (2019)”Submitted List of JSON tools for command line as a story · 4 points
HN discussionYep. Worked for us when the issue got quite a bit of attention. Details - https://ilya-sher.org/2018/03/23/google-deleted-our-g-suite/
Comment linking /2018/03/23/google-deleted-our-g-suite/
on “I'm tired of Google's business products”Submitted AWS CloudFormation became a programming language as a story · 4 points
HN discussionIn that case, welcome to Next Generation Shell (I'm the author), which actually cares about errors when running external programs. Yes, I mean much more than naive "non-zero is error" because that's just not true in many cases. https://ilya-sher.org/2017/01/28/ngs-unique-features-exit-co...
Comment linking /2017/01/28/ngs-unique-features-exit-code-handling/
on “Zx 3.0”Submitted AWS Cloud Control Is in for Review as a story · 3 points
HN discussion> next gen shell needs to focus on structured data Agree completely. I wrote about this "JQ is a symptom" - https://ilya-sher.org/2018/09/10/jq-is-a-symptom/
Comment linking /2018/09/10/jq-is-a-symptom/
on “Alternative Shells”Submitted “But It Works” as a story · 3 points
HN discussionOpinion. Likely controversial. The fact that we need jq highlights that we are missing this functionality in shells. I argue that these days (nested) structured data is as basic requirement as having scalars, arrays and associative arrays (which bash has). It hurts my eyes seeing five line of assignment to variables where each one runs jq to extract that particular field from a data structure. More at "jq is a sympt…
Comment linking /2018/04/10/list-of-json-tools-for-command-line/
on “A Common Lisp jq replacement”Submitted JQ is a symptom as a story · 3 points
HN discussion> visual boundary I agree with this so much that I have added (some time ago) a syntax for that to Next Generation Shell. https://ilya-sher.org/2019/10/21/section-syntax-next-generat... TL;DR: section "Add a vertical scroll bar" { ... }
Comment linking /2019/10/21/section-syntax-next-generation-shell/
on “Useful and useless code comments”Submitted How fucked is AWS CLI/API – rant and vision of alternative as a story · 3 points
HN discussion> I'm rambling a bit, I'm not sure my thoughts on the matter are that coherent. [...] Do shells languages have to be as capable as general purpose programming languages, and if so, why? I think your thoughts here are definitely coherent, and in fact you're getting to the heart of the issue. This exact question is pretty central in motivating many next-generation shells. I'll refer to the documentation of a few of th…
Comment linking /2020/10/31/bash-or-python-the-square-pegs-and-a-round-hole-situation/
on “I want a better shell (2019)”Submitted Google deleted G Suite of Startup because of a missed email as a story · 3 points
HN discussion