software development






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