Marty McGuire

Posts Tagged open source

2023
Sat May 6

I went to Open Hardware Summit 2023!

I guess I spoiled this fact last week, but I promised a "miserably dense linkdump" and time continues moving downstream, so here we go!

Loved the Talks!

Here are some helpful links:

I missed some of these in person due to timing with workshops, as well as my own lazy weekend self. For a few, I had the presence of mind to pull out my phone for photos and links for stuff to catch up later. This is that linkdump content we crave!

Carlotta Berry: Robotics for the Streets

I loved everything about this talk. Go watch it.

Huaishu Peng talks fiber lasers and kirigami folded circuits

Fiber lasers were new to me. Impressively small! Ridiculously impressive lasering of flexible circuits with tolerances on par with PCB manufacturing services.

Amy Wibowo: Putting the Personal in Personal Computer

You can find more of Amy's stuff at her site: bubblesort.io

I remember seeing her post some of these designs (@sailorhg on Twitter). Back when I used Twitter!

I really liked this as a high-level overview of approaching a hardware design challenge.

I loved the design exercise at the end, provoking you to actually think about what personal computing means to you. This is not something we are encouraged to do, as consumers!

Kitty Yeung: Can fashion be part of open-source?

In addition to showing off some of her own e-textile projects, Kitty talked about some potentially interesting ways to use digital fabrication to make clothing more cheaply on demand and maybe reduce some of the (horrendous) waste that comes out of fashion churn.

She's partnering with hackster.io to try this out with the winners of the TechFashion Design Challenge 2023. She also encouraged more folks to make their own e-textiles, through groups like FreeSewing. I'm tempted to learn more, I must say.

Hackster.io has their own OHS2023 blog post. They worked with a lot of the speakers!

Kate Hartman & Chris Luginbuhl: Kinetic Wearables Toolkit

Very fun research into mounting actuators onto clothing, mostly using flexible 3D printed connectors.

More at their website: socialbodylab.com

Laurel Cummings: Your Technological Go-Bag and You: Consolidating Your Workbench for the Field

What to actually bring when packing tech to help with disaster recovery. Lessons from the field!

For me I found the "don'ts" to be very important: definitely don't bring anything that needs the internet and probably don't bring any fiddly machines that are sensitive to temp/humidity/wind. Do: learn the tools ahead of time, do all your software updates before you pack!

Rolatube roll up structural tape was new to me. That stuff seems pret-ty neat.

Bradley Gawthrop: Ergonomic Bootcamp

There is are specters haunting tech workers and one of them is named Repetitive Strain Injury.

Reminded me get my Ergodox EZ split-keyboard working again, haha. πŸ˜…πŸ˜¬

Loved some Workshops

There were so many good workshops at OH2023! I only attended two because I am a tired introvert.

Bubblepunk

Andy talked us through his excellent Bubblepunk Zine, with lessons like how bubbles can be fun, safe, and disruptive, how to make good and cheap bubble mixtures, and how technological updates in the form of cheap plastic dinosaur-shaped guns mean you can make a lot of bubbles very quickly.

I hate to link Amazon, so I won't, but I will give you the search term "scharkspark dinosaur bubble gun" and the fun fact that these devices cost less than $10 and they come with their own screwdriver that lets you disassemble the entire thing in minutes.

Build your own eBook

Joey Castillo of oddly specific objects walked us through the challenge of soldering together The Open Book, an adorable open source e-paper reader powered by a Raspberry Pi Pico that reads books from a microSD card.

This was a little beyond the limits of my soldering skills and the tools I brought with me. I was definitely jealous of all the people w/ the Pine64 Pinecil USB-C-powered soldering irons. I have since ordered one for myself!

Many thanks to the participant next to me, Jason, who helped me fix some solder bridges with the help of some borrowed flux paste. I actually left the workshop with a working device!!! πŸŽ‰πŸŽ‰πŸŽ‰

(it stopped reading the microSD card the next day after i attempted to generate some pagination and i don't know yet whether i need to reformat that microSD card or if i have some solder rework ahead of me 😭)

Demo Tables

There were many fun demo tables set up, including a nice general theme of folks working on zines about this-or-that.

One table that particularly stood out was the folks from CrowdSupply. I have dubbed it the Temptation Table because it was full of things I'd heard of but don't have for myself, like the Ultimate Hacking Keyboard, the Precursor (dang that thing had a nice hefty metal finish), and a prototype of the MNT Reform laptop.

Next Time?

OHS2024 hasn't been announced, but I'd be interested in going. I definitely took it easy on social things, as I'm still masking up and generally not spending a lot of time in rooms with lots of strangers. I have some FOMO for missing out on the Friday night party at NYC Resistor, for example, but mostly it would have been nice to just have some more chill conversations with folks who do cool things!

Sun Apr 30

My Open Hardware Summit 2023 badge

I had ten years to figure this out and still managed to do it two days too late, but literally no one was keeping track, so that is fine.

Quick update, have a soundtrack for this post.

Ten years ago?

I attended my first Open Hardware Summit (OHS) in September 2013, at a time in my life when I had an... interesting relationship Open Source Hardware. One year previous, at OHS 2012, my then-employer MakerBot really stirred up some feels by announcing that they would not be releasing some newer designs as open source . I was not allowed to attend OHS 2012 due to MakerBot internal policy around the event.

Fast forward a year and I had left MakerBot, visited China where I helped my friend Matt at Blinkinlabs with software, demos, and more on their successful Kickstarter campaign for Blinkytape, a fully open source hardware LED strip for artists. During 2013 I had traveled to various MakerFaires to show them off, worked with some lovely beta testers, and generally re-engaged with the "maker" community and open source. By September, I was winding down my work with Blinkinlabs, and starting contract web work for Adafruit, which has since become my full-time employer.

So, I was feeling pretty good when Matt shelled out to have Blinkinlabs sponsor OHS2013 and invited me along!

The badges at OHS that year were on-trend with many nerd and hacker conferences at the time. They were full-on hackable open source hardware with "electronic paper" displays. The organizers had even kindly loaded them up with contact info and some cute logos. Seen here are three PNG versions of the badge images on my badge. Each has my name as "Marty M", along with "OHS❀️2013 Sponsor BlinkyTape". One variant has a pixelated heart, one has the open source hardware logo, and one has a QR code linking to blinkytape.com.

Two Days Ago

OHS2023 convened in New York City on April 28th and 29th. While many (many (many)) things have changed in the last 10 years, OHS is still giving out sweet badges to early registrants. In fact, as a registrant for OHS2020, which was moved online for obvious reasons, they had made a sweet badge for me way back then and held onto it until this weekend, when I picked it up.

It was, while playing with this badge and being a little sad I had given them my government name, that I remembered I still had my badge from 2013 sitting in a drawer at home.

During a break in the action I returned home to scoop it up and maybe get it updated for the conference, but in the hustle and bustle of some extremely good talks and some impossibly great workshops, I didn't find the time. So, I proudly wore my "OHS❀️2013 Sponsor BlinkyTape" badge around.

Now that the event is over, I have plenty of time to do what I should have done a week ago.

The BADGEr

The OHS2013 badge was a collaborative effort of WyoLum, seeed studios, repaper.org, and more. It's an impressive little board, but even more impressive is the fact that 10 years later, all their documentation, source, and photos are still online. So, rather than me document it all here, just check out their excellent introduction and jumping-off page: https://wyolum.com/projects/badger/

The BADGEr comes with a lovely default firmware that reads images from an onboard microSD card reader. It looks for alphabetically-named folders (literally A, B, C...) and in those folders for specially formatted images (literally A.WIF, B.WIF, C.WIF). When powered on, it loads up and display A/A.WIF, and you can use the left/right buttons to change to the previous/next .WIF files within the current folder, or the up/down buttons to change to the previous/next folder.

I wasn't sure about this WIF (WyoLum Image Format) 10 years on, but once again their WIF introductory post is still up and all the friggin' code and documentation links still work!

As part of the BADGEr source, WyoLum includes a little Python tool with the unassuming name `greyscale.py`. This cute little utility does a lot more than I might expect (or ... want?) by showing a little Tk-based GUI to open image files, adjust their brightness and contrast to see a live preview of their dithered output, and then save them in WIF format.

Being from ~2013 it was written for Python 2.x (RIP), and didn't work out of the box. But surprisingly I was able to get it working on my Ubuntu 22.04 machine with very minimal changes.

So here's my updated version with instructions on installing dependencies, etc: https://git.schmarty.net/schmarty/BADGEr-WIF-util

(I seriously can't believe I was able to stumble through this. Look how few changes I had to make! Nice job, everybody!)

Let's badge already

Okay, yes, that was too much context. So I opened up my image editor of convenience and made a new 264x176 pixel image, loaded it up in "grayscale.py", saved the result as a .WIF, popped the microSD card into my laptop and made it the new A/A.WIF, and here we go!

The new badge image has my smug mug, name, my short domain (http://mmg.re) and a QR code linking to the same. It could be more artful or interesting, include more info like my pronouns, but for now it is Good Enoughβ„’. (A note on pronouns: OHS2023 offered excellent pronoun stickers, so I did not need my badge to show them.)

I can't wait to wear it to, uh, OHS2033?? Maybe to an IndieWeb Camp or Summit?

OHS2023 deserves more words

I found my return to Open Hardware Summit very inspiring and - for lack of a better word - healing?? I am so grateful for all the folks that gave their time to show us the challenges they are taking on and how they are bringing others along by tackling them in the open. I have so many browser tabs and more to process everything I have seen. I plan to post more about all of it, even if it's just a miserably dense linkdump. So, stay tuned (or mute this ohs2023 tag, you do you).

Until then, please enjoy this playlist of all the Open Hardware Summit 2023 scheduled talks! Up already! Kudos to the organizers, wow. I mean. Wow.

2021
Wed Dec 22
πŸ”– Bookmarked Nivenly.com - Kris NΓ³va β€” Linux, Kubernetes, Cyber security, Infrastructure, Hacking https://nivenly.com/lib/2021-12-22-nft/
2020
Tue Aug 25
πŸ”– Bookmarked Open source tools for activists https://werd.io/2020/open-source-tools-for-activists

“Here are a few auditable, open source tools that I believe activists can rely on.”

2009
Fri Feb 20

Face Detection in Static Images with Python

One of the things I’ve been longing to do with my mobile photo-sharing site Camura is to offer image annotations, like objects and faces.Β  Over the last couple of years I have been increasingly frustrated by the appearance of face tagging on services like Facebook, and the recent addition of face recognition to iPhoto has brought this frustration to the surface once again.Β  I don’t even want to do something as complex as face recognition - I just want to find faces in an image.

Googling for things like “open source face detector” doesn’t come up with much.Β  The landscape seems to be comprised of mostly expensive for-pay libraries written for Windows, abandoned research projects, and lots of research papers full of equations – but no code that I could get to run.

To make a long post short, it turns out that Intel’s OpenCV computer vision library comes with a face detector example that should work out of the box.Β  Better yet, there are now some decent Python bindings for OpenCV that come pre-packaged with OpenCV for Ubuntu and Debian.Β  You can install them with: $ sudo apt-get install python-opencv

Now, it seems that most OpenCV face detector examples are meant to be run “live”, usually taking the image from a webcam and highlighting faces with a red box in real-time.Β  However, I have a large database of static images that I want to consider individually, and I simply want to save the face coordinates for later use, rather than altering the picture.

So, with a bit more Googling, I found a Python script that I could chop up and use for this purpose, and here is what I came up with:

An example run of the script looks something like this:

$ python face_detect.py marty_mcguire.jpg
[(50,36) -> (115,101)]

You can overlay that rectangle on an output image with ImageMagick’s “convert”:

$ convert marty_mcguire.jpg -stroke red -fill none -draw "rectangle 50,36 115,101" output.jpg

And the output might look something like this:

My face, it has been detected.

Pretty fun stuff!