Posts

  • Week 2 Making Embedded Systems

    Week 2 of 10 of the Making Embedded Systems course.

  • Week 1 Making Embedded Systems

    Week 1 of 10 of the Making Embedded Systems course.

  • Import Polar trainingdata to Strava

    When you sync data between your Polar account and Strava you don’t get your full training history imported. I used some online tools and wrote a python script to to a full export

  • Write One to Clear

    Memory mapped registers do not always behave like regular memory. Here I explain why you should avoid using bitfields when clearing W1C status bits.

  • Repair Microsoft Sculpt mouse buttons

    The Microsoft Sculpt mouse that comes with the Sculpt keyboard has been a trusty companion for me. But the left button wears out. Here’s how to fix it.

  • What I've been reading in January

    Here are the articles, videos, and tools that I’m excited about this August.

  • What I've been reading in December

    Here are the articles, videos, and tools that I’m excited about this August.

  • Kernighan software tools in rust

    I’m trying to learn Rust. So far I’ve read “The Book” and done the rustlings exercises. For hands-on practice I’ve implemented a few commandline utilities. I’ve selected a few that Brian W Kernighan uses in his language help files and present my versions here. I only have about one week of rust experience so beware: there are many mistakes.

  • What I've been reading in March

    Here are the articles, videos, and tools that I’m excited about this August.

  • What I've been reading in August

    Here are the articles, videos, and tools that I’m excited about this August.

  • Paper: A fork() in the road

    A review of Baumann et.als paper on limitations of the fork system call present in UNIX operating systems.

  • What I've been reading in July

    Here are the articles, videos, and tools that I’m excited about this July.

  • Standard C loop idioms

    What’s your standard idioms for doing loops in C? A summary of a Twitter thread betweeen me, Per Vognsen and Shachaf.

  • What I've been reading in June

    Here are the articles, videos, and tools that I’m excited about this June.

  • Views on Error Handling

    In this post, I summarize some accomplished engineer’s views on error handling. There is a distinction between errors that are caused by programmer neglecting bugs and those that represent true error conditions. The granularity of error checking is also up for debate: Per function? Per module? Jump to dialog handler in the main message loop? Kill the process and restart?

  • Paper: Memory Barriers, A hardware View for Software Hackers

    In this paper, I review Paul McKenney’s memory barrier paper. He describes in 28 pages why memory barriers exist and how they are implemented on different platforms.

  • What I've been reading in May

    Here are the articles, videos, and tools that I’m excited about this May.

  • Embedded Online Conference

    I’ve attended the Embedded Online Conference. Here are my notes from five talks I watched from the Embedded Systems Security track.

  • Paper: RIDL Rogue In-Flight Data Load

    In this post, I’ll explain the mechanisms behind a recent micro-architectural exploit. It’s in the same genre as the speculative execution exploits but has less strict requirements.

  • Report from the Adhoc Event 23 April

    I attended a remote virtual event organized by Paul Khuong, Samy Al Bahra and Jessica Natoli. Four short 15 minutes talks followed by Q&A. Great topics, professional, pedagogic speakers; and the format - short talks with recommended reading - before attending was great. I only wished that I had more time to prepare. A big thank you to Paul, Samy, Jessica, and all four presenters! I hope there will be more events!

  • Why should children program - a review of Seymor Paperts Mindstorms

    This is an essay about what it means to teach a kid to program, using Seymor Paperts groundbreaking book Mindstorms as a reference.

  • What are the next steps for rr?

    Robert O’Callahan is leaving Mozilla to work on rr-related technology. I’ve been following the rr project at a distance as a user and very casual contributor. I got curious, what will happen next? Here are my free-wheeling thoughts on possible directions.

  • Ubuntu 15.10 on Dell XPS 15

    In this post, I describes what steps are neccessary to get Ubuntu running on a recent laptop as of 2015.

subscribe via RSS