Yak Shaving Series #1: All I need is a little bit of disk space
I just published the first entry in The Yak Shaving Series, where we share stories of some of the unexpected, bizarre, painful, and time-consuming problems we’ve...
I just published the first entry in The Yak Shaving Series, where we share stories of some of the unexpected, bizarre, painful, and time-consuming problems we’ve...
Building infrastructure for a software company is much harder than it should be. There are so many moving parts and so many concepts to learn. How do I build my c...
Update: Atomic Squirrel has merged with Phoenix DevOps into a new company called Gruntwork! Check out the Introducing Gruntwork blog post for more info!
Bitcoin is the first purely digital, decentralized money. It has been on my mind a lot lately and apparently, I'm not the only one. Paul Graham called it a para...
A week ago, I listed 5 reasons why everyone should watch the Crossfit Games. I hope you listened, because what went down July 29 - 31 in Carson, CA was nothing...
The 2011 Crossfit Games are coming up next weekend, July 29 - 30, and as soon as that live stream is up and running, I’ll be watching. You should watch too. Wh...
What are the toughest, most mentally and physically challenging workouts that you’ve ever done? There are many discussions online on this topic, so I figured ...
The reason most people never reach their goals is that they don't define them, or ever seriously consider them as believable or achievable. Winners c...
After a smooth first day of competition, Sunday was a bit of a mess. Although all of Saturday’s scores and standings were available online, no one really knew ...
The Crossfit Games are the olympics of Crossfit. They are held each year in Aromas, California and claim the winner is the “fittest person on earth” (check out ...
My goals for the year:
What a year it has been. I moved to CA, joined CF Sunnyvale, resolved to try to qualify for the CF Games, and got myself into the best shape of my life. I had f...
For the first several months of Crossfit, I simply followed the workouts laid out on the Crossfit mainsite. After that, noticing slow progress on my squat &...
I meant to post these a long time ago, but somehow never got around to it. Anyways, I figure better late the never. Here is the long list of goals I hope to acc...
July 7, 2008, was the day I got my ass kicked by Murph. It was the day that I experienced a 42 minute beat down that left me lying in a pool of my own sweat wit...
This is a talk I gave at TechHub Riga that introduces the basic tools of user-centered and visual design. It’s targeted at developers and any other design newbies...
Open the pod bay doors, HAL.
Silicon valley is in a talent war. Tech companies are battling to hire the top prospects like never before, with Google alone planning to add more than 6,000 pe...
The other day, I was chatting with a LinkedIn product manager about a new app he is working on and I posed a “hard” question: what incentive would users have to...
I’m happy to share with you the video and slides from my QCon talk on how to test infrastructure code! This talk is a step-by-step, live-coding class on how to w...
Terraform: Up & Running, 2nd edition, has been published! The 2nd edition is nearly double the length of the 1st edition (~160 more pages), including two com...
Today, I have two exciting announcements to share:
Listen up, developers. You are not special. Your infrastructure is not a beautiful and unique snowflake. You have the same tech debt as everyone else. So why are...
I just published the first entry in The Yak Shaving Series, where we share stories of some of the unexpected, bizarre, painful, and time-consuming problems we’ve...
Today, we are kicking off a series of blog posts where we share the pain of DevOps through short stories: Introducing: The Yak Shaving Series.
I just published a blog post on the O’Reilly Radar called Why Use Terraform? where I discuss what Terraform does and how it compares to Chef, Puppet, Ansible, Clo...
Today, I’m happy to announce that Terraform: Up & Running has been published!
A funny thing happened last week. I wrote another book! It’s called Terraform: Up & Running and it’s now available as an early release in the O’Reilly Store!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
An Infrastructure Package is a reusable, battle-tested, documented, configurable, best-practices definition of a piece of infrastructure. We think it’s a better w...
Building infrastructure for a software company is much harder than it should be. There are so many moving parts and so many concepts to learn. How do I build my c...
Docker and Amazon ECS are a powerful combination. In previous posts, I showed how to use Docker to package your code and how to manually deploy Docker containers ...
My second post on Y Combinator’s Macro Blog that discusses the safety mechanisms that make power agile software companies: Agility Requires Safety
I did a Q&A on the LinkedIn Engineering Blog on techniques for splitting up a codebase: Splitting Up a Codebase into Microservices and Artifacts
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk I did as part of Nerd...
Docker is an awesome tool. In a previous post, I showed how you can use it to package your code so that it runs exactly the same way in development and in product...
In this post, I'm going to explain why the way most programmers install, configure, and manage software in development, testing, and production environments is a ...
In March, 2016, Josh and I each took $2,500, put it in a bank account, and filed the paperwork to found Gruntwork. That $5,000—the minimum you need to open most b...
We started Gruntwork in 2016 with two goals: (1) make it 10x easier to understand, build, and deploy software and (2) build a company where we can work on intere...
I just published a blog post on the O’Reilly Radar called Why Use Terraform? where I discuss what Terraform does and how it compares to Chef, Puppet, Ansible, Clo...
devRant is a place you can talk (or rant) about your life as a programmer with other programmers. The devRant folks are also putting together a series of podcast...
The other day, I did an interview for the Yours Productly podcast where I talk about startups, product design, coming up with startup ideas, minimal viable produ...
I did an interview for the Paysa Blog where I shared some of my experiences with living the startup life: Expert Interview Series - Jim Brikman of Gruntwork on La...
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
An Infrastructure Package is a reusable, battle-tested, documented, configurable, best-practices definition of a piece of infrastructure. We think it’s a better w...
Why do so many software companies and developers give away so much of their work in the form of open source, writing, and speaking? Why would they invest thousand...
My second post on Y Combinator’s Macro Blog that discusses the safety mechanisms that make power agile software companies: Agility Requires Safety
I did a Q&A on the LinkedIn Engineering Blog on techniques for splitting up a codebase: Splitting Up a Codebase into Microservices and Artifacts
My blog post on The Macro, Y Combinator’s blog, about one of the most common reasons for startup failure: A Minimum Viable Product Is Not a Product, It’s a Process
An interview I did with Hakin9 Magazine on startups, agility, security, and more: A startup is a company that spends most of its time searching
My blog post on O’Reilly Radar: Should I start a company or work for one?
My answer on Quora to What does it mean for a software company/startup to be able to iterate quickly?:
My answer on Quora to How can you validate an idea before jumping in and actually implementing it?:
My answer on Quora to What do you give a child as good reasons for why he/she should read?:
One of my blog posts got picked up by Lifehacker! Check out Don’t Just Learn to Code, Learn How to Think Like a Computer Scientist on lifehacker.com:
A blog post I wrote on the LinkedIn Engineering Blog about Composable and Streamable Play Apps::
My answer on Quora to What is the current webstack LinkedIn uses?:
My answer on Quora to In which ways do you use the play framework in your company?:
My answer on Quora to What are the pros and cons of Play Framework 2, for a Java developer?:
My answer on Quora to What are the pros and cons of Play Framework 2, for a Scala developer?:
A blog post I wrote on the LinkedIn Engineering Blog about Play Framework: async I/O without the thread pool and callback hell::
A blog post I wrote on the LinkedIn Engineering Blog about The Play Framework at LinkedIn::
My answer on Quora to What are the pros and cons of client-side rendering?:
A blog post I wrote on the LinkedIn Engineering Blog about LinkedIn Hackdays:
A blog post I wrote on the LinkedIn Engineering Blog about CoffeeScript: JavaScript that’s easy on the eyes::
One of my blog posts got picked up by opensource.com! Check out I finally understand open source software:
My answer on Quora to Does the computer programming profession have a future?:
This is the eulogy I gave for my grandfather on March 14, 2013. He was 93 years old.
Open the pod bay doors, HAL.
The original iPhone, released in 2007, was a “game-changing” phone and multimedia device. It didn’t really bring anything new to the field, but as is typical of...
For those that don’t know, the Eten Glofiish m800 is a phone. And a PDA. With GPS. And keyboard. And it runs Windows. And…
After much debate and soul searching over what monitor to get, a nice deal that suddenly popped up made my decision easy. Of course, this 150 page thread - fu...
I use my computer daily for a variety of tasks, including:
My cell phone contract is expiring pretty soon, so I’ve been looking for a new phone. As I looked around the web, I slowly built a list of features that I wante...
To paraphrase Bill Gates, most people overestimate what they can do in a day and underestimate what they can do in a year. I definitely underestimated my 2015 and...
The reason most people never reach their goals is that they don't define them, or ever seriously consider them as believable or achievable. Winners c...
I was watching Fight Club the other day for probably the 30th time and one particular scene really stuck with me. On a rainy night, Tyler Durden (Brad Pitt) is ...
My goals for the year:
I meant to post these a long time ago, but somehow never got around to it. Anyways, I figure better late the never. Here is the long list of goals I hope to acc...
Listen up, developers. You are not special. Your infrastructure is not a beautiful and unique snowflake. You have the same tech debt as everyone else. So why are...
I just published a blog post on the O’Reilly Radar called Why Use Terraform? where I discuss what Terraform does and how it compares to Chef, Puppet, Ansible, Clo...
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
An Infrastructure Package is a reusable, battle-tested, documented, configurable, best-practices definition of a piece of infrastructure. We think it’s a better w...
Building infrastructure for a software company is much harder than it should be. There are so many moving parts and so many concepts to learn. How do I build my c...
In my previous post, I showed you the sights and sounds from day 1 of the LinkedIn Intern Hackday. This post will do the same for day 2, Saturday July 30. The I...
Friday, July 29, we kicked off the LinkedIn Intern Hackday. It was the first ever public hackday we've had at LinkedIn: interns from all over Silicon Valley wer...
On January 10, 2019, I weighed in at 223 lbs. On October 20, I weighed in at 173 lbs. That’s 50 pounds lost (22.7 kg) in 10 months.
In my previous post, I listed the best resources I’ve found for learning about diet and nutrition. In this post, I’ll do the same for exercise and fitness.
Although I talk a lot about exercise, there is another component to being healthy that is worth discussing: diet. Don’t worry, I’m not going to tell you what t...
A week ago, I listed 5 reasons why everyone should watch the Crossfit Games. I hope you listened, because what went down July 29 - 31 in Carson, CA was nothing...
The 2011 Crossfit Games are coming up next weekend, July 29 - 30, and as soon as that live stream is up and running, I’ll be watching. You should watch too. Wh...
What are the toughest, most mentally and physically challenging workouts that you’ve ever done? There are many discussions online on this topic, so I figured ...
Yes, my shoes are very weird. Yes, I run in them. Even on pavement. No, it doesn't hurt. They are called Vibram FiveFingers.
I’ve been doing Crossfit for 3 years now. It has gotten me in the best shape of my life in every aspect of fitness: strength, speed, endurance, coordination, e...
The reason most people never reach their goals is that they don't define them, or ever seriously consider them as believable or achievable. Winners c...
After a smooth first day of competition, Sunday was a bit of a mess. Although all of Saturday’s scores and standings were available online, no one really knew ...
The Crossfit Games are the olympics of Crossfit. They are held each year in Aromas, California and claim the winner is the “fittest person on earth” (check out ...
My goals for the year:
What a year it has been. I moved to CA, joined CF Sunnyvale, resolved to try to qualify for the CF Games, and got myself into the best shape of my life. I had f...
For the first several months of Crossfit, I simply followed the workouts laid out on the Crossfit mainsite. After that, noticing slow progress on my squat &...
I meant to post these a long time ago, but somehow never got around to it. Anyways, I figure better late the never. Here is the long list of goals I hope to acc...
My bodyweight during 2008:
July 7, 2008, was the day I got my ass kicked by Murph. It was the day that I experienced a 42 minute beat down that left me lying in a pool of my own sweat wit...
I do a lot of things the majority of people really don’t understand. For example, software engineering. The average person just doesn’t know what it is, often c...
Update: you can find a Spanish translation of this blog post here.
Just today, I got my 1,000th recruiter email in the last ~4 years. I know this is the number because I’m slightly obsessed with organization and have added a s...
Silicon valley is in a talent war. Tech companies are battling to hire the top prospects like never before, with Google alone planning to add more than 6,000 pe...
My answer on Quora to Does the computer programming profession have a future?:
Last year was a bit crazy. I published a book; I started a company; Molly and I sold everything we owned and did a cross-country road trip, with stops at the Bonn...
In one week, my girlfriend and I will be leaving California. We’ve sold just about everything we own. Our remaining earthly possessions fit into the back of my Co...
This summer, my girlfriend and I are moving to Florence, Italy. It’s exciting. It’s scary. It’s insane. And it’s going to take a lot of work.
My hand is over my mouth, my eyes are watering, and I’m trying to hold my breath, but every few seconds, my throat tries to turn itself inside out. Most smells,...
This is the eulogy I gave for my grandfather on March 14, 2013. He was 93 years old.
I recently moved to a new apartment and had to buy a whole bunch of furniture, including a bed frame, bookshelf, dresser, and couch. I had to do the move in a b...
My girlfriend and I have been looking for a new apartment for next year, which is never an easy process. We don’t do this often, so we’re learning as we go. How...
In March, 2016, Josh and I each took $2,500, put it in a bank account, and filed the paperwork to found Gruntwork. That $5,000—the minimum you need to open most b...
We started Gruntwork in 2016 with two goals: (1) make it 10x easier to understand, build, and deploy software and (2) build a company where we can work on intere...
Around 2007, I created my home page on a free PHP host and a blog on Blogger. The two websites have served me well for nearly 8 years, but they were long past du...
If you’ve found that your download speed is great, but your upload speed is abysmal, I’ve got a possible solution for you. I struggled with this issue for a whi...
Are you trying to get started with the Play Framework? Struggling to wrap your head around Futures, SBT, Scala, Functional Programming, or Iteratees? Then you've ...
I recently ran across a strange problem with the Play Framework and Netty: on Linux, my Play app could easily handle thousands of concurrent connections; on OS...
I just spent a few weeks battling a strange, infrequent, hard-to-reproduce error when using JDBC to talk to MySQL. After about a dozen experiments, I think I’ve...
If you find that your wireless download speeds are abysmal while your uploads speeds are pretty solid, especially with Apple devices, I’ve got a possible soluti...
In my previous post, I listed the best resources I’ve found for learning about diet and nutrition. In this post, I’ll do the same for exercise and fitness.
My girlfriend and I have been looking for a new apartment for next year, which is never an easy process. We don’t do this often, so we’re learning as we go. How...
A little while back, I wrote about my obsession with the apocalypse. Today, I’m going to talk about a slightly different obsession: lists. To be honest, not ma...
Yes, my shoes are very weird. Yes, I run in them. Even on pavement. No, it doesn't hurt. They are called Vibram FiveFingers.
This is the second part of my Programming lessons I wish I knew when I graduated series in which I discuss how much I suck at programming and some of the lesso...
I’ve been writing code for about ~13 years. I’ve had jobs in the software industry since 9th grade: while my friends spent summers slaving away at their McJobs, ...
Silicon valley is in a talent war. Tech companies are battling to hire the top prospects like never before, with Google alone planning to add more than 6,000 pe...
The other day, I was chatting with a LinkedIn product manager about a new app he is working on and I posed a “hard” question: what incentive would users have to...
A few years ago, I wrote a blog post called Shit Recruiters Say, where I shared some of the funniest and most ridiculous recruiter messages I had seen. Today, I’m...
My hand is over my mouth, my eyes are watering, and I’m trying to hold my breath, but every few seconds, my throat tries to turn itself inside out. Most smells,...
Just today, I got my 1,000th recruiter email in the last ~4 years. I know this is the number because I’m slightly obsessed with organization and have added a s...
I recently moved to a new apartment and had to buy a whole bunch of furniture, including a bed frame, bookshelf, dresser, and couch. I had to do the move in a b...
I almost forgot to post this tale, but I recently ran across the relevant photos on my phone and knew I had to write something.
This is an essay I wrote during an all-nighter for a Freshmen Writing Seminar at Cornell in 2002. The professor was not impressed, but I got a kick out of re-re...
Every startup begins with an idea. This is a talk I did as part of NerdWallet’s NerdTalks Series that discusses how to come up with startup ideas and validation t...
Markdown is a lightweight markup language that can be converted into HTML. The main inspiration behind its syntax is to copy what most people have used for year...
A few days ago, I wrote about how hearing Sal Khan’s talk as part of the LinkedIn Speaker series gave me an idea for how to take the Khan Academy to the next ...
LinkedIn dedicates one Friday every month to an “InDay” where employees are allowed to spend time on something they are passionate about that is outside their ...
As a software engineer, I tend to be very methodical in my thinking. I approach every problem by breaking it down into discrete pieces, analyzing each one in a ...
I’m happy to share with you the video and slides from my QCon talk on how to test infrastructure code! This talk is a step-by-step, live-coding class on how to w...
One of my blog posts got picked up by Lifehacker! Check out Don’t Just Learn to Code, Learn How to Think Like a Computer Scientist on lifehacker.com:
It seems like everyone is trying to learn to code: Code.org has celebrities like Bill Gates, Mark Zuckerberg, and Chris Bosh telling you anyone can code; CoderD...
In 2009, I joined LinkedIn as a Software Engineer. 5 years, 25 t-shirts, 50 hackdays, 4000 employees, several hundred million members, a billion dollars in reve...
In my previous post, I showed you the sights and sounds from day 1 of the LinkedIn Intern Hackday. This post will do the same for day 2, Saturday July 30. The I...
Friday, July 29, we kicked off the LinkedIn Intern Hackday. It was the first ever public hackday we've had at LinkedIn: interns from all over Silicon Valley wer...
A few days ago, I wrote about how hearing Sal Khan’s talk as part of the LinkedIn Speaker series gave me an idea for how to take the Khan Academy to the next ...
LinkedIn dedicates one Friday every month to an “InDay” where employees are allowed to spend time on something they are passionate about that is outside their ...
A few weeks ago, LinkedIn held a “Pimp Your Row” competition, where each row of cubicles was given money for decorations. Our IT team ended up winning with the...
Silicon valley is in a talent war. Tech companies are battling to hire the top prospects like never before, with Google alone planning to add more than 6,000 pe...
LinkedIn just had a “pimp your row” competition where each row of cubes got money to spend on decorations. The results were astounding. As I walked around, I ha...
Last Friday, I got my first project up on LinkedIn Labs: Resume Builder. This little app will take your LinkedIn profile and convert it into a beautiful resume....
On January 10, 2019, I weighed in at 223 lbs. On October 20, I weighed in at 173 lbs. That’s 50 pounds lost (22.7 kg) in 10 months.
Although I talk a lot about exercise, there is another component to being healthy that is worth discussing: diet. Don’t worry, I’m not going to tell you what t...
My bodyweight during 2008:
Why do so many software companies and developers give away so much of their work in the form of open source, writing, and speaking? Why would they invest thousand...
I’ve just open sourced a library called ping-play which brings BigPipe streaming to the Play Framework. It includes tools for a) splitting your pages up into sma...
In this post, I'm going to explain why the way most programmers install, configure, and manage software in development, testing, and production environments is a ...
Markdown is a lightweight markup language that can be converted into HTML. The main inspiration behind its syntax is to copy what most people have used for year...
One of my blog posts got picked up by opensource.com! Check out I finally understand open source software:
What does Google stand to gain from having so many open source projects? What about Twitter or Facebook? Why would companies freely give away software that cost t...
It seems like everyone is trying to learn to code: Code.org has celebrities like Bill Gates, Mark Zuckerberg, and Chris Bosh telling you anyone can code; CoderD...
The other day, I was going through some old files on my computer, and stumbled across a paper that blew my mind. It was a technical write up of an experiment wi...
For some reason, you’ve gotten into a debate with me about philosophy, software, psychology, history, life, the universe, and everything. Awesome! Before we go ...
I’ve just open sourced a library called ping-play which brings BigPipe streaming to the Play Framework. It includes tools for a) splitting your pages up into sma...
Here’s the showdown you’ve been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asy...
Are you trying to get started with the Play Framework? Struggling to wrap your head around Futures, SBT, Scala, Functional Programming, or Iteratees? Then you've ...
I recently ran across a strange problem with the Play Framework and Netty: on Linux, my Play app could easily handle thousands of concurrent connections; on OS...
A blog post I wrote on the LinkedIn Engineering Blog about Composable and Streamable Play Apps::
My answer on Quora to In which ways do you use the play framework in your company?:
The Play Framework takes a functional programming approach to stream processing (e.g. Comet, chunked responses, WebSockets) by using abstractions called Iterate...
My answer on Quora to What are the pros and cons of Play Framework 2, for a Java developer?:
My answer on Quora to What are the pros and cons of Play Framework 2, for a Scala developer?:
A blog post I wrote on the LinkedIn Engineering Blog about Play Framework: async I/O without the thread pool and callback hell::
A blog post I wrote on the LinkedIn Engineering Blog about The Play Framework at LinkedIn::
The other day, I was going through some old files on my computer, and stumbled across a paper that blew my mind. It was a technical write up of an experiment wi...
For some reason, you’ve gotten into a debate with me about philosophy, software, psychology, history, life, the universe, and everything. Awesome! Before we go ...
No time for a full blog post today, so much like my last “worth watching” post, I’ll leave you with another video that is well worth your time. In this one, Da...
A little while back, I wrote about my obsession with the apocalypse. Today, I’m going to talk about a slightly different obsession: lists. To be honest, not ma...
As a software engineer, I tend to be very methodical in my thinking. I approach every problem by breaking it down into discrete pieces, analyzing each one in a ...
My answer on Quora to What do you give a child as good reasons for why he/she should read?:
Although I talk a lot about exercise, there is another component to being healthy that is worth discussing: diet. Don’t worry, I’m not going to tell you what t...
I love jogging around Stanford campus. While I train my body, the beautiful architecture, Rodin sculptures, cactus garden, rolling hills, classic buildin...
Open the pod bay doors, HAL.
For those that don’t know, the Eten Glofiish m800 is a phone. And a PDA. With GPS. And keyboard. And it runs Windows. And…
I’ll just jump right into it. Since the last blog entry about the Mac, here are:
At my new job (at TripAdvisor), we were given the following choice for the work computer:
A terrific technical achievement that’s well worth your time, but somehow falls short of greatness.
Call of Duty 4 is one of the most exciting single player adventures in years. If only it was a bit longer…
I can print mostly. My wifi works often. The Xbox usually recognises me. Siri sometimes works. But my self driving car will be *perfect*.
After learning some basic Erlang syntax on Day 1, I take on the second Erlang chapter, which introduces some more interesting concepts.
After a long hiatus, I’m finally back to working my way through Seven Languages in Seven Weeks. After finishing up Scala, I’m now on the 5th language, Erlang...
After some functional programming on day two, it’s time for the third and final day of Scala in Seven Languages in Seven Weeks.
After a bumpy start with Scala on Day 1, I’ve moved onto the second day of Scala in Seven Languages in Seven Weeks.
It’s time for a new chapter in the Seven Languages in Seven Weeks series: today, I take a crack at Scala.
After a rocky day 2 of Prolog, I’m back for a 3rd day in my Seven Languages in Seven Weeks series of blog posts.
Today is the second day of Prolog in the Seven Languages in Seven Weeks series of blog posts. You can find the first day of Prolog here.
After finishing up Io, it’s time to shift gears yet again in my Seven Languages in Seven Weeks series of blog posts. This time, it’s time for something radical...
Today is the final chapter of Io in the Seven Languages in Seven Weeks series of posts. You can find the previous day of Io here.
Today is Day 2 of Io in my Seven Languages in Seven Weeks series of blog posts. You can check out Day 1 of IO here. Io, Day 2: Thoughts
Welcome to the first day of Io in my Seven Languages in Seven Weeks series of blog posts. After spending a few days playing around with Ruby, Io is definitel...
This is my 3rd day of Ruby in the Seven Languages in Seven Weeks series of posts. You can find the previous day here.
In my previous post, I went through the Day 1 Ruby problems from Seven Languages in Seven Weeks. Today, I’ll share my solutions to the Day 2 problems and so...
I recently picked up a copy of Seven Languages in Seven Weeks by Bruce A Tate. The book is a survey of seven very different programming languages: Ruby, IO, Pr...
I’m happy to share with you the video and slides from my QCon talk on how to test infrastructure code! This talk is a step-by-step, live-coding class on how to w...
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. — Douglas Hofstadter, Gödel, Escher, Bach
I just published the first entry in The Yak Shaving Series, where we share stories of some of the unexpected, bizarre, painful, and time-consuming problems we’ve...
Today, we are kicking off a series of blog posts where we share the pain of DevOps through short stories: Introducing: The Yak Shaving Series.
devRant is a place you can talk (or rant) about your life as a programmer with other programmers. The devRant folks are also putting together a series of podcast...
Docker and Amazon ECS are a powerful combination. In previous posts, I showed how to use Docker to package your code and how to manually deploy Docker containers ...
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk I did as part of Nerd...
Docker is an awesome tool. In a previous post, I showed how you can use it to package your code so that it runs exactly the same way in development and in product...
In this post, I'm going to explain why the way most programmers install, configure, and manage software in development, testing, and production environments is a ...
In literature, The Competent (Wo)man is a character who exhibits a very wide range of abilities and knowledge. The idea is similar to a Polymath or a Renaissanc...
Inspired by a reddit discussion, I decided to create short blog post to ask two questions:
I love a good tech talk. I like to watch them, I like to give them, and now that I have lots of free time on my hands, I’ve put together a list of the must-see...
Hey, grab a seat—we need to talk about documentation. Now, I know what you're thinking: documentation is tedious, a chore, an afterthought, a redundant so...
Update #1: this post hit the front page of r/programming and HN. Thank you for the great feedback! I’ve added some corrections below.
My answer on Quora to What is the current webstack LinkedIn uses?:
Update: you can find a Spanish translation of this blog post here.
At LinkedIn, we’ve started to use the Play Framework, which supports not only Java, but also Scala. Many teams have opted to write their apps in Scala, so I’ve...
I just spent a few weeks battling a strange, infrequent, hard-to-reproduce error when using JDBC to talk to MySQL. After about a dozen experiments, I think I’ve...
This is the second part of my Programming lessons I wish I knew when I graduated series in which I discuss how much I suck at programming and some of the lesso...
I’ve been writing code for about ~13 years. I’ve had jobs in the software industry since 9th grade: while my friends spent summers slaving away at their McJobs, ...
What does Google stand to gain from having so many open source projects? What about Twitter or Facebook? Why would companies freely give away software that cost t...
Just ran into a “gotcha” in Java that had me scratching my head. I had a string of the form "abc.def.ghi" and I wanted to split it on the dot (".") character. S...
Last Friday, I got my first project up on LinkedIn Labs: Resume Builder. This little app will take your LinkedIn profile and convert it into a beautiful resume....
I couldn’t resist another dorky software engineering post. Non dorks may stop reading here.
I couldn’t resist creating this very short, dorky and entirely programming-focused entry today. If you are not a software engineer, read no further. You have be...
Those of you who design webpages have probably seen this rant before. In fact, if you search google for “I Hate CSS” you will find. lots. of. results. Still,...
In March, 2016, Josh and I each took $2,500, put it in a bank account, and filed the paperwork to found Gruntwork. That $5,000—the minimum you need to open most b...
We started Gruntwork in 2016 with two goals: (1) make it 10x easier to understand, build, and deploy software and (2) build a company where we can work on intere...
“Successful startups are all alike; every unsuccessful startup is unsuccessful in its own way.”
Today, I’m happy to share the video and slides of a talk I gave at the MIT Martin Center for Entrepreneurship, as well as the Trinity College Blackstone Launchpad...
devRant is a place you can talk (or rant) about your life as a programmer with other programmers. The devRant folks are also putting together a series of podcast...
The other day, I did an interview for the Yours Productly podcast where I talk about startups, product design, coming up with startup ideas, minimal viable produ...
I did an interview for the Paysa Blog where I shared some of my experiences with living the startup life: Expert Interview Series - Jim Brikman of Gruntwork on La...
Building infrastructure for a software company is much harder than it should be. There are so many moving parts and so many concepts to learn. How do I build my c...
Docker and Amazon ECS are a powerful combination. In previous posts, I showed how to use Docker to package your code and how to manually deploy Docker containers ...
Every startup begins with an idea. This is a talk I did as part of NerdWallet’s NerdTalks Series that discusses how to come up with startup ideas and validation t...
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk I did as part of Nerd...
My blog post on The Macro, Y Combinator’s blog, about one of the most common reasons for startup failure: A Minimum Viable Product Is Not a Product, It’s a Process
An interview I did with Hakin9 Magazine on startups, agility, security, and more: A startup is a company that spends most of its time searching
My blog post on O’Reilly Radar: Should I start a company or work for one?
Update: Atomic Squirrel has merged with Phoenix DevOps into a new company called Gruntwork! Check out the Introducing Gruntwork blog post for more info!
On April 30, 2015, I gave a talk called "A Guide to Hiring for your Startup", where I discussed what to look for in a candidates, where to find them, how to inter...
My answer on Quora to What does it mean for a software company/startup to be able to iterate quickly?:
My answer on Quora to How can you validate an idea before jumping in and actually implementing it?:
Update: The book is now published! Get yourself a copy at hello-startup.net!
There is a meme going around that too many programmers are wasting their careers working on meaningless software: they spend all their time trying to get people...
The PBS/BBC Sherlock series is one of the most entertaining shows I’ve seen in years. It’s a modern take on Conan Doyle’s classic with strong writing, a superb ...
I’m happy to share with you the video and slides from my QCon talk on how to test infrastructure code! This talk is a step-by-step, live-coding class on how to w...
Terraform: Up & Running, 2nd edition, has been published! The 2nd edition is nearly double the length of the 1st edition (~160 more pages), including two com...
Today, I have two exciting announcements to share:
Listen up, developers. You are not special. Your infrastructure is not a beautiful and unique snowflake. You have the same tech debt as everyone else. So why are...
I just published a blog post on the O’Reilly Radar called Why Use Terraform? where I discuss what Terraform does and how it compares to Chef, Puppet, Ansible, Clo...
Today, I’m happy to announce that Terraform: Up & Running has been published!
A funny thing happened last week. I wrote another book! It’s called Terraform: Up & Running and it’s now available as an early release in the O’Reilly Store!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Update: I took this blog post series, expanded it, and turned it into a book called Terraform: Up & Running!
Last year was a bit crazy. I published a book; I started a company; Molly and I sold everything we owned and did a cross-country road trip, with stops at the Bonn...
In one week, my girlfriend and I will be leaving California. We’ve sold just about everything we own. Our remaining earthly possessions fit into the back of my Co...
This summer, my girlfriend and I are moving to Florence, Italy. It’s exciting. It’s scary. It’s insane. And it’s going to take a lot of work.
Yesterday, I talked about being down in the salt mines. Today, I’ll go in the opposite direction, and give a brief tour of a different part of my Budapest and ...
Last summer, Molly and I took a trip to Budapest and Krakow. The trip was nothing if not varied, including stunning basilicas, gondola rides down a mountain...
In part one of this series, I showed you weird signs, billboards and writing. In part two, I showcased my gastronomic adventures. Today, in the thrilling conc...
In the first part of the travel quirks series, I showcased some of the strange signs, billboards and writings I’ve come across in my travels. Today, I’ll focus...
When I’m traveling, I’m a compulsive photographer: my camera is always out and clicking. Photograph first, ask questions later. Some people get annoyed at this,...
I love traveling to Europe. I’ve been to France, Spain, Austria, Germany, Hungary, Poland, the Czech Republic, Holand, Belgium, and Italy. I love gothic archite...
I love a good tech talk. I like to watch them, I like to give them, and now that I have lots of free time on my hands, I’ve put together a list of the must-see...
No time for a full blog post today, so much like my last “worth watching” post, I’ll leave you with another video that is well worth your time. In this one, Da...
When I started the 30 day blog fitness challenge, I promised I would cheat. Today, I deliver on that promise. This post is less of a blog entry and more of a t...
Here’s the showdown you’ve been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asy...
The Play Framework takes a functional programming approach to stream processing (e.g. Comet, chunked responses, WebSockets) by using abstractions called Iterate...
My answer on Quora to What are the pros and cons of client-side rendering?:
Markdown is a lightweight markup language that can be converted into HTML. The main inspiration behind its syntax is to copy what most people have used for year...
A few days ago, I wrote a blog post about 3 web development tools you’ve probably never heard of and, lo and behold, I was told by many people that, in fact, t...
I got the chance to hang out with the fine folks at Twilio today and build a hackday project with their awesome API’s. Hackdays are all about getting things do...
A blog post I wrote on the LinkedIn Engineering Blog about CoffeeScript: JavaScript that’s easy on the eyes::
I couldn’t resist another dorky software engineering post. Non dorks may stop reading here.
Those of you who design webpages have probably seen this rant before. In fact, if you search google for “I Hate CSS” you will find. lots. of. results. Still,...
Terraform: Up & Running, 2nd edition, has been published! The 2nd edition is nearly double the length of the 1st edition (~160 more pages), including two com...
Today, I have two exciting announcements to share:
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. — Douglas Hofstadter, Gödel, Escher, Bach
Today, I’m happy to announce that Terraform: Up & Running has been published!
A funny thing happened last week. I wrote another book! It’s called Terraform: Up & Running and it’s now available as an early release in the O’Reilly Store!
Around 2007, I created my home page on a free PHP host and a blog on Blogger. The two websites have served me well for nearly 8 years, but they were long past du...
Update: The book is now published! Get yourself a copy at hello-startup.net!
For some reason, you’ve gotten into a debate with me about philosophy, software, psychology, history, life, the universe, and everything. Awesome! Before we go ...
On July 7, Adam Nash, Mario Sundar and I started the 30 day blog fitness challenge. Today, I write my 30th blog post. For those of you keeping score at home, ...
At work, we recently started the 100 day burpee challenge. The rules are simple: on the first day, you do 1 burpee, on the second day, 2 burpees, on third day...
I almost forgot to post this tale, but I recently ran across the relevant photos on my phone and knew I had to write something.
This is an essay I wrote during an all-nighter for a Freshmen Writing Seminar at Cornell in 2002. The professor was not impressed, but I got a kick out of re-re...
I just published the first entry in The Yak Shaving Series, where we share stories of some of the unexpected, bizarre, painful, and time-consuming problems we’ve...
Today, we are kicking off a series of blog posts where we share the pain of DevOps through short stories: Introducing: The Yak Shaving Series.