Live data from Hacker News

I reverse engineered McDonalds’ internal API

twitter.com

121–130 of 454 posts

Re: I reverse engineered McDonalds’ internal API

#121

It actually took me a while to figure out that the resulting website ( https://mcbroken.com/ ) actually shows broken / not broken by color. Not a complaint, just pointing it out in case others are as confused as I was.

Hah, now that you mention it...

That site is not red-green colorblind friendly.

Re: I reverse engineered McDonalds’ internal API

#122
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…

> 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.

Former Blue Bell Creamery CEO was recently charged with seven counts of conspiracy and fraud for not taking proper actions in regards to ice cream based listeria in 2015.

Re: I reverse engineered McDonalds’ internal API

#123
post #112
post #86

Earlier quoted context omitted.

Further down the thread he mentions that no order gets executed, he's just querying. I guess still making trouble for anyone using that data, but at least nothing's going to waste.

That just leaves me with more questions. What does he mean by "executing" an order? He used the word "placing" before. Is he placing the order and then immediately cancelling? Or is he just putting items in his cart? Why such the high dollar total on the order? Is it a single order at every store every minute? Does it really need to be that frequent? Regardless, it annoys me when I see developers abuse semi-public AP…

If you've never used the McDonald's app, then you can place an order, but the store doesn't receive it and do anything until you arrive at the store and it detects that you're there. During this period, you can cancel the order. My guess is that's what he's doing.

Re: I reverse engineered McDonalds’ internal API

#124
post #68
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…

I suppose ice cream isn't high on the list of services they feel they need up and running all the time, but if the machine is determining this I would think there would be some level of predictability that would allow them to schedule sanitizing and etc. It's funny that the machine tells them there's no ice cream. I visited my local library for a tour. They have an automated system that collects returned books, sorts…

> I suppose ice cream isn't high on the list of services they feel they need up and running all the time

Depends on the country, here it is hot 9 months of the year. People queue up for ice cream every day. McDonald's has mini stores only selling ice cream.

Maybe it's the same in hotter parts of the US (which the article is about), for example Florida.

Re: I reverse engineered McDonalds’ internal API

#125
post #112
post #86

Earlier quoted context omitted.

Further down the thread he mentions that no order gets executed, he's just querying. I guess still making trouble for anyone using that data, but at least nothing's going to waste.

That just leaves me with more questions. What does he mean by "executing" an order? He used the word "placing" before. Is he placing the order and then immediately cancelling? Or is he just putting items in his cart? Why such the high dollar total on the order? Is it a single order at every store every minute? Does it really need to be that frequent? Regardless, it annoys me when I see developers abuse semi-public AP…

Based off the information at the site and the tweets, the most sensible explanation is that it's a single order that gets attempted, but the cart gets cleared. Rather, it's the sheer number of locations that McDonalds has licensed it's name to that cause the dollar value.

Given the cost of $1 for a cone, he's checking 18,752 locations per minute, or about 1.28x the number of branded restaurants in the US + Canada.

Re: I reverse engineered McDonalds’ internal API

#126

I ran the McBroken data through the Spatial Equity Data tool. It found McDonalds are slightly overrepresented in white areas while locations with broken ice cream machines skew Black and low-income. https://twitter.com/MarkStosberg/status/1319363954385297411

Considering that all of these machines come up/down cyclically and automatically for sanitizing (pasteurizing) purposes, as described higher ITT, you're a great example of how data can be massaged to drive whatever narrative you want.

Re: I reverse engineered McDonalds’ internal API

#127

Earlier quoted context omitted.

It matters to me

Why? What are you going to do different if you are told it is broken versus down for maintenance? You're still not getting any ice cream?

One implies neglect or incompetence, the other implies a limitation of a system.

Some people would look down on a franchise or a restaurant or a business that had super high failure rates. Like if the comedy section of Netflix went down every 3 times you tried to visit that section. As opposed to Netflix having some system level limitation requiring them to perform some magical dance and perform some spell every few days to keep the server room from exploding.

You would perhaps give Netflix more leeway and not feel as much disdain and switch to a competitor if you knew that the comedy section being down every once in a while was some legitimate limit the engineers had found and not just a shoddy organization. But if you just got some nginx 500 error page randomly you would be like 'wow this site is hot garbage'.

Re: I reverse engineered McDonalds’ internal API

#128

Not sure where this data is coming from but for months now I've been ordering ice cream through the McDonalds app only to find out when I get there that the machine is broken and that they can't cancel or refund the order, which ultimately results in a stressful cash refund. It's happened multiple times at various locations around Manhattan. Eventually I'll just use this method to get 30-day cash loans on my credit c…

Well if you keep doing this and your credit card gives like a 5% cash back on restaurant purchases...this is virtually free money?

Re: I reverse engineered McDonalds’ internal API

#129

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…

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.

Re: I reverse engineered McDonalds’ internal API

#130
post #38

Earlier quoted context omitted.

Hard to imagine that lasts long...

It seems the first explanation given wasn’t entirely accurate (or is at least misleading), as they continued roughly 50 minutes later: > to clarify how this works: mcdonald's keeps track which locations have a broken machine, I'm merely querying for those - no order gets executed, no ice cream is actually wasted Maybe in reality, the order is created, but not actually “placed” in order to query the above info? Or may…

Don't make joke a subcategory of clickbait, hacker news. come on now
Post reply on HN