A quick puzzle from Daily Programmer:
∞ Loop is a mobile game that consists of n*m tiles, placed in a n*m grid. There are 16 different tiles:
┃, ━, ┏, ┓, ┛, ┗, ┣, ┳, ┫, ┻, ╋, ╹, ╺, ╻, ╸, ' '.
The objective is to create a closed loop: every pipe must have another tile facing it in the adjacent tile
— for example if some tile has a pipe going right, its adjacent tile to the right must have a pipe going left.
The most straightforward solution is a hybrid combination of constraints and backtracking, similar to what I did when solving Takuzu and tile puzzles.
At the moment, I have an Apple Music subscription. It's great to be able to listen to more or less whatever music I want to. I switched from Spotify because they were missing a few artists that I actually did want to listen to. Unfortunately, there are a few things that Apple Music doesn't do that I would like to have--chief among them the ability to play on a Roku.
One nice thing that Spotify does have though is a fairly powerful API: Spotify Web API. Inspired by a post on Spotify and billboard.py which automatically creates Spotify playlists from the Billboard music ranking charts, I decided to write up a script that can sync my playlists from iTunes to Spotify.
A few weeks ago, I was having some pretty bad problems with my internet randomly hanging. Given that I'm now working from home, that wasn't exactly the most optimal of situations to find myself in, so I decided to dig a bit deeper. After a bit of looking, I found myself at my cable modem's built in web page:
(This is after I fixed my problem. The values aren't perfect but they're much better.)
Quick post today. I was working on a website where I have a live server running the code on another machine. I wanted to write a quick script that would copy any files I changed to the remote machine. This is something you can do automatically in most IDEs, but I wanted something both a bit lighter weight and to have the excuse to write something myself.
When developing using docker on OS X, you'll currently have to use docker-machine to spin up a virtual machine that is actually running the docker containers. Running a virtual machine takes up a bit more in the way of resources than just the docker containers, so if you're not actually developing at the moment, it's helpful to be able to start up the virtual machine only when you need it.
The current way I have to do that:
$ docker-machine start default
$ eval $(docker-machine env default)
What's worse, the latter command has to be run for every shell that you start up. It's by no means a hard pair of commands and you could easily wrap them in an alias or put them in your
.profile equivalent (which is what I used to do). But unfortunately, I found a completely unrelated bug in
tmuxp: if the shell takes too long to start up,
tmuxp essentially won't work. The above
eval command took long enough to hit this limit.