flak rss random

comparative truthiness

When comparing two things, it’s easy to make a claim relating them. This one is longer. This one is stronger. This one is older. This one is bolder. (This one sounds like Dr. Seuss.)

But are we correct? Do people believe us? Would you believe me if I told you William Shatner is older than John McCain? Maybe that’s just a thing I heard. What happens if you ask me how old they are? If I don’t know, that’s a bad sign. If I know that Shatner was born in 1931 and McCain in 1936, that’s a good sign.

If a claim can be quantified, it should be. It’s very easy to do. If it’s not easy, consider why.

The first thing one can do is to ask how much when reading. Any unquantified comparisons stand out as starting points for fact checking.

The second thing one can do is to ask how much when writing. I try to fact check most claims before clicking the big red send it to the internet button, but it can be difficult to know exactly what needs checking. I don’t need to check the things I’m sure about. Alas, my certainty is also sometimes mistaken.

Which is bigger, Central Park in New York or Golden Gate Park in San Francisco? No spoilers, but I’ve heard both answers stated confidently. However, if I followup by asking how many acres is this park and how many acres is that park, confidence drops precipitously. Somehow these high level derived facts become lodged in our heads long after we’ve forgotten the underlying facts, if we ever knew them. We don’t realize this happens until somebody asks what’s underneath.

Unfortunately these high level facts don’t have a lot of error correction builtin. It’s only a single bit, and if it flops, you’ll never know. A numeric fact is more likely (how much more likely?) to degrade to uncertainty than some other value. A builtin parity check of sorts.

Everybody loves numbers. Include them when you write something. Your readers might learn something. You might learn something, too.

Posted 19 Dec 2017 18:09 by tedu Updated: 21 Apr 2022 08:35
Tagged: thoughts

easy gopher-lua bridge

I have some go code that I’d like to be a little more flexible at runtime. Like a config file, but maybe with some conditional logic based on string matching. If this sounds like a proxy deciding which filtering functions to apply based on URL, that’s a good guess.

more...

Posted 04 Dec 2017 23:02 by tedu Updated: 04 Dec 2017 23:02
Tagged: go lua programming

OtherLife review

Memories are nothing but chemicals. At that level, there’s no difference between a real and a fake memory, so if we have the appropriate nanotech, we can write some code to create memories, virtual experiences indistinguishable from those taking place in reality. Such is the concept of OtherLife. The movie’s titular company plans to sell vacation memories, allowing users to experience a day’s worth of snowboarding in less than a minute of real time. Why not take a vacation every day before going to work, arriving fresh and relaxed?

So far we’re in Total Recall territory, but the twist here isn’t secret double agents on Mars. Just a tech startup that needs funding. One founder, our heroine, created the company to further develop the tech and perhaps revive her brother from a coma. The other founder, in order to secure some necessary bridge funding days before launch, is in some shady talks with the prison bureau to develop a line of virtual imprisonment. Very near term, contemporary science fiction. It’s actually set in 2017. Just some stealth mode startup you haven’t heard about yet.

From here we explore the nature and ethics of memories. Is subjecting someone to a year of virtual solitary confinement that elapses in one real minute more or less ethical than taking away a year of their actual life? How do we know what’s real? Shades of Inception here, but with much less boom boom gusto. Very Black Mirror, with a bit of a twist, but a touch less pessimism. We’ve seen this concept before, but this might be the most grounded, without trying too hard to impress.

Posted 17 Nov 2017 23:18 by tedu Updated: 17 Nov 2017 23:18
Tagged: moviereview

books chapter sixteen

Finally.

more...

Posted 10 Nov 2017 17:13 by tedu Updated: 10 Nov 2017 17:13
Tagged: bookreview

books chapter fifteen

Saving some good stuff for the almost end.

more...

Posted 27 Oct 2017 22:18 by tedu Updated: 27 Oct 2017 22:18
Tagged: bookreview

miniwebproxy

Imagine, if you can, a smaller version of the web. A web without dickbars, or scroll jacking, or chum boxes, or popup video, but still a web filled with informative articles about the 27 blockchains you need to be using right now. The good news is this web exists, but unfortunately your browser doesn’t connect to it by default. For that, you need the miniwebproxy.

more...

Posted 24 Oct 2017 13:16 by tedu Updated: 24 Oct 2017 13:16
Tagged: go programming project web

books chapter fourteen

Some old, some new.

more...

Posted 13 Oct 2017 17:17 by tedu Updated: 13 Oct 2017 17:17
Tagged: bookreview

openbsd changes of note 629

This is the end, beautiful friend; this is the end, my only friend, the end.

Note that octeon supports a few more machines.

Add support for isochronous transfers to xhci. Remains disabled.

Some of the i386 assembly implementations of math functions in compiler-rt use SSE2. Switch to using generic C code.

Use getrusage to measure CPU time in md5 benchmarking.

Add guard pages at the end of kernel stacks so overflows don’t run into important stuff.

Close the default syslogd 514 port.

Add dwxe driver for ethernet found on Allwinner A64, H3 and H5 SoCs.

Fix buffer overflow in perl regexp. Errata.

Fix a regression caused by removal of SIGIO from some devices.

In relayd, use EVBUFFER_EOL_CRLF so that “\r” by itself at the end of a chunk won’t be treated as end of line, causing the following “\n” to be interpreted as a blank line.

In malloc, always delay freeing chunks and change ‘F’ option to perform a more extensive check for double free.

EuroBSDcon happened. There are talks and slides.

Change sendsyslog prototype to take a string, since there’s little point logging not strings.

Validate the TCB (thread control block) pointer which lives in the GS register. Errata.

Removing DDB_STRUCTINFO broke the kernel makefiles by removing too many dependencies, leading to some bad kernels. Put back the good stuff.

Add a kill command to ddb.

Update to unbound 1.6.6.

Add preliminary kabylake support to inteldrm(4) by backporting the relevant commits from linux-4.8.x.

OpenSSH is now version 7.6.

62.html is under construction.

The config program tries to modify zero initialized variables. Previous versions of gcc were patched to place these in the data segment, instead of the bss, but clang has no such patches. Long long ago, this was the default behavior for compilers, which is why gcc was patched to maintain that existing behavior, but now we want a slightly less unusual toolchain. Fix the underlying issue for now by annotating such variables with a data section attribute.

The xrstor instruction will fault if it’s unhappy. Handle this properly. Errata.

6.2-current, back to work.

Posted 06 Oct 2017 16:09 by tedu Updated: 06 Oct 2017 16:09
Tagged: openbsd

books chapter thirteen

Apparently we’re on a biweekly schedule now.

more...

Posted 30 Sep 2017 03:12 by tedu Updated: 30 Sep 2017 03:26
Tagged: bookreview

books chapter twelve

A week of cautionary tales.

more...

Posted 16 Sep 2017 03:31 by tedu Updated: 16 Sep 2017 03:31
Tagged: bookreview