Episode 3: The Middle is a Pumpkin

The Middle is a Pumpkin


Welcome to The Bootloader, a bi-weekly podcast bringing you news, project updates, and product talk from the tech and maker scenes. Paul and Tod will bring you three interesting things and chat about them for a few minutes each.

Full transcript available here.

Show Notes

Episode Intro


10 cent RISC-V “Arduino” chip! (Tod #1) 00:15

  • What made Arduino possible in early 2000s: Atmel ATmega168P for $4 and avr-gcc open source compiler
  • For $4 you got so much! 16 kB flash! 2 kB RAM! RISC architecture! Minimal required external parts!
  • Now, WCH, the makers of the CH340 USB-to-serial chip that you’ve maybe seen on some dev boards, has a new chip
  • Fellow hacker Akiba on Twitter alerted me to this, quoting a tweet from Patrick Yang at WCH
  • New WCH CH32V003 RISC-V chip
    • Arduino-class, only $0.10 (48MHz, 2kB RAM, 16KB flash, 18 IO, 8 ADC)
  • RISC-V is an open-source CPU core that’s scalable from desktop-class chips to cheap embedded processors
    • Similar to ARM cores in our iPhones and Raspberry Pi Picos
    • But no license fee needs to be paid!
  • Potential problems tho:
    • bigger brother CH32V307 needs custom OpenOCD programmer RISCV-OpenOCD-WCH
    • and only IDE supported is their MounRiver
  • akiba’s tweet that alerted me
  • CH32V307: slightly better version w/ USB
  • Micropython for CH32V3
  • Rust for CH32V3

Jetbrains Fleet (Paul #1) 4:28

  • Jetbrains, the makers of code editors and IDEs powered by IntelliJ, have released a new code editor called Fleet

    • Focus on Speed - “fast and lightweight” is how they describe it
    • Code editor and / OR IDE
      • Smart Mode enables IDE features, including code completion, quick fixes and more
    • Collaboration
      • Built-in collaboration tools - 1 button click to start a session and it auto copies the share link for you
    • Distributed
      • You can connect using SSH for example, and it creates an instance of Fleet on the remote computer you connect to
      • Or easily connect to a Docker container of Jetbrains’ Space service
  • I’ve been using it and I like it

    • It does feel snappy, not sure if it’s in my head or not
    • As a hobbyist programmer, I probably only use a small percentage of the features found in an IDE, which is one reason why I like this
    • I used PyCharrm for 4 or 5 years until switching to VS Code for a year, and then switched back to PyCharm earlier this year.
  • Let’s call this what it is: This is Jetbrains answer to VS Code.

    • Where VS Code has a number icons on the side, Fleet has a few along the top
    • And good for Jetbrains! Competition is good, it will drive innovation. If you’re an Atom user looking for a new editor or like to try new things, give it a try, I like using it.
  • GitHub sunsets Atom

Person Sensor by Useful Sensors (Tod #2) 9:35

  • Useful Sensors is a new company by Pete Warden, who helped develop Google’s open source TensorFlow machine learning platform
  • Pete is a founder of the “TinyML” movement: putting machine learning on devices you control, instead of in some cloud service
  • The Person Sensor detects faces, basic facial recognition, can determine “looking at”, for $10!
  • Can remember up to 8 people. But just gives them an ID 0-7, nothing is known about them, just “different”
  • You get x,y position of face, with confidence percentage, and “is facing” flag!
  • Uses I2C via Qwiic/StemmaQT I2C connector, so easy!
  • API is simple, example code in Arduino, RP2040 C, Python
  • The demo Pete published on uses an Adafruit Trinkey running CircuitPython to lock his computer when looks away
  • I’m getting a couple of these boards to try out, should be here in a few days
  • project article w/ Trinkey & CircuitPython
  • EETimes article about Useful Sensors & Pete Warden
  • Available now at SparkFun
  • Developer Guide
  • CircuitPython example (Paul #2) 13:38

  • GitHub Copilot potential lawsuit
  • GitHub Copilot - Your AI pair programmer
  • Matthew Butterick, a writer, designer, programmer and lawyer has started an investigation into a potential lawsuit regarding GitHub Copilot
  • Shares examples of problems in both the training of model and Copilot usage
  • Mr. Butterick states that the objection isn’t AI assisted coding, it’s how Microsoft went about it.
    • Participation could have been voluntary or even paid
    • Microsoft claims it’s fair use
    • Is attribution needed?
    • Bradley Kuhn of the Software Freedom Conservancy asked Github in June of 2021 for legal references to back up the fair use argument. Microsoft hasn’t provided any and Mr. Butterick says that’s because there is no legal authority for Microsoft’s position.
    • Copilot users have shown that Copilot can offer a suggestion of code verbatim from another project
    • Stefan Karpinski exammple tweet
    • Chris Green example tweet
  • When we look at Copilot usage, what could the impact on open source communities be?
    • Mr. Butterick argues that Microsoft is creating a new walled garden that might “inhibit developers from discovering traditional open source communities.”
    • Developers may not need to interact with an open source community in the future when the code they want is just presented to them
    • Bug and issue trackers, source repositories, mailing lists, etc.
  • Jamie Zawinski, aka jwz, a co-founder of Netscape and Mozilla

CircuitPython’s ulab (Tod #3) 19:18

  • ulab: Numpy for CircuitPython
  • In Python, any time you do a for-loop to do math a list of data, you’re probably doing it wrong
  • For some operations, the Python built-ins “map()”, “filter()”, and “reduce()” can do the work for you
  • But for really mathy stuff, you need something else. Enter NumPy
  • If you’re experienced with Python, you’ve probably played with NumPy
    • Edit images, audio, machine learning, all use NumPy
    • It’s a wrapper around efficient native C code
    • In general think of Python more like Lego:
      • you connect pre-built pieces to solve your problem
      • you can try to build everytihng from 1x1s but it’s a bad idea
  • CircuitPython can’t have the full power of NumPy (which does linear equation solving, curve-fit analysis, etc)
  • But it does have “ulab”!
  • ulab does some of the most important array and matrix operations at near-C speeds
  • For example: LED animations. a common task is “fade all LEDs a bit”
    • Cylon effect: Turn LED on, Fade all LEDs toward black, go to next LED, repeat
    • Firework effect: Turn random LED on, fade all LEDs towards black, repeat
    • Fakey fire effect: [[ demo this on video ]]
    • Normally this “fadeToBlack()” would be a for-loop
    • In normal CircuitPython, this loop on 256 LEDs takes over 40 millisecs!
    • The same operation with ulab takes around 4 milliseconds: 10 times faster!
  • Tod’s writeup about this
  • Simple Fire effect w/ CircuitPython & Neopixel matrix
  • Paul’s 32x8 Neopixel matrix using FFT and ulab

MakerDeck (Paul #3) 23:57

  • MakerDeck Twitch
    • Twitch livestreams 7-9 3D printers all printing at the same time
    • Can be anything maker related, such as crocheting or painting
  • Twitter
  • Chris Pirillo on Twitch
    • Live on Twitch everyday at 6pm PST
    • Huge Star Wars fan!
  • Crew helping including @pezliz, zombiehedgehog, and @fixumdude
    • Everything you want to know is on their Twitch page, from What is MakerDeck to how to participate and helpful hints
    • Wonderful and very active Discord community
      • Every channel you can think of from chatting in the Cantina to models to make to showing them off or even tech support if you need help

Support Sponsor The Bootloader

If you like what you hear, one of the best things you can do to help the show is tell a friend or write a review.

Consider supporting the show financially - your support helps with the cost of hosting, recording and transcripts. Thank you for your support!