I couldn't submit a PR, so I got hired and fixed it myself

211 skeptrune 122 8/1/2025, 4:59:51 PM skeptrune.com ↗

Comments (122)

b8 · 7h ago
Reminds me when I got banned from Amazon for suspected fraud (had an old account, but deleted my email and number since it was in a lot of DB dumps). After I got hired, I reached out to the guy in charge of the anti-fraud team at Amazon, and got unbanned. Emails to support etc. did nothing before I reached out internally (unbanned by 1am the next day).
hansvm · 5h ago
Interesting. I still have a bricked phone from my onboarding at Google, and no internal people cared either. There's a tool I could have used to fix it, but it's accompanied by a message saying that if you use it without permission you'll be fired.
hamandcheese · 18m ago
> There's a tool I could have used to fix it, but it's accompanied by a message saying that if you use it without permission you'll be fired.

Sometimes I name certain APIs/function names/whatever with a "do_not_use_or_you_will_be_fired" suffix. Generally for hacks I don't want people to copy-pasta. I can't actually fire anyone, but it gets peoples attention (especially more junior folks).

xmprt · 4h ago
> accompanied by a message saying that if you use it without permission you'll be fired

Probably why none of the internal people cared either. They didn't want to be the person on the line in case it was determined that the usage wasn't valid.

I'm curious how you bricked it beyond repair though. Most devices have a way to enter a recovery/flash mode where you can upload your own firmware from the bootloader. And if you haven't unlocked the bootloader then I don't get how you could have bricked it unless there's an Android bug... which would have probably triggered a more serious look.

odo1242 · 3h ago
Most likely, the tool to upload the firmware from the bootloader required some sort of hardware signing key, which was present within the tool that he wasn’t supposed to use without permission.
bongodongobob · 1h ago
A company the size of Google will for sure have it enrolled in MDM that prevents that.
emmelaich · 1h ago
I'd love for this to happen for me. I lost my Amazon account because they miswrote my phone number - having a single leading digit invalid for international use. So couldn't use text MFA and my phone with the OTP app had died the previous day.
rmonvfer · 7h ago
This is the level of epic I aspire to in life
makeitdouble · 7h ago
Except they're working at Amazon now.
danillonunes · 6h ago
Next level epic is hand your resignation letter right after you get unbanned. "My job here is done."
daymanstep · 5h ago
And then banned again the next day.
naniwaduni · 5h ago
tbh you could probably easily have enough gripes with Epic to do this too... but then you'd have to move to Wisconsin.
kQq9oHeAz6wLLS · 4h ago
At least their headquarters are cool
ants_everywhere · 6h ago
Yes, but now they have free bananas
jcgrillo · 6h ago
seems like they could turn this into a lucrative side hustle "super premium secret support" embrace the technofascist feudalism!
stevesimmons · 7h ago
If Google Maps would like to hire me so the km/miles switch can remember I only ever want to see distances in km, my contact details are in my HN profile.

I must have changed that back from miles once a fortnight since Google Maps launched 20 years ago. That's 500 times. Totally ridiculous for a company who core goal is profiling their users...

jldugger · 7h ago
> That's 500 times. Totally ridiculous for a company who core goal is profiling their users

Seven interviews later and 1 PR later: Fails in A/B due to declining user engagement

mhss · 2h ago
It's funny cuz is true. Except it'd probably be one long design doc with 10 rounds of review, 15 CLs (PRs) and months of rollouts later ... fails A/B due to declining user engagement.
sreekotay · 4h ago
Nailed it in one. Or (similarly) never makes the priority/cut-off list because "what metric does it move?"
392 · 2h ago
Also accepting gmaps work, if only it could preemptively cache the return trip for any trip longer than an hour, so that I'm not stuck with no service trying to remember how I got there.
kirubakaran · 7h ago
When I was traveling in Mexico, it drove me nuts that even though I was signed in, Google Flights switched my currency from dollars to pesos every single time I opened a new tab! I think they really don't care.
CamelCaseName · 3h ago
This is super frustrating when you travel a lot. You can change it back to your preferred currency, but it doesn't really stick.
bapak · 2h ago
You know what's even more annoying? Google Maps app on the iPhone uses the local currency for hotels and it doesn't let you change it at all.

Oh, "local" as defined by your IP too, so enjoy your VPNs.

The only solution is using the website instead, it has a currency dropdown.

galangalalgol · 6h ago
I think they rely on ip for a lot of stuff they shouldn't. Getting a local esim switches me to km until I switch back to my old one. Have no idea about Australia.

Edit: after typing this realized this isn't ip, its provider. That maybe does make sense to cue off of.

EspadaV9 · 7h ago
Wait, there's a setting for this? I've lived in Australia for over 16 years now but everything is still in miles instead of Kms and I have never been able to find a setting to change it (although it sounds like even if I did find itz it would be mostly useless).
kshri24 · 3h ago
Another issue with Google Maps is it not showing Plus Codes for some locations that highlight the entire area. If you however place a pin on that location, it provides a Plus Code. Pretty stupid IMHO.

Also it is really, really hard to search for "Nearby" places. Have to do it through "Directions". Really bad UX.

kevindamm · 3h ago
You can put "... near <location>" at the end of your query to get nearby places. "... near me" also works
fooker · 2h ago
Google Maps core functionality is sort of in maintenance mode, and things have been slowly bit rotting over the last 3-4 years.

Unless you want to launch some AI feature (used to be chat app for ten years and then Google got bamboozled by ChatGPT…) you’ll not find allies and your career will not progress.

hsbauauvhabzb · 6h ago
While you’re there can you add a ‘how much I value my time’ input field for tolls? Google suggests I spend $20 through 3 tolls to save a single minute. Constantly.

Edit: and while you’re there, move the ‘speed camera ahead, is it still there?’ Dialog. IT COVERS THE DAMN SPEED LIMIT ICON.

Twirrim · 4h ago
And also while you're there, if no car ever in the history of your app goes down the road at the speed limit ever it's a good indication you'll never be able to ever do it at that speed. e.g. small narrow single lane country roads which are only theoretically 60mph roads.
xp84 · 2h ago
Imagine the data they must have on the speeds people actually drive on every mile of every road, they’d easily be able to warn you not that you’re “over the speed limit” as in driving 70 on the freeway, but more usefully, if you’re in the top X percentile of speeds usually or even currently driven, which actually is a decent measure of unsafe was and would also be a great predictor of likelihood to get a ticket.
yonatan8070 · 37m ago
I saw this video recently where the author set up a camera to record sections of highways and measure the speeds of drivers, and make cool graphs out of it.

https://youtu.be/TYTaNsnBjcw

ximeng · 3h ago
How about allowing you to use Google maps while navigating without two phones or opening Apple Maps as well?
yonatan8070 · 42m ago
What do you mean?
sitzkrieg · 2h ago
thinking google would ever care about improving ux ever again is hilarious
xp84 · 2h ago
It’s true, except expand that to all big tech companies. The only time UX is changed it’s either to make ads more effective or to “streamline” things by shoving more and more of the functionality into an endless nested chain of ••• and More menus.
rufus_foreman · 3h ago
If you can get anyone at Google to care about that you'll be miles ahead of anyone else.

Anyway, how many metric hours are in a fortnight?

11Spades · 9h ago
It's hilarious to see the old joke actually playing out in real life. Kudos!

On a meta note; would you consider adding a left margin to your site? Reading from the very edge of my screen feels somewhat strange.

kulahan · 9h ago
Clicking through the links in his article, I came across a guy who apparently did the same thing at Apple - he introduced the "auto remove" feature for expired passes added to your wallet, then promptly quit. I had no idea that's how that feature came about, but now I'm going to send a little mental thank you to him every time I get off a plane. That shit was FRUSTRATING.
chatmasta · 9h ago
That reminds me, I need to apply for a job on whichever team hasn’t added a toggle to remove contact names from the autocorrect dictionary…
Carrok · 9h ago
Oh wow. Guess I need to get a job at Apple just to add a `Mark all as read` button to voicemails.
xp84 · 2h ago
I need to get a job at Apple to stop “omw”-> “On my way!” (Complete with the `!`) from reappearing in my Text Replacements every month or two, no matter how many times I delete it.

(Try typing “I’m omw to the car” or something to see how annoying this is)

lstamour · 4h ago
And the ability to undo deleting voicemails. And record voicemails client side using AI transcription to deliver thnesss
skeptrune · 9h ago
Hotz said this, but I couldn't find any actual evidence so didn't include it.
latchkey · 9h ago
troupo · 8h ago
> he introduced the "auto remove" feature for expired passes added to your wallet, then promptly quit

This still didn't work reliably, unfortunately. I still have expired passes, tickets etc. in my wallet

Rendello · 8h ago
Well, now you know the drill!
firesteelrain · 8h ago
BRB polishing my CV
nixpulvis · 9h ago
Maybe you should get hired by OP and fix it yourself ;)
skeptrune · 9h ago
Site is actually open source lol - https://github.com/skeptrunedev/personal-site
Vilian · 8h ago
>Get hired by github > force push the pr > get fired > profit
inopinatus · 7h ago
I am not a fan of sites that waste screen real estate.
bigstrat2003 · 8h ago
> On a meta note; would you consider adding a left margin to your site? Reading from the very edge of my screen feels somewhat strange.

What!? I love the fact that it's left-aligned. That's the way text should be!

Crespyl · 7h ago
Alignment and margin are different concepts. You can be left-aligned and still have a comfortable margin.
bigstrat2003 · 3h ago
True enough, but considering most websites these days consider "a comfortable margin" to mean "4-6 inches", I'm delighted to see a site which actually lines things up close to the left side of my monitor. Like I said, that's how text should be.
SoftTalker · 9h ago
> I added an AbortController to the debounced search function, so that it aborts any previous queries when a new one is made. This means that the search results are always relevant to what the user is currently typing.

To me one of the most annoying things an application can do is go off and do something before I'm done telling it what to do. Filters that apply themselves without an explicit indication that I'm done setting them up, or searches that are constantly re-executing as I'm typing. Wait for me to stop.

theandrewbailey · 7h ago
When I implemented search-as-you-type on my blog, I decided to wait for the current search suggestion request to complete before doing a new one. Seemed like a reasonable balance between responsiveness and not overloading the server.
netsharc · 1h ago
The video showing the problem in the article seems to show an avalanche of queries towards the server, I'm surprised no one cared about it, but I guess it's frontend people thinking "It's the backend/ops that have to deal with the problem!".

I wait about 250 ms before firing the request, if the user (well, me) continues typing, then the timer gets cancelled and the app waits another 250ms.

db48x · 4h ago
When I implemented one I simply filtered the results that came back from previous requests to see if they matched what the user had typed in the mean time. That way the UI might get relevant results with lower latency than would otherwise be possible with no risk that a non-matching result would show up to confuse the user.
tom1337 · 9h ago
I hate this on booking websites. Especially if the filters are in a sidebar on the left and do not fit your viewport and every god damn time you change something it scrolls up, starts loading, puts filters into read only mode until it's done just so you can add the next filter...
zac23or · 6h ago
The software quality is so low that if a bug bothers you, it's easier to get hired to fix it than for the company to fix it! Wow.

It reminds me of the programmer who mitigated the GTA 5 loading time problem. If even with a lot of money of GTA 5 the quality doesn't improve...

stavros · 9h ago
The article says nothing about the hiring, which is kind of the most important part of the whole escapade. Right now, it's a bit "something was bugging me, and when the company hired me, I fixed it", which, great?
bayindirh · 9h ago
I think his company is acquired by the currently he's working in, so he's acquihired.
skeptrune · 9h ago
exactly
bayindirh · 8h ago
Congrats!
hinkley · 3h ago
In the reverse situation, I've worked at places where the IP lawyers basically made it impossible to submit PRs to open source code.

But sometimes explaining the exact inputs and the line number where you know the problem is can grease the wheels enough that you can convince someone else to write the fix for you. I didn't technically give you any code. But I did give you free QA.

cosmic_quanta · 10h ago
> It reminds me of George Hotz’s legendary single week at Twitter in 2022, where he joined just to fix a login popup that was bothering users, then bounced.

The author remembers this, uh, event differently than I remember it... George Hotz boldly claimed that he could "fix Twitter search" faster than those lazy Twitter devs, only to bail almost immediately. Hubris!

On the way out, he removed that login popup as a sort of consolation prize.

llbbdd · 8h ago
Yeah, what? He seemingly joined Twitter, did fuck-all and quietly bounced. Embarrassing and completely self-inflicted.
skeptrune · 10h ago
Updated the post to tell that story more accurately. Simultaneously took down the damn blog because Github pages has some freak bug, but oh well.
rs186 · 10h ago
Time to join GitHub
skeptrune · 10h ago
TRUE haha
miyuru · 9h ago
Please ask them to add IPv6 support if you do.

context: https://github.com/orgs/community/discussions/10539

cnst · 5h ago
Well, that's a bit of my time gone (re)looking into GeoHot, patent trolls, and now comma.ai.

Comma.AI by George Hotz sounds very interesting, it's basically a $999 "comma 3x" smartphone with an OBD-II connector and a $99 wiring harness that can add an equivalent of a Tesla Autopilot to many cars manufactured in the last 10 years (even Tesla's own cars, too), for a total cost of $1098, whilst being OSS and available on GitHub, and — get this — even having ssh access to your car! Optional cloud subscription plans are $10/mo for your own SIM, or $24/mo with bundled cellular data.

Sadly, it does NOT have an equivalent of Tesla Sentry Mode yet, https://github.com/commaai/openpilot/issues/29912, which is kind of unfortunate, because Tesla's own implementation of Sentry Mode is using 250W of power — depleting the entire 80kWh battery from 80% to 30% in like 7 days (".5*80kWh over 7 days" = 238W) — openpilot would have been a nice alternative at what'd presumably be around 5W or less ("40kWh / 5W" is 333 days).

drexlspivey · 9h ago
And then he was trying to pitch rewriting it from scratch to elon
pyman · 6h ago
I followed the whole saga on Twitter. He shared a video of his browser saying, "I fixed it in 5 minutes," and 5 days later he was still trying to figure out why his PR was failing the build. When Twitter engineers told him to write tests, he rage quit.

It was embarrassing to watch.

Sytten · 4h ago
Good PR, but AbortController doesn't really help with stopping the server from processing the request. I have seen so much of this type of search that just continues processing in the backend even if the client has long gone caring.
hinkley · 3h ago
There's nobody who really has a library that's set up to feed a sequential task into and have it force a synchronous call to be async with breakpoints to check for early termination.

This seems like a problem Sorhus should have a library for, but he does not.

I've had the conversation too many times in the last couple months about how setTimeout() does absolutely nothing to fix this problem in NodeJS. Even Java had trouble with this and tried to delete the API that seemed like it should support this problem, due to undefined behavior.

throwaway0665 · 3h ago
The sever should cancel the request handler when the client drops. Otherwise you're just opening up to accidental DOS.
PantaloonFlames · 6h ago
The cancellation in the denouncing seems … sort of obvious.
skeptrune · 6h ago
yes, i was very annoyed
echelon_musk · 11h ago
This PR is quite the PR move.
buggy6257 · 5h ago
I specifically attempted to get a job at Discord so I could submit a PR to make giant emojis be a toggle setting rather than automatic. I know the feeling.

(If anyone works at Discord, please me and the rest of my server are begging you)

miniBill · 4h ago
I don't know if this helps but I've been adding a full stop next to emoji exactly for this. It doesn't fix it for ~new people but it's something for yourself?
buggy6257 · 10m ago
This is what I’ve been forced to do for years and I’m sick of it lol
xmprt · 4h ago
Discord is an electon app IIRC so in theory it should be possible to make a client side mod which fixes this. Not sure if that would result in your account getting banned though...
syntaxing · 6h ago
There was an old legend for an Apple bug (but I can’t exactly remember what). He complained about this macOS bugs for years. Worked for Apple for a couple months, fixed the issue, then quit.
lukeinator42 · 10h ago
sitzkrieg · 2h ago
very funny watching serial apple ass kissers getting tricked into listing all the shitty things in this thread
khazhoux · 2h ago
I often have the thought that it would be pretty awesome to take jobs for 6 months here and there just to implement specific features I want in my favorite SW, apps, sites, etc.

* Join Logic Pro team for 8 months and add better score notation tools

* Join Apple's iOS Music app and fix the weird blip that happens at ~17 seconds on any track

* Google Maps to stop the navigation/directions from spelling out how to get from my house to El Camino Real, which I've only done about 10,000 times.

* ...

deadbabe · 9h ago
I wonder if it's legal for corporations to have employees that they send off to get hired at other companies, do some stuff in those companies that are beneficial to their actual employer, and then leave before the probationary period ends.
chatmasta · 9h ago
IANAL, but it’s almost certainly legal, as long as all parties involved adhere to the applicable non-disclosure agreements, non-compete agreements, and intellectual property provisions of their employment contracts. Even then it’s likely to remain a civil matter in most cases.

Companies can sue each other for nearly anything, so any level of this behavior could result in a lawsuit. It wouldn’t cross the line into criminality until it involved some fraudulent deception or blatant corporate espionage. For a recent example of that, see the ongoing litigation between Rippling and Deel. (But even that egregious espionage activity remains limited to civil court, at least for now.)

lukan · 9h ago
"to have employees that they send off to get hired at other companies, do some stuff in those companies that are beneficial to their actual employer, and then leave before the probationary period ends."

To me that sounds like not disclosing, that they work also for another company and this certainly ain't legal on most jurisdictions.

wavemode · 8h ago
Can you cite the relevant law? I've never heard of it being illegal in the US to not tell your job that you have another job.
makeitdouble · 6h ago
It's probably not the law (it would be shitty when working at a 7/11 on the weekends to have tolegally disclose all your other income resources)

But basic employee contracts cover these aspects, including working in the interest of the company and IP assignments, and usually exclusivity if you're full time.

These issues are old as time.

wavemode · 6h ago
Yeah I'm aware employment contracts might stipulate it. But violating a contract isn't against the law. Worst case you could get sued (though with an employment contract, the limit of repercussions are generally just termination).
makeitdouble · 6h ago
> violating a contract isn't against the law

Being binding is kinda of the whole purpose of a contract. If violating it is void under the law the company should change lawyers.

To put your argument under a different angle, there are many written laws you can violate with very limited consequences if any, but they are still laws.

Contracts aren't written by the country, and enforcing them is civil matter so there's nuance, but violating an enforceable contract you provably agreed to is against the law. Whether you can get away with it is another question.

codingdave · 5h ago
There are two types of law. Contracts are civil law. Breaking them does not break criminal law. Civil vs. criminal law has different procedures, different burdens of proof, and different potential consequences.

When it comes to contracts, no, there are no "laws", there are agreements between parties that can be enforced if taken to court, and in that sense they are binding. But breaking them does not break any law... it just breaks an agreement.

makeitdouble · 2h ago
The goalpost is moving.

2 posts before:

> But violating a contract isn't against the law.

Now:

> Contracts are civil law. Breaking them does not break criminal law.

tough · 8h ago
and what if you don't work there or have a salary but happen to own some equity?
lukan · 7h ago
Not really without researching(also I am european and might have assumed wrong about US), but something with conflict of interest? Especially if another company ordered you to work for someone else. If all is disclosed, probably fine, but undisclosed? Definitely would not work in europe. Breach of trust etc.
jameshart · 7h ago
Not sure it falls foul of broader laws, but it almost certainly breaches your employment contract, which likely includes something about following the policies of your employer; that policy (in many companies you likely have to go through onboarding training and annual refreshers on it) probably includes a code of employee conduct that has specific mention of conflicts of interest.
wavemode · 9h ago
You'd achieve more by simply telling the company that you need a certain feature added to their product. If you're an important customer for them, you could probably negotiate a price for them to prioritize the work.
bmacho · 9h ago
I think we'd probably better off with the previous idea: just work for them for a period.
wavemode · 8h ago
I'm speaking from the perspective of company A, who needs a feature added to company B's product.

They could send their engineers to work for company B, sure, but those engineers' time is still costing money. And those engineers are completely unfamiliar with B's codebase, so they won't work as efficiently. Might as well just pay company B directly for the feature work.

saagarjha · 4h ago
Sometimes Company A is better equipped to fix things in Company B's product than they are themselves.
clippyplz · 10h ago
This link is a 404 for me
skeptrune · 10h ago
Fixed! Damn Github pages
thehours · 7h ago
FYI this autoplays full screen video when I visit on iOS + Firefox.

Edit: then switches into dark mode after a lag of a few seconds

skeptrune · 6h ago
autoplay my fault and will fix

dark mode idk, that is a very tiny piece of JS which should run near instantaneously

willmadden · 8h ago
That's one way to do it.
pengaru · 10h ago
Problem solved, so... time to move on?
skeptrune · 9h ago
I thought about it, but nah. Really enjoying the new job so far
arguflow · 11h ago
Code is always the best documentation and the best thing about opensource.'
doubled112 · 10h ago
Code will tell you what but not the why. It also doesn’t always tell you the intent.
tunesmith · 9h ago
They should invent a programming language that only compiles if the why is still true.
9rx · 9h ago
They have, but they're beyond grasp of most developers.

Tests were invented to express the "why" for the normal guy. They don't strictly prevent compilation, but a proper workflow will see them halt your process in the same way, offering the same outcome.

Granted, there are a lot of horribly written tests out there that don't tell you "why" — or, well, anything. As always, people will find a way to abuse anything you put in front of them. But when used well...

tunesmith · 7h ago
With a test, it might link up some functionality with "why" and pass, but then what happens if a business requirement just isn't a requirement anymore? The test will still pass. I'm thinking of something sillier, like a language that forces you to justify why for your code, and then regularly quizzes you if the business reasoning is still true. If anything changes, it rips out the code and breaks your site. :) So then you have to go in to fix it.

I'd also love it if this were applied to politics and laws.

jmercouris · 10h ago
Good commit logs or comments may tell you why
tobyhinloopen · 9h ago
What about function names, class names and variable names?
kulahan · 9h ago
Helluva wish.
rjsw · 10h ago
Having the source lets you fix something for yourself, there are an increasing number of barriers being put up to prevent you submitting a fix upstream.

Going through this right now with part of libpng, their mailing list doesn't seem to like my email.

aidenn0 · 10h ago
Using a source-based distro (previously Gentoo, now NixOS) lets me solve the problem for myself, even if my PR never gets accepted. Right now the count is at 4 patches in software I use that I submitted upstream that were (for one reason or another) never accepted.

In at least one case, I later found out that I was not the only person to submit a fix for the problem I was running into, but their discussion on the ML also went without comment 3 years earlier.