software development




Mike is a professor at a reputable university. He teaches advanced machine learning and robotics, he’s finishing up his PhD in computer science, and he always has a new gadget he’s playing with. David is a software entrepreneur. He has sold a software company or two for modest profit and […]

Of Mikes and Davids



There are a lot of interesting lectures on Youtube. Recently I’ve taken to adding these lectures to a playlist and processing them on my mac using the following script: youtube-dl -o '%(stitle)s.%(ext)s' $YOUR_YOUTUBE_PLAYLIST for file in ./*.mp4; do echo "processing $file" file = $(print '%q' "$file") ffmpeg -i "$file" -filter:a […]

A script to turn a Youtube playlist into mp3s


Recently I’ve taken to participating in a LiveStream of a Sunday School I physically attend. Because I’m there physically I don’t need the video so Here’s what I use to remove the video and expand the chat pane to fill up the resulting free space. $('.player-wrapper').remove(); $('.chat_wrapper').css('width','100%');

LiveStream chat-only mode




I ran into a problem recently where I needed to perform a regex replace on a string and also manipulate the string captured in a capture group at the same time. What I discovered is that its valid to pass a function as the second argument to the replace function […]

Javascript replace on a capture group


ios7 appears to have broken input fields for a number of web applications. Input fields now take two taps to allow the user to input data even though the keyboard is brought up after only one click. Here’s a hack to fix the input fields for any of your webapps […]

ios7 form input patch