250: Yolo Snarf

Finally! An episode with version control! And D&D! Chris Svec (@christophersvec) joins us to discuss why version control is critical to professional software development and what the most important concepts are.

T-Shirts are on sale for a limited time: US distributor and EU distributor.

You can read more from Chris on the Embedded Blog. He writes the ESE101 column (new posts soon!).

If you are new to version control or learning git, Atlassian has a great set of posts and tutorials from high level “what is version control?” to helping you figure out good usage models (Svec mentioned gitflow). Atlassian has an interactive tutorial that lets you try out the repository commands (or try the Github interactive tutorials). Of course, there is a good O’Reilly book about git.

If you are using SVN (aka Subversion), the Red Bean book from O’Reilly is a good resource.

(Elecia's shirt said You Obviously Like Owls from topatoco.com.)

qc-yolo-art_compact.png

241: One Two Blah Blah Blah Ten

Andrei Chichak and Alvaro Prieto (@alvaroprieto) join us to talk about bits and how to manipulate them.

Alvaro is host of the Unnamed Reverse Engineering podcast. His other Embedded appearances are 130, 200, and 215.

Andrei (“Andrei from the Great White North”) works at CBF Systems. His other Embedded appearances are 99, 114, 139, and 200.

Andrei wrote about bit manipulation as part of Embedded Wednesdays on Embedded.fm: Logic in C, part II. Andrei recommends using ISO646.h to reduce confusion around bit manipulation. Also, his suggested calculator is the SwissMicros DM16L

Elecia wrote an introduction to binary and hex.

For more information about programming and binary, see How to Count by Steven Frank

For advanced bit twiddling, check out:

Listener Prashant pointed out an error that goes to shows that we really should have been writing these numbers down and agreed on the zero base to start with:

In Episode 241 @36:45 when Elecia talks about turning on GPIO3, and GPIO3 is the 3rd bit (I am assuming starting at index 0), you write 8. However when Andrei starts explaining he talks of the mask as 100, which has a value 4. I guess he assumed that the 3rd bit meant 3rd starting from index 1.

224: Interrupts to Interrupt Interrupts

Andrei Chichak joins Elecia and Christopher to do a deep dive into the world of interrupts.

Andrei writes on our blog: Embedded Wednesdays. He has written specifically about interrupts in multiple ways: general introduction, buttons and debouncing, peripheral data transfer via DMA, and so on). The knock-knock joke comes from Chris Svec’s Embedded.fm blog post on interrupts.

Jack Ganssle on debouncing buttons

Picture1.png

215: Heisenbugs

Alvaro Prieto (@alvaroprieto) joined us to talk about the basics of debugging, from software to hardware.

Some of the programmer devices we talked about: SEGGER JLink and Black Magic Probe.

Chris mentioned a visual frontend for gdb called "Vulcan" but which is actually called Voltron. (He's got graphics on the brain).

How did we forget to mention the six stages of debugging?

Alvaro Prieto and Jen Costillo's new podcast on reverse engineering! And on Twitter as @unnamed_show.

Alvaro's Cheese Cave: making cheese and cheese-lapse photography of Brie aging.

Image uploaded from iOS (1).jpg

211: 4 weeks, 3 days

Dennis Jackson spoke with us about making the career shift from software to embedded.

Dennis buys James Grenning’s Test Driven Development in Embedded C for his new hires and often recommends Elecia’s Making Embedded Systems. His tip that everyone should know was “Learn make!” and he has a reference for that: Why Use Make.

He suggested Joel Spolsky’s reading lists from Joel On Software, even the ones that don’t obviously apply.

Additional suggested-reading articles:

In his previous appearance on Embedded (#94: Don’t Be Clever), we talked about code complexity and measuring cyclomatic complexity. At that time he wanted a tool to monitor the code’s status. He has since found one: pmccabe.

Dennis currently works at Element Science.