30 Days with Subsonic
So it’s been a little over a month since I [ditched Plex]({{ site.baseurl }}{% link _posts/2019/01/2019-01-12-before-and-after-plex.md %}) in favor of Subsonic, and I’ve started to get the hang of things. I was initially a little skeptical if I would like the service enough to fork out for the premium version or not. With a 30 day free trial I didn’t have much to lose however. There wasn’t an official docker image, unlike Plex, so I went with the one provided by mbirth which works well enough.
How hard could it be to make a multi host Postgres proxy?
Imagine a scenario where you want to route postgres connections through a single proxy to multiple databases. db1.com ---> Proxy ---> Database 1 db2.com ---> | ---> Database 2 How would the proxy work? We’d want to leave the actual database connection secured so the data itself would be encrypted. That prevents us from proxying based off some data in the query itself. That leaves us with a couple of options
Before and After Plex
Services like Spotify, or Pandora are great for access to a wide variety of music. Over the years, I’ve built up a decent collection of music (At last count 256 different albums), and I tend ti like listening to my own music when given the chance. The convenience of streaming is hard to beat however, so I tried a couple different services that would allow me to stream my own music.
Home Assistant, and Kubernetes, and Z-Wave, Oh My!
Home Assistant + Z-Wave For the last 3 years or so, I’ve been running Home Assistant for my home automation needs. I’ve gone through a couple iterations with it being hosted on bare metal on a raspberry pi, in a python virtual environment, and within a docker container. I started off mainly with just smart lights so wi-fi bulbs worked pretty well. After time, concerns with security and general scale led me to start using Z-Wave and Zigbee devices.
When Errors are Promises
Under what circumstances will the following code end up logging the rejected promise message to the console? foo() .catch((err) => { console.log(`Promise Rejected. reason = '${err}'`); }); When foo returns a rejected promise like so const foo = () => { return Promise.reject('Rejected Promise'); }; The console will look like Promise Rejected. reason = 'Rejected Promise' Now the naming of catch makes it seem like it should also handle errors. If foo looks like