I recently learned about a secrets manager called Passbolt. Given my interest in word lists, I asked them on Mastodon if they use one. They promptly replied that, yes, they do, and provided me with the GitHub URL to their word list.
[Read More]
Introducing Phraze, a passphrase generator
I wrote a random passphrase generator command-line tool! I’m calling it Phraze.
[Read More]
Strongbox X Orchard Street Wordlists
Note: This post is now slightly out-of-date. The names of the relevant Orchard Street Wordlists have since changed. Check the repo for the latest lists and their corresponding names.
[Read More]
The somewhat lucky history of SecureDrop's English word list
The SecureDrop project uses a few different (English) word lists. One of them is located in their public repo at securedrop/wordlists/en.txt.
[Read More]
Are word lists sufficiently original to be copyrighted?
I recently pushed to GitHub a set of word lists intended to be used to generate secure passphrases called the Orchard Street Wordlists. I’m pretty proud of them – you can read more about the lists here.
[Read More]
Using cargo-deny to check license compatibility of your Rust project's dependencies
I’m (still) thinking a bit more about software licenses (previously). In order to learn more, I read Open (Source) for Business: A Practical Guide to Open Source Software Licensing by Heather Meeker, which was pretty close to the more thorough explanation of key concepts that I was looking for. (Tired...
[Read More]
Introducing Orchard Street Wordlists
About five years ago I started thinking about passphrases and the word lists used to generate them. At first, I just built tools to audit, and later create, word lists rather than actually create word lists myself. In 2020, I finally started working on making lists.
[Read More]
Using playing cards to create passphrases
As you may know, there is a method for using dice to create strong passphrases. If users have 6-sided dice, this means the wordlists used in conjunction with this method usually must be 7,776-words long. This means that each additional word chosen gives the resulting passphrase 12.925 bits of entropy....
[Read More]
Cyber Scripting: Trying out the Cyber scripting language
I recently learned about Cyber, a very new scripting language written in Zig. Intrigued, I decided to try to write a tic-tac-toe game with it.
[Read More]
How hard could it be? Sorting words alphabetically with Rust
One of the more basic things my wordlist-manipulating program, Tidy, does is to sort words alphabetically. By that I mean: given a wordlist, two of the few things it does by default is to (a) remove duplicate words and (b) alphabetize them.
[Read More]
Trying a new permissive software license
I’ve been thinking about software licenses this month for two reasons. First, I saw this blog post from Daniel Stenberg, who created curl, about whether developers really have to update the years in their copies of software licenses. He concludes “I don’t think we risk much by” removing the years...
[Read More]
Performative privacy
I read Privacy at the Margins by Scott Skinner-Thompson a few weeks ago. One idea from the book has been bouncing around my head ever since: performative privacy.
[Read More]
Playing with binary fuse filters
I was reading some Restic documentation and at one point it recommends using a program called “Automated Password Generator “ (apg) to generate strong passwords. I wanted to learn more about it, so I ran man apg, where I learned about a related program called apgbfm, which is used to...
[Read More]
Cloud back-ups with Restic and Amazon S3
A few months ago I had a 4TB external hard drive fail on me (it may have been because I stored it on top of a medium-sized speaker…). It got me thinking that it might be time for me to explore cloud (or online) back-ups.
[Read More]
Reviving decade-old Macs with antiX and MX Linux
I was visiting family this past weekend and saw an iMac from 2007 and MacBook from 2008 destined for the trash. As the tech nerd of the family, I was asked if these machines were still useful at all. I also had a 2012 Macbook Air no one was using,...
[Read More]
Mini PC buying guide
Do you have a (family) house with one or two mediocre computer monitors, speakers, keyboards and mice? Do you want a decent, cheap desktop for browsing the ‘net, watching videos, maybe some light document editing work? I did! So I decided to do some research.
[Read More]
How to use a security key as two-factor authentication on your Mastodon account
This is a continuation of my post on enabling two-factor authentication for Mastodon accounts. For users new to two-factor authentication, I highly recommend you start there.
[Read More]
How to enable two-factor authentication on your Mastodon account
I don’t know if you’ve heard, but a lot of new users have been joining Mastodon these past few weeks! Awesome!
[Read More]
Creating a decent Netflix password
Pop quiz you’re at an Airbnb in Montauk with 10 friends. After a rousing game of flip cup, the party is threatening to slow down… until someone says they want to watch the new Beyoncé live concert film. Someone else navigates to the Netflix icon on the AppleTV. But then…...
[Read More]
Using Just to (further) automate the creation of word lists
As I’ve written about a number of times recently, I’ve been working a couple of word lists this past year. To do this, I created a tool called Tidy.
[Read More]
Reviving a 16-year-old ThinkPad with Linux
I recently inherited a ThinkPad X40 from the mid-2000s. It’s got 1241 MiB of RAM, a 24-ish GB hard drive, and an Intel Pentium M 1.10 GHz CPU, which, if I understand correctly, is 32-bit.
[Read More]
A summer fling with Zig
I decided to spend a few days trying out a relatively new programming language called Zig, “a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.”
[Read More]
Schlinkert Pruning: Making a word list uniquely decodable with minimal cuts
Earlier this summer, I wrote about uniquely decodable codes.
[Read More]
How strong should SecureDrop passphrases be?
Back in May, I was reading over SecureDrop’s documentation and its corresponding GitHub Issues. (If you don’t know, SecureDrop “is an open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources.” It’s maintained by the Freedom of the Press Foundation.)
[Read More]
In search of a uniquely decodable code algorithm
About a month ago, I posted my proposed new word list for 1Password to r/1Password. I was happy to see it was well received!
[Read More]
Metaphors we live by
I’ve been thinking about ways we use metaphor when talking about (new) technologies for a bit. Choosing the metaphor with which we describe a new technology does real work: it can help kick-start understanding, but its price is limiting how we conceptualize the technology and thus close-off our minds to...
[Read More]
Introducing Bottle
Now that age, a new tool to encrypt and decrypt files, has hit version 1.0, I’ve been trying to use it more. (I wrote a basic exploration of age a few months ago.)
[Read More]
Tidy v 0.2
I’m excited to announce that I’ve added a slew of new features to Tidy, my Rust command-line tool that helps users combine and clean large word lists.
[Read More]
Blasting off with starship.rs
Back in 2014, while at the Flatiron School bootcamp, I configured my BASH prompt.
[Read More]
Using Restic to back-up data
A confession: I’ve never been very good about backing up my data. Yes, I’ve had one external hard drive or another for more than a decade, but my back up plan for most of that time was to drag some folders to the closest USB drive every few months, or...
[Read More]
Cleaning up large Rust binaries in target directories
As a (bad) Rust developer, I have a lot of built projects sitting in target directories. These take up quite a bit of space, and ideally I would not back them up. I, naturally, have been on the look out for easy solutions for this problem, preferably using tools written...
[Read More]
Exploring age v 1.0
About one year ago I learned and wrote about age, a “simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.” Basically it’s a new tool for encrypting files, and it just hit version 1.0.0. Exciting!
[Read More]
Revisiting Compound Safety
Back in 2018 I wrote a Rust script and corresponding blog post about a concept involving passphrase word lists that I imagined and then named “compound safety”.
[Read More]
Rust's find_map method
In a program I wrote for work in Rust, I had a function that needed to try running another function 3 times, each time with a different argument, and only returning a value when the sub-function returned a Some rather than a None. To do this in Rust, I had...
[Read More]
Notes on my Rust + Neovim setup (2020)
I’ve been writing a fair amount of mediocre Rust in Neovim. I finally have a setup I like, but to be honest I’m not entirely sure which components I’ve install do what, or if I’ve listed all of the necessary components to reproduce that setup below.
[Read More]
My notes on understanding Lemire's nearly divisionless random
Last weekend, a mutual on Mastodon sent me a really interesting blog post about something called Lemire’s nearly divisionless random written by Colm MacCárthaigh.
[Read More]
Learning about Rust's next, peek, and windows
I subscribe to a lovely newsletter that, among other things, presents readers with a coding challenge every week.
[Read More]
Making a wordlist for generating passphrases
A few years ago I got interested in passphrases (as passwords) and the word lists used to generate them. Even the methods of creating these passwords, notably using dice, fascinates me.
[Read More]
Summing over a Rust struct with map and fold
I subscribe to a wonderful newsletter that, among other things, presents readers with a coding challenge every week.
[Read More]
All the rage: Exploring age and rage encryption tools
Sept 2021 Update: With the release of age v1.0, I’ve written a brand-new how-to post. The syntax below may be outdated now.
[Read More]
Determining if a Rust Vector has all equal elements
Earlier today, I tooted out a Rust question: How would you write a function to determine if a Vector of integers are all the same, or not.
[Read More]
Terminal Redox: Some Developer Tools Written in Rust
In my very slow and not very steady quest to learn the Rust programming language, I’ve come across a few projects written in the language that I use everyday. I thought I’d write a quick post about them, with some configuration tricks that I’ve made to make them suit my...
[Read More]
Installing and Running Cwtch (Alpha Release)
This past Valentine’s Day, Open Privacy released an alpha build of an encrypted messaging app called Cwtch.
[Read More]
Medic: A Rust CLI that checks the passwords of a KeePass database
Midway through January, 2019, news broke of a large cache of emails and passwords, dubbed “Collection #1”, surfacing on the internet. Troy Hunt writes that it includes 772,904,991 unique email addresses and 21,222,975 unique passwords. Wow! Hunt cleaned and loaded the data into his service called HaveIBeenPwned, which allows (non-technical)...
[Read More]
One Year of Slightly More Ethical Tech Usage
In his last column of 2018, New York Times tech writer Farhad Manjoo offered some advice on “how to survive the next era of tech”: “Slow down and be mindful.”
[Read More]
Optimizing Rust: The Evolution of My Day 5 Advent of Code Solution
Day 5 of this year’s Advent of Code involves scanning “the chemical composition of [Santa’s new suit] material. We “discover that it is formed by extremely long polymers (one of which is available as your puzzle input).” We have to take these “polymers” (strings of upper and lowercase characters) and...
[Read More]
8 Lessons from First Days of Advent of Code 2018
I’ve got two days of Advent of Code 2018 under my belt and four stars to show for it! But I’ll be the first to admit that I had plenty of help, so I thought it only fair that I write out some of the things I’ve already learned about...
[Read More]
Running Syncthing in a tmux Session
I run Syncthing to keep one of my KeePass databases in sync between multiple computers. (Here’s my “getting started” guide to using Syncthing.)
[Read More]
Reading and Writing TOTP URIs into and out of QR Codes for Fun and Profit
If you’re like me you’ve got a lot of time-based one-time passwords (aka “TOTP”) in a smartphone app like Google Authenticator. This system works pretty well: The service presents you with a QR code, you scan it with Google Authenticator, and then every 30 seconds you get a fresh 6-digit...
[Read More]
eyeoh: My first Rust library
For the past year I’ve been fumbling around with Rust (here’s my first post on Rust). In those 12 months I’ve certainly had some lulls where I wasn’t learning or writing much Rust, but I did buy two books on the relatively new language and did some cool projects in...
[Read More]
Fishing in an Abyss: Building a Password Cracker in Rust
Ahead of this year’s World Password Day, 1Password – maker of password management software – announced a password cracking challenge. The company ostensibly wanted to find out how hard it would be to crack a three-word passphrase master password on one of their vaults, assuming that the attacker had the...
[Read More]
My Compound Passphrase List Safety Checker
I’ve been thinking about information theory, entropy, and passphrases for a couple of months now. I’ve been particularly interested in using random passphrases as passwords. An example of one of these passphrases would be “stamina turret backlands ruby”. The words have to be as purely random as possible – using...
[Read More]
A Small Rebellion: Switching from macOS to Linux
Back in autumn of 2016 I read three books about technology that left a bit of mark on me: Coding Freedom, Code and Other Laws of Cyberspace, and The Cathedral and the Bazaar.
[Read More]
Trying Go and Rust
This past week I got the feeling that I hadn’t really given myself any programming challenges in a while. I had also been thinking about trying a statically typed, compiled language for a few weeks. I had C++ in mind, mostly because I actually wrote some in my high school...
[Read More]
Switching to Jekyll
A few months ago I hit a Ruby gem-based error when trying to publish my blog via Octopress and decided to switch to a static site generator called Hugo.
[Read More]
Attempting to Opt Out of SMS Password Reset
This past week, someone gained access to the PayPal account of a mobile applications developer named Justin Williams.
[Read More]
Getting Started With KeePassXC
2020 UPDATE: The guide below was written back in 2017. While it still may be helpful to some, KeePassXC has changed quite a bit in the last three years, both in functionality and aesthetics (almost universally for the better!). Since this guide may be out-of-date, I’d recommend their new, official...
[Read More]
Goodbye to All gchat
As some of you may know, Google is killing gchat (aka Google Talk) and moving users to Hangouts after June 26th.
[Read More]
Reexamining my Password Management System
For the last year and a half I’ve been using both 1Password and KeePassX to manage my passwords. I’ve been storing most usernames and passwords using 1Password, since I can easily access it on my iPhone and I have the Chrome extension installed at home, making signing in that much...
[Read More]
Getting Started with Syncthing
I was looking for an open-source, free, and secure way of frequently moving files between computers. Privacytools.io pointed me to Syncthing. I subsequently found a few blog posts recommending it. It doesn’t store any data in the cloud– it merely keeps a list of folders in sync across any number...
[Read More]
Switching to Xfce and Other Linux Notes
This post is a bit of a sequel to my post about installing Ubuntu on my old Macbook Pro. This is just a collection of notes on improvements I’ve made to my Ubuntu 16.04 Unity installation, the bulk of which has been changing my desktop environment from Unity to other...
[Read More]
Building KeePassXC from GitHub Source on MacOS 10.10.5
I’m excited about a community fork of KeePassX called KeePassXC. They offer binary builds for the three major operating systems on their website, however I wanted to build it from source for two reasons: (1) I was a little dubious of KeePassHTTP, which the developers are now building into the...
[Read More]
Moving to Hugo
A couple of weeks ago I was proud of myself for switching from RVM to rbenv. The reason I made the switch was that I wanted something light-weight and I didn’t like the RVM installation process, in particular the need to use the GPG command line tool.
[Read More]
Installing Ricochet 1.1.4 on Lubuntu 16.04
When I first installed Ricochet IM on my machine running Lubuntu, I either ran sudo apt install ricochet-im, or downloaded it through Ubuntu’s GUI “Software” application. Regardless of which I chose, I think both methods install Ricochet version 1.1.2, as opposed the to latest release: 1.1.4. Considering this is a...
[Read More]
YubiKey and OpenPGP
On Cyber Monday, I took advantage of Yubico’s 2-for-1 YubiKey deal and got two YubiKey 4s for the price on one ($40).
[Read More]
Some Privacy and Security Measures I've Taken Recently
Over the summer of 2016 I started to pay a little more attention to my privacy and security on the internet and when using computers more generally. Some of this impetus had been slowly growing since the Snowden/NSA revelations and catching the documentary Citizen 4. More recently I read a...
[Read More]
Installing Ubuntu on my old MacBook Pro
I had an old 17 inch MacBook Pro from 2009 (college) lying around and I figured it’d be a fun challenge to install Linux on it. I had never installed or even used Linux before (to my knowledge). I also, confusingly, hadn’t found a clean, step-by-step guide for doing this,...
[Read More]
Messy Technology
In Master Switch I got in my head the book’s central idea: that information technology goes through a certain Cycle. A refresher:
[Read More]
True (HEX) Colors in Vim with iTerm2 3.0.1
Last fall I was delighted to figure out how to get true HEX colors with Neovim and iTerm2. However I have recently learned that you can have these same colors available in regular old terminal Vim (aka command line Vim) and iTerm2.
[Read More]
The Boy Who Could Change the World
I hadn’t heard of Aaron Swartz until his suicide in January of 2013. Soon after, I hungrily read the news and remembrances I could about the young man (enough so that I ended up writing a short note on those mourning him for The Daily Beast). At the time I...
[Read More]
Website Scraped
Earlier this week Alex Balk, a co-founder of The Awl, tweeted:
[Read More]
More Bowie Books: Notes From the Left
Having read three more of David Bowie’s favorite books, I thought it’d be nice to write a little. The three books, the plots of which, unintentional on my part at least, had something to do with the far left, were The Leopard by Di Lampedusa, Darkness at Noon by Koestler,...
[Read More]
vim-zipper: My First Vim Plugin
At work I was working with Highcharts, a JavaScript charting library. The specific file I was working in had a number of these charts defined in it, each of which had a good amount of settings and functions within them. As a result, in spite of other vim awesomeness, I...
[Read More]
A Problem with Vim's gx Command, And One Solution
I’ve been playing around with Vim’s gx command, which in normal mode, when on a URL, opens that URL in your default browser (see :h gx). However today I ran into an interesting problem– if a URL has a ? in it gx thinks the URL ends at the ?....
[Read More]
Bowie Books
On January 11th, the day after David Bowie died, The New York Public Library’s blog posted a list of the musician’s 100 favorite books, based off of a Facebook post on his verified page from 2013. A friend sent me the NYPL link and I, delighted by the idea of...
[Read More]
Best of My vimrc
I just realized that I’ve been using Vim for just about a year now (here’s one of my early posts on starting to make the switch), so I figured it’d be a good time to go over some of favorite parts of my vimrc. I’m certainly no Vim expert, but...
[Read More]
Software Updating As Ritual
A few weeks ago I read a blog post by Bryan Horstmann-Allen (h/t Paul Ford) about him getting frustrated with OS X. Here’s how he framed his issue:
[Read More]
Vim Line Completion with FZF
On r/vim and r/neovim I’ve heard a lot about fzf, “A command-line fuzzy finder written in Go” by junegunn that plays well with Vim and Neovim.
[Read More]
Using Ruby 2.3's dig method and safe navigation operator to navigate nested objects like the Facebook Insights object
Ruby 2.3.0 was released on Christmas. Woohoo!
[Read More]
They Would Take Their Saddle With Them
Via r/MechanicalKeyboards, the mechanical keyboards subbreddit, I found this interesting interview with Eiiti Wada, the creator of the Happy Hacking Keyboard (which I love and use and have written about before). The interview’s introduction cites a previous interview with Wada where we apparently gave a quote that I think is...
[Read More]
Advent of Code: 25 Days of Coding Challenges
I was jumping around Reddit earlier this month and stumbled upon Advent of Code, a site created by Eric Wastl that has “small programming puzzles” for each day of the 25 days of Christmas. Like Project Euler, they are presented in such a way that you can solve them any...
[Read More]
Vimium: Vim in Chrome
I was browsing my vim multireddit today and, a few turns down a rabbit hole, found a Chrome Extension called Vimium. It’s purpose is to provide Vim-like keyboard shortcuts for navigating the web. Here is the link to the Chrome Store page.
[Read More]
True HEX Colors with Neovim and iTerm2
Note: I’ve written an updated version of this post that shows how to get true colors with terminal Vim or Neovim and iTerm2
[Read More]
Neovim dot app
I was lurking in the Neovim Gitter room this morning and saw someone drop in a link to this page on projects related to Neovim.
[Read More]
1Password Setup
Desktop
[Read More]
Passing Notes, Or How I Quit Evernote
About a week ago I started thinking about how I take notes on desktop and my iPhone. Sometimes I email links and information to myself, other times I use Evernote. But, like everyone else, my email inbox is a messy place (despite my GMail label just for emails from and...
[Read More]
A Brief, Accessible History of Cryptography
After reading a history of Bell Labs, I took a slight detour in my reading list. First, I read about half of an introduction to information theory, then sort of bailed when I got to calculating the information entropy of continuous variables and jumped to a lighter history of cryptography...
[Read More]
Bell Labs: An Institute of Creative Technology
This week I finished the most recent book in my self-guided study of 20th century technology, namely The Idea Factory: Bell Labs and the Great Age of American Innovation, by Jon Gertner. As the title implies, it’s a chronicle of research and development wing of AT&T, a history that lasts...
[Read More]
Ditching NERDTree and Using Vim's 'Default' File Explorer
When I started using Vim the first plugin I downloaded was NERDTree, a sidebar file explorer similar to what the text editor I was leaving, Sublime Text, had. It was a good crutch to get me into managing multiple files in Vim, but as I get more comfortable in Vim...
[Read More]
Two Types of Vim Plugins
Last week I watched most of the videos in this YouTube playlist of Vim meetups from Thoughtbot. One of the more revelatory for me was one from John Crepezzi in which he simply goes over how he uses Vim, with an emphasis on the plugins that he uses.
[Read More]
Checking In On My Coding Color and Font Preferences
About 18 months ago I wrote a post on my apps, fonts, and color preferences for my coding setup. Interestingly, not much has changed!
[Read More]
Connecting Twitter Bots
Over the past few weeks I’ve been chipping away at a little side-project I dreamt-up around 3am one morning. I wanted to make two Twitter bots who would play Connect Four against each other over and over again. I got the idea after I, human Sam, played an emoji-based game...
[Read More]
Basic Begin-Rescue-Pry Pattern
Sometimes I get an error on a seemingly-random iteration of a loop that occurs many times. Normally I would drop in in a binding.pry from the Pry Ruby gem, but this is not always a sufficient solution, since I’d have to exit through all the successful iterations until I found...
[Read More]
Neovim, An Open-Source Project
When I was moving around Watch People Code the other day while figuring out how to livestream my work on a new project, I found a interview by the site’s administrator, Alexander Putilin, with Justin M. Keyes, a contributor to an open-source project called Neovim.
[Read More]
Google Doc Spreadsheet IF Statements
I was working in a shared Google Doc Spreadsheet this week and needed to figure out how to use if statements. It turns out it’s pretty simple!
[Read More]
From Terminal Vim to MacVim
On my work computer I’ve been having some trouble getting the 2015 MacBook Pro’s Terminal Vim to access the system clipboard. There is a chance that the version of Vim that shipped with the computer does not support the feature in which the * register is connected to the system...
[Read More]
Where Wizards Stay Up Late
As I wrote yesterday, the next book in my semi-impromptu study of late 20th century technological innovation has been Where Wizards Stay Up Late: The Origins of the Internet by Katie Hafner. (Previously: The Master Switch and Hackers.)
[Read More]
Markdown HyperLink Remap for Vim
I’ve been writing these blog posts in Vim for a few months now. It’s been a great way to practice and hone my Vim skills in a slower, less intense environment (as compared to deployed code).
[Read More]
The Hacker Ethic
As I mentioned in my post about The Master Switch, right after I finished Wu’s book I dove into Hackers by Steven Levy.
[Read More]
New Media as Wire Service: Will Social Networks and Distributed Publishing Tools Meet Halfway?
Wire services have to provide a product all of their subscribers can use — no matter how they publish or design their paper. So wire copy needs to be simple. Stories the Associated Press sends to its customers can’t be as innovative in their form as stories the New York...
[Read More]
On Twitter Image Ratios
Many websites and infographics I have consulted claim that on Twitter, shared images, images that users attach to their tweets as opposed to profile and banner images, are always displayed in a 2 to 1 ratio, whether in-stream or when “expanded.”
[Read More]
Amazon Prime Days
Right, so yesterday, July 15th, 2015, was Amazon’s first “Prime Day”. They offered a bunch of deals (which turned out to be pretty crummy) to their Prime customers. Whatever!
[Read More]
Two Books About Computers
Thanks in part to my two days of jury duty last week, I was able to speed through two books about information technology and computers recently. The first one, which was recommended to me, is called The Master Switch by Tim Wu, and the second is Hackers by Steven Levy....
[Read More]
My Basic Understanding of PGP Encryption
Last week I attended a class on basic digital security at the BuzzFeed office, which included some basic encryption techniques. Before the class I knew nothing about how PGP encryption works, but now that I’ve got a bit of a handle on it I figured I’d lay down what I...
[Read More]
Why I Think Twitter's New Export Blocked User List Feature Is Super Important
Today Twitter announced that users can export and import lists of blocked users. I don’t have the feature on my personal account yet, but a co-worker did and I saw that when you do export, you download a CSV file (Comma Separated Values–basically a software-agnostic spreadsheet). I’m assuming the import...
[Read More]
Changing Where Your Screenshots Are Saved
Earlier today BuzzFeed published these 17 Desktops So Untidy They Will Make You Seriously Uncomfortable. From experience I know that since by default OS X saves screenshotted images to your Desktop, they often contribute to Desktop clutter.
[Read More]
Negate Gods, Raise Rocks, and Hate Lies
Formatting Text in OS X
Note: Neither of the solutions presented herein are quite right, so like, read through the post before you just start installing stuff.
[Read More]
URL Parameters as Semi-Permanent User Settings
In my eight months at BuzzFeed I’ve written a fair bit of code when the occasion calls for it.
[Read More]
The Terrible Laughter
Everyone here who knew Gary will recall that if you spent time in his company, you were always laughing. You spent half the day laughing, he spent half the day laughing, or so it seemed, at least if he was in the company of other people…
[Read More]
Why I Want Text-File Preferences For Every Application I Use
I recently started using a text editor called Vim. For the uninitiated, Vim is a lightweight text editor often used for writing code. It comes pre-loaded on some if not all remote servers. Since it’s designed to be used without a mouse, there are tons of keyboard shortcuts to learn....
[Read More]
Getting Friendlier With Vim
A few months ago I wrote a post about my first time tipping a toe in the water of Vim, an intensely keystroke-based text editor. Despite getting the basics down, I still did 95% of my coding in Sublime Text 2, my old go-to editor.
[Read More]
Basic Guide to Creating a Markov Chain-Driven Twitter Bot
Suspect fires on bounty hunters, twirling in their #Burberry— Schlink Bot (@schlinkbot) December 20, 2014
[Read More]
Taking Screenshots Easier and Quicker
Previously I had recommended a not-free app called Glui for taking screenshots on Macs (in addition to the standard Command + Shift + 4 shortcut). Advantages to using Glui were and still are two-fold: (a) you can add arrows and text to your screen shot right in Glui and (b)...
[Read More]
Update on My Keyboard Usage: The Happy Hacking Keyboard
Three months ago I wrote a post on Medium about how I had gotten pretty deep into the world of mechanical keyboards. Over the course of my post, after explaining some of the benefits (as I understood them at the time) and a brief explanation of the key things to...
[Read More]
Catalog of Radiation Updates
On May 21st 2015, I migrated a handful of blog posts of mine from my totallynuclear page back to this GitHub blog. (If the totallynuclear page is down, you might be able to find a back up of my posts in this GitHub repo.)
[Read More]
Git Trick For When You're In Trouble
Do you ever find yourself a few commits into trouble on an important branch like master? I know I do (and just did).
[Read More]
Totally Nuclear Club and Radiation
I’ve joined totallynuclear.club, a shared UNIX serve similar to Paul Ford’s tilde club (read more about how tilde club got started).
[Read More]
Some Tips for More Efficient Mac OS Usage
We use our computers a lot. It pays to take some time to learn how to use them even just a little bit more efficiently. In general one way to be more efficient is to use your mouse less and your keyboard more, hence keyboard shortcuts. Yes, they can be...
[Read More]
Getting Started With Vim
Since 2012-ish I’ve been using Sublime Text 2 as my primary text editor. It’s very simple out of the box, but also allows for a fair amount of customization through its packages, settings, snippets, and custom keybindings. I’ve written about how I use Sublime Text before, and I still think...
[Read More]
Strike 9 Game
At my second meet-up of this week, I ventured north to the east 20s for Building JavaScript Games. Our task was to build a seemingly simple game called Strike 9.
[Read More]
Ruby Golf: Finding the Perfect Method
Last night I met up with some Rubyists in Chinatown for a round of Ruby Golf. What is Ruby Golf, you ask? From the event’s description:
[Read More]
Interactive Score Card
Every June my family has a big reunion down south. One of our traditions is playing a card game called Contract Rummy. If you don’t know the game here is one version of rules, but basically it’s gin rummy with 5 pre-set hands everyone plays. In the first hand, the...
[Read More]
JavaScript Prototypes: The Basic Basics
I was always understood JavaScript as a functional programming language, but it turns out there are in fact ways to create basic objects and even “object factories” (what Rubyists know as Classes).
[Read More]
Exploring Project Euler Problem #9
For practice with Ruby and Rspec, I’ve been working through some Project Euler problems. One of my favorites so far is #9, which asks us to find the one Pythagorean triplet for which a + b + c == 1000. Here is the GitHub repo with my solution for you...
[Read More]
SquawkBot Part 2: Extracting URLs
In my first post about SquawkBot (public GitHub repo), I went over how the app connects to the Twitter REST API. In this post, I’ll be discussing the second main part of the app: extracting the URLs from the tweets.
[Read More]
SquawkBot Part 1: Connecting to Twitter
Today Brian and I launched SquawkBot, a Rails web app that reads users’ Twitter timeline, searching for URLs that appear more than once. Here’s the public GitHub repo.
[Read More]
How We Used the Data-Remote=True Pattern for AJAXing New Comments in XP
For xp (GitHub Repo), our skillshare-like web app for the Flatiron community, Daniel and I knew that we had to make it easy for students and teachers to coordinate lesson logistics. They would need a place and a way to hash out details like what a lesson would cover, where...
[Read More]
Using Chosen with Rails
Daniel and I are working on a Skillshare-like site for Flatiron students. Basically users can post lessons that they either want to teach as teachers or want to take as students. Then other users can sign up for these lessons, as either students or teachers.
[Read More]
Turning Recall into a Ruby Gem
Huzzah! I finally wrestled my Recall code into a legit Ruby Gem!
[Read More]
Window Management with Better Touch Tool
In my most-recent post I wrote about some Sublime Text tips and tricks I had picked up from an instructional video. I’ve since been using these new techniques almost constantly, especially the window management keyboard shortcuts (set via Sublime’s key-bindings). I’ve found them to be super-helpful, especially as we moved...
[Read More]
Some Sublime Text Tips and Tricks
Thanks to a blog post by fellow-Flatiron student Emma Ife I found a free tuts+ course called “Perfect Workflow in Sublime Text 2” by Jeffrey Way.
[Read More]
Recall
Troublingly, I’ve taken very few notes during lectures at Flatiron. How will I remember niche methods and strange, counter-intuitive syntaxes?!
[Read More]
Refactoring with POODR
Over the weekend I’ve been working a new side project in order to get more practice generating dynamic webpages using ERB. I’m calling it Recall and it’s supposed to take a Ruby method as a user input from the command line and then dynamically generate a new webpage that displays...
[Read More]
Successively Greater Things
“What we fight with is so small, and when we win, it makes us small. What we want is to be defeated, decisively, by successively greater things.”
[Read More]
Apps, Fonts, and Colors of my Current Coding Setup
I’ve been playing with my color theme and default font-face in my code editor, Sublime Text 2, this cold, snowy weekend, so I thought I’d share a little about my current application setup. I don’t know, maybe this is boring? Self-involved? I try not to get too bogged down in...
[Read More]
Introducing ink version 0.0.4
I’m happy to announce that I’ve made some decent improvements to ink, my shell script for making Octopress blogs a little easier. I’ve just pushed version 0.0.4, which introduces two new improvements.
[Read More]
Thoughts on Week 1
Phew! My brain has been hurting (in a good way) for the first time in years. Looking back over the last 7 days, I’d say I spent at least 14 hours a day dealing with code. The best metaphor I can think of is that part in the Matrix when...
[Read More]
Making Octopress Easier with ink
A Contextualizing Introduction
[Read More]
Day 3: Into the Ruby Mines
The pace is starting to pick up! Today marked our first tepid steps into Ruby, introducing not only a new topic, but a new way of thinking required by the course: programming logic.
[Read More]
Flatiron Day Two
It’s day 2 and I’m already thinking about my computer differently. As Avi says, for us it will become more of a tool to build things and less of a device to consume media (he doesn’t like iPads either!).
[Read More]
Flatiron Day One
What a luxury it is to be a student again! It’s amazing to raise your hand, ask a question, and get a definite answer. Hell, even when our T.A.s (T.A.s!) gave us cryptic answers to our questions, I was ecstatic.
[Read More]
A Social Media Editor Begins Learning to Code
This post has been re-published from my personal Tumblr with some edits.
[Read More]