LEGO swashplate: requirements

I hope that this will be first of a series of LEGO Technic builds that demonstrate mechanisms that I find ingenious. Background After looking over the current slate of LEGO Technic offerings and watching a bunch of build and review videos I came to the conclusion that what I really wanted was to build a … Continue reading LEGO swashplate: requirements

Different LEGO X-wing mechanisms

"Lock S-foils in attack position" was one of the memorable phrases from the Star Wars movies and the X-wing was the iconic fighter from the trilogy. I got a LEGO X-wing this Christmas and got to wondering about the mechanism used to adjust the wings. The X-Wing has been released in many versions, some of … Continue reading Different LEGO X-wing mechanisms

DSLs via Feature Flagging a Language

I'm probably not the only one who has looked at yet another domain specific language (DSL) and gone "Oh God, no!" A typical DSL starts out simply and innocently enough, but through the horrors of actual use, they grow in macabre ways, until they split their carapace and emerge as a Turing complete abomination, constructed … Continue reading DSLs via Feature Flagging a Language

M.Zuiko ED 40-150mm f4.0-5.6 R

There are a lot of reviews of this lens and they are all pretty detailed and positive. What I want to add here is that subject isolation for an outdoor sport (soccer) is decent when the lens is used wide open. I wanted to photograph soccer games and the 42mm end of the kit lens … Continue reading M.Zuiko ED 40-150mm f4.0-5.6 R

Money for your Monet as income

I've seen the usual frothing at the mouth reports of how the ultra-rich pay less taxes than salaried Sam and how we should be raising taxes everywhere to pay for all the government spending we are doing and will be doing in the future. For the greater good of course. Leaving aside the question of … Continue reading Money for your Monet as income

Roomba i7

The Roomba i7 is a very clever robot. It reminds me of a enthusiastic puppy that cleans up messes instead of creating them. It vacuums very well and navigates very intelligently. I only wish they could come up with some adaptation to the frame to allow it to do the stairs. Then it would be … Continue reading Roomba i7

Got rid of more social media

I went off facebook a few years ago and then I went off Twitter. No one harassed me, no one said mean things to me. It was just that it was all so depressing for me. There were very few posts that I actually found useful. For me, Twitter was full of strangers announcing job … Continue reading Got rid of more social media

The hitch

I lay there staring up at the underbelly of the car, the muffler an inch beyond my nose. A thirty two pound steel hitch lay at my feet and I had no idea how I was going to drag it in that cramped space, over my chest, lift it up to the undercarriage and then … Continue reading The hitch

Blinding in the Muon g-2 experiment

You have of course heard about the Muon g-2 (G-minus-two) experiment first run at Brookhaven in the 1990s and currently being rerun in 2021 at Fermilab. This Science Magazine article is an exceptionally accessible introduction to the experiment. The experiment measures the magnetic moment of the muon. There seems to be a deviation between the … Continue reading Blinding in the Muon g-2 experiment

Lenovo Flex 5 + Win 10: A lament

I normally work on a (16GB + SSD) Mac Book Pro. This machine costs around $1700 in the configuration I have it in. I do some writing on the side (as you may have guessed) and for a for a variety of reasons I decided to do my writing on a separate laptop. I use … Continue reading Lenovo Flex 5 + Win 10: A lament

The un-Pythonic “for … else”

It's a fun party trick. Not many programmers, including even some experienced Python programmers, know that Python has a "for ... else" construct. While it has its applications and is pleasant to use in these applications, it is, I have come to believe, more trouble than it is worth, because it causes surprise. As a … Continue reading The un-Pythonic “for … else”

Travel in “The Expanse”

At least up to what I've seen in season 2, the expanse at least tries to acknowledge Newtonian physics. There are odd bits where they mix up where they should have centrifugal gravity and not, and in which direction, but largely, they try. Thankfully there is no FTL nonsense (yet), but the civilization seems to … Continue reading Travel in “The Expanse”

Too many open files

One puzzling error that happens, albeit rarely, is having too many file handles open at the same time. You can check the limit allowed per process on your system by doing $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, … Continue reading Too many open files

Install exiftool on Synology

Install Perl from the Synology package managerUse curl to download the *nix distribution to a folder (instruction here)make is not present on the Synology, but we don't need it.Copy exiftool and lib directory to a directory of your choosing, or leave it where it is, if you won't erase itUse vi to create or edit … Continue reading Install exiftool on Synology

Elliptical orbit math

In my spacecraft simulator all the ships start out orbiting something. So, at the start of the simulation I need to compute a position and velocity for each ship that places them in stable orbit round a chosen body. It is straightforward to compute the initial position and velocity for a circular orbit: the centrifugal … Continue reading Elliptical orbit math

Just use std::filesystem

C++17's std::filesystem gives me the warm fuzzy feeling Python3's pathlib does. Easy, intuitive and cross-platform, yet another excuse to use C++17. Don't look back. Just use it. Specially useful functions in std::filesystem are: The / operator : The committee fought their instincts to be "enterprise" , decided to be more Pythonic, and got this very … Continue reading Just use std::filesystem

Text file driven applications

The vast majority of our software applications are driven by graphical user interfaces. There is a certain charm, however, to doing, or driving, things using a text file. I'm not talking about things like computer code, or software configurations being written in text files. I'm talking about using text files to drive an application that … Continue reading Text file driven applications

Buffering writes

Many scientific computing applications consist of processing data and then writing out to disk. Often the application will be I/O bound, which means that the computation time is shorter that the time it takes to read or write data to disk. Even though modern OSes do their best to write efficiently to the hardware, there … Continue reading Buffering writes

Laughter, groupthink and physical distancing

One of the unexpected side-effects of our attempt to fire-break #COVID19 with #PhysicalDistancing , is the absence of laughter in the late night shows I like to watch. This lack of laughter taught me some interesting things about my reactions to these shows, and gave me extra admiration for how @StephenAtHome and @iamjohnoliver are now doing the shows with no live feedback.

Stream-of-consciousness note on disassembly

Compilers have options that allow you to retain and inspect a disassembly of the generated machine code. On macOS, passing the gcc compiler the options -fverbose-asm -save-temps will tell the compiler to write out a file with the assembly code interspersed with the original source code. As an example, the file int add(int a, int … Continue reading Stream-of-consciousness note on disassembly