What is a Stream Deck?

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 main page layout of my Stream Deck
Time and Date

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.




Stock Ticker

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





Screen Saver

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
Lights On and Lights Off

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
Start Working

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.



OctoDeck

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.




Now Playing

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.




Album Art

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.



Skip Track

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.




Sound and Lights Folder
Sound Effects

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.

Light Control

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).

Kallax and red icons by me, others by plugin.
Nanoleaf-Tiles plugin by fSoft ltd.
Govee plugin by me – release TBD



Slack

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 – /callstarts a call in Slack channel
  • Giphy – /giphyprefix for sending a random GIF
  • ThumbsUp – ????????types and send thumbs up emoji
  • Quotes – shift+⌘+9formats the selected text as a block quote
  • </> – shift+⌘+Cformats the selected text as code
  • </> block – option+shift+⌘+Cformats the selected text as code block
  • Strike – shift+⌘+Xformats the selected text with strikethrough
    Custom icons by me.
    System Hotkey plugin by Elgato – available in the Stream Deck app
Mute Speakers

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.



Mute Mic

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.

Adobe Photoshop Profile

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.






Zoom Profile

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.

Microsoft Teams Profile

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.

Youtube Twitch GIF by Elgato

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.
Stream Deck GIFs - Get the best GIF on GIPHY
image from Giphy

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.

Cutting the Cord on Live Sports

If you’re a cord-cutter you probably already understand the frustration of trying to stream live sporting events or other live events like awards shows, press conferences, or concerts. The streaming world, even in 2022, is still not friendly to live events. Some organizations, like the NFL, have been really good about streaming games or selling streaming rights. If you’re a baseball or hockey fan, it’s a barren landscape. Sure you can buy the leaugue’s streaming package and watch probably every game but the one you actually want to watch. Why is this the case? Local sports teams make exclusive deals with local TV broadcasters which means the national streaming packages black out the team(s) in your local area. If you’re a fan of your local sports team, you have to watch that team on the TV network they signed the deal with, and that network only.

My favorite sport is professional ice hockey and my preferred team is the Pittsburgh Penguins and because I live close enough to Pittsburgh, streaming through the NHL’s provided streaming service will result in a blackout of all Pittsburgh Penguins games. In this scenario I have three options to watch a live Pittsburgh Penguins game.

Option 1 – Cable Subscription

The easiest and most straight forward option is to subscribe to traditional cable. This requires contacting one of the local cable companies (Verizon or Comcast in my area). The Penguins games are on AT&T SportsNet which could be a higher package than a basic cable setup. A package that let’s your select AT&T SportsNet through Verizon costs about $70/month, on top of my existing internet service. In addition to the monthly cost some cable packages require long-term agreements and equipment rentals, so this isn’t the preferred solution for something looking to cut that cord.

Option 2 – OTT TV Subscription

An over-the-top or OTT TV subscription is similar to a normal cable subscription, but it’s all internet-based. Instead of a set top box connected to cable, you can stream live TV to your streaming device of choice, including smartphones and tablets simultaneously. Every market is different with the OTT options and local sports stations, but luckily AT&T Sports Pittsburgh has partnered with FuboTV to bring their content to OTT streaming. This option is good for families that want to watch different programming on different screens at the same time. AT&T SportsNet is available on the base Fubo package, which is about $65/month, with no commitment. This is the perfect option for sports fans that may not want to commit to a year or multi-year cable subscription. It’s easy enough to cancel when you don’t need it and start it back up during the sports season.

Option 3 – Bypass the Blackout

Disclaimer: this option has a few more moving parts, is not for the non-tech-savvy person, and could violate the terms of agreements with your streaming and/or internet provider.

There are two parts to getting around blacked out sporting events. I’m going to speak specifically to my situation where Pittsburgh Penguins games are blacked out in my home region. The first part is getting a streaming service where you can watch the games. NHL hockey on ESPN+ is new for the 2021-2022 season, whereas before NHL.tv was the streaming provider. Thankfully, ESPN+ is a cheaper service than NHL.tv and can even be bundled with Disney+ and Hulu. You’ll need an ESPN+ subscription to watch Pittsburgh Penguins games in any market, but it also gives you access to stream almost every other NHL game as well as a large variety of other sporting events.

Once you have the ESPN+ streaming service and try to watch a Penguins game near Pittsburgh, you’ll get a notice that the game is blacked out in your area. Here’s where part two comes in.

Fire TV’s DNS entry interface

The easiest method I’ve found to bypassing these blackouts is using a DNS proxy service. This is another subscription you must pay for in order to use it, but it’s relatively inexpensive. You also need a device to stream the games on. Any device with a built-in GPS, such as smartphones and tablets. will not work with a DNS proxy as the ESPN+ app will use the GPS to determine your location. After signing up for a DNS proxy service like smartdnsproxy, you’ll be given one or two DNS IP addresses to input on your device. Most of the DNS proxy services provide per-device instructions that can show you specifics to your device. I use an Amazon Fire TV Stick to achieve this. When setting typing in the Wi-Fi password for my home network, there is an advanced button at the button of the on-screen keyboard. This will allow you to manually enter the IP details instead of automatically pulling it from your router. Entering the provided address from the DNS proxy and a reboot is all it takes to get it configured. The streaming apps will then see your location as the DNS proxy thus allowing you to watch blacked-out games.

Let’s see how cost effective this solution actually is:

ESPN+ = $70/yr
SmartDNSProxy = $48/yr
Total 1 year = $118
vs
Cable/Fubo 1 year = $840

That may sound simple and a no-brainer, but it’s not the whole story.
The new NHL TV/streaming rights are weird, so not every game is on ESPN+.
Here are the number of games per network for the 21-22 Penguins season:

  • 69 – televised on AT&T SportsNet and streamed on ESPN+
    • Games on AT&T SportsNet and ESPN+ can work with options 1, 2, and 3 above.
  • 5 – televised on TNT only
    • Games on TNT only work with option 1 provided you have TNT in your cable package.
      TNT is not included in any Fubo package.
  • 4 – streamed on ESPN+ and Hulu
    • Games on ESPN+ and Hulu only work with option 3 as you need a streaming subscription to watch these games.
  • 3 – televised on ABC only
    • Games on ABC only work with option 1 as even the ABC streaming app requires a cable subscription.
  • 1 – televised on ESPN only
    • Games on ESPN only work with option 1 as the base ESPN channel and ESPN+ do not overlap.
      You need an active cable subscription to watch ESPN.

As you can see, there is no one option that can make all games watchable. If you’re concerned with watching every single game, a combination of option 1 and 2 is the best bet.

Devices

Using a DNS proxy to bypass a blacked out sporting event works on most streaming devices that do not have a built-in GPS, like I mentioned above, with the one giant exception being Roku devices. Roku does not allow you to change the DNS server on your device as they use their own DNS servers and give you no way to change it. You could set the DNS server at your router/gateway level, but then every device on your network would be pointing to that DNS proxy. This is not recommended. I recommend using an Apple TV or Amazon Fire streaming box for best compatibility. It also works on Playstation and Xbox consoles, but be aware that changing your DNS on game consoles could impact online gaming.

I suspect that all of this confusion is somewhat intentional to make you just order that cable subscription and be done with it. If you’re an avid watcher of all local sports, I’d say a traditional cable subscription is best since you’ll be able to watch the most amount of games no matter what sport is in season.

The Eternal Jukebox

My Last Ten Albums, Ever

eternal-jukebox

Music is Important to Me

A co-worker and I were having a music discussion around how satisfying it was to have physical media when we were younger. This co-worker and I often have analytical conversations around movies, music, and technology. Most of the time we fall on the same side of the arguments. The latest confab got me thinking…. What if something in the world destroyed the ability to access music so effortlessly like we do today. Since I was about nine years old, music has been something I enjoy listening to everyday. Whether I’m sad, happy, or indifferent, music is always there to appease me.

There Are Some Rules

Music streaming is gone, iTunes has shutdown, Sam Goody is gone for real, and all you have left is one jukebox. This magical jukebox can play any ten albums for as long as you live, as many times as you like. Before all the music is destroyed you have to quickly pick ten albums to fill the jukebox. [perfectpullquote align=”right” bordertop=”false” cite=”” link=”” color=”” class=”” size=””]”Today we have 50 million songs at our fingertips which is great and potentially life changing…”[/perfectpullquote]

These ten albums should be the ten albums you could listen to for the rest of your life. They shouldn’t be the best ten albums ever made, that’s always subjective. Your favorite ten albums could also be a mistake since you might be missing out on music that makes you feel all sorts of emotions. Ten albums are all you get, forever.

Because this is a artistic exercise, our eternal jukebox cannot play “greatest hits” or other types of compilations.

Eternal Jukebox Library

Here’s my list, these ten albums will forever be in my mystical eternal jukebox.

  • Bone Thugs-N-Harmony – E. 1999 Eternal
  • Dirty Heads – SWIM TEAM
  • Ed Sheeran – X
  • Hootie & The Blowfish – Cracked Rear View
  • John Mayer – Continuum
  • Ma$e – Harlem World
  • Michael Jackson – HIStory: Past, Present, and Future, Book I
  • Nelly – Country Grammar
  • Sam Cooke – Ain’t That Good News
  • Sublime – Sublime
  •  
    Honorable mention: Lauryn Hill – The Miseducation of Lauryn Hill

    Read more

    Which is better Apple Music or Spotify?

    “HIStory”

    My musical taste has always been under scrutiny by anyone who rides in the car with me. On any given day, my music library could play the likes of Nelly, followed by 2Pac, Michael Jackson, then John Mayer, and sprinkle in some country too. I call it eclectic, but others just call me confused. All that considered, I enjoy music very much and consider it vital to my existence, especially in the car. I used to be the guy who would be browsing through hundreds of CDs at the stoplight trying to find the right album. My history of music follows all the major trends as I was never afraid to adopt the latest craze. In high school it was all CDs and Napster.

    The classic medium

    It wasn’t until college that I got my first iPod, but I didn’t really jump in completely at first. I had an older car with an aftermarket stereo, so I was limited to options at the time. My favorite thing was the MP3 CD where you could load up a regular CD with 100-200 songs opposed to the traditional 15 or so songs.

    “A Junkie’s Lament”

    Read more