flak rss random

Postel's law in development

Postel’s law, also known as the robustness principle, states that we should all be friends and try to get along. It’s also occasionally harmful. Here’s an example.

more...

Posted 20 May 2020 17:42 by tedu Updated: 20 May 2020 17:42
Tagged: programming thoughts

dechroma

A while back somebody posted some “amazing” images which were black and white except for the stripes that were colored. So, not black and white, but the point was to demonstrate that vision is highly perceptual and the brain will interpolate from what’s there. I thought this might be fun to play around with. I guess it kinda works, but I think some of the demo images were selected carefully.

more...

Posted 15 May 2020 16:41 by tedu Updated: 15 May 2020 16:41
Tagged: go programming project www

reversing windows scroll wheel direction

Saving this here so it’s less trouble to find in the future. Ten years later and there’s still no generic means to accomplish this most simple of tasks without device specific junkware except via registry hackery.

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }

From superuser.

Posted 06 May 2020 21:13 by tedu Updated: 06 May 2020 21:13
Tagged: software windows

on the usability of editable software

I’m aware of two occasions on which Knuth advised editing existing code, as opposed to simply using it. One mention is in this interview, advocating for “re-editable” code instead of the fashionable reusable code, although it doesn’t amount to much more than that statement. In Coders at Work he describes a system of working that’s basically patch and diff. He writes a program, the master version that works for him, and ships it out. People receive and it and then modify it with change files so it works for them.

more...

Posted 30 Apr 2020 16:48 by tedu Updated: 06 Aug 2023 16:53
Tagged: software thoughts

making bad coffee

I used to drink coffee for the sake of drinking coffee. In recent years I mostly switched to drinking coffee for the sake of going out and having something to do. Since I no longer go outside and there’s nowhere to go anyway, I have stopped drinking coffee, but since I’ve been spending so much time inside peering into my pantry, I found a bag of coffee from the before times and thought I’d have some fun.

more...

Posted 19 Apr 2020 11:05 by tedu Updated: 19 Apr 2020 11:05
Tagged: food

embedding binary objects in c

You have a blob of some data which you would like to embed into your C program. Perhaps a splash screen, or a special font, firmware for your scsi card, or whatever. The usual approach which I think most people are familiar with is to run something like xxd -i to generate a source file with a large array of hex constants. Or write your own little script for that purpose.

more...

Posted 16 Apr 2020 11:02 by tedu Updated: 16 Apr 2020 11:02
Tagged: c programming

a month with the pixel slate

I was supposed to be spending the past month or so traveling. That didn’t go quite as planned, but I nevertheless spent some time preparing for the trip, and as part of that, set up a Google Pixel Slate to take along. Even though I didn’t actually complete the experiment, most of the effort was validating it could work, and I think it would have been fine.

more...

Posted 09 Apr 2020 13:50 by tedu Updated: 09 Apr 2020 13:50
Tagged: computers software

virtualization in windows

My Windows desktop has a Threadripper CPU with a few cores. Maybe I could I get a bit more utilization out of it with virtualization. Or maybe, given the frequency with which attacks target Windows, I could use virtualization to increase security. Let’s see how that goes.

more...

Posted 06 Apr 2020 07:45 by tedu Updated: 06 Apr 2020 07:45
Tagged: rants software

reliverator

Sometimes I want to send some mail. Sometimes I want to receive some mail. (Much less often than it typically happens, as it were.) But mostly I want to not think too much about it.

Alas, the history of email is rife with people thinking about it, and inventing new problems for their solutions. My needs are much simpler than that. I want to have email that arrives at port 25 go in my maildir. I want email that I send to port 587 to go wherever it should go. That’s about it. I don’t need fancy filtering before it goes in the maildir; I can always do that later. I don’t need fine grained authentication to send; it’s my computer, if I want to send it I’m going to send it.

But nobody makes a mail server just for me. The self hosted email market is kinda small already, because Big Evil has decided that’s bad for you, but it’s also quite a chore just reading the documentation for even simple server setups. How about an smtp server that doesn’t require documentation because it doesn’t have any features? If it doesn’t do anything, it can’t do anything wrong.

Enter the reliverator. It receives email. It delivers email. It’s a deliverator, not written in D.

When an email is received, it goes in the user’s maildir. If there is no maildir, it doesn’t.

When an email is submitted, it goes in the database until it goes somewhere else. There’s no access control because it only listens on localhost and I’ve already got an ssh tunnel open from my laptop.

Mostly I just wanted to see how hard can it possibly be. And after some bludgeoning and tear soaked stackoverflow copy pasta, it kinda came together. There’s a fine mess of a little of everything. It’s about 25% unsafe, though that’s not the part that worries me most. I even used some tokio for bonus points, though it seems overkill for sending and receiving a single UDP packet, but I don’t pack the crates.

If I really wanted to write an smtp server, I’d have made some very different decisions.

Posted 01 Apr 2020 07:25 by tedu Updated: 01 Apr 2020 07:25
Tagged: project software

rethinking openbsd security

OpenBSD aims to be a secure operating system. In the past few months there were quite a few security errata, however. That’s not too unusual, but some of the recent ones were a bit special. One might even say bad. The OpenBSD approach to security has a few aspects, two of which might be avoiding errors and minimizing the risk of mistakes. Other people have other ideas about how to build secure systems. I think it’s worth examining whether the OpenBSD approach works, or if this is evidence that it’s doomed to failure.

more...

Posted 31 Mar 2020 04:20 by tedu Updated: 04 Apr 2020 09:15
Tagged: openbsd programming security thoughts