Best of Embedded Blog 2016

We put together a lot of good information this year. Unfortunately, some of the posts may have been lost in the firehose of information.

To ease some of the findability, we have index pages: if you want all of Andrei’s STM32 and C posts, look under Embedded Wednesdays for a complete and ordered list. Similarly, if you want all of Chris Svec’s MSP430 and asm posts, look under Embedded Software Engineering 101 (ESE101).

Chris Svec had some additional posts:

Andrei also had some additional posts: a neat analogy editorial that turned us into racecar drivers, an excellent video from the guy who started embedded systems, and a bit of timely news.

I asked Andrei if he had a favorite post. He said he liked Scheduling Code on Bare Metal, a post-mortem of a subtle, complex, but seemingly simple topic. It’s one of those things that is easy to get wrong. As for the writing, rather than pontificating on introductory embedded systems, this was written for the practitioners in the crowd. Andrei also learned about voodoo underflow math: “a very useful tool that should be kept in its scabbard and only brought out in very limited situations.”

As for Chris, his favorite was Why C Arrays Start at Zero: I Don't Know. This is odd because it didn’t quite work out for him. The comments show people missed the point (we do not know for sure why C arrays start at zero and we should stop pretending there is a reason). Chris  said that if he wrote the piece today, he would change the structure so that the punchline is first.  

As an aside, I think we’ve all learned to do this better: don’t hide the good stuff at the end of posts, start with it. A little repetition is ok, especially if the reader knows what they are getting into and have a good takeaway immediately.

Chris said he liked his C Arrays post because he likes the idea and practice of admitting ignorance: “it seems awkward and embarrassing sometimes, but it usually isn’t awkward or embarrassing, and thinking about that post reminds me of that.”

All of those reference to Chris were to Chris Svec. We did see a few posts of Chris White as well:

We should get him to write a little more though. Chris White also did some editorial things (and site management). He (and all of us) participated in the Staff posts:

As for me, I started with the Taking Apart Toys series so it has an index page. I have not been working on that for awhile, tending to skip around. While I occasionally miss the toys, I think my two favorite of my posts this year were my comics-style posts A Narwhal’s Guide to Bayes’ Rule and Snow White's Guide to Your First Stock Options.

I really like being able to interact with listeners and readers so answering questions was another focus of my posts:

I don’t have big talk or conference plans. If I do, I will likely post text and videos here. I only have the text of Internationalization and Cats (Overview and Displaying Asian Languages). I posted the video of Embedded Software: The Tricky Parts but have only barely begun putting together posts covering the text.

I also reposted a few things I cared a lot about from my other blogs: Cheating On Tests, Blocking Patents With Open Source Prior Art, and Device Security Checklist.

Occasionally I can see what Andrei or Svec have in store and pop in to pave the way or expound on their work as in An Introduction to Binary and Hexadecimal and What Good Is a UART? Command Console! I’m hoping for a little more of that in 2017.

In summary, last year was our first year and I’m please with how much we all got done. I’m very impressed at how hard Chris Svec and Andrei Chichak work on their posts. I’ve learned a lot from them. I’ve also gotten the opportunity to learn to edit their work. It is not easy! I mean, they write well, have good spelling and grammar, and are smart people. So I can’t just red line the easy stuff, I have to think about how to make their posts truly better. I believe it has improved my writing, having identified better paths for them makes it easier for me to see better paths in my own writing.

One of the difficult things about a blog this technically-oriented is that once we’ve explained the easy stuff, there is only hard stuff to work on. I don’t think we’ve gotten there but it is a concern for the future. Either we have to talk about the same stuff framed in different current microprocessors or we need to lose new people as we explain more difficult concepts. Neither path is any good.

Another difficulty is the time. The writing and the editing both take considerable effort. While we share these roles, sometimes it is easier and better to have a nice afternoon with the family instead of a few hours spent thinking about teaching, learning, writing, and technology.

Also, we do this only partially for you. Another goal of this blog is to practice writing and teaching. We want to build up a library of explanations for our own use (“never have to explain X again, just send them to a post you wrote last year!”). While that practice remains useful, plateaus make the time spent less rewarding.

On the other hand, writing year-end summary posts make me look around here and think we got an awful lot done. That’s not even including the beautiful new logo (so many stickers), a limited run of tshirts, and a podcast.