version 1.0

A while back I posted about a script I wrote called version. https://github.com/bit101/version You pass it the name of a program and it tells you what version of that program you have installed. Example: version java This saves you from having to remember if it’s java -v, java –version, java -V or something else (no spoilers). version now knows how to get the version of 156 different programs (including itself). It has 9 contributors and 15 stars. Not exactly React, but it’s cool to have people contributing. In the original proof of concept, I was using bash case statements. In

Continue reading

Grep and Sed, Demystified

I’ve kind of half understood grep for a while, but assumed that I didn’t really get it at all. I thought I knew nothing at all about sed. I took some time this weekend to sit down and actually learn about these two commands and discovered I already knew a good deal about both of them and filled in some of what I didn’t know pretty easily. Both are a lot more simple and straightforward than I thought they were. Grep grep comes from “global regular expression print”. This is not really an acronym, but comes from the old time

Continue reading

New Shell Script Shortcut

I’m often making shell scripts for various things – sometimes just a quick one for a specific task, sometimes just to test something out, sometimes for some kind of workflow task that I plan to keep around. It’s always the same steps: Create the file. Add the header: #! /bin/bash Write the code. Save it. Exit the editor. Make it executable with chmod +x <filename> Run, test, edit, etc. When you’re repeating yourself, time for some automation. So I wrote a shell script that creates shell scripts. #! /bin/bash if [ -f “$1” ] then echo “$1 already exists” exit

Continue reading

Git-based Wiki

For many years I’ve bounced around using different tools to save information that I might need later. I’ve used MS OneNote, Evernote, Workflowy, Dynalist, Notion, several other hosted and self-hosted wiki systems, and probably many other things. If I had to name a favorite out of all those, I’d go with Workflowy. It’s a super simple text outliner. You start with a single top level page. Each page is a list of items, and can each have a nested sub-list, with effectively unlimited depth. But you can also focus on any node so that it becomes a page in itself.

Continue reading

Pinebook Pro Tips

For those of you who actually have, or are thinking about getting a Pinebook Pro and would like to know how to avoid the stupid mistakes I made, here are some specific details I learned. Get the Right Image I wanted to install the Manjaro XFCE version. So I wanted the image for that. This was my first point of confusion. I knew I wanted an eMMC installer image. There are links here: https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Release#Manjaro_ARM If you get an image direct from Manjaro, it will NOT be an eMMC boot image. You have to go to osdn.net. And even there, it’s

Continue reading

Pinebook Pro Saga and Review

Back Story A while back I bought a Pinebook laptop. This was the original 11-inch, white plastic model. It cost $99 plus shipping. The idea was great – a cheap ARM laptop that you could grab and go and not worry too much what happened with it. But in practice, it was not even remotely usable. The specs on processor and network speed and memory were just not there. You couldn’t watch YouTube on it. Just loading any non-trivial web page was painfully slow. The touchpad was meh, but the keyboard was just atrocious. Not so much the feel, but

Continue reading

How to Interview

A couple weeks ago I wrote about resumes. The obvious follow up is about interviews. Again, this post reflects my own experiences and opinions, not any official policies or procedures of my company. I’ve done more technical interviews in the last few years than I could count. But I’m not going to talk about technical interviews here. What I’ve been doing for the past month or so is the initial screening calls, where I just have a conversation with the person, do introductions, ask some general questions about background, skills, likes, dislikes, experience, etc. It’s been a really nice break

Continue reading

Introducing “version”

Yesterday I picked up a book on a writing compilers and interpreters. This particular book’s code is written in Java. It’s been a while since I’ve coded in Java and I had no idea what Java dev tools I had on my system. So I created a simple hello world Java class and ran javac Main.java and java main and got the result I was hoping for. Yay! Then I figured I’d check what version of Java I had installed. So I did what I thought was obvious: java -v Unrecognized option. Oh, I know some language uses a capital

Continue reading

How to Resume

Note 1: You can spell it “resume”, “resumé” or “résumé”. I’m going to go accent-less. Note 2: This article represents my own views and experiences and is no way meant to represent the views, policies or practices of my company. Intro My company, Notarize.com, found itself well positioned in an environment where suddenly people want to do transactions on line rather than in person. Our traffic and business has increased massively in the past few months and we’ve attracted the attention of a lot of big companies that want to work with us. We’re building all kinds of new things

Continue reading

2020 Desktop Build!

After upgrading my 2011 desktop recently with a new CPU and RAM, I caught the PC building bug and started wanting to build a whole new machine. My initial plans were to take it slow. But there’s only so much I can do there. If I got a modern motherboard, my existing CPU and RAM isn’t going to work, so those three need to be done at once. But I figured I could start with a case anyway. I went with Phanteks Enthoo Pro. A few things I was looking for that influenced my decision: Plenty of space for internal

Continue reading