log.nikhil.io

fifty-seven 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…

K&R is the One True Indentation Style

Via Wikipedia. I am “not able rightly to apprehend the kind of confusion of ideas that could provoke” the genesis of other styles. “Haskell Style” has to be a joke (like this masterpiece) and I just pray I don’t encounter it in the wild1 🙏 // Allman while (x === y) { func1(); func2(); } // Hor…

On the Tragedy of systemd

Spent a decent portion of my professional life with init.d. Had to deploy a set of Ubuntu servers last week (use FreeBSD at home), which marked my first actual brush with systemd after a long while of sysadmin-ing Linux systems. It’s weird, takes some getting used to, and has a lovely Enterprise™ sm…

“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…

It’s Wednesday

My dudes. Cached here via YouTube because it is too precious to be yanked off the internet. Via Rob G. /misc/w/wednesday.mp4 It also occurred to me that the OS in the video would be more usable, more respectful, and less full of spyware than the giant crock of shit that is Windows 11.…

Check Everything and Twice

A couple from snowy Minnesota decided to take a winter vacation back in the simple Florida resort where they had stayed for a honeymoon twenty-five years before. Because of his wife’s delayed work schedule, the husband went first, and then when he got there he received a message that she would me…

Oracle

Here’s Bryan Cantrill’s classic assessment of Oracle Corporation (taken from this talk.) /misc/b/bryan-cantrill-oracle-1.mp4 On Twitter, a year after that video: If you were an enterprise database customer who hadn’t heard of the Nazis, might it be easiest to explain them with Oracle allegory? @b…

On The Future of Computers

Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them. Frank Herbert, Dune…

The Bieber of Comic Sans

From an interview with Vincent Connare, creator of Comic Sans: Q. What do you think of comic sans’ detractors? A. I think most of them secretly like Comic Sans — or at least wish they had made it. Interesting fact: the main designer at Twitter tweeted that the most server space is used by complaint…

“Windows is more than just an operating system; it’s a fabric woven into our lives and in our work.”

No. It’s just a fucking operating system1. A giant program on a computer. What weird, disconnected, embarrassing bullshit ‘spiritual’ techbro nonsense. “We made a website full of memes you can search through, powered by Bitcoin and Machine-Learning (of course), and are changing the world.” No. Stop…

Two Walking and One Dancing

Two absolutely mesmerizing videos by Universal Everything. I could watch them for hours and might just loop them on the old iPad. This one’s called “Walking City” https://vimeo.com/85596568 Here’s another called “Transfiguration” 🙌 https://vimeo.com/429924982 Here’s a third video (not by Universal…

Using AWS Without Succumbing to Hype, FOMO, and Over-Engineering

by Daniel Vassallo

This is how I use the good parts of @awscloud, while filtering out all the distracting hype. My background: I’ve been using AWS for 11 years — since before there was a console. I also worked inside AWS for 8 years (Nov 2010 - Feb 2019). My experience is in web- sites/apps/services. From tiny persona…

On Software Engineering and Complexity

me, a software engineer: large scale production systems are complex and require teams of experts to keep running. It’s near impossible to get right 100% of the time me, when an app I use goes down once: these fucking clowns, what the fuck @aweary…

Real Programmers Don’t Use PASCAL

by Ed Post, Copyright (c) 1982

Back in the good old days – the “Golden Era” of computers, it was easy to separate the men from the boys (sometimes called “Real Men” and “Quiche Eaters” in the literature). During this period, the Real Men were the ones that understood computer programming, and the Quiche Eaters were the ones that…

A Custom “Linux Router, Firewall and IDS Appliance”

The focus of this project is to build a super reliable, durable, and stable network device from tried and tested tech. This is not a project for pushing the limits or testing out flashy new stacks. This affinity for ‘boring’ technology will reflect on most of the choices made here, from the hardwar…

The Scunthorpe Problem

The Scunthorpe problem (or the Clbuttic Mistake) is the unintentional blocking of websites, e-mails, forum posts or search results by a spam filter or search engine because their text contains a string of letters that appear to have an obscene or otherwise unacceptable meaning. Wikipedia Example…

Build Your Own Lisp.

Learn C and build a basic Lisp #VALUE 😍…

The First Thing Ever Bought Online was Weed.

Of course. Well, the transaction was in person and in cash (of course.) It was just a little bag of weed sold through an Arpanet account in Stanford’s artificial intelligence lab in 1972. It’s not clear who was in on the sale aside from the students, but despite the underhanded nature of the deal,…

On The Evenings

It’s a well-known fact that computers run faster in the evening. Robert Virding…

Highly Informed Outrage

A lovely Techbro aside from the ongoing #shitkraken. Greg Stenstrom, another poll watcher, said that in Delaware County, 47 USB cards were missing. “As a computer scientist, an American and a patriot, it doesn’t matter who those votes were for. It was shocking to me that that could even happen,” h…

Sudowrite

helps you “bust writer’s block and be more creative” using an AI. Came by it after reading this amazing result of a collaboration between GPT-3 and James Yu.…

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…

How to Decode a QR Code by Hand

See also: “Creating a QR Code step by step”…

The AppleTV Remote Sucks

Dec 9 It’s so bad a Swiss company made a much saner substitute that sells for ~$20. Nov 16 Looks like you can use the old remote with the new AppleTV. I’m annoyed every time I have to use the infernal thing. It tries (poorly) to be something other than a damn TV remote1. There’s no way to tell w…

AppleTV, AppleTV, AppleTV

I absolutely love Dustin Curtis’ splendid explanation of “AppleTV” branding that’s making making the rounds on HN. For posterity, I stole this handy color-coded transcription off Michael Tsai’s blog. See also: The intractably stupid AppleTV Remote.…

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…

Digital Octopode

Never knew this was a thing. Behold a pliable, $200 digital model of an octopus for 3D Studio Max (with “72366 Faces and 71879 Vertices.”) /misc/o/octopus_3d.mp4…

Two Levels of Not Giving a Fuck

No Code is the best way to write secure and reliable applications. Write nothing; deploy nowhere. Start by not writing any code. Brilliant. I love both the presence and contents of the Dockerfile in that repo. As is always the case with such projects, the issues and pull requests are 💯 And if one…

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…

A Lisp Interpreter in Python

Peter Norvig: (How to Write a (Lisp) Interpreter (in Python)). See also: HyLang. Looks super cool and always makes me wonder if anyone’s ever used it in production.…

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…

Assistant Executive for the Task Force on Employee Services

Via GLP, a University Title Generator that generates “prestigious” titles and associated salaries. A few random gems Associate Coordinator of the Subcommittee for Community Services Deputy Vice President of the Office of Alumni Planning Provost for the Subcommittee for Investor Diversity Vice Chair…

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…

Old iOS Theme

Found screenshots of a beautiful vintage theme I’d installed on my iPhone 5 via Cydia when I was stupid enough to jailbreak my phone. Wish I could still use it though 😍…

Witch

Witch is cmd + tab on steroids.…

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, q…

Winter Coding Challenges

Advent of Code (via BE, 25 challenges.) The Elevator Saga (via co-worker, 18 challenges.)…

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…

Capturing Donald Glover

Wahyu Ichwandardi used MacPaint and Macromind VideoWorks/Director on an old Mac SE to create this wonderful frame-by-frame animation of “This is America”.…

History of Java

Saw this minor dis by Safari and then this video on the history of Java. Also by the author: something of a tribute to Flash (RIP.)…

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…