Author Archives: Daniel

▶️ gifcast

I implemented gifcast, a web page for converting asciinema casts to animated GIFs. Here’s the link: The JavaScript source code is available on GitHub: The example below was generated with gifcast. Here is the asciinema cast file used to generate … Continue reading

Tagged , , , | Leave a comment

Compressing VGG for Style Transfer

I recently implemented pastiche—discussed in a prior post—for applying neural style transfer. I encountered a size limit when uploading the library to PyPI, as a package cannot exceed 60MB. The 32-bit floating point weights for the underlying VGG model [1] … Continue reading

Tagged , , , , | Leave a comment

SMAWK in C++

I recently implemented kmeans1d—discussed in a prior post—for efficiently performing globally optimal 1D k-means clustering. The implementation utilizes the SMAWK algorithm (Aggarwal et al., 1987), which calculates argmin(i) for each row i of an arbitrary n × m totally monotone … Continue reading

Tagged , | Leave a comment

kmeans1d: Globally Optimal Efficient 1D k-means Clustering

I implemented kmeans1d, a Python library for performing k-means clustering on 1D data, based on the algorithm in (Xiaolin 1991), as presented in section 2.2 of (Grønlund et al., 2017). Globally optimal k-means clustering is NP-hard for multi-dimensional data. LLoyd’s … Continue reading

Tagged , | Leave a comment

Style Transfer Medley

I used the pastiche style transfer program—discussed in a prior post—to create the video shown above. The content image is a photo I took in Boston in 2015, and the style images were randomly sampled from the test images of … Continue reading

Tagged , , , | Leave a comment

🎨 pastiche

pastiche A literary, artistic, musical, or architectural work that imitates the style of previous work. ―Merriam-Webster dictionary I recently implemented pastiche, a PyTorch-based Python program for applying neural style transfer [1]. Given a content image C and a style image … Continue reading

Tagged , , , , | Leave a comment

Debugging in Vim

Vim 8.1 was released about a year ago, in May 2018. The “main new feature” was official support for running a terminal within vim. Along with this came a built-in debugger plugin, termdebug, which provides a visual interface for interacting … Continue reading

Tagged , , | 8 Comments

🔐 LC4

About a year ago I wrote a Python library that implements ElsieFour (LC4) encryption (Alan Kaminsky 2017). LC4 is designed for human-to-human communication, without requiring a computer. I’ve recently updated the library to include color-coded verbose output that shows the … Continue reading

Tagged , , | Leave a comment

⌨️🏌️🐍 vimgolf Client in Python

I implemented a vimgolf client in Python. The source code is available on GitHub: The user interface is similar to the official vimgolf client, with a few additions inspired by vimgolf-finder. The package is available on PyPI, the Python Package Index. … Continue reading

Tagged , , | Leave a comment

More Bézier Walks in Neural Networks

The videos above were generated using the same script described in an earlier post.

Tagged , , | Leave a comment