Recently I was working on a side project, a toy project, and I wanted to keep it on more than one machine — I cannot sleep at night knowing the entirety of a project exists on one piece of hardware.

I didn’t want to make it a public repo on Github because, well, I’m easily embarrassed about side work like this. I also didn’t want to upgrade to a paid plan on Github for something that I’ll probably work on for a week or two and then abandon forever to the tiniest recesses of my mind. …

This week I came across an interesting problem: I needed to replace the source of an image with the response from an ajax request to a URL that responded with an image. In other words, at runtime in the browser, I needed to set the source of an existing element to a data uri constructed on the fly with the contents of an ajax response.

There are many reasons to set an image source to a data uri; of the many, one is when you want to make authenticated requests for an image that require a header for authentication. …

Many years ago, I think it might have been with the release of Mavericks, macOS changed the way Cmd+Tab works. Cmd+Tab is such an innocuous thing that you’d hardly think it deserves a second thought… or, dare I say it, a workflow breaking change that was never addressed as an issue.

Previously, when one hid an application with Cmd+h the application would move in the tab order of applications within Cmd+Tab. That is to say, it would go to the end of the line. So if I had four applications open and in order 1, 2, 3, 4, using Cmd+h to hide application 1 could cause the order to become 2, 3, 4, 1. …

The other day I was surfing around for a solution for this problem and came across Ray Grasso’s excellent post from April of 2015. I recommend reading the post for his solution; I’ve just modified it a bit. He also links to his dotfiles which include updates since the content of the post.

About ctags

Many years ago I became familiar with the basic ctags functionality in vim. But ctags itself is much more flexible and can be consumed by most editors. …

I don’t know if canon is the right word, or if the title of this post should start with “The UNIX consistency” or the “The UNIX philosophy”. But when you start digging into UNIX and UNIX-like environments, you start noticing patterns.

One of these patterns I’ve noticed is the mapping of n and p. In the UNIX canon, n means next and p means previous. You’ll see these things everywhere. For example, in GNU readline, Ctrl+p means previous line from history and Ctrl+n means next. Try it in your terminal: open one up and hit Ctrl+p. The last executed command will appear under your cursor. …

Recently I had the opportunity to solve some long-standing file navigation and templating complaints with my react-native vim setup.

The Problem

While developing ruby on rails applications, which I’ve been doing for ten years, I’ve relied on the powerful and popular rails.vim written by tpope. I like that rails.vim makes me decide what I want before going and getting it (so I don’t sit and stare at a list of files) and another part is the built-in templates for new files that rails.vim provides. For example, :Emodel user! will generate a blank ActiveRecord model class that inherits from ActiveRecord::Base.

I’ve been developing react-native apps for some time now, and I’ve been relying on vim’s built-in :e command combined with tab-completing directories and files. This has been tedious, to say the least. I wished I had the familiar navigation and new-file templates from rails.vim. I recalled, though, that rails.vim had been rewritten some time ago and vim-projectionist had come out of the refactoring. …


Veezus Kreist

Solving problems and saving apps

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store