Categories
Uncategorized

8K Controller with Quicksilver

You may already know that I’ve been building (and selling) USB controllers for the last 8 years or so. Most of them have been for photobooths, tradeshows, exhibits, museums, etc. Typically these have been very durable devices meant for use and abuse by the general public. They tend to do one thing, and do it well. Well, 2020 came along and all events and public gathers sort of… stopped, and with it, people wanting specific use USB controllers. I still sold a few, but it became apparent that lower-cost more consumer oriented devices were desires. That’s sort of what the 8K Controller is. I’ve sold about a half dozen, and I’m considering another run if people are interested in it.

Yeah, so what is it? Well, it’s a USB controller. By default, it’s programmed for function keys F13 through F20 (which are not found on most keyboard) but it can be programmed for any keys, or key combos, or even as a MIDI controller. So yeah, what can it do? Well, with specific custom key commands it can serve as a controller for Zoom, Google Meet, or Microsoft Teams to mute your mic, disable your camera, and other things. As long as there’s a key command, it can do it.

If you just want the default F13-F20, you can use macro/automation software to do all sorts of other things, and I’ll write about these in the coming weeks. In fact, we’ll start right now!

Quick Disclaimer! By default the controller is recognized as a USB HID device, no drivers needed on modern versions of macOS, Windows, or Linux. In future posts I’ll jump into Windows and Linux, but I’ll start with macOS.

Today we’ll look at Quicksilver, which is open-source/free and can be found at qsapp.com Quicksilver can do a lot of neat things, and falls under the category of “productivity software” as many of these applications will.

Quicksilver allows you to create triggers that respond to key commands, which is perfect, because we’ve got 8 key commands just waiting to be put to use. I created a bunch of actions to open up specific web sites, and then for each one, clicked Edit for the Shortcut and pressed the button on the 8K Controller I wanted to assign it to. (I should note that I’m not a long-time user of Quicksilver. I downloaded it tonight and got this basic functionality figured out in less than an hour.)

I’ve now got seven buttons right behind my keyboard which will pull Firefox to the front (no matter what application is running) and load a specific web site. I can have Twitter or Facebook on my screen in a matter of seconds! (Those probably are not the best choices though!)

These are really just examples though. I’ll be changing them to things I actually need every day for work. Admin interface for the online shop, a few accounts I need to keep an eye on, etc. Sure, it’s not too difficult to command tab through the open applications, get to Firefox, click a button in the bookmark toolbar, but… this is one press of a dedicated button, so yeah, it’s quite a bit faster, and I dare say more satisfying.

The view from the Raspberry Pi that has a camera pointed at my 3D printer is now just a mere button press away! (Hmmm, looks like it’s ready for a new print to get started.)

Oh, and one more thing… You may notice I used F13 through F19, but not F20. It seems Quicksilver does not support F20. I did find an issue about the higher numbered function keys, but no mention of F20. Maybe I’ll file an issue about it, but for now 7 out of 8 with a piece of free software isn’t too bad!

Categories
Uncategorized

Sam McPheeters, Author

I just finished reading Mutations: The Many Strange Faces of Hardcore Punk, by author Sam McPheeters. It’s a great book, and I recommend it. And I don’t recommend a lot of books! (Because I don’t read a lot of books…)

Besides being a great storyteller, I share this odd kinship with Sam, though it may be one-sided. I’ve always admired his work, and we’ve crossed paths a few times. Now, in the book he mentions interactions with people and failures (perceived or real) throughout his life. I thought I would share a few times I encountered Sam.

Disclaimer: It’s been over 25 years, and I may not get everything right, but I’m going to do my best to be accurate, If I’m wrong about something, let me know.

I first met Sam when Born Against played a show in Waukesha, Wisconsin. The local Waukesha punks booked them to play a bowling alley. Somehow I rented the PA for the show or something. (I would have got it from Lincoln Music on the South Side.) I remember meeting Sam when setting up the mics and I said “Hey, you’re not gonna stick this mic in your mouth are you? I rented these…” and he looked at me and said “No, I’m not gonna stick it in my mouth.” and that was good enough for me. But… there was this hint of mischief when he said it, as if he was saying “I’ll tell you I won’t do it, but yeah, I’m totally gonna do it.”

Now, why the hell I would I ask him such a question? I’m pretty sure I had seen a photo from a zine (maybe MRR?) where he had a mic shoved in his mouth. I remember it being a great photo, but I was also concerned I’d return the gear to Bob at Lincoln Music and he’d be like “What the hell happened to this mic!?!”

I am reasonably sure he did not shove the mic into his mouth. It’s been a long time, and since I don’t remember, I’ll take that to mean it did not happen, because it seems like something I would remember. I’d probably have said “What the hell, man!?! You said you wouldn’t shove the mic in your mouth!” and Sam would probably have shrugged or something.

The next interaction was in Madison, and I don’t know if this was the same Born Against tour or another one. Maybe it was a year later? (Hell, I don’t even know what year some of these things happened.) Anyway, I think we were near State Street somewhere and Sam saw me and (maybe) Milt, and said something like “Hey, do you guys have Z-Rock in this town?” and I told him we did not, but maybe WORT would work. He then asked where a laundromat was and we may have been able to point him in the right direction. Yeah, this is weird, but Sam is weird, and I am weird, so whatever. I’ve also been know to just randomly ask people if they have Z-Rock in whatever town I’m in. (I never bothered to look up Z-Rock until right now. Huh.)

And then on the Buried tour in 1993 we played in Washington D.C. at Club Heaven with Born Against, and it seemed like somehow there was a small crowd, or like no crowd or I just can’t remember but I do remember watching Born Against play and Sam was Sam and at some point he wandered off during a song and went into the women’s restroom and I think he came back at some point but it’s all a little hazy.

There’s one more interaction I had with Sam but it wasn’t in-person, it was across a computer network where he was asking me questions about something and I remember I felt honored that he was asking me. I’m not even sure I had any great answers for him, but now that I think about it maybe I’ve never had any great answers.

I did a search for Sam with a mic in his mouth and found this photo from ABC No Rio Fondly Recalls the Saturdays of Its Gritty Youth though I’m not even sure that’s the photo I remember seeing.

Sam also makes (or made) art, some of which I find interesting or amusing, and some that makes me worry about his sanity. See the art of Sam McPheeters, Artist. (Try this link or this link instead!)

Categories
Uncategorized

Laser-Cut iMac Holder Plate

In the studio at Brown Dog Gadgets we added an iMac on a rolling cart to the photo area of the studio so we could shoot tethered using a Canon M50. Josh had some concerns about putting a top-heavy iMac on a rolling cart, so I mentioned that we could secure it to the top, and then he sent me a link to this post How I work now – the iMac stand and I told him that was exactly what I was thinking.

I designed a few pieces to do the job. The smaller “front bottom” pieces are 1/8″ thick Baltic Birch plywood, and the larger pieces are 1/4″ Baltic Birch plywood. I cut them on the laser cutter and did a test fit…

The holes are meant to allow for 1/4-20 bolts to be fed through to secure it to the top surface of the cart. And yes, the iMac stand is really close to being 1/8″ thick…

Looks good! Adding this in should prevent the iMac from toppling over while on the cart. And to be fair, we don’t wheel this cart around at any high speed. It’s a large, heavy cart so it’s a slow mover on a smooth concrete floor. But the extra precaution is definitely a good idea.

I added another plate to the back just to prevent the iMac from sliding backwards at all, and so far this has worked out well.

Categories
Uncategorized

Copy Specific File Types

As I’ve been using Illustrator I’ve found it’s very common to need to reuse elements in new documents. As all of my projects consists of folders within folders many layers deep it can take a bit of time to navigate to the correct folder to find the file I need. I’d also have to make sure I either opened and old file and copied out what I needed without making any changes (or worse, damaging the document) or I would make a copy and open that, but then need to remember to delete it later.

What I wanted was a destructible copy of all my old files I could easily browse through, open, mangle, destroy, etc. with no affect on my workflow. I’ve got something that seems to work for now. (Until I come up with something better.) My original plan was to construct a Perl or Python script to walk the directory and copy any Illustrator files (with the .ai extension) to another folder named EXAMPLES. Before I got started writing code I did a few searches, first wondering if rsync could it, and it can, but it didn’t seem elegant. I ended up reading a bunch of posts about how to do this and I didn’t bookmark the page that had the closest solution, but my script is below.

#!/bin/sh

/usr/bin/find /Users/pete/Projects/ -name '*.ai' -exec cp -p \{\} /Users/pete/EXAMPLES/ \;
 
# copy just the .ai files

Difficult to read the code? See the gist on GitHub.

Yup, the good old find command to the rescue. It’s not perfect, as files might overwrite other files if the names are not unique. In this case if names are the same, it’s probably because I’ve got the same source file in multiple locations. With a bit more code I could deal with that, but again, doesn’t matter for this use case.

The nice thing about this is that I can just create a cron job to run it every night and I get all the fresh files copied into in the EXAMPLES folder ready to reference. The files are (mostly) tiny so it takes very little resources or space.

This is one of those things I’m posting because there’s a 97% chance I’ll find this useful in the future. And if anyone else finds it useful… You’re Welcome! Keep Being Awesome.

Categories
Uncategorized

Comparing Macs

I’ve been using Macs for about 30 years (and Apple hardware for nearly 40 years) and I’ve said this before, but I’m not a latest-and-greatest kind of user. I don’t buy the first version (anymore) or the fastest bestest (ever) and I try to make do with the hardware I have. I use the old Macs for various things around the house/shop. There’s a MacPro3,1 running the laser cutter, and a Macmini2,1 used strictly for playing music and the occasional web search.

I still have two “main” computers I use daily. One is a MacBookPro9,2 that has been my “everyday carry” (when I used to go places) and the other is MacPro5,1 I got for super-duper cheap from a video producer friend of mine. The Mac Pro was stuck on High Sierra due to the lack of a Metal GPU, so I grabbed one recently to keep the old box going. I figured it was time to compare the two computers to see what they could do.

I’ll also mention that I probably don’t do as much heavy computing that I used to do. Things that would be “heavy” for me would be some 3D modeling/rendering, a bit of video/audio editing, and processing/editing RAW photos. As I said, I don’t need the fastest most powerful computer, and that’s good, because I don’t have one.

Here’s a quick comparison of the computers:

MacPro5,1 (Mid 2010) MacBookPro9,2 (13″ Mid 2012)
2 x 2.4 GHz Quad-Core Intel Xeon 2.8 GHz Intel Core i5
Intel Xeon E5620 2400 MHz (8 cores) Intel Core i5-3210M 2500 MHz (2 cores)
36GB RAM 1066 MHz DDR3 12GB 1600 Mhz DDR3
Radeon RX 580 8 GB Intel HD Graphics 4000 1536 MB

I used Geekbench 5 to get the following numbers:

Score MacPro5,1 MacBookPro9,2
Single-Core 458 554
Multi-Core 3682 1131
OpenCL 46089 992
Metal 50937 183

Whew! Those are some differences in those numbers. My main concern with these two computers is that I can continue to upgrade the OS for a few years, if possible. I just got the Mac Pro up to Mojave (and will get Catalina on it soon using OpenCore.) I’ve tried a few Mojave installs on the MacBook Pro, but they keep failing. I’ve got a new SSD coming to get that taken care of, so we’ll see how it goes.