nikhil.io

sixty things tagged “computers

Cowsay! 🐮

I love me my cowsay. It’s a lovely amusement that greets me every time I open a terminal session. People typically use it with the fortune command but my cow moos a random developer excuse. I generate that using this bash function and this invocation: command -v cowsay >/dev/null 2>&1 &am…

“I Fucking Hate Jira” is a collection of people sharing their feelings about one of the worst pieces of software I continue to use every day.

Jira is middle-management-ware, a term I made up for software that serves the needs of middle management, or, at least, the needs middle management thinks it has, which comes to the same thing as long as you’re selling to them. (link) Jira is a tire fire. It should be condemned and officially des…

Disposable Software

The software industry is currently going through the “disposable plastic” crisis the physical world went through in the mid-20th century (and is still paying down the debt for). You can run software from 1980 or 2005 on a modern desktop without too much hassle, but anything between there and 2-3 ye…

Data, Data, Data

Linus Torvalds on git I’d also like to point out that unlike every single horror I’ve ever witnessed when looking closer at SCM products, git actually has a simple design, with stable and reasonably well-documented data structures. In fact, I’m a huge proponent of designing your code around the dat…

Computers Are Fast

A nice little quiz meant to illustrate how much your typical Python and Bash code can accomplish in one second. If the answer is 38,000, both 10,000 and 100,000 are considered correct answers. The goal is to not be wrong by more than 10x :) and A newer computer won’t make your code run 1000x fast…

Text Objects versus Motions

Excellent talk by Chris Toomey on Mastering the Vim Language. Features a lot of must-read Vim resources and nice-to-have plugins. Key takeaway for me: Prefer text objects to motions when possible (corollary: “Is this repeatable?”) https://www.youtube.com/watch?v=wlR5gYd6um0…

The Korn Shell

Good talk by Siteshwar Vashisht at FOSDEM 2019 on maintaining the Korn shell and old codebases in general. I came by his work while reading up on the fish shell. Featured this nugget He talks about how they removed dead/inapplicable code and micro-optimizations, refactored a lot of legacy code, imp…

Data, Data, Data

Vicki Boykis’ excellent article on every aspect of ‘Data Science’ I can think of: a little history, employment prospects, skills, education, and continuous learning. It would appear that more than half the job, at least, is wrangling (replicating, cleaning, imputing, transferring, understanding, aug…

JavaScript Delenda Est

Back in the second century BC, Cato the Elder ended his speeches with the phrase ‘Carthago delenda est,’ which is to say, ‘Carthage must be destroyed.’ It didn’t matter what the ostensible topic of the speech was: above all, Carthage must be destroyed. My opinion towards JavaScript is much like Cat…

Gandhi the Annihilator

At least in Civilization: [. . .] Gandhi tends to be the first to use nuclear weapons, and spares no expense on wiping your civilization off the map. You probably always thought you were crazy — how could a series that prides itself on historical accuracy portray Gandhi so wrong? Well, you’ll be ha…

Alan Kay on OOP

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them. – Dr. Alan Kay on the Meaning of “Obje…

Hugo Migration

Gave Hugo a try and was quite impressed by the ease and speed. The official documentation kinda sucks at introducing key ideas (like taxonomies) in a gradual way that’s helpful to newcomers, but is great for variable and function references. Found these two posts very helpful. Here’s another that ex…

Letters to a Computer

The Des Moines Register on how to send them email in (I’m guessing) the late 80s/early 90s. An article on how Baud Rate isn’t the same as Bit Rate Baud rate refers to the number of signal or symbol changes that occur per second. A symbol is one of several voltage, frequency, or phase changes. NRZ…

UI Pedantry

Can’t Unsee is “Spot the difference” for UI nerds. 6530. On the “hard” sections, wondered how much the minutiae matter if a user is unable to discern the difference between two comps after a few seconds. Via Deepu…

A Love Letter to the Internet of Old

In an age where we interact primarily with branded and marketed web content, Cameron’s World is a tribute to the lost days of unrefined self-expression on the Internet. This project recalls the visual aesthetics from an era when it was expected that personal spaces would always be under constructio…

Numbering from Zero

Dijkstra on why numbering should start from zero. Numbering is done with natural numbers. Let’s take zero to be the smallest natural number1. For the sequence (2, 3, 4, … ,12), using the convention (2 ≤ n < 13) is appropriate because For a sequence starting with zero, like (0, 1, 2, 3), the left…

Node Modules

For a single project I made the mistake of working on in my Dropbox folder: Wonder what the downsides are to hardlinking by default. And, fundamentally, why creating an amazing, Python-like standard library is such an intractable problem in the first place. […]  core-js is also utils library, qui…

It’s what they do at Google

In addition, engineers have commoditized many technical solutions that used to be challenging in the past 15 years. Scaling used to be a tough challenge, not any more for many companies. In fact, part of my daily job is to prevent passionate engineers from reinventing wheels in the name of achievin…

Linux and Switching

The problem isn’t CPU power. The CPU on any modern PC is going to blow away the processing power of any sort of network switch you’d care to buy except the really high-end ones. (Really high end. So high end that unless you already know them by name you are not going to want to buy them) Offloading…