Live data from Hacker News

I reverse engineered McDonalds’ internal API

twitter.com

161–170 of 454 posts

Re: I reverse engineered McDonalds’ internal API

#161
post #49

Just a note, the machines are not broken, they have shut themselves down for sanitary reasons. Ice cream, as a food that is very close to neutral in pH and without much in the way of preservatives, is a common source of listeria bacteria. To prevent serious health issues, the machine must be sanitized regularly. As I understand it, the process is involved, and any given McDonalds may not have a person with the time a…

Here's some detail, as someone that has worked with those machines before (internally and externally). In the good old days the soft serve and shake machines were taken apart every night and every piece was washed and bleach-sanitized by hand. Then it was reassembled in the morning. This would leave a lot of room for error and possible contamination in the process. And the sight of a shake machine hitting full pressu…

Someone should save the data over time and figure what is wrong with every machine. If this is made public and enough tech people tell the store every day to change example from 2pm to 2am, this will likely result in a better product for everyone.

Re: I reverse engineered McDonalds’ internal API

#162
post #49

Just a note, the machines are not broken, they have shut themselves down for sanitary reasons. Ice cream, as a food that is very close to neutral in pH and without much in the way of preservatives, is a common source of listeria bacteria. To prevent serious health issues, the machine must be sanitized regularly. As I understand it, the process is involved, and any given McDonalds may not have a person with the time a…

How hard is it to devise an ice cream machine with a simpler sanitation process?

I would have imagined someone in technology (or at least enough to read HN) would understand the hidden complexities of things they're not intimately familiar with

Re: I reverse engineered McDonalds’ internal API

#163
post #111

Earlier quoted context omitted.

No, that's by no means originated with computers. People have said "the phone lines are down" for years, meaning landline phone service was temporarily unavailable (often when no actual physical cables were knocked down off of poles, etc, though that might be where the use of the term originated in that case). I'm sure there are plenty of other examples of using 'down' to mean the same kind of thing (all of which pre…

Iirc it goes back to telegraphs, the line been physically down would prevent them working and it’s hung around since. Like hang up, when was the last time I hung up a phone, that style of phone went out of fashion here 30 or more years ago.

Ackshully it's from the even older phones with separate earpiece and fixed microphone. You'd really hang up the earpiece on these old ones.

Re: I reverse engineered McDonalds’ internal API

#165
post #38
post #7

From creator[1]: “I reverse engineered mcdonald's internal api and I'm currently placing an order worth $18,752 every minute at every mcdonald's in the US to figure out which locations have a broken ice cream machine” [1] https://twitter.com/rashiq/status/1319346264992026624

Hard to imagine that lasts long...

[deleted]

Re: I reverse engineered McDonalds’ internal API

#166
For reverse engineering, I highly recommend learning burp suite. (This is a bit like saying "Just learn vim!" in terms of learning curve, since the curve is basically a wall, but it's well worth it.)

E.g. I was curious how TPUs actually work -- the low-level protocol, built on protobufs. But burp suite is only good for analyzing HTTP. No worries, a couple plugins later and I was good to go: https://twitter.com/theshawwn/status/1315638127772405761

You'd be shocked the amount of information you get when you merely look at the traffic. Chrome devtools is nice, of course, but it's not an intercepting proxy; you can't (easily) capture every request, modify it, replay it, see how the webserver responds to malformed input, etc. Burp repeater makes all of that super easy.

Unfortunately the power is hidden behind a rather unfriendly UI, with some unfriendly defaults (the very first thing everyone wonders is, "why did burp cause my website to freeze?" answer: it starts up in intercept mode, so that's actually a sign that things are working; but you have to turn off intercept mode to actually get it to do useful things / see a bunch of requests).

Emacs users might feel at home, at least. :)

Re: I reverse engineered McDonalds’ internal API

#167
post #49

Just a note, the machines are not broken, they have shut themselves down for sanitary reasons. Ice cream, as a food that is very close to neutral in pH and without much in the way of preservatives, is a common source of listeria bacteria. To prevent serious health issues, the machine must be sanitized regularly. As I understand it, the process is involved, and any given McDonalds may not have a person with the time a…

But why "broken" instead of "down for scheduled maintenance"? The latter implies continuance of service, the former leaves that open.

If you tell the customer "It's down" or "Down for maintenance" you will absolutely get some who tell you "Just turn it on for me and give me my ice cream". If you tell them "It's broken" then you don't get that.

Even though it's a valid distinction, I'm not sure it's one that's valuable to the interaction being described.

Re: I reverse engineered McDonalds’ internal API

#168

Earlier quoted context omitted.

Here's some detail, as someone that has worked with those machines before (internally and externally). In the good old days the soft serve and shake machines were taken apart every night and every piece was washed and bleach-sanitized by hand. Then it was reassembled in the morning. This would leave a lot of room for error and possible contamination in the process. And the sight of a shake machine hitting full pressu…

Four to five hours, so let's say that happens daily and machines are out of commission 20% of the time. Currently it's early afternoon and the site says that over 8% are out. That's about halfway between "all overnight" and "all at completely random times". Are almost half of the clocks set wrong? Assuming that the actual number of broken machines is relatively small.

The machines still get taken apart and washed by hand, along with some maintenance, every 14 days. So every machine will additionally be off for an afternoon every two weeks.

Re: I reverse engineered McDonalds’ internal API

#169

Earlier quoted context omitted.

But why "broken" instead of "down for scheduled maintenance"? The latter implies continuance of service, the former leaves that open.

It's a simple way of shutting down the customer. Broken: non-negotiable. "Understandable, have a nice day" As these kinds of places attract the pettiest and most annoying customers anything else would make the customers try to bargain with you, even for stupid crap like that.

^this is the correct answer!

Re: I reverse engineered McDonalds’ internal API

#170

Earlier quoted context omitted.

At first I was gonna ask why does this not run on off hours, but then you mention bad clock, so the next question is, why is the % of bad clock so high, and why isn't the clock also cloud based or set in a way that can go wrong. Next up, what about redundancy, do stores only have one machine?

Cloud based clock. Don't you mean NTP? We've had this technology for years! If it's connected to the internet, it's a pretty fundamental piece of pretty much any networked OS. You can ensure correct time this way.

NTP is what I meant, yes.
Post reply on HN