HNHacker News
TopNewBestAskShowJobs

rdoherty

1,760 karma · joined July 6, 2008

Site Reliability Engineer at Netflix https://www.linkedin.com/in/ryan-d-doherty/
submissionscomments
rdoherty··on OpenTelemetry in 2023
Grafana seems to be an option? Handles metrics, logs and traces. I don't know what storage costs look like though if you are self hosting.. https://grafana.com/
rdoherty··on Graceful behavior at capacity
I learned most of this the hard way as a SRE. How systems behave at and over their limits is far more important than how they behave under them. A system that is 'forgiving' (aka resilient) is worth its weight in gold. Otherwise you get into downward spirals with systems that can't recover unless they are rebooted. Great read!
rdoherty··on Monitoring your logs is mostly a tarpit
I've been here with this and having logs also emitted by application/web servers is critical too. If you only have it at the gateway, and it emits a 503 or 504, did the request make it to the web server? Maybe? You have no signal. Seeing a timeout at the gateway/load-balancer and the web server log that it serviced the request successfully but took 45s tells you very critical information. If you didn't have the web log, you have a missing signal that tells you critical information.

Despite having to managed TBs of logs per day and sift through them at times, I'd rather have too much logs. However, we did not alert on any of them. All alerting was symptoms based via SLOs (error rate, latency). Logs were only used for debugging.

rdoherty··on Buy well, buy once
Reminds me of https://buymeonce.com/ . If this kind of thing interests you, check it out.
rdoherty··on Doors I touched today (1999)
If you like this, you will love the book The Design of Everyday Things. You will never look at a door the same way again. https://a.co/d/65WzcpJ
rdoherty··on Worst interview questions for software developers
Worst one I got recently was "What is your perfect number of working hours per week?" I said 40 and the interview process was ended early after the CEO said "oh we put in 50 per week because we know it takes extra effort for a startup". I expanded on how 40 is what works for me, interview got very cold after that. I felt pretty incredulous after that. Especially when the recruiter asked if 40 was a hard requirement. I thought those types of startup cultures were long gone by now but I guess not!
rdoherty··on Ask HN: How is the job search coming along for people who got laid off?
I had the exact same experience about 5 months ago. > 40 applications, ~30 responses from recruiter, did at least 1 phone screen at 20 of them and around 10 full interviews (4-6 modules each). It was brutal and I don't recommend it.

Almost 20 years of experience at great large & small companies in the SF Bay Area. I like to think that I'm relatively intelligent and competent, but man, some of the interviews were torture. Even interviews for what are mostly CRUD web app development positions were doing l33tcode interviews (literally, I googled them afterwards) of moderate CS algorithms.

After 2 months of interviews I did get 3 offers at the same time. I've interviewed around here since ~2005 and I have to say it's still a crap shoot of if you'll get a good interview process. Some companies were great and had well rounded modules, focused on leadership, communication, design and just a little bit of programming. Others threw multiple l33tcode puzzles at you and had no idea what they really needed. Very frustrating.

rdoherty··on Never trust a system that seems to be working
Also related: How Complex Systems Fail https://how.complexsystems.fail/
rdoherty··on Improving Postgres text search speed
I'd love to see some details on the why using EXPLAIN ANALYZE on each query and schema. It seems like the changes were done with a hunch as to why they were slow?
rdoherty··on Finishing what you start makes teams more productive and predictable
If you liked this post, the book Making Work Visible is a great expansion on these topics. Making Work Visible: Exposing Time Theft to Optimize Work & Flow https://www.amazon.com/dp/B09L3B9YK1/ref=cm_sw_r_apan_AX66TB...
rdoherty··on Ask HN: New job at BigCo. Everything has friction
This sounds suspiciously similar to where I used to work, and was one of the reasons I left. Every project required working with 3-5 other teams for either help or 'alignment' (aka approval). Getting a new service live required many tickets, meetings, manual edits to configuration by other teams, etc.

I think large companies with low friction are the exception, not the rule. It takes MASSIVE amounts of work to build the infrastructure that thousands of engineers need (or be willing to spend millions of dollars for SaaS). I can think of only a few large tech companies with low friction (Google, Netflix, Meta), and they spend a lot on tooling.

There's a few ways to deal with it. What I noticed was that the 'effective' engineers would avoid the standard process and be 'noisy'. They were comfortable asking directly via chat or in person for what they wanted instead of filing tickets or having meetings. They used their relationships (which they did work to build) to skip the line and save time.

You also need some kind of perspective change at large companies. You've moved from rowing your own boat to a battleship. Process is there for protection from rogue employees wreaking havoc on the system, not to make you move fast. Think of it from a manager or platform team's perspective. How do you manage over 1,000 SSL certs (and renew them)? Prevent VM proliferation that needs to be accounted for and secured? Certainly it can all be automated, but at a BigCo's scale, that is a 4-5 person job, and that team is competing with other 'revenue generating' teams for headcount.

I would also recommend to give it some time. You will adjust and learn over time how to work more effectively. I noticed after a few years that I could grease the wheels a bit because I had spent time cultivating relationships with various teams.

Good luck!

rdoherty··on Ask HN: Who wants to be hired? (June 2022)
Staff software engineer with over ten years of experience working for LinkedIn, Mozilla, Yahoo!, SmugMug and various startups. Experienced in everything from full stack engineering to scalability to usability and site reliability engineering.

Looking for a hands-on full stack engineering leadership role. I've worked on everything from dashboards for displaying race car telemetry to database tuning to being a SRE and running major incident responses.

Location: Mountain View, CA Remote: Depends on company/role Willing to relocate: No Technologies: Ruby/Rails, Python, JavaScript, SQL, Bash, some Go Résumé/CV: https://www.linkedin.com/in/ryan-d-doherty/ Email: ryan.doherty@gmail.com

rdoherty··on What One-person SaaS Healthchecks.io uses for hosting, hardware and software
This is fascinating. I am curious how sites like this (and others such as Pingdom, 'up time' checkers, etc) handle scheduled tasks that have to run at high frequencies? Cron on one machine? Celery beat?
rdoherty··on Drone footage of Tesla factory
Original from Tesla YT channel https://www.youtube.com/watch?v=7-4yOx1CnXE
rdoherty··on Show HN: MySQL Explain Analyze Analyzer
Hi HN! I was doing some performance optimization on a large MySQL query a few weeks ago and had a hard time reading MySQL's EXPLAIN ANALYZE output. So I wrote a webapp to help others.

I was inspired by https://explain.depesz.com/ which is for PostgreSQL (MySQL's output does work too) but wanted to do a little side project so I whipped up a MVP.

Feedback welcome :)

rdoherty··on Ask HN: How do you overcome decision fatigue in software development?
A few mantras I try to use for this type of problem:

* There are no solutions, just tradeoffs. Don't think there's a perfect tech stack.

* Done is better than perfect. Velocity matters. This generally means pick something you know if delivery is important.

* Boring tech tends to be reliable. Things like PHP, Rails, Django, etc. These tools have been around a long time and ironed out the kinks. Lots of documentation and tooling to make your life easier. Odds are very low your new fancy idea has any requirements that boring tech can't deliver on. This counts for every layer of the stack (frontend, DB, OS, etc).

I think the most important thing to keep in mind is you'll never have a perfect solution and that's ok! Don't get fooled by all the hype from new technologies that try to make you feel inferior for using other tech.

rdoherty··on I want to have an AWS region where everything breaks with high frequency
This is called chaos engineering and many companies built tooling to do exactly this. Netflix pioneered/proselytized it years ago. Since you likely don't just rely upon AWS services if your app is in AWS, you want something either on your servers themselves or built into whatever low level HTTP wrapper you use. Use that library to do fault injection like high latency, errors, timeouts, etc.
rdoherty··on How to Fix Slow Code in Ruby
First thing I tell anyone when they say "this code is slow because of X" is to profile it. Profile, profile, profile! More often than not your assumptions are wrong.

There's a myriad of tools out there for profiling, some language specific, some not. Learn at least one of them well, how to read flamegraphs and how to benchmark properly (warmup code, synthetic vs real traffic, etc). There's definitely a jump between making guesses and hoping you improve performance vs truly understanding what your code is doing.

rdoherty··on Tesla Cybertruck
I agree that electric trucks are important to combat climate change, but wow. If their goal is to sell to the market that buys pickup trucks, I think the styling is way off the mark.

Huge, beastly trucks are a status symbol and signalling to others that you are are certain demographic. Same reason some people buy cheap cars and add shiny wheels and lights. Same reason some people buy BMWs and Mercedes. These are all part of socioeconomic norms. I don't see how the normal truck crowd will latch on to this.

The specs are pretty impressive though. 500 mile range got my attention.

rdoherty··on Resilience engineering: Where do I start?
This is a great overview. I would also recommend Dekker's book The Field Guide to Understanding Human Error [1]. It's a bit easier to read than Drift Into Failure, which I found to be very dense.

1: https://www.amazon.com/Field-Guide-Understanding-Human-Error...

rdoherty··on De-Suckafying Apple’s Butterfly Keyboard
I've had an X1 Carbon for a few months, coming from a 2015 MBP. Track pad is pretty bad compared to a MacBook. Everything else is very good. I got the high res screen too and it is comparable to a retina display IMHO.

I've installed Ubuntu 18 with 0 problems. Sleep works fine, haven't had any issues with wake up. You do need to install some custom software and change a BIOS setting for it to use 'Linux' sleep mode (or something like that). Battery life is 'pretty good', not exceptional like MBPs, but definitely in the 6hr range.

Overall I'd recommend a X1 Carbon, especially since you will spend nearly $1k less on the comparable specs.

rdoherty··on Sounding the Alarm: Now Is the Time to Be a Cockroach
>I closely watched the financial news during the last two economic expansions and contractions, and for the last 3 months I’ve seen the same indicators I saw at the top of those two expansions.

Anyone know what those signals are? A lot of 'end is nigh' articles I've read have more details. Is it just too much growth in the stock market? Debt? Speculation?

rdoherty··on Ask HN: What is your favourite tech talk?
The Birth & Death of JavaScript https://www.destroyallsoftware.com/talks/the-birth-and-death...

A talk from the 'future' about how everything became 'YavaScript'.

rdoherty··on Tokyo to build 350m tower made of wood
This is extremely common, check out the book "How Buildings Learn", which has a few chapters on this phenomenon. The type of buildings you are describing are "Magazine" (buildings that get on the cover of architecture magazines)
rdoherty··on Bay Area family’s quest to create a backyard container home
I agree, this type of solution is 'trendy' and 'innovative', but is not a real solution to the Bay Area's housing problem.

We do not have a space or money problem, we have a legislative one. Building height limits, NIMBYs and other laws affect how many homes are built. We have plenty of space in the sky to build 12+ story buildings for housing, but we don't.

rdoherty··on Kenichi Yamamoto has died
IIRC the Miata/MX-5 was based upon the idea of the classic British sports car :)
rdoherty··on Kenichi Yamamoto has died
I agree, they never are the fastest, but they know how to make a perfectly balanced in all factors, enjoyable driver's car. Source: I race cars and have driven a Miata on the track.
rdoherty··on Kenichi Yamamoto has died
Not only is he the father of Mazda's rotary engine, he also recommended as president that Mazda build the Miata, arguably the best two seater sports car ever made. The Miata probably also kept Mazda in the spotlight and alive through the 90s.

Mazda is an interesting car company. Example: they have 0 electric or hybrid cars and don't have plans to make any afaik. They have a new 'X-Active' gasoline engine that also runs like a diesel at times to gain efficiency and power (https://jalopnik.com/mazdas-upcoming-skyactive-x-compression...). I'm not sure it's a great idea to continue working on gasoline engine technology considering the industry and market, but it is impressive engineering.

They've also managed to keep the Mazda Miata at nearly the same weight (only 300lbs more than the original) and size (3 inches wider, 1 inch shorter) after over 20 years of safety and convenience improvements. I can't think of any other car model that's done that.

Somehow this small car company always punches above its weight, which is impressive.

rdoherty··on A simple DIY Heroku replacement to keep your hosting costs down
My last job we were 100% hosted on Heroku and coming from managing hundreds of EC2 instances and databases via autoscaling, CF, Puppet and home-grown scripts, it was a dream to use Heroku. We simply didn't need any operations staff to manage infrastructure, maybe a few hours a week for 1 developer out of 11 to adjust or verify a few things.

Need a bigger database? Just a few Heroku CLI commands. Bigger web servers? 2 clicks. Want a test database to run queries against? 1 Heroku CLI command. Want to test a branch of your code against the staging database? Automatically done via GitHub PRs, with DNS setup too.

We had 0 downtime in a year due to actual Heroku issues, developers could push code easily (git push), databases were backed up automatically, servers auto-scaled, etc.

I was genuinely amazed at how well it all worked. The amount of operations work was easily 10x less than if we had to run our own infrastructure on AWS due to not just the hosting, but the tooling. Deployment, rollbacks, slave database setup, configuration management, access control, log aggregation, 3rd party integrations and more.

Heroku does have some drawbacks, request queuing is one of them, mostly due to lack of clear docs and information. Even with its flaws it still saves a massive amount of time and money. For nearly all startups to medium sized companies I'd highly recommend using Heroku.

rdoherty··on Exercism – Level up your programming skills
Been using this for a few weeks to practice for interviews, it's a slick setup. Unit tests setup to test all input and output, plus since you download the exercises you can use your editor of choice.

While there isn't much reviewing going on, I've found it useful to poke through a few other submissions for exercises (especially the ones with comments). I've learned a few things from other users' code.

← PreviousPage 2 of 7Next →