RSSAmplifier

Blog

Curried Lambda (thunk edition)

wozniak.caRSS feed ↗20 posts

Latest posts

Readings

How to Escape From the Iron Age? An insightful look at how much energy it takes to make steel and how much energy it will take to create solar power panels and wind turbines. Burn It Down: A License for AI Resistance Melanie Dusseau nails it. Read this (apologies for an Inside Higher Ed link, though). The International Space Station Has Been Leaking for Five Years Guess what? Maintenance matters.…

Evaluating new(ish) command line tools

There are many new(ish) command line tools out there that seek to replace existing tools. That's fine by me. I saw a list of some so I checked them out a while ago. ripgrep This one is pretty good, but I don't use it because in my work I have found grep and git grep to be just fine. So there's no compelling reason for me to switch. I would pick ripgrep over ag and ack based on past experience. exa…

Laziness is your fault

The Racist, Exploitative History of ‘Laziness’ (Yes, it's a Medium link. Sorry.) Full of great stuff. One powerful way the country’s enslaving class attempted to justify enslavement and coerce enslaved people into working hard was through religious teachings and indoctrination. A productivity-obsessed form of Christianity evolved from the older, more Puritanical idea that work improved moral…

Food truck festivals are overrated

I went to a food truck festival today and while I want to support local events and try some different foods, let's face it: these food festivals are overrated and generally not worth attending. When you go to these things, they are usually held in a public park or some field where there is little tree cover. The trucks aren't staffed with many people (they can't be, really) so this means there are…

GNU Make and FizzBuzz

This is a pared down version of a comment I left on Lobsters . It's FizzBuzz implemented entirely in GNU Make. Some of this is taken from John Graham-Cumming's excellent The GNU Make Book . # GNU Make implementation of FizzBuzz _pow2 = $(if $1,$(foreach a,x x,$(call _pow2,$(wordlist 2,$(words $1),$1))),x x) _all := $(call _pow2,1 2 3 4 5 6 7 8) num = $(words $1) val = $(wordlist 1,$1,$(_all)) decr…

Software archiving for fun, and not much else

Recently I helped clean out the office of someone who had passed away. They were a bit of a hoarder and there was a lot of software lying around. There was enough interesting stuff that I just grabbed almost all of it and brought it home to archive it. I spent today copying most of the DVDs, CDs, and floppies that I obtained. I also decided to archive some CDs of my own that I have had for a…

Decentralization musings

I have mixed feelings on decentralization. I think it's mostly a good thing, but now I'm beginning to see that it's not really something that is sustainable. Consider the Internet. It started out as a bunch of networked machines that were mostly accessible by everyone. Now it's a somewhat small set of services used by a lot more people. This is upsetting to some people. I get that, since it kind…

Online shopping from someone who hates shopping

I was looking for a new desk. You'd think that wouldn't be too bad. Turns out you'd be wrong. I was considering an L-shaped or corner desk, given how I want things to fit in my home office space. I'd also prefer to get something made locally (or close to it) and something that's pretty solid. I can find those things, but not in a decent size. Sadly, most desks I've found are monsters. The…

The banality of the normal

I love this quote from Middlemarch , by Mary Ann Evans. We do not expect people to be deeply moved by what is not unusual. That element of tragedy which lies in the very fact of frequency, has not yet wrought itself into the coarse emotion of mankind; and perhaps our frames could hardly bear much of it. If we had a keen vision and feeling of all ordinary human life, it would be like hearing the…

Wherein org-mode was a pain

I've added RSS and Atom feeds to this text blog and it's probably the best way to consume it. But more importantly, I stopped using org-mode to try and publish the site because, honestly, it kind of sucks. I write all these entries in org-mode because I generally like Emacs for writing. I used to publish the site using the publishing capabilities of org-mode. The configuration was a bit of a…

#TechnicolorRainbow: "Afterwar" and "Snow Crash"

Afterwar . Lilith Saintcrow, Orbit, 373pp., 2018. Snow Crash . Neal Stephenson, Del Ray, 563pp., 1992. Lilith Saintcrow's Afterwar is a remarkably gritty and satisfying read, but is not for the faint of heart. Although the plot is a revenge-style chase, it's mostly a terrifyingly tantalizing look at what isn't all that far from possible in the United States these days. It takes place at the tail…

Discovery, experience, and interfaces

There was a blog post on StackOverflow published recently about IDEs that was not very good. It has, predictably, with its impoverished quality, generated a lot of response. Lots of the responses, though, are just as bad. A couple key ones that keep coming up is that GUIs are inferior to text-based interfaces (read: terminals) and that command line interfaces are always faster than anything that…

The old days of debugging

If you read some old software development literature, you will notice that the stages of development go something like this. Gather requirements Design the program Code Debug Test The funny thing there reading this today is that debugging comes before testing. We've basically reversed that these days, and it is mostly a benefit. It's easy to be dismissive of the order but it would be wrong to do…

The love/hate that is Emacs Calc

Have you ever tried to use Emacs Calc? It's really damn useful and really damn frustrating. Part of the reason for this is that the manual is a monster to navigate. Suppose for the sake of argument that you want to calculate the number of days between two dates. OK, let's go to the manual. Now, because I have experience with this, I know to look in the data types section of the manual. If you…

An example of software development writing that irks me

A recent article about technical debt had a bit that bothered me. In addition to just being frustrating, good software developers have a burning desire to keep their skills up-to-date. Systems with high tech debt are very difficult to work with, much less keep up to date. As a result, developers are stuck with libraries and frameworks that are many years old. They fear they will break something,…

#TechnicolorRainbow: "Cult of the Dead Cow"

Cult of the Dead Cow: How the Original Hacking Supergroup Might Just Save the World. (Joseph Menn, Public Affairs, 251pp., 2019) I read this book for the TechnicolorRainbow book club on hackers.town. It's a fun and easy read, even though it lacks coherent, overall narrative. I enjoyed it and recommend it. First off, I should point out that I did not know anything about the Cult of the Dead Cow…

GnuPG is just not good software

Look, I know that GnuPG means well, but really, does anyone actually tell them that, from a user interface perspective, it's bad? If all you ever do is use it within a desktop environment, maybe you're okay. But if you don't, heaven help you. Look at gpg-agent and pinentry. First of all, there's so many versions of pinentry: pinentry-tty, pinentry-curses, pinentry-gtk-2, and other toolkits. Turns…

GNU build and test bitching

I was working with Automake and DejaGnu today and I have to say the whole thing feels totally janky. The manual is practically self-defeating. Did you know there is a 'make installcheck' target you're supposed to define? Presently most packages do not have any installcheck tests because the existence of installcheck is little known, and its usefulness is neglected. (Sec. 2.2.1) It uses weird…

Questioning tests as documentation

I came across this statement recently. In some ways, automated tests are like documentation – documentation that can't get out of date and is easier to discover. Instead of manually running code and reviewing the output, we'd write test code that runs the query and programmatically verifies the output. So any developer can run that test code to understand how the system is supposed to work and…

dotfile code

I realized today that I shouldn't be so worried about how the code in my .emacs (well, .emacs.d/init.el) file is structured, or how general the code is because it's my personal preferences . I think this was holding me back from customizing Emacs all the much over the years. I was paralyzed by notion that the code had to be general, in some way, in case someone else uses it. The hell with that.…