291: General Drip and Tinkle

Karl Auerbach of InterWorking Labs spoke with us about how the internet works.

We talked about domain name services (DNS being the primary one), registries and registrars, domain thieves, and the History of the Internet project.

Karl runs his own (non-DNS) domain name service on his site www.cavebear.com. The site also includes notes from his time on the ICANN board (such as this one where they talk about redemption periods).

290: Rule of Thumbs

We spoke with Phillip Johnston (@mbeddedartistry) of Embedded Artistry about consulting, writing, and learning.

In the Embedded Artistry welcome page, there is a list of Phillip’s favorite articles as well as his most popular articles. Some of Phillip’s favorites include:

We also talked about code reviews and some best practices.

The Embedded Artistry newsletter is a good way to keep up with embedded topics. You can subscribe to it at embeddedartistry.com/newsletter

What are condition variables?

289: Stamping HORSE on Zebras

Alicia Gibb (@pipix) joined Elecia to talk about open source hardware, the OSHW association (@ohsummit), using trademarks for quality control, and light-up LEGO blocks.

Alicia is the editor and author of Building Open Source Hardware: DIY Manufacturing for Hackers and Makers. It is a handy resource for any manufacturing.

Alicia is the director of the Blow Things Up Lab, part of the Atlas Institute at the University of Colorado Boulder.

Light up LEGO blocks are available at Build Upons.

The LilyPad Arduino has many sewable electronics components.

You can find more talks and hacks on Alicia’s personal site, aliciagibb.com.

288: You Got a Screen!

Christopher (@stoneymonster) and Elecia (@logicalelegance) discuss embedded systems education and project documentation.

Elecia wrote about her love of notebooks on the https://www.embedded.fm/blog-index.

yEd, for when you don’t have Visio. Asciiflow.com, for when you don’t have yEd (or you want to put diagrams in your comments)

We talked about many different documents and tried to note design vs implementation, product vs engineering vs user, and why we wanted them. We didn’t mention mechanical things because, ya know, software engineers. Some documentation we mentioned:

  • Product documentation

  • Schematics with block diagrams and comments. Also a GPIO to function spreadsheet.

  • UI flow when the system has a screens (Balsamiq for wireframe testing UIs)

  • SW spec and design doc: what do we plan to build and what are the tricky parts

  • SW configuration and SW developer docs: how to rebuild the computer that can build the code from scratch, also notes on debugging methodology

  • User manual: Usually not written by SW but may need SW’s patient input

  • Code comments: Functions and files get 5Ws: who, what, why, when, where, and how.

    • Who should call this?

    • What will its effect be? (“What will it do” but not in line by line detail!)

    • How does it work?

    • Why does it work this way?

    • When should it be called?

    • Where are its parameters? (“What” works here too but “where” is nice to remind you to check your memory assumptions.)

  • Repository checkin comments

  • Style guide (Such as Google’s or PEP)

  • Manufacturing docs and tests docs

Adafruit and Sparkfun both write good documentation, writing to users about how to use their code. Elecia likes Adafruit’s sensor library as a good set of code to review (including how much is in their docs vs their code).

187: Self-Driving Arm (Repeat)

Crossing machine intelligence, robotics, and medicine, Patrick Pilarski (@patrickpilarski) is working on smart prosthetic limbs.

Build your own learning robot references: Weka Data Mining Software in Java for getting to know your data, OpenIA Gym for understanding reinforcement learning algorithms, Robotis Servos for the robot (AX is the lower priced line), and five lines of code:

pred = numpy.dot(xt,w)                  
delta = r + gamma*numpy.dot(xtp1,w) - pred  
e = gamma*lamda*e + xt                  
w = w + alpha*delta*e                   
xt = xtp1                                   

Patrick even made us a file (with comments and everything!).

Once done, you can enter the Cybathlon. (Or check out a look at Cybathlon 2016 coverage.)

Machine Man by Max Barry

Snow Country by Bokushi Suzuki

Aimee Mullins and her many amazing legs (TED Talk)

Patrick is a professor at University of Alberta, though a lot more than that: he is the Canada Research Chair in Machine Intelligence for Rehabilitation at the University of Alberta, and Assistant Professor in the Division of Physical Medicine and Rehabilitation, and a principal investigator with both the Alberta Machine Intelligence Institute  (Amii) and the Reinforcement Learning and Artificial Intelligence Laboratory (RLAI). See his TED talk: Intelligent Artificial Limbs.

287: Joke With No Punchline

Kate Compton (@GalaxyKate) spoke with us about casual creators, Twitter bots done cheap and quick, and the creativity that is within each of us.

Kate’s website is galaxykate.com. Her Phd dissertation defense is interesting, see it on youtube.com. She is joining UCSC’s CROSS to do more work on casual creators and open source software. (We talked to Carlos Maltzan, the head of CROSS in 285: A Chicken Getting to the Other Side.)

Tracery is an open source story generator using a specific grammar. One example is at Kate’s BrightSpiral.com which creates a whole story every time you refresh.

You can use Tracery to make Twitter bots via CheapBotsDoneQuick.com. They are often text (@infinite_scream, @str_voyage, @DUNSONnDRAGGAN) or emoji based (@choochoobot, @infinitedeserts). However, Tracery and CBDQ  can be used to create SVG images (such as @softlandscapes).

Elecia’s text bot is @pajamaswithfeet. It tweets (usually) kind things you can (sometimes) say to other people (or yourself).

286: Twenty Cans of Gas

Colin O’Flynn (@colinoflynn) spoke with us about security research, power analysis, and hotdogs.

Colin’s company is NewAE and you can see his Introduction to Side-Channel Power Analysis video as an intro to his training course. Or you can buy your own ChipWhisperer and go through his extensive tutorials on the wiki pages.

ChipWhisperer on Hackaday


Some FPGA resource mentioned:

285: A Chicken Getting to the Other Side

Carlos Maltzahn joined us to talk about graduate studies in open source software, research incubators, and how software development tools can be used to aid the reproduction of scientific results.

Carlos is the founder and director of the Center for Research in Open Source Software (CROSS). He is also an adjunct professor of computer science and engineering at UC Santa Cruz.

Some projects we spoke about:

  • Jeff LeFevre — Skyhook: using programmable storage in Ceph to make Postgres and other databases more scalable and elastic (skyhookdm.com)

  • Ivo Jimenez — Black Swan: using DevOps techniques and strategies to speed up the systems research delivery life cycle (falsifiable.us)

  • Kate Compton — Tracery2 and Chancery: using open source software to support artists and poets (tracery.io)

Carlos mentioned the wonderful notion of “being productively lost”.  He picked up the idea at a POSSE (Professors Open Source Software Experience).

284: Honking Big Asparagus

Ori Bernstein (@oribernstein) joined us to talk about the dielectric constants of foods, reflective energy steering, and smart microwaves. Elecia got a little silly.

Ori works at Level Hot Pantry for more about the smart microwave, check out his !!ConWest talk. Ori has a github and personal site.

283: Flippendo Is Kind of a Swirly

Jennifer Wang (@jenbuilds) spoke with us about machine learning, magic wands, and getting into hardware.

For more detail about her magic wand build, you can see Jen’s Hackaday SuperCon talk or her !!ConWest talk. The github repo is well documented with pointers to slides from her SuperCon talk and an HTML version of her Jupyter notebook.

Check out this good introduction to machine learning from scikit-learn. It was their choosing the right estimator infographic we were looking at. (Elecia has bookmarked this list of machine learning cheat sheets.)

Jennifer’s personal sites are jenbuilds.com and jewang.net. She recommends the Recurse Center and wrote a blog post on her experience there.

282: Tin Can Through a Wet Noodle

We spoke with Laughlin Barker of OpenROV (@OpenROV) about underwater drones, underwater navigation, underwater exploration of the Antarctic, and extraordinarily large (underwater) jellyfish.

Watch this video of a Trident ROV being eaten by a shark… yes, you get to see the inside of a shark.

S.E.E. Initiative: Science Exploration Education from National Geographic

Laughlin left us with a coupon code for the Trident ROV. Please remember to invite us along on your ROV’ing.

281: Tame Geek

Combining a love of engineering with a love of words, Jenny List (@Jenny_Alto) is a contributing editor at Hackaday (@Hackaday).

Jenny’s writing at Hackaday including Debunking the Drone Versus Plane Hysteria and Ooops, Did We Just Close An Airport Over a UFO Sighting?

Previously Jenny worked for Oxford English Press working on computational linguistics software. While there she wrote post about the word “hacker”.

Elecia has been secretly dreaming of being a lexicographer since reading Word by Word: The Secret Life of Dictionaries by Kory Stamper.

280: Reginald P. Theodore Johnson

Chris (@stoneymonster) and Elecia (@logicalelegance) talk about design patterns, conferences, and Molotov cocktails.

Wrapper /  Decorator  / Facade

Observer aka subscriber/publisher (caveat)

Delegation and Dependency Injection

Model View Controller (very important if somewhat dated UI pattern)

PyFlakes is a static Python checker

KiCAD Conference is in Chicago on April 26-27, 2019

BangBangConWest 2019 is over but the videos will be up soon including the one Elecia noted about liking things (which was done by Lynn Cyrin).

Embedded.fm Patreon

162: I Am a Boomerang Enthusiast (Repeat)

Valve's Alan Yates (@vk2zay) spoke with us about the science and technology of virtual reality. 

Elecia looked at the iFixIt Teardown of the HTC Vive system as she was unwilling to take apart Christopher's system. 

Alan shared some of his other favorite reverse engineering efforts: Doc OK’s Lighthouse videos, documentation on github by nairol, and a blog by Trammell Hudson.

Alan's sensor circuit diagrams were on twitter: SparkleTree sensor circuit (think simplified) and the closer-to-production Lighthouse sensor.

Make Magazine talked about Valve's R&D Lab. This is important in case you want to work at Valve (they are currently hiring for EE but if that doesn't describe you and you want to work there, apply anyway).

Alan also has a website (vk2zay.net) though it doesn't see much updating right now.


279: Top Pedant

Patrick Yeon (@patyeon) spoke with us about nonprofit spaceships then asked our opinions about embedded software.

Pat is working for something something nonprofit space something something. To fill in some of the blanks, apply for a job on NonprofitSpaceship.org.

Pat was previously on episode 153: Space Nerf Gun when we talked about cost-optimized satellites.

We talked about several books:

Elecia’s command code is on github.

278: Bricks’ Batteries Last Forever

Matthew Liberty (@mliberty1) shared good advice for lowering power. We talk about different ways to measure current (Matt has a nice write-up) and things software can do to decrease power consumption.

Sleeping is critical, of course, as is choosing your clock speed and setting the GPIOs to good states. Everything is fine until you start getting into the microamps, then your multimeter measurements may start to fail you. (EEvblog explains why in his uCurrent intro.)

Eventually, you may want to measure nanoamp sleep states along with amp-consuming wake states. Matt’s Joulescope is a tool to do just that (Kickstarter goes live Feb 19, 2019!), automatically moving between 9 orders of magnitude of dynamic range and graphing the results on your computer.

Matthew’s consulting company is JetPerch.

We mentioned Colin O’Flynn’s ChipWhisperer which uses differential power analysis for security attacks. We also talked about Jacob Beningo’s post on protecting your tools.

Elecia is giving away a chapter of her O’Reilly book, Making Embedded Systems. It is Chapter 10: Reducing Power Consumption. Hit the contact link if you want a copy.

277: The Sport of Kings

Jie Qi (@qijie) spoke with us about making paper-based electronics (@Chibitronics) and learning about patent law (via @Patentpandas).

Jie Qi is the founder of Chibitronics, a crafting electronics platform that uses paper and stickers to create (and teach) circuits. Building the company and working on electronics-filled pop-up books led to the realization that patent law does apply to open source maker-type companies. She started PatentPandas.org to share what she’s learned.

Jie is not the only one who has had issues with big companies patenting their open source work. We mentioned Jarek Duda and his fight to keep his compression algorithm unburdened by patents.

If you are having or wondering about having an issue, Patent Pandas is intended to be an amusing and gentle introduction. If you are looking for prior art, you can look at the Prior Art Archive and Patents.StackExchange. (If you have some free time, there are often requests to find prior art.)

If you are a maker wanting to ensure that your work has dated prior art, submit it to the Wayback machine (Archive.org).

276: Playing a Song on a Potato

Jesse Rutherford (@BentTronics) gave us an in-depth look at the 555 timer IC (wiki).

Jesse runs Bent-tronics.com and wrote The Ultimate Beginner's Guide to the 555 Timer (Amazon).

Some great 555 projects:

Somehow, despite it being in the plan, we didn’t mention the Evil Mad Scientist The Three Fives Kit: A Discrete 555 Timer which builds a 555 Timer out of discrete parts. If only the creator would come on to talk about it and his other cool projects. Note that EMS also has a great description of how the 555 timer works.

The giveaway is Jesse’s book and the components to build the projects in his book.

275: Don’t Do What the Computer Tells You

Janelle Shane (@JanelleCShane) shared truly weird responses from AIs. Her website is AIWeirdness.com where you can find machine-learning-generated ideas for paint colors, ice cream, and cocktails (and many other things). We never said they were good ideas.

Janelle’s FAQ will help you get started trying out RNNs yourself. We recommend the Embedded show titles.

We talked about BigGAN which generates pictures based on input images.

Wikipedia list of animals by number of neurons

Janelle’s upcoming book is You Look Like a Thing and I Love You. Sign up for her newsletter to be the first to order it (as well as getting the PG-13 versions of her hilarious AI outputs).

274: Swiss Knife of Embedded Systems

Ivan Kravets (@ikravets)  spoke with us about PlatformIO (@PlatformIO_Org), IDEs, embedded libraries, and RISC-V.

PlatformIO is an editor, an integrated development environment with debugging and unit testing, and/or a library index. Its goal is to make embedded development easier and more consistent across host operating systems and development hardware. It is also a .org because the goal is to make all of this open source and free to engineers.

Ivan Kravets is the founder of PlatformIO.org. Personal site, Github, LinkedIn, and a neat interview. He recommends seeing the Dnieper River if you are in his area.

Ivan recently attended the RISC-V Summit. RISC-V is an open source processor core (like ARM but open source). SiFive was mentioned as one of the RISC-V processor vendors. RISC-V is being used extensively in research. Western Digital is planning to develop RISC-V based controllers. And MIPS recently joined RISC-V.