As the sun sets on a balmy summer evening, seated on my back patio, I find myself enveloped in an ambiance that ignites my creative spirit. It is during these moments that I often indulge in the ritual of lighting a cigar, a catalyst for unlocking the depths of my imagination, as wisps of smoke dance around me, transporting me to a realm of boundless inspiration.
Curiously, one might assume that as an IT manager, my desire to escape anything technical or computer-related would dominate my precious leisure hours. Yet, against all odds, I remain drawn to the world of technology. Whether it’s tending to my home server and network or donning the hat of the family’s trusted IT guru, my free time becomes a canvas where I tirelessly refine my technical prowess, for better or for worse.
Recently, I shared my inherent inclination for collecting various items, ranging from games and cigars to YETI products, among others. However, my passion for collecting goes beyond mere acquisition; it extends into the realm of organizing and analyzing data. Initially, I turned to spreadsheets as a means to satisfy my craving for order, yet I soon realized that this alone would not suffice.
A peculiar aspect of my collection obsession revolves around my long-standing practice of rating a universally adored appetizer—mozzarella/provolone cheese sticks—since 2016, meticulously recording my assessments in a note on my trusty iPhone. With the introduction of cigars into my repertoire, I yearned for a method to catalogue my acquisitions and preferences. It was in the latter part of 2019 that the idea of BeardStix came to fruition—an amalgamation of my fondness for cheese sticks and the “sticks” that epitomize cigars.
Since its inception in 2019, my BeardStix website has been a work in progress, continuously evolving with the addition of new features, refined designs, and enriched information. This year, my focus has been predominantly on bolstering the administrative capabilities of the site, empowering me with seamless avenues to incorporate and update content from any location, at any time. This enhanced functionality ensures that I have the flexibility and convenience to contribute and manage website information effortlessly, no matter where I may find myself.
Technical details For the inquisitive minds, BeardStix is crafted using PHP pages complemented by a MariaDB backend, which operates on a server located within the confines of my own home. To infuse the website with interactivity and real-time updates, I harness the power of JavaScript, Ajax, and cutting-edge Google technologies. This amalgamation enables the pages to be highly responsive and seamlessly updates information as it unfolds, providing users with a dynamic and engaging browsing experience.
BeardStix Features Cheese stick ratings Cigar humidor inventory Cigar recommendations Cigar ratings and check-ins Pizza ratings Add cheese stick rating* Modify cigar inventory* Rate and check-in to cigars* Add pizza rating*
*admin-only functions not currently exposed to the internet
You may have seen something like this on technology blogs (like this one!), YouTube videos, or even your favorite Twitch streamer, but what actually is this Stream Deck thing everyone is talking about?
I’ve always thought a Stream Deck was a command station for streamers and YouTubers that can control their streamy stuff and play stupid sound effects. While I wasn’t wrong, the Stream Deck platform is open and friendly to those of us who are into automation and scripting.
Like a lot of people, I took advantage of holiday season sales to purchase a Stream Deck by Elgato. The device is a very simple piece of hardware. At it’s core, it’s a USB keyboard that stands upright on your desk. The version I have has a five by three grid of clear buttons that each have an LCD screen under them. I opted for the mk.2 version that was released in the summer of 2021. (What are the differences?) The ability to have anything on the screen under the buttons make the Stream Deck very fun to play with and to use!
I’m going to go into very technical detail of how my Stream Desk is set up and what I use it for. Hold on to your butts!
The first button is a simple date/time display with my custom background color applied. No action occurs when this button is pressed. Time plugin by Krabs.
Moving from left to right, the next button is a stock ticker display. Currently I have it set to show $AAPL. When you press this button it retrieves an update on the stock price, outside of its schedule update. Stocks plugin by exension
When I walk away from my computer, I want to just put up the screensaver until is goes to sleep. This button, when pressed, runs a custom AppleScript to start the screensaver. At the same time, the Stream Deck goes into screen saver mode. Custom icon featuring a green iMac, by me. RunAppleScript plugin by mushoo.
tell application "System Events"
start current screen saver
end tell
The next two buttons are the same, except the left one is for on, and the right is for off. They both run an AppleScript that runs a Shortcut. The macOS Shortcut turns on/off the lights in my office I use for video calls. This consists of a Nanoleaf essentials light strip in front of my face, Nanoleaf shapes on the wall behind me, and a Govee RGBIC light strip on my Kallax unit behind me. Custom lightbulb icons by me. RunAppleScript plugin by mushoo.
--on
tell application "Shortcuts Events"
run shortcut "Office Lights On"
end tell
--off
tell application "Shortcuts Events"
run shortcut "Office Lights Off"
end tell
The first icon in the second row is another AppleScript button that I call ‘Start Working’. This is usually the first thing I do when I start working from home. It opens all the URLs I like to look at (e.g. Amazon, BlipShift, Woot) and work related web pages. It also opens all the applications I use daily like Outlook, Slack, Teams, NewsExplorer, LastPass, and Music. Custom briefcase icon by me. RunAppleScript plugin by mushoo.
The next button is another display only button that really doesn’t do much when pressed. This is called Octodeck and is a plugin that talks to my 3D printer server, Octoprint. This displays the percentage complete of an active 3D print job. I added a couple lines to the original creator’s code to include the time left, one line under the percentage. Octodeck plugin by cpeuschel.
This center button is kind of a playground of what’s possible. I was testing Keyboard Maestro and its Stream Deck integration and came up with this. In Keyboard Maestro I have a timed macro that runs every 1 minute and grabs the song info from the Music app and pushes it to the Stream Deck button. Also, if you press the button, it will update the info outside of the one minute interval. Keyboard Maestro plugin by Stairways Software.
Another mostly info-only button, displays the album art of the currently playing song in Music. When not playing it shows a play button that can be used to start playing music. This is a simple one, but I like having the album art displayed on my Stream Deck. Apple Music plugin Elgato – available in the Stream Deck app.
The last button in this row, is a simple ‘next track’ button for Apple Music. When pressed this will skip to the next song when music is playing. I like having this button on Stream Deck as well as on my Apple keyboard. Custom icon made by me. Apple Music plugin Elgato – available in the Stream Deck app.
In the third row, we start with two folders. The first folder holding sound effects that can be triggered with the push of a button. I also have a button in this folder to switch to my Zoom profile as I’m usually triggering these sounds while on a Zoom call.
The second folder is for all my lighting controls. I can go into this folder and adjust my office lighting as needed outside of my normal on/off functions on the main screen. In this folder I can change the scene on my Nanoleaf shapes, adjust my Govee light strip, and set all lights to red (when I’m angry).
Another folder in the third row houses my quick access commands for Slack. All of these buttons use a hotkey command to make changes to text in Slack. The middle button with the slack logo, when pressed, opens Slack or brings the application into focus.
Phone – /call – starts a call in Slack channel
Giphy – /giphy – prefix for sending a random GIF
ThumbsUp – ???????? – types and send thumbs up emoji
Quotes – shift+⌘+9 – formats the selected text as a block quote
</> – shift+⌘+C – formats the selected text as code
</> block – option+shift+⌘+C – formats the selected text as code block
Strike – shift+⌘+X – formats the selected text with strikethrough Custom icons by me. System Hotkey plugin by Elgato – available in the Stream Deck app
Next to last, is a mute button. When pressed, this mutes all sounds on the computer connected to the Stream Deck. I usually use this when I receive a phone call or need to quickly hear something not in my office. Custom mute icon by me. System Multimedia plugin by Elgato – available in the Stream Deck app.
The last button is a microphone mute toggle. This is a system-wide button that when pressed either mutes or unmutes the computer microphone. Useful for when I’m using a video chat app that’s not Zoom or Teams. Custom mic icon by me. Mic Mute Toggle plugin by Fred Emmott.
Stream Deck Profiles
The Stream deck can support multiple profiles that will display specific pages based on the application you’re using. I’m using three profiles in addition to the default profile, outlined above.
When I’m using Photoshop I like to have quick actions in front of me instead of trying to remember the keyboard shortcuts. As I use this profile more with Photoshop, I’m sure I’ll add more commands. The icons used in this profile were provided by SideShowFX.
While on a Zoom call, I like to have a button to press to mute my microphone, as everyone should. (and remember to unmute it) I found a Zoom plugin that gives you more than just mute, but also camera control and some other useful buttons. The center button with the Zoom logo does nothing other than let me know which profile I’m in at a glance. The button in the very bottom-right corner switches me back to my default profile where I can access light controls and sounds. If I click out the Zoom app and then go back to Zoom, the Zoom Stream Deck profile reactivates. Zoom plugin and icons by LostDomain.
Lastly, I have a Teams profile which is similar to the Zoom profile, but there is no plugin I’ve found as of writing this. I’m using hotkey buttons to trigger actions in Teams, like mute/unmute and show/hide camera. The Teams logo in the middle acts as a profile switch to go back to the default profile.
Should you buy a Stream Deck?
Overall I think the Stream Deck is a fun toy and can be helpful with repetitive tasks. Would I be lost without one? No, but I’ve already gotten comfortable with the buttons/display I have setup that I would buy a replacement if mine was stolen.
Should you buy one? That’s a difficult question because everyone’s needs/wants are different. If you’re into tinkering, scripting, and/or automation I think you should give Stream Deck a try. If you’re not, you may struggle with what to do with your new Stream Deck. It can always be used to add a wow factor to your desk setup.
Things to Note
The Stream Deck currently only works on a Windows or Mac computer. The Stream Deck community has it running in Linux, but is not officially supported.
The Stream Deck device must always be plugged into the computer to work, there’s no wireless option.
In order to get the auto-switching profiles for specific applications, the Stream Deck software has to be running, but not currently have any windows open. If you have any Stream Deck application windows open, in the background or not, the automatic switching will not work. This is somewhat annoying and hard to determine on macOS as the application does not show up in the application switcher or dock.
The Stream Deck software has to be running for the device to work. If you quit the app, the Stream Deck goes into screensaver mode and does not function.
If you have more than one computer, you have to transfer/re-install your plugins, icons, etc. on each computer. Currently there’s no cloud syncing between devices. Same goes if you have multiple Stream Decks.
Fun Tips & Tricks
You can set the icon of any button to an animated GIF
Any button can have a custom icon – you can make your own or download them
You can take a single image and chop it up into a grid and set that as your button icons
The mk.1 and mk.2 Stream Deck are vey similar with the exception of the mk.2 having USB-C (at the Stream Deck end only), longer cable, solid stand, and interchangeable faceplate (not included)
There are currently three sizes of Stream Deck, mini 3×2, regular 5×3, and XL 8×4
The Stream Deck SDK is very friendly and anyone can make their own plugins for free using Javascript, python, html, or c#
Elgato’s software is free and you don’t need a device to play with Stream Deck configurations
Let me know on Twitter if you also have a Stream Deck and the different things you do with it.
This is not sponsored content. Elgato is not affiliated nor has influenced this post.