HNHacker News
TopNewBestAskShowJobs

mhotchen

294 karma · joined September 22, 2009

I build software and talk to people. Sometimes I make money from doing these things.

https://mhn.me hello@mhn.me

submissionscomments
mhotchen··on Ask HN: How do you review code?
Initially we would just have everyone in the team on the PR, but I noticed a trend of only a couple of people actually reviewing pretty consistently and occasionally people waiting for feedback for a couple of days, even for single line changes.

I solved the lag in my team by having "merge masters": dedicated people for that week who will drop what they're working on to review. It rotates on a weekly basis. We do also include the entire team (5 devs + team lead + QA) on the PR and if anyone happens to be free they'll take a look. Our PRs tend to be very thorough and in depth and will often end up with face-to-face discussion as well.

mhotchen··on Nginx reverse proxies retries PUT/POST/DELETE on response timeout by default
I didn't know that. Thanks for the correction.
mhotchen··on Nginx reverse proxies retries PUT/POST/DELETE on response timeout by default
We've hit 3 problems with nginx:

1. Exactly this, we had mystery double trades from our clients and it took us a long time to realise it was nginx assuming we timed out and routing traffic to the next server

2. It doesn't do health checks. When a server goes down it will send 1 out of every 8 real requests to the down server to see if it responds. Having disabled resubmitting of requests to avoid the double trade issue above this means when one of our servers is down, 1 out of every 8 requests will have an nginx proxy error which is significant when you have multiple API calls on a single page

3. This isn't something I've personally hit so can't explain the nitty gritty but it's something one of my coworkers dealt with: outlook webmail does something weird where it opens a connection with a 1GB content size, then sends data continually through that connection, sort of like a push notification hack. Nginx, instead of passing traffic straight through, will collect all data in the response until the response reaches the content size provided in the header (or until the connection is closed). I don't know if nginx is to blame for this one or not, but I do feel that when I send data through the proxy, it should go right through to the client, not be held at the proxy until more data is sent.

HAProxy also solved our issues and is now my go-to proxy. Data goes straight through, it has separate health checks, and it better adheres to HTTP standards. It can also be used for other network protocols which is a bonus.

mhotchen··on Functional Programming at Facebook
Sorry, you're right. I was more indicating at the fact that they power a huge amount of the infrastructure of mobile and telecoms.

Here's some sources that indicate that Erlang is still in daily use at Ericsson:

http://www.ericsson.com/ericsson/corpinfo/publications/revie...

http://www.ericsson.com/news/141204-inside-erlang-creator-jo...

I'm sorry I can't find the exact video I saw from Joe, but he's generally quite proud of the reach of Erlang so you'll find him stating the facts about how much of the mobile and telecoms infrastructure it supports in a few of his videos! I hope that helps.

mhotchen··on Functional Programming at Facebook
A talk by Joe Armstrong I watched recently indicated that around 50% of 3G and more than that of 4G infrastructure uses Ericsson technology, specifically with swoftware written in Erlang. He made a joke about 'sweating over every bit' sent over the network and then complaining that all the apps are going crazy with their JSON.

https://en.wikipedia.org/wiki/Ericsson#Products_and_services

mhotchen··on Ask HN: What are some good laptops for Linux right now?
Used one with arch Linux then Ubuntu in the last 12 months. Minus some basic configuring to get the trackpad working well under arch it's been wonderful. No hardware issues for me.
mhotchen··on Json ⊄ js
Just an fyi, jQuery's core JSON parser actually uses eval (well, new Function(), which is almost the same, but with scope protection).

https://github.com/jquery/jquery/blob/master/src/core.js#L52...

mhotchen··on Ask HN: First coding apprentice. Any advice for me (and him)?
This is probably as relevant to me now as it is to the new guy. I have a habit of not taking the time to fully learn my tools; I'll try to make sure I don't pass that habit on!
mhotchen··on Ask HN: First coding apprentice. Any advice for me (and him)?
My current manager (who I greatly respect) is awesome at handling this; when I fuck up, he'll come over smiling, and tell me a tale of how he did something similar (only worse) whilst helping me fix the situation. The tale could be a lie for all I know, but it always instantly puts me at ease.
mhotchen··on Ask HN: First coding apprentice. Any advice for me (and him)?
"Another thing my mentor did was took me with him to meetings where we reviewed the code. Getting to know your users and understand who you're doing this for is incredibly important. So many organizations try to abstract them away. It was something that put a face to the end user, and gave the user confidence in us to understand what they needed. I've seen a lot of folks not have that opportunity, and want to build ivory tower software without ever talking to a user. It also makes the job much more rewarding."

A great thing I forgot about; when I got my first job I was dying to meet clients and learn how to start a project, rather than just being told "this is what you're doing". I'll definitely bring him in on (relevant) meetings and let him have his say.

mhotchen··on Ask HN: First coding apprentice. Any advice for me (and him)?
"but every now and then he say 'hey, you wanna learn how to manage linux users, or tighten up apache security'"

This is great. I'll definitely do stuff like that.

"He let me handle problems on my own and had faith in me"

I'll try and rail myself in a little bit as well, I've taken to asking him if he needs help if he looks stuck rather than letting him come to me. Thinking about it now that might be killing his critical thinking/problem solving abilities.

mhotchen··on Unobtrusive CSS Framework
Found a bug:

    input[type=checkbox],
    input.checkbox {
    }
is used twice in unobtrusive.forms.css
mhotchen··on Hey Ubuntu, Stop Making Linux Look Bad
About an hour ago I downloaded the windows installer for Ubuntu. It ran just like any other installer on windows and when I restarted there it was, right beside windows. I can also uninstall it with the add/remove programs window.

That was by far the most painless install of any OS I've ever installed.

mhotchen··on SEO is fraud? Look at the size of these top SEO companies
I've seen businesses in yellow pages using questionable tactics as well, especially in the over-saturated areas such as Taxi's and moving businesses. A lot of the businesses advertised are actually one business, and they often have business names like "AAAAAAAAAAAAAA Taxis" (this is usually found in small writing at the bottom of the advert). It's gaming the system but it obviously works. Same can be said for SEO.
mhotchen··on A Canvas Experiment
Thanks, I had no idea; I've only ever done animation in flash and—without thinking about it—made the assumption that canvas would also be vector based. Knowing this is going to be really useful at some point, so again, thanks.
mhotchen··on A Canvas Experiment
Try setting it to spawn a new tree every 1 or 2 frames; you get some amazing patterns around the outside.

Performance is good on Safari, even after a few minutes and fade turned off.

mhotchen··on [dead]
Same. If you just go to http://addthis.com the site works, though judging from the url posted on HN, we're probably meant to be seeing something different.
mhotchen··on Fat that makes you thin
I never thought about why people want to lose weight; I just assumed it was so that they can be healthy, but I suppose it could be entirely superficial for a sizeable crowd. Obviously, the health benefits of something like this would be minimal, but it would be great if someone just wanted to eat more junk food and not put on extra weight.
mhotchen··on Fat that makes you thin
That cleared it up for me; thanks for the information.
mhotchen··on Fat that makes you thin
This is an interesting discovery, but I have a question about its uses for anyone that knows more about nutrition and/or biology than myself: If Bob has 50 grams of brown fat in his body and John has 0, how does Bob have an advantage over John? My perception is that Bob now has to eat 500 more calories per day than John just to survive. That doesn't seem like an advantage to me.

Am I missing something?

← PreviousPage 4 of 4