RSSAmplifier

Blog

Shalom's Blog

Personal blog of Shalom Dubinsky

sdubinsky.comRSS feed ↗19 posts

Latest posts

Installing Sway From Source

I wanted to use the new explicit sync code in sway master, and got bored waiting for a release. So I decided to compile and install sway myself. Here’s all the problems I had that aren’t listed in the readme, and how I got past them.

Blender And Nvidia And Linux, Oh My!

I have a bunch of graphics-related programs I want to use. These are: Wayland, Sway, Avidemux, and Blender. I also want to use multiple monitors. I also want to use my Nvidia GPU to help me with those. This is unfortunate, because Nvidia hates linux.

Using Gmail With A Custom Domain

An email address functions as a proof of identity in today’s online world, and losing access to your email can be devastating. The most common email provider today is Gmail, but the problem with Gmail is that it’s tied to your Google account, along with all other Google products. If you break the terms of service in any of them, you can lose access to your whole Google account, including email,…

Setting Up A Cloud Server For Multiple Sites

Once upon a time, the correct answer for “how do I run a hobby site” was “put it on Heroku.” They offered free hobby servers that were completely configured for you, so that deployment was as simple as git push . Salesforce bought them, reliability went downhill, and they got rid of the free tier. Now there isn’t anything in its league to replace it, so let’s talk about building your own.

A Bug Finding Journey

I recently spent a day tracking down a fairly weird and hard-to-find bug. It required very little advanced knowledge, just the ability to read code and some tenacity. The target audience for this post is newer coders who are intimidated by complex repos or bugs. I want to show that you don’t need special skills or lots of experience to do this sort of thing. Start by searching for key words in the…

Anatomy Of A Linux Command

There’s a lot you can do in Linux via a GUI (graphical user interface), and if that’s how you like using a computer, more power to you. Every once in a while, though, you’re going to want to run a program that doesn’t have one, or has options you can’t access via the GUI. Generally, when you run into one of those, you’ll look around for help. The help will come in the form of advice to “run this…

Multi-column Centering In Css Grid

CSS Grid is the new hotness for website layout design. It expands the concepts introduced in flexbox to two dimensions, and adds some other improvements. One problem with Grid is that it limits you to just the grid dimensions. I recently created a two-column grid, and needed to center something across both columns. Now, you cannot tell grid something like “put this element centered on the line…

Using Postgresql's Union

The popular way to combine datasets in SQL is join , which combines data horizontally - the result set has the columns from both datasets. However, I recently pushed an update to The Fencing Database that involved combining results from two queries vertically - I wanted to treat the results as one long result set. The way to do this is an SQL command called union .

External Programs And Emacs

The Emacs philosophy is “do everything in Emacs.” To that end, there are many emacs modes that act as frontends to external command-line programs such as ledger . One common problem is that, depending on how you start your Emacs, it might complain about being unable to find those external programs. This is a common problem if you start Emacs as a systemd service or if you use the GUI version on a…

An Oral History Of Git

Linus Torvalds, the creator of Linux, wrote Git as a source code management system (SCM) for the Linux kernel. Legend has it he wrote the whole thing in a weekend, and it was perfect. I was interested in how it all happened, so I went through the Linux Kernel Mailing List (LKML) for April 2005 looking for the real story. What I found was a series of emails that detail the beginning of one of the…

Four Common Problems With Csvs

Comma-separated value files, or CSVs, are the default file format. There is no formal csv spec the way there is for JSON - you have to deal with whatever people come up with to separate their values. Programmers everywhere curse these files, since anything that can go wrong with them usually does.

Better Googling

Standard advice for a new programmer is “Google is your best friend.” And it’s true! All the information you could ever want is in google, along with all the information you would have wanted if you were asking the question five years ago, or fifteen. How can you filter out the old, useless, out-of-date results? You can learn how to write a better query, but that will only get you so far. Here’s…

Four Ways To Set Your Path On Mac Osx

Number three will surprise you! This post courtesy of the six hours I spent trying to figure out how the hell RVM still had stuff in my $PATH .

Mafia Site Build

Every six months or so, my friend runs a live-action version of the card game Mafia, but on steroids. He used to run it by hand using Google forms, so I offered to build him a website to make it easier for the users and automate some of the more tedious calculations.

Autohighlights Part Four

A lot has changed since the last update - refactoring, bugfixes, and new tech added. In this post I’ll go through it all. It’s finally in a state where it seems reliable and usable right off the bat. You ought to be able to download it, install the dependencies, and run it on whatever files you want.

Pysftp Shell

The current sftp implementation on bash is primitive and out-of-date. There's no history, no tab-completion, and no arrow-key support. So I decided to write a modern version. It's a lot easier than it sounds, I just took a couple Python libraries and meshed them together, pysftp and prompt_toolkit .

Autohighlights Final Improvements

Last week, I released the first video created using this program - you can find it here . I had gotten bored of fixing minor bugs, so I made a reddit post giving myself a deadline and finished up the last few things. I hit a few dead ends and made a few wrong turns as well - I'm including them here for completeness' sake. Much like the last post, this is a mostly-unconnected series of bugs.

Autohighlights Bugfixes

When we left off last time, I had what amounted to a minimal working example for taking a video of a bout, extracting the touches, and putting them together in a single video. Now I'm going to turn it into a real program that other people can use. Won't get there today, but I'm making progress.

Autohighlights

This is a very boring discussion about making something very hype. You have been warned. I'm going to take you from video to a fully functioning highlight reel in a few easy steps, and a couple more moderately difficult ones. We're assuming a unixlike here - it should work equally well on Mac or Linux. Note that this is an early version of the code and the algorithm is subject to change.