Skip to Content


N ways your embedded project is having problems

  • Poorly assembled or soldered PCB
  • Poorly assembled mechanical enclosure
  • Lack of a mechanical enclosure
  • Loose connectors (power connectors, debug wire connectors)
  • Bad/insufficient power supply, especially if it’s USB powered
  • You are wearing a sweater in a carpeted room in the winter and not using ESD protection
  • Not enough decoupling capacitors on power pins (usually you’d want more than zero)
  • Your traces are not Signal-Ground-Signal pattern and causes cross-talk
  • Some mechanical component is pinching your electrical component
  • JLink firmware not up to date (ST-Link, etc…)
  • Windows hasn’t been restarted in a few days
  • Eclipse IDE or your toolchain is having a bad day and a compiler optimization is being deviant
  • There is a fullwidth space character instad of an ASCII space in your source code
  • You did a Ctrl+F/Replace All but also replaced something you shouldn’t
  • The device errata specifies that the behaviour was expected
  • You did not enable Brown Out protection on your MCU
  • You are asking multiple devices to keep accurate frequency/time with each other for a signal clock
  • You flashed the wrong binary
  • You are using dynamic memory
  • You didn’t allocate enough memory
  • You allocated too much memory

Things I use

Current Fun Things

  • Photography
    • Fujifilm X-T30
    • Fujifilm XF 27mm f/2.8 R WR
    • Fujifilm XF 35mm f/2 R WR
    • Minolta MD Rokkor 50mm 1:1.4
    • Yamato Pax Junior
    • iPhone 13 mini
  • Climbing
    • Shoes
      • Scarpa Instinct V (favourite)
      • Scarpa Quantic (second favourite)
      • Scarpa Vapor V (warmup & mileage)
    • Petzl Grigri 2
    • Sterling Evolution Velocity 9.8mm
    • Carabiners:
      • Grivel Tau Wire Lock for secure anchor
      • Mammut Smart HMS for belaying
    • Petzl Djinn Axess Quickdraws
    • Black Diamond Solution Harness
    • Black Diamond Crag Half-Finger Gloves
    • Petzl CORDEX Belay Gloves (I like the Black Diamond better though)

Former Fun Things

  • Fujifilm X-T1
  • Fujifilm XF 23mm f/2 R WR
  • Sony NEX-F3
  • Sony E 18-55mm F3.5-5.6 OSS
  • Sigma 19mm F2.8 EX DN
  • BlackBerry KeyOne (Mercury)
  • BlackBerry DTEK60 (Argon)
  • LG Nexus 5
  • Samsung Galaxy S7

Favourite Quotes

On my perpetual sense of doom by lack of progress:

I think anyone else from [University of Waterloo] would say the same thing, but during and for years after, being idle for more than an hour or two made you feel really really guilty, like you knew you should be working or making progress, and if you don’t lose that feeling, you can accomplish great things very quickly. A weekend of relaxing was more stressful and unnerving than anything. I think most people leave Waterloo after they graduate because they hate it so much, it was so brutal that the city itself becomes an incarnation of what you experienced.


On choosing the right game to play:

Optimists, and even sometimes pessimists, see the world changing, for better or worse, and with it, the games we play change as well. […] A pessimist also has a growth mindset, except they have a negative sign in front of it. The opposite of an optimist is the cynic.


On using “no” as the default answer for difficult personal choices (I feel personally attacked by this paragraph):

If you find yourself creating a spreadsheet for a decision with a list of yes’s and no’s, pros and cons, checks and balances, why this is good or bad…forget it. If you cannot decide, the answer is no.

Source: Jorgenson, Eric. “Building Judgement.” The Almanack of Naval Ravikant, 2020, pp. 111-112.

Shawarma Toppings

Chicken Shawarma: Chicken, Fries, Garlic sauce, green pickles (not turnip) – that’s it!

Beef Shawarma: Beef, Tahini Sauce, Parsley, Tomato, Onions. (Plus pomegranate sauce)

Rock Climbing Standard Operating Procedures

  • Only use words “TAKE” and “SLACK” in positive logic.
    • Never say things like “Don’t take”, “I’ll take some slack”, etc…
  • Use Pointing and Calling for all safety checks
  • When cleaning, leave the last quick draw under the anchor clipped in as a back up, if possible
    • You have to swap the rope ends when you go up, which is not always feasible
  • Take some extra locking carabiners in case you lose one

This is for my own motivation. When I see others update their websites, I feel compelled to write some content too.