RSSAmplifier

Blog

Josh Davis' Personal Site

joshldavis.comRSS feed ↗33 posts

Latest posts

Amazon's Culture of Discomfort

Amazon’s Culture of Discomfort The unknown Leadership Principle. It’s well known that Amazon gives every new employee a door as a desk on their first day. As Ben Horowitz says in The Hard Thing About Hard Things , this is a way to set the tone of the culture. It reminds employees the tenants of the culture and breaks previous habits. It is a physical symbol of one of the Leadership Principles :…

Splootysplotty: Open Source Alternative to Lewis Carroll's Jabberwocky

Splootysplotty: Open Source Alternative to Lewis Carroll’s Jabberwocky (This is a satire article that is critiquing the common naming scheme in some open source projects. See this section below for more details.) Welcome to my fantastic open source project named Splootysplotty. It is easier now than ever to Sploot the Splott. It is an open source improvement on the legacy software of Jabberwocky…

An Email from Edsger Dijkstra's Son

An Email from Edsger Dijkstra’s Son Over four years ago I wrote about how I learned to write like Dijkstra . Since then it has become one of my most visited blog posts. The last person I ever expected to read it though was one of Dijkstra’s family members. In January 2016, I received an email from Marcus Dijkstra, Edsger’s son. It was a surreal moment and an one of my favorite emails to date. I…

Iowa, Pigs, Microchips, and Founding Silicon Valley

Iowa, Pigs, Microchips, and Founding Silicon Valley Last night I was reading the The Man Behind the Microchip by Leslie Berlin which tells the story of Robert Noyce . Noyce, also known as “The Mayor of Silicon Valley”, was credited with the invention of the microchip, cofounding Fairchild Semiconductor and Intel. Together with Andy Grove and Gordon Moore, they created the culture and economic…

The Bram Moole-Laaw: There Will be Attempts to Rewrite Vim in Nearly Every New Language

The Bram Moole-Laaw: There Will be Attempts to Rewrite Vim in Nearly Every New Language It started out as a tongue-in-cheek Tweet but I’ve decided to write a blog post on it so it can reach a wider audience. Plus it’s always fun to come up with new software laws and Jeff Atwood would agree . Before we get to the law though, let’s look at why this law exists. A Very Short History Vim is one of the…

Self Documenting Vim Key Mappings

Self Documenting Vim Key Mappings When configuring Vim with plugins, one of the common things that I like to do is to dedicate a letter to a single Vim plugin (or a group of similar tasks). An example of this is below where I have some key mappings for @tpope’s Fugitive plugin : " Fugitive mapping nmap < leader > gb : Gblame < cr > nmap < leader > gc : Gcommit < cr > nmap < leader > gd : Gdiff <…

Everything I Needed to Know, I Learned in my High School Calculus Class

Everything I Needed to Know, I Learned in my High School Calculus Class During my last two years of high school, I had to take Precalculus and subsequently Calculus with a teacher named Mr. Bormann. Those two years assuredly prepared me for college and instilled the discipline and drive to learn outside of school which has carried me to where I am today. I owe a lot to those two years and to Mr.…

Why I Blog

Why I Blog It has been four months since my last blog post. I haven’t been any busier than I have been in the past. I have just become a bit complacent with my blog. This blog post is just a reminder to myself Why I Blog and why I should continue. You probably won’t find this as interesting because it is intended only for me. If you continue reading, keep that in mind. Timeline I wrote my first…

The Similarity of the World in Gattaca and the World Elon Musk Envisions

The Similarity of the World in Gattaca and the World Elon Musk Envisions This dawned on me a year ago when I was watching Gattaca for the 800th time; the world that Gattaca (1997) takes place in has striking similarity to Elon Musk’s current dream for our present world. I’ve written about Elon Musk before as well as why Gattaca means so much to me . If you can’t tell, I’m a big fan of both =] Even…

Heavy-handed HackerNews&#58; Mods are Unnecessarily Editing Titles and Swapping URLs

Heavy-handed HackerNews: Mods are Unnecessarily Editing Titles and Swapping URLs Note This post didn’t make the frontpage thus the experiment didn’t work. Still, the content is still valid. I have been less than thrilled about the increase in administrative “duties” that have been going on with HackerNews since pg stepped down administrating the site. Experiment As an experiment, I’ve changed the…

Oh-my-zsh is the Disease and Antigen is the Vaccine

Oh-my-zsh is the Disease and Antigen is the Vaccine oh-my-zsh is one of the most popular repositories on GitHub with 17,500+ stars. If you use zsh as your main shell, you likely have heard of oh-my-zsh or even use it. It features “120+ optional plugins” and just as many themes for your beloved shell. It has a great default library that turns on a lot of great zsh features that make it better for…

GitHub &#43; University&#58; A Follow Up

GitHub + University: A Follow Up Follow Up This is a follow up post to my original post: GitHub + University: How College Coding Assignments Should Work At the beginning of the year, I wrote a post that detailed how myself and another TA were going to experiment with using GitHub for all of the course assignments. I promised a follow-up with some source code plus how it went. I’ve had many, many…

Put Yourself Out There&#58; The Myth of the Genius Programmer

Put Yourself Out There: The Myth of the Genius Programmer Just barely over a year ago, I started my blog with my very first post . In it, I talked about how I was afraid to put myself out there and how I slowly overcame it. In this post, I want to discuss how the past year has gone as well as some of the amazing things that have happened. I have met some really great people and I’ve changed how I…

Josh Uses This

Josh Uses This I’m a big fan of UsesThis.com and love reading about people that I admire and how they work. It may seem a bit corny, but I want to do a UsesThis of my own because I’m incredibly picky when it comes to what I use. Here goes. Who are you, and what do you do? If I had written this a week ago, I’d have said that I’m a Computer Science undergraduate major, but I just graduated this past…

A Beginner's Tutorial for knitr

A Beginner’s Tutorial for knitr My first homework assignment for my Machine Learning class was a mess. I was copying and pasting code into my LaTeX file, I was manually running and saving graphs in R as PNGs and PDFs. There has to be an easier way of doing this, I thought. A search or two later and I learned about knitr. I have never looked back and completely love it. If this sounds like you or…

Vim Tab Madness. Buffers vs Tabs

Vim Tab Madness. Buffers vs Tabs First I have to admit, I was a heavy user of tabs in Vim. I was using tabs in Vim as you’d use tabs in most other programs (Chrome, Terminal, Adium, etc.). I was used to the idea of a tab being the place where a document lives. When you want to edit a document, you open a new tab and edit away! That’s how tabs work so that must be how they work in Vim right? Nope.…

My New Site to Demand Two Factor Auth Support

My New Site to Demand Two Factor Auth Support About a month ago I was going through the process of looking for a new domain registrar to transfer my domains to. My number one criteria was a secure registrar. Although I don’t own a rare Twitter handle , it was scary to think about how the extortion of Naoki Hiroshima was possible just because of a lost domain name. Although GoDaddy does support two…

Doing Your Homework in LaTeX

Doing Your Homework in LaTeX It is a common occurrence for other students to comment on my homework whenever I turn it in for one of my classes. The complete LaTeX file (and the pdf output) can be found in my repository, latex-homework-template . View on GitHub Below are a few screenshots of problems that I’ve done in the past: Cover page Algorithm problems Complexity problems Statistics problem…

GitHub &#43; University&#58; How College Coding Assignments Should Work

GitHub + University: How College Coding Assignments Should Work Update on June 30, 2014 You can find the follow up post here as well as source code: GitHub + Univeristy: A Follow Up This semester (Spring 2014), I’m a Teaching Assistant (TA) for a course that I took last semester called “Principles of Programming Languages.” It was a very enjoyable class and I have always been interested in…

The Differences Between Imperative and Functional Programming. Part 1.

The Differences Between Imperative and Functional Programming. Part 1. This semester I’m taking a class called “Principles of Programming Languages.” It is the class in at my university where people are first exposed to functional programming (assuming they don’t have prior experience). So far I am really enjoying it. The professor is really engaging and his lectures are really interesting. We are…

Never Save Anything for the Swim Back. Ever.

Never Save Anything for the Swim Back. Ever. I put the quote “I never save anything for the swim back” everywhere. I have it on almost every profile that I have on the internet. Some of you might have heard it before but I’m finally going to explain where I got it from and why it means so much to me. The Movie Gattaca is a science fiction movie that came out in 1997. Although I was 7 the year it…

My Favorite Elon Musk Quote

My Favorite Elon Musk Quote Recently I’ve been going on an Elon Musk video watching spree as you can see by my recent playlist on YouTube. Elon Musk, without a doubt, is the man I look up to most at the moment. With the exception of Steve Wozniak , most of the other people that I really admire have all passed away. This includes people like Richard Feynman , Carl Sagan , Benjamin Franklin , and…

C&#58; A Minute to Learn... A Lifetime to Master

C: A Minute to Learn… A Lifetime to Master Last weekend I picked up the book Expert C Programming: Deep C Secrets from a local bookstore here in Seattle. The C Programming language has arguably been the most influential programming language that I have learned. It was the first language that I grew to love and Expert C Programming inspired me to write up this short post chronicling my journey…

Where Do I Sign Up to Change the World?

Where Do I Sign Up to Change the World? The title of this post was inspired by an idea that came to my head in the last month or so about my future. I will be graduating from university in this upcoming May of next year after taking 3 semesters off because of internships/co-ops. I’m at the point where I need to start to make decisions about my future. The only thing that I’m certain of at this…

Verification is Often Easier than Creation

Verification is Often Easier than Creation This past Spring semester (Spring 2013), I took the best Computer Science class (at least so far) that I’ve taken at University. The class was called “Theory of Computing” and was taught by Ting Zhang . The textbook that we used was the classic Michael Sipser book, Introduction to the Theory of Computation . I ended up absolutely loving the class so I…

Program to an Interface, Fool

Program to an Interface, Fool If you’ve read my post about how the object-oriented paradigm is being changed by languages such as Rust and Go , and if you’ve seen my project of Rust Design Patterns , then you’ve probably realized that I’ve taken quite a liking to Rust. In addition to this, over this past weekend, I finished reading the classic Design Patterns: Elements of Reusable Object-Oriented…

Phil Zimmermann, Creator of PGP, Quote on Government & Crypto from 1996

Phil Zimmermann, Creator of PGP, Quote on Government & Crypto from 1996 Today I finished reading The Code Book by Simon Singh. It details the history of cryptography from millenniums ago until the recent advances with quantum cryptography. In it there is a chapter dedicated to Pretty Good Privacy or more commonly known as PGP. PGP was created by Phil Zimmermann in 1991 and turned strong…

The Rise of the Gang of Four with Rust

The Rise of the Gang of Four with Rust Since I’ve been to Seattle, I’ve had a lot of time to catch up on reading. One of the books that I’ve been reading has been well regarded since it was released in 1994. Design Patterns: Elements of Reusable Object-Oriented Software (also called the Gang of Four book) is considered to be one of the best books when it comes to design patterns. It is often…

The Legacy of the Clicky Keyboards

The Legacy of the Clicky Keyboards Last year I did a co-op at a company in Minneapolis called Digi International . During the summer there were 11 Software Engineers all working in one big cubicle that we dubbed “The Supercube.” One of the most defining characteristics of this cubicle was the noise of all of us typing away as we coded up various projects. Keyboards are interesting because they are…

The New Google Maps User Experience

The New Google Maps User Experience Google had its latest Google IO in May this year. My favorite announcement was definitely the update to Google Maps. The new Maps was announced in the main presentation and you can watch it here . There have been a lot of changes but I want to focus on the third point, which was how “the Map is the UI.” Disclaimer: I am not a user interface/user experience…

The Difference Between TDD and BDD

The Difference Between TDD and BDD If you keep up-to-date with the latest software development practices, odds are you have heard of Test-driven development (TDD) and Behavior-driven development (BDD) . This post is meant to explain what each practice means, provide examples, and then contrast the two. Let’s dig in and see what we learn. Test-Driven Development When I first heard about TDD, the…

The Path to Dijkstra's Handwriting

The Path to Dijkstra’s Handwriting Follow Up Read my follow up blog post from Oct 2017 about how I received an email from Edsger Dijkstra’s son . My handwriting used to be terrible. I think I got to a point in fourth grade where it just stopped getting better unlike most people. It didn’t bother me either. It was still semi-legible to others and perfectly readable to myself. A to do list from…

The Beginning of a Beautiful Blogship

The Beginning of a Beautiful Blogship I have been a fan of Nathan Marz ever since I came across his blog post on his experience working at a startup . I was pretty young at the time (my first summer in 2010 after starting university) and was pretty influenced by what he said. Just this past month I saw a new post by him on HackerNews . The post was about creating opportunities in Silicon Valley…