]]>This blog started 15 years ago with little fanfare, a lot of confusion, and entirely too much navel-gazing. It lived on LiveJournal because I wasn’t ready to commit to hosting my own blog, and that’s where all my friends were. Like most LiveJournals of the day, it was almost entirely too much oversharing of what I had for dinner, how much I had to drink at last night’s party, and ego-stroking grandstanding. But I’m better now.

About 6 or 7 years ago I switched focus to technology and craftiness — to “maker” projects. You could occasionally see a glimpse of something personal, but Twitter became the outlet for day-to-day mundane details. There was never anything overtly personal or political on the blog.

So I guess that’s changing. At least for this post. We now have this trumpster fire lined up to be the next president. We’re starting to emerge from the haze of disorientation and shock, filled with grief and anger, with two questions on our collective mind. “How did this happen? What do I do?”

I don’t pretend to know how it happened, but David Wong at Cracked put forth a pretty good theory that pulls analogies from Hunger Games, Star Wars, and Braveheart. It’s the country vs. the city. Us city folks are weird and foreign, and our culture is infiltrating the rural areas. If you’re from a blue-colored county, rewatch Hunger Games, but don’t put yourself in Katniss’ shoes. You’re from Capital City, with your bizarre haircut and over-the-top fashion. Your weird music and fringe religions threaten to engulf the country. I mean, they’re teaching yoga and meditation to small children! What’s next? Satanism??? Everyone nostalgia for the past, not everyone is ready to embrace change — especially when it is forced upon them.

We all know that the president-elect is a baffoon. Like most narcissists, he won’t be able to focus on any one thing for very long. But he’s putting people in place. His proposed cabinet of flunkies is much more devious and much more focused, ready to dismantle (or at least under-fund) environmental regulations, banking regulations, healthcare, and foreign relations. Those are starting to look like the real deal, thanks to the republican majorities in the House and Senate.

We must fight back.

I do have some solid thoughts on what to do. But it first starts with a question: are you privileged? Privilege comes with certain luxuries. Someone who has two part-time jobs with an Uber gig on the side may not have a lot of resources after food, rent, and car payment. If that describes you, just keep doing what you’re doing. We’ll help you get through this, but you need to remember to take care of yourself and those around you. In fact that part applies to everyone. Take care of your friends, family, and neighbors, especially if they’re a minority — a person of color, gay, lesbian, bisexual, pansexual, transgender, or otherwise queer.

For a lot of other people, you have the privilege of time or the privilege of money. Unless you’re the 1%, you probably do not have both time and money. You might be a college student, scraping by on loans, grants, or trust fund payouts. You might be an office worker, working late, in fear of your job, but using your nice paycheck to have take-out, groceries, and Amazon Prime orders delivered because you flat-out don’t have the time to go shopping after work. Or maybe you’re somewhere in-between.

If you’re one of the more-time-than-money people, I’m not sure that I have a solid recommendation for you beyond: volunteer. There are local organizations that fight for social justice and civil rights. They need your help, whether it’s something high-profile like protesting or lower-profile like stuffing envelopes or calling businesses and asking for donations. You or your friends might know more about your local groups and how to find them than I. Maybe someone can chime in with a comment or tweet that I can echo here.

If you’re one of the more-money-than-time people, let’s talk. The more-time-than-money folks need some of your financial resources.

1. Do you donate to your favorite NPR show or station?

2. Do you support your favorite artists through Patreon or Kickstarter?

3. Do you give monthly donations to a charity?

If either of the first two are yes, but the third is no, I have one question for you: why? For me, the first two were easy. It’s media. It’s entertainment. I get direct perceived value from shows, music, games and want to pay back the creators. Once a service like Patreon or Kickstarter has my account info, contributing to someone is two clicks. I don’t even have to pull out my wallet. There’s significantly more friction when giving to charity. First, you need to find one (or more). Are they good? What is their administrative overhead? How do you even research that stuff? Then you find the site, sign up for billing, sometimes pick a gift, and deal with years and years of semi-spammy requests for more money. Hey Patreon: if you’re reading this, maybe work something out with a few charities? Then feature them prominently on the homepage?

So what am I doing, personally? Most years I give a little to the EFF at the end of the year — enough to get some stickers. Some years I forget. But that changed this week. I’ve picked four charities. I’m doing the equivalent of buying each a cup of coffee each month. That’s $20 total, an amount I’ve heard referred to as Yuppie Food Stamps, since it’s the smallest denomination you can get from an ATM. I encourage you to do the same. Jezebel has a good list of charities you can help. I picked the EFF, the ACLU, Planned Parenthood, and Trans Lifeline, but I encourage you to pick your own. Set it up as recurring so that you don’t forget.

How did I pick these four? EFF was simple. I’ve contributed to them before, have been following them for a decade, and see that they’ve done a demonstrably great job at fighting for our digital and online rights. With the FBI trying to strongarm manufacturers into putting golden backdoors into phones and tablets, that will become increasingly important in the next administration. The others? They’re orgs that I know do a good job. Overall, I picked two that I consider more “attack” aligned and two that lean a little more protective. The EFF and ACLU are, quite frankly, lawyers. They help protect, create, and change legislation that improved the quality of life for all Americans. While I know that Planned Parenthood also has lawyers, I see them primarily as accessible healthcare, including providing services that are not otherwise available in conservative communities. Trans Lifeline is a helpline for some of the folks who not only will be some of the most persecuted and marginalized, but who — in some states — already are. People who are harassed, bullied, and legally prevented from using the correct restroom, and who may need someone to talk to, especially when bathed in the dark stress of the coming years.

Second, I’ve set up reminders. At 1 month, 3 months, 6 months, and annually, I’m going to revisit my donations. If I find I’m in a situation where I don’t notice the $20/month, maybe I bump that up. If it’s starting to hurt, maybe I bump it down. If there are other places that could use my money, maybe I shift things around.

We live in a capitalist society and, frankly, money talks. We may not have as much money as Trump — well, actually, maybe we do if you count the whole bankruptcy and tax thing. We may not have as much money as Trump’s constituents and lobbyists, but we have focus and a desire to make the world a better place. Let’s do that together.

]]>I own a lot of movies on physical media. A lot. Something like 300+ at last count.I downsized A few years ago, compressing several tall bookshelves of movies to three shoebox-equvalent boxes by ditching the packaging and placing the discs in sleeves.

I like the format because I can extract movies into DRM-free files using Handbrake and (if Blu-ray) MakeMKV. This results in a format that I can watch on the TV with Plex, load onto the iPhone or iPad, or even do silly things like extract gif loops.

Over the past few months, I’ve picked up a Blu-ray discs of movies I’ve enjoyed in the theater (including The Martian, Mad Max Fury Road, Star Wars, Ghostbusters, and Deadpool). I had already ripped them to a digital format, but the boxes had stacked up. I ran out of sleeves and kept forgetting to order more until recently. This weekend I broke out the sleeves and label maker to get the job done. I noticed that everything comes with a digital redemption code now. The last time I had to deal with a digital movie (the Veronica Mars movie), it was a nightmare, but I figured I’d try it out again to see if the landscape changed.

Full disclosure: I work at a video company and have written code to repackage movies in Ultraviolet format. I’ve seen diagrams of the infrastructure mess backing the format, and may be predisposed against it because of this knowledge.

Of all the movies, the only one that worked flawlessly was through Disney’s system. Redeeming Star Wars was straightforward. Go to the website, type in the code, let it launch iTunes. Done. It’s now in my iTunes library. No headache. A++. Would redeem again.

Fox’s system was hopeful but flawed. A mark in their favor is that they include a QR code to ease typing in an ugly 16-character code. A mark against them is that I actually needed to use that code because of the font. Quick! What are the last four characters of this code?

That’s 5QN5. The font does not easily differentiate between the letter S and number 5. I kept mistyping it because the code didn’t contain an S to contrast against the 5. But the biggest strike against Fox was their site did not interact well against my privacy blocker (EFF’s Privacy Badger). I attempted to redeem a code and it failed to launch iTunes on the first try. On the second try, the site told me the code had already been redeemed and that I should email customer support. This happened with two movies before I thought to whitelist the site. The third movie worked flawlessly. iTunes launched and redeemed. Without the privacy blocker, it would have been as easy as Disney, but because of it I now have two emails out to customer support.

My experience with both Warner Brothers and Sony was universally terrible. It’s worth noting that they are both Ultraviolet-only, with no iTunes redemption equivalent. WB sent me to Flixster, one of the many players-slash-storage-lockers in the Ultraviolet ecosystem. And Flixster needed me to log in to an Ultraviolet account elsewhere. One movie, two accounts. Because I know the architecture, I understand why this is the case, but it’s not user-friendly and makes no sense to Joe Average. Of course, I don’t remember my passwords, so had to do account resets, and wait 30 minutes for one of the emails. Sony was slightly easier because I then knew my Ultraviolet password, but I still had to create an account on Sony’s site.

So now, thanks to the “interoperability” of Ultraviolet, if I want to watch Mad Max, I go to Flixster. If I want to watch Ghostbusters, I go to Sony’s site. Each has their own viewing client. If I want to watch any of the others, they’re in my iTunes library.

Or, instead, I throw my hands in the air, give up on digital movie redemption for another few years, and keep making DRM-free images of physical media. That lets me watch anything I want, anywhere, with no hassle or logins.

]]>https://netninja.com/2016/11/05/on-the-headache-of-digital-movie-redemption/feed/015565Social Anxiety, With Buttons and Stickershttps://netninja.com/2016/09/25/social-anxiety-with-buttons-and-stickers/
https://netninja.com/2016/09/25/social-anxiety-with-buttons-and-stickers/#respondMon, 26 Sep 2016 00:00:59 +0000https://netninja.com/?p=15551 ✽ Write Comment ✽ Read Comments]]>A couple of weeks ago, I attended the XOXO festival here in Portland. Lots of people have summarized it well, with The Verge’s recap being one of the most widely circulated. Nominally, you can describe XOXO as a conference for people making things on the internet — their successes and, most importantly, their failures. The program notes that it is “a festival of introverts, socializing making new friends. A group of people struggling with imposter syndrome, getting together to share their exceptional and endlessly interesting work.” There were many speakers and attendees. Some of the ones you might have heard of include The Queen of Shitty Robots, The Brothers Chaps of Homestar Runner fame, Anita Sarkeesian of Feminist Frequency, Sarah Jeong, author of The Internet of Garbage, and John Roderick of The Long Winters and Roderick on the Line.

I’m not going to attempt a full summary here, and will instead focus mainly on a few personal moments. The conference started on Thursday, with badge pick-up and a few interest-group-based meetups. Previously, I’d picked up a couple of buttons to put on my lanyard — to help convey that I’m both shy and introverted, with the hope of it being conversation starter and an easy exit were I to get socially overwhelmed. “Social Anxiety.” “Have you hugged your introvert today?” I also brought a sheet of puffy cat stickers that I impulse-bought a few months back at Powell’s. The Write the Docs conference had a little station to personalize your badge with stickers — something I’d never seen before but greatly enjoyed. So armed with cat stickers to share, some buttons to display, and some pins that were gifted to me during the meetups, I had a good set of tools ready to start up conversations and share experiences.

I admit — I was overwhelmed. I perhaps overcompensated by having a bit too much too drink (and later vowed to enjoy sobriety until the closing party). I pushed my comfort boundaries pretty hard, but had a good time and met some wonderful people.

The next morning before heading out to the conference, I was nervous. Like… really nervous. I have a blog that nobody’s heard of, where I post projects that are not at all mainstream-interesting, some even a little hard to describe. I help run the Puzzled Pint headquarters in Portland, but I’m not one of the founders, and constantly feel like I’m not doing enough work to say I’m part of it. I’m just some dude, not a fancy “internet maker.” So I snapped a quick photo and threw it in a tweet to help ease the mind, by both putting my feelings out there and making a little but of fun about the situation. I was happy to see one of the conference founders liked it, and it got a few retweets.

Fast-forward a few hours to the conference opening talk. The two Andys talked about the standard conference-opening stuff. They go over logistics, code of conduct, and… anxiety?

Three seconds of heart attack as I see my tweet on the big screen, in front of all the conferencegoers. But Andy Baio masterfully turned it into a discussion on imposter syndrome, anxiety, and outlets for those at the conference (namely, quiet spaces and a Slack channel).

XOXO turned out to be a conference of feels, for both me and the folks around me. I learned of the Slack #anxiety channel for the first time during that opening talk, and definitely took advantage of it, as well as helped signal to others when and where there were quiet spaces. Socially, I pushed myself harder than I have before, and although it was rough, I’m glad I did. I came away from XOXO having learned a lot about myself, about others, with some new internet friends, and with ideas. Ideas for projects — big and small, silly and useful.

✻ ✼ ✻

Two ideas that worked out exceptionally well were the stickers and the buttons. Everyone loved the stickers and many people wanted to know where they could get similar buttons. With permission, I garnered a few awkward, but needed hugs. Since I will be at GaymerX next weekend, I thought I would carry across some of my XOXO learnings. I restocked my cat stickers and will have those to share.

I also used Sticker Mule to order a small bag of buttons. Instead of answering “where did you get that button?” with a shrug and a “…uh, the internet…?” I will be able to help the socially awkward and anxious folks by giving (or trading) a button.

So if you’re at GaymerX, or if you’re a Portland local, ping me (@BrianEnigma) and I’ll make sure you get a button and/or some cat stickers — as a gift from me to you. And if you’d like to use it as a crutch to help prop up a conversation with someone new, all the better.

]]>I’m going to a few conferences this summer, just for fun, not for work, representing myself. In social situations, I’ve always had “calling cards” or personal-life “business” cards with some basic internet contact info. Does anyone remember the Moo.com mini-cards that were popular back when LiveJournal was a big thing? I’ve been using some variation on those for years, with the most design quite minimalist:

But these days, it seems nobody really knows what to do with those mini-cards. They were the rage in the early 2000s, but a difficult-to-file anomaly now. And although I really like the clever overlapping design of email, Twitter, and website, that’s not really the email address nor website that I prefer. Here, Netninja.com, is my home. I figured it was time to redesign my calling card.

Something I find extremely valuable in a business card is the ability to write a quick note on the back. Maybe a new friend wants to jot down where they met you or the topic of your conversation. Or maybe you want to write down a phone number or a time and location. The mini Moo cards don’t work super-great at this, unless you have a Space Pen or permanent marker.

So with my business card redesign my goals were:

Full-size business card, not the half-height mini-cards.

Plain paper back so that you can write notes.

Contact info and user icon on the front.

Some “titles” or other info about my profession and hobbies.

Perhaps incorporate a puzzle or some other clever design element such as papercraft?

The new cards have a straightforward front. I have a minor worry that the text might be a bit busy. On the other hand, I tend to be a shy introvert and may use that as a conversational crutch.

The fun part is the reverse. It features a puzzle that, while it takes up the whole face, is drawn in the same color cyan as graph paper. It should visually get out of the way if you need to scribble over part of. The puzzle itself is fairly simple, with the intended audience being puzzling-newbies. It’s designed to give a little taste of what Puzzled Pint puzzles are like.

Feel free to give it a try yourself, though it’s easiest to solve when printed out. Hints — actually a whole walkthrough — are available by plugging the word hint into that URL shortener.

]]>A few months back I picked up an Amazon Fire TV. I’ve had an Apple-centric household for many years and have been a strong supporter of the Apple ecosystem, but a couple of things changed that caused me to evaluate the Fire TV.

First, iTunes is where all my media lived. This used to be great. Everything is ordered and normalized. iTunes stashes the files on disk in a layout that I appreciate. As more cloud-related features got stapled to the rickety scaffolding of iTunes, I found it to be less and less reliable. I subscribe to iTunes Match so that I can listen to my music on the go. All my media lives on a single local machine, the “gold master” of my music collection. Yet occasionally I find it can’t play or sync a file because it’s gone. I have to re-download it from Match, which is a little scary considering the file should have been there to begin with.

Second, the categorization is a little bit weird. Sometimes TV shows and movies I rip from DVD and Bluray show up in the proper place. Sometimes they’re “home movies.” iFlicks usually helps with this, but not always. Additionally, navigating the collection is a little weird on the Apple TV. Modern Family Season 1 through Modern Family Season 7 are seven different top-level items. This makes the top-level TV menu way too long. I should be able to pick a show, then a season, then an episode.

Third, the new Apple TV remote is crap. It looks beautiful but accidentally brushing across the glass surface of the remote as you pick it up shouldn’t randomly fast-forward or rewind your video, with no great way to return to where you were. You shouldn’t have to log in to Wifi or your iTunes account by entering a complex password on an excessively long linear strand of alphabet, with the Apple TV iOS app no longer functional. These are usability problems that should have been (and had been in previous models) worked out before the new model shipped.

Given all this, I thought I’d give the Fire TV a try. And now I’m sold.

I’ve slowly been porting my movies and TV shows over to Plex. Setting up a Plex server is not as intuitive as throwing media into iTunes. It’s a background service that you interact with through a local web interface. First setting up TV and Movie categories mostly made sense to me as an engineer, but was not as intuitive as I’d expect from a polished product aimed at the mass market. The Plex app for the Fire TV is super intuitive and easy. The iOS app is easy to browse and play, but syncing files for offline viewing might need a little more polish in the user experience department.

The standard apps like YouTube, Twitch, Netflix, and HBO work as expected on the Fire TV. No complaints there. Easy and straightforward.

My biggest worry was losing AirPlay support. That’s the proprietary Apple protocol that lets you stream videos and music from your iPhone or iPad to an Apple TV. It’s great for sharing a quick video without making everyone crowd around a phone screen. I know that a few folks have worked on reverse-engineering the protocol, and I’ve seen a few Mac apps floating around that take advantage of this. I had no idea there was a native Android/Fire TV app that acts as an AirPlay server until I saw one mentioned in an article.

AirReceiver looks a little bare-bones in the Fire TV appstore. It even looks a little barebones when installed. But it does exactly what it’s supposed to do. It sits in the background — you don’t have to specifically launch it — and pretends to be an Apple TV. It sits on the network, acting as an AirPlay destination. I can send videos, podcasts, and Spotify music to the Fire TV without any problems whatsoever.

So while I was a little dubious that the Fire TV would replace the Apple TV — in reality I’ve had the Apple TV unplugged for three months and nearly forgot about it entirely.

]]>At my workplace, we have all-company Friday lunches. Often we will have a speaker giving a presentation — either someone from within the company or someone from the local community. Once, we had a silly game show. It was successful enough that we brought it back a second time, but this time with a little more planning and polish. The first incarnation of the gameshow used a game board made of pieces of paper taped to the wall, with people raising their hands to answer and the host often unable to determine who “buzzed in” first. The fellow running the gameshow project asked me if I might be able to build some gameshow-style lockout buzzers on the cheap. Aside from an extra spool of telephone cord, I had all the electronics parts and scrap wood from previous projects to create an effective buzz-in system.
First to buzz in!

I always keep a spare Arduino or two for prototyping projects just like this one. Specifically, I had a really old Diecimila (it doesn’t have as great a processor, as much memory, or a hardware board as fancy as the current Arduino Uno) that I was happy to get rid of. A project like this doesn’t need a ton of power.

I crafted up a simple design for the buzzers, all chained together. To the Arduino, they look like three separate buttons and one strip of addressable LED lights. In reality, the LED strip is split into three pieces of 8 LEDs, but electrically it’s a single strip.

Three buttons, three LED strips.

I started by creating a single button, temporarily wired to an Arduino. My carpentry skills are terrible, so a boatload of black paint covers up the imperfections.

A single completed buzzer

When this looked good, I set about to complete the other two buzzers. I also needed a way for the host to reset the “lockout.” When first plugged in, each of the buzzers goes through a red/green/blue/white “light chaser” animation as part of a power-on self test. When he saw that during a prototype session, the host loved it so much he wanted a special button to activate this “party mode,” such as when a contestant picked a special question. From these arose a sort of wand that the host can use to reset and activate things.

The final version got wrapped in black duct tape.

As I mentioned previously, the brain behind the whole thing was just an old Arduino. I needed some terminal strips to attach the cables to, but this thing was going to sit under the table, so didn’t have to look all that great. I threw together the following frankenstein:

]]>I have used a few of Amazon’s more popular web services, both on the job and on my own. I’ve deployed code to EC2 and Lambda. I’ve synced files and stored backups on S3 and Glacier. I’ve experimented with a few others. But what is WAF? SNS? CloudTrail? I wasn’t even sure I could tell you what those acronyms stood for, much less what the services did. I thought I’d make some flash cards to help me learn what is available.
Look at all the services!

I started collecting data in a spreadsheet and counted 55 services. That got me thinking. There are 52 cards in a standard playing card deck, plus the two jokers. Everything should fit nicely if I doubled-up a card or two. I added columns for suit and value, then arranged the services so no group spanned a suit.

Mapping services to cards

But if I were to make “playable” flash cards, I’d need something a little more fancy than printing on cardstock and manually slicing cards apart. I’d need cards on a thicker cardstock than my printer accepts and that are more precisely cut, potentially with a plastic or waxy coating. This got me thinking. I’d recently bought the Spell Saga Prelude deck from The Gamecrafter. I had poked around the site at the time and learned that it’s kind of like the CafePress of board game design. You upload your artwork and they print on demand boards, booklets, cards, dials, punchout game pieces, dice, and so on. They even let you set up a storefront and drop-ship to customers.

I grabbed their template for a standard poker card. It’s just a PNG, 825px × 1125px, including bleed and a safe zone for cutting.

At that point, I starting to think about how I would make the artwork for the cards, jokers, and reverse. I wasn’t too keen on manually creating 55 Illustrator files. I looked toward Ruby because there are tons of libraries available. For the best image fidelity, I wanted to go with creating vector outputs, then rendering them down to bitmaps. Unfortunately the SVG libraries that kept popping up as the most popular didn’t allow me to insert images (such as the AWS icons) in my output. I begrudgingly ended up with RMagick, the Ruby bindings for the ImageMagick library. It doesn’t do vectors (or possibly, the vector functionality is poorly documented), so I used it to directly output PNG files.

I uploaded these to The Gamecrafter and 2 weeks and about $20 later (surprisingly affordable, as this includes shipping!) I had two decks of cards that look a little something like this:

Funny thing: I had to re-learn how to deal a Solitaire spread! The computer or iPhone always does this automatically. I hadn’t played Solitaire with a real deck in over a decade, so had no memory of exactly how many columns to deal.

I’ve since done a minor revision involving wording and text size (and am awaiting the reprint to arrive in the mail), but I believe they’ve turned out pretty well.

]]>Every so often I visit OMSI After Dark. These are occasional adults-only evenings that the local science museum puts on. A few months ago the specific After Dark event was about the history of video games. They had (and still do have, for a little while longer) a full exhibit, including some free-play games from Ground Kontrol. They also had tables and booths for locals, for example PIGSquad, the Portland Indie Game Squad. I was instantly drawn to the table for Panoramical. I think I’d describe it less like a game and more like an interactive art project — visuals and sounds that morph to your whim. Although it can be awkwardly controlled by mouse and keyboard, it truly shines with the custom controller. That controller was one of the key things that drew me to the table.

From a technical standpoint, that controller is a MIDI device. It has 18 knobs that send control updates, each from 0..127. It also has a pushbutton that sends a single ‘C’ note. But from a “gameplay” standpoint, it makes the entire experience tactile and intuitive. Instead of fumbling around, trying to adjust 18 sliders on the screen with a mouse and keyboard in a way that’s a little difficult to describe to a bystander, you just twist some knobs. The position of the knobs directly affect the music and visuals. You can leave it in the corner at a party, with no instructions, and people will naturally figure it out.

But most importantly, the controller is Open Source hardware. Although there used to be some available to purchase, the source code and hardware design are on Github. Construction was not exactly straightforward. There were a number of gaps, a few of which I got through by examining the build photos, but some of which I just had to make my own decisions and variations.

Starting the Build

It all started with a bag of knobs. Well, that plus the other electronic parts. You can see a full parts list, with links, in the project’s README file. I needed to use my calipers to make some measurements on the knobs before I could design the panel or enclosure. I also needed to verify that the parts I selected were compatible with one another and would work the way I wanted.

I had a rough design for the full enclosure, but decided to immediately order the acrylic faceplate all by itself. That would help me wrangle the knobs into an organized grid I could easily solder to and experiment with. I did not want to have to constantly detangle a rats nest of knob parts. When the panel returned from Ponoko (the online laser-cutting shop all my designs are optimized for), everything assembled and tested well. The Hardware_Test app is what I used for all of the hardware bring-up. Instead of outputting MIDI commands, it outputs human-friendly text over the serial port about the state of all the controls. This is MUCH easier to debug.

I then set to work on the wood enclosure design. It is mainly composed of four walls and internal insets that the front panel rests on (and gets epoxied to later). There’s a hole for an arcade pushbutton and a USB outlet. Beyond that, there’s not much to the design. I know that some people like to build laser-cut enclosure that use dovetailed notches that can be wood-glued together, but I prefer the industrial look of captive nut mortise and tenon joints — so that is what I used.

The design itself was solid, but I did have one major mistake (which I have since corrected in the design files). I accidentally used cut lines instead of etch lines to outline the lettering. Were I to do it again, there are a couple of other changes I would have made. See the “Changes” section at the bottom of this blog post for details.

Assembly went well. I used nuts and bolts to attach the walls together and Gorilla Glue to glue in the insets. If you look closely, you’ll see that the two longer sides have not just the big arch supports, but also smaller strips. This is to give the panel a little more surface to glue onto.

The sides bow out a little (see the “Changes” section below for more gritty detail), so I solved that with some hackery involving zip-ties and stick-on mounts.

When everything looked good, in both hardware and software, I prepared to glue down the acrylic front panel. To get the epoxy to adhere a little better, I roughed up the underside edges with some high-grit sandpaper.

Setup

Setup of the MIDI controller is super easy. Plug it in. Verify your computer sees it. For this I started with Apple’s Audio MIDI Setup.app (found in /Applications/Utilities). If you launch the MIDI Studio View (Cmd-2), you should be able to see the MIDI device in the list. Once this looked good, I used MIDI Monitor to verify that I saw the expected commands come across the wire. When you launch Panoramical, configuring the controller is easy and straightforward: click an on-screen control with the mouse, then twiddle the corresponding panel knob.

And finally I was able to control the software from the MIDI surface.

Cha-cha-cha-changes

(a.k.a. zip-ties fix everything)

If I were to do this again, there are a couple of things I would do differently. Maybe you or someone you know wants to fork my project and make these modifications.

I hadn’t considered that the wood enclosure would flex enough to bow out in the center. It pulled outward, away from the acrylic panel, leaving a gap. I solved this by attaching zip-tie mounts on either side of the inside, then attaching zip-ties to give it a little tension. If I were revising the design, I would use a wood cross-brace in the center to help keep the walls at a constant distance from one another.

My original design used a Teensy microprocessor. It’s about the size of a stick of gum, and I figured I could easily zip-tie it to the inside of the enclosure, without any sort of formal mounting bracket. Although I did most of my initial development on the Teensy, I switched to the Arduino fairly late in the project. I just couldn’t get the Hiduino MIDI library to work with the Teensy, but MIDI works quickly and easily on the Arduino with that same library. Of course, the Arduino is much larger and I didn’t have any place obvious to mount it, hence the zip-tie suspension.

And honestly, you could easily bring these two mods together into one: a wood cross-brace in the center, parallel to the acrylic front panel, with mounting holes to attach the Arduino.