Skip to main content

Posts

Ninja causing OOM!

 Ninja has been around for a while, since 2012 or so. Ninja is a small build system with a focus on speed.  https://ninja-build.org/ I had heard of it and an engineer I worked with at Cybex I think was using it as his build system. Ninja's goal is to be faster than GNUmake,   the de-facto make utility.  David Rothlis did some benchmarks on ninja  and the no-op build (a build with no or few changes vs. a clean build) is significantly faster with ninja. I just started hacking on Kicad  for fun. Kicad is an excellent open source electronics design tool that I've used to design and build several PCBs. Kicad devs recommended using ninja for builds as its faster. Why not? Ninja has been around for a long time, so it should be pretty well developed, and it's a good opportunity to see how it works. If it works well it could be a good thing to adopt across a number of other projects that are presently using GNUmake. So I'm off building Kicad, MacBook fans are cranking, cpu load
Recent posts

UTM (qemu on OSX) only boots into uefi shell after installing Ubuntu 22.10 (solved!)

I've been meaning to try out running Linux and Windows virtual machines on my x86 MacBook Pro using qemu . I've been using Parallels for several years. Parallels is a nice application and works well but I'm always getting bugged to purchase upgrades. Parallels provides free updates on minor version upgrades only, say 13.0 to 13.1. With so many prompts to purchase upgrades it feels like Parallels could release a bit more minor versions and a bit fewer major versions. Rather than just purchase an upgrade to Parallels I figured I'd try out qemu via the UTM application . UTM wraps qemu with a helpful gui and comes as a packages Mac application. And UTM supports both x86 and M1 systems (as qemu also supports these systems). Creating an Ubuntu VM with UTM didn't go as smoothly as with VirtualBox or Parallels but it was the settings I chose that messed me up. Here are two things I ran into when installing Ubuntu on UTM. #1. Configure the qemu instance to use a 'Display

OSHPark accepts Kicad board files directly?!?!

I'm working on a small filtering board to filter out high frequency noise from an RC servo power and signal. It's a simple 2-layer board with large traces and large (>= 0603) parts. That means it's within the capabilities of pretty much all online quick turn board fabs. Wrapped the design last night, time to order the first set of prototype boards. A few of my favorite quick turn board fabs are  jlcpcb and OSHPark . These will be hand assembled, otherwise I'd probably use jlcpcb as they'll assemble boards and have a ton of passives in their catalog of available parts. All of my ECAD work is done with KiCAD so you can imagine my surprise when I spotted this mention on the OSHPark site of " drag and drop your KiCAD files "?!?! Looking at their help page it turns out OSHPark will directly accept a KiCAD .kicad_pcb file, no pre-processing necessary. I'm not sure how long OSH has had this support, maybe its been a while and I just noticed it, but its a

Lessons learned from my first indoor time lapse video

We had a case where some small ants were showing up in our kitchen. I put down some ant bait and thought it could be interesting to look at a time lapse of the ants gathering the bait over a period of several hours. I've got an old GoPro Hero 4 that can record a time lapse at 4k, so I set that up on a little GoPro tripod thing, plugged in a battery pack and started recording. Several hours later I started editing and quickly realized that I had missed a few things in terms of preparation, oops! Let me point out a few of them here in the hope that you can avoid these issues if and when you record a time lapse. Inconsistent lighting As soon as I started editing it became apparent that pretty much each frame differed greatly in brightness. I'm guessing this was due to clouds. It took hours in post-processing to adjust add key frames to adjust the brightness thousands of frames. While the final result looked much better, avoiding the issue entirely with consistent brightn

Follow up on 'The questionable future of NFC in the wake of Apple's iBeacon'

In February, 2014 I wrote an article about Apple's lack of support of NFC and their use of Bluetooth Low Energy (BLE) based iBeacons . Well, I was totally wrong! Samsung introduced NFC support in the Galaxy S3 in May 2012. Apple held out until September 2014 when the iPhone 6 was released with NFC support. Since then Apple Pay, using NFC functionality on the iPhone to make payments, has gotten huge.

Mental models

Mental models are a valuable tool for engineers. I do engineering as a day job. Often diagrams, drawings, and other visuals will be created to help convey information to customers and facilitate discussions. Visuals, while always leaving out some details, and in fact the challenge of creating visuals being knowing what details to leave out, helps immensely with audience engagement. gitGraph commit commit branch feature commit commit commit checkout main commit commit merge feature A random git feature branch development model diagram A visual's layout, colors, blocks, arrows etc are far easier to consume than a wall of text. In spite of their relative simplicity when compared to text, they can be constructed to represent complex systems, relationships, processes etc. We create a lot of visuals to help convey information to others, are we using them enough when conveying information to ourselves? st

Predictions for 2022+

Hello! I wanted to record some thoughts I had on predictions for ths coming year, if only to provide a record to check against in the future. Hope you enjoy and feel free to drop a comment with your thoughts! #1. Intel announces a new ISA to compete with ARM >30% - Not particularly likely in 2022 but more likely in 2023 and beyond Apple is selling a TON of Macs with M1 processors and these processors are very fast. TheRegister writes Arm's market share in PC chips was about eight per cent during Q3 this year, climbing steadily from seven per cent in Q2, and up from only two per cent in Q3 2020, before Arm-compatible M1 Macs went on sale. Apple's ARM based processors use an ISA (Instruction Set Architecture) that is newer and better designed than the x86 one used by Intel and AMD. While switching ISAs is a huge undertaking, users of the x86 ISA have higher power consumption and larger silicon area to perform the same operations. #2. Recognition for SAR-CoV-2 / C