Triangulate, Don't Converge: Why AI Iteration Tools Keep Getting Chat Wrong
Chat interfaces assume users are converging on one answer. In creative work, they're sampling a space instead.
Chris Henry's Blog
Chat interfaces assume users are converging on one answer. In creative work, they're sampling a space instead.
Four key factors that can significantly hamper an engineering team's performance and productivity.
What to look for in a stellar Senior Engineer
Keeping your org's data safe while still reaping value from Gen AI
Consider whom will be responsible for a decision's implications
World-Class Onboarding & Implementation Solutions, made better together
Some techniques to speed up learning programming
Entrepenurial vs Scientific differences were on full display
Choosing a Python framework
How to securely deploy a static website to AWS S3
Some validated beliefs about running engineering teams
Popular tech stacks have huge hiring pools
An examination of the qualities of seniority
In interviews, ground-up rewrites aren't a good answer
The best measure of credibitility is the say:do ratio
If you want to operate lean, hire for curiousity and flexibility
Teams need a balanced mix of seniority to thrive
Debate breeds conflict, but discussion creates collaboration
Every product team should know these 3 words: Build. Release. Launch.
A little bit of randomness can help your standups stay fresh and productive
For early-stage tech startups, the hiring process can be extraordinarily difficult.
As a senior engineer, how do you communicate with with the juniors on your team?
The quickest way to discover your passion as a developer is to dive in and get your hands dirty.
Poor structure and misbehaving vendors: 2 slow killers of tech startups.
A different perspective on skills needed to succeed in tech
Using data to root out housing problems
Tunes to inspire technical productivity
Open Source is all about giving back.
My experience talking through a high school class through my career in tech
Tagging your cloud instances is a great way to organize for later programmatic interactions
In which I describe my emotional state after 10 years of dedicated labor
Weaving together automated messages and conversation is a great way to achieve high density, relevant remote communications.
Auto scaling, but make it stable
In which I continue to implement fizzbuzz in Rust and Go
Thoughts on blameful cultures, impact, and a better way
Testing the outcome of infrastructure provisioning is an operator’s bread and butter. Good cookbook tests create predictable automation, and can be added to once problems are inevitably discovered. Serverspec is a huge part of ensuring that infrastructure being provisioned via chef is actually in the desired state. Combining ruby’s builtin libraries to parse and manipulate configuration files with…
Normally, I’m a big fan of music without lyrics or much adornment for coding, but for the past few months, there have been a few albums in my rotation that are pretty heavy on the lyrics and complications. This edition has four guitar heavy albums, and three with way more singing than usual. Antemasque , Antemasque Antemasque is a newish project from Omar Rodriguez-Lopez, from Mars Volta and At…
Your time is extremely valuable, and execution of your product is everything. When it comes to building out key pieces of infrastructure, the choice of whether to build it, buy it, or use open source is very personal, and depends on what the business really needs. You do things yourself when you need fine grained control of a resource, or require a deep understanding of a mission critical…
A few weeks ago, I was stuck in an airport for a couple hours. I was flying to San Francisco, and upon arriving to JFK, was informed my flight would be delayed several hours due to a ground delay program . A ground delay program is put in place when a particular airport’s ability to keep up with traffic is diminished. If your destination airport has a program in place, your takeoff will be delayed…
The past year has been an extremely busy one. There have been a number of challenges placed in front of me that were somewhat all-consuming. While there’s been plenty of introspection, much of it has been exceedingly private. My goal for the end of the year is to consider what I’ve learned in the past 9 or so months, and share it publicly. Wish me luck.
This Christmas, Jessica and I took a trip to Napa Valley. In the past year, I’ve taken quite a few trips out to California, but most of them have been helicopter trips for work. I’ve flown in, done what I needed to do, and flown out, as quickly as possible. These trips have been grueling, as they were designed to get me home quickly, and never allowed any time for relaxation. It seemed important…
Since moving to New York, and discovering that there are more restaurants per square mile than any other place in the world, I’ve started eating out a lot. A probably unhealthy amount. But that’s OK, because everyone’s got to eat, right? And after eating at lots of places, I’ve discovered that there are certain gold standard dishes that most places are beholden to. The two that I’ve focused on are…
Robert Frost extolled the path not taken in his famous poem. It was a tribute to bucking the trend, and finding a place that was your own. In the go go go world of the tech industry, there are fewer paths untrodden, and many of them look wrong. And yet there are just as many reasons to go along those paths. Those reasons are specific to each context, and may look sunnier or darker depending on…
The internet is hostile. Not because of trolls or flame wars or your opinion on gay marriage, but because people want to destroy you. For absolutely no fucking reason. DDoS attacks are the scariest thing in the world to someone running a website. The alerts will trickle in at first. It’ll just be a web sever or two that’s squawking. Then more. Then external monitoring will go off. Pingdom will…
After much neglect, and a few insane weeks, I’ve finally gotten the time to update a few things in my daily toolkit. First, RSS; I’ve decided to go all in with Feedly . I’ve found it to be a great cross-platform candidate that’s had to deal with a lot of scaling challenges in a very, very short period of time. I give them a lot of credit for building a massive platform and being able to continue…
There was a period where I was insanely into RSS. It was what I did every time I sat down at the computer. I fired up the Google Reader tab, and spent hours in there. I pored over everything, and it was a really fun game to try and get through everything and still retain at least one useful piece of information from my frenzied filtering. That was usually the case, as at that time, I had a pretty…
The DevOps mentality of “measure everything” can be really helpful in key moments when you need to make decisions. In particular, deploying two things side by side for the purposes of measurement can yield super helpful decision making information. For example, the Behance team was wanted to see how APC stacked up against Zend Opcode Cache . Behance has been running APC for several years, and…
“The Navy is a master plan designed by geniuses for execution by idiots. If you’re not an idiot, but find yourself in the Navy, you can only operate well by pretending to be one.” -Herman Wouk, The Caine Mutiny The worst arguments I’ve ever had were with people who weren’t willing to bend on policy in situations where the policy made no sense. Context is everything, and most policy is made for a…
As we all may have some idea of at this point, performance on the web is one of the keys to success. However, finding actionable performance metrics can be a challenge. In the course of a web request, there’s a lot of stuff that happens. I’ll briefly explain it here in a couple run-on sentences. When you click on a link, your browser or client looks up the location of the server via DNS, and then…
The other night I was investigating a rather heinous utf8 issue. I was working on a local copy of Ubuntu 12.04 that contained the entire dev environment, except for data. So I exported a copy of the relevant data as a CSV, pulled it down, and attempted to run a LOAD DATA INFILE . Sane enough right? This is something I’ve done a million times in a bunch of different environments. However, in the…