11 ms·
I couldn't submit a PR, so I got hired and fixed it myself
- arguflow 1y agoCode is always the best documentation and the best thing about opensource.'
- rjsw 1y agoHaving 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 1y agoUsing 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.
- doubled112 1y agoCode will tell you what but not the why. It also doesn’t always tell you the intent.
- jmercouris 1y agoGood commit logs or comments may tell you why
- kulahan 1y agoHelluva wish.
- tobyhinloopen 1y agoWhat about function names, class names and variable names?
- tunesmith 1y agoThey should invent a programming language that only compiles if the why is still true.
- 9rx 1y agoThey 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 1y agoWith 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.
- 9rx 1y agoIt wouldn't be too hard to add such logic to your tests. If it proves useful, someone will no doubt turn it into a language feature.
- echelon_musk 1y agoThis PR is quite the PR move.
- cosmic_quanta 1y 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.
- skeptrune 1y agoUpdated the post to tell that story more accurately. Simultaneously took down the damn blog because Github pages has some freak bug, but oh well.
- drexlspivey 1y agoAnd then he was trying to pitch rewriting it from scratch to elon
- pyman 1y agoI 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.
- lukeinator42 1y agohttps://archive.is/ntSHm https://archive.is/ntSHm
- clippyplz 1y agoThis link is a 404 for me
- skeptrune 1y agoFixed! Damn Github pages
- pengaru 1y agoProblem solved, so... time to move on?
- skeptrune 1y agoI thought about it, but nah. Really enjoying the new job so far
- deadbabe 1y agoI 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 1y agoIANAL, 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 1y 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.
- 11Spades 1y agoIt'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 1y agoClicking 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.
- skeptrune 1y agoHotz said this, but I couldn't find any actual evidence so didn't include it.
- chatmasta 1y agoThat 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…
- justsid 1y agoCrazy because I remember that the first few iPhone OS versions had really bad autocorrect dictionaries, especially for German. The workaround for that was to make contacts for missing words because contact names never got marked as misspelled.
- Carrok 1y agoOh wow. Guess I need to get a job at Apple just to add a `Mark all as read` button to voicemails.
- lstamour 1y ago
- SoftTalker 1y 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.
- tom1337 1y agoI 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...
- theandrewbailey 1y agoWhen 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.
- db48x 1y agoWhen 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.
- netsharc 1y agoThe 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.
- stavros 1y agoThe 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?
- willmadden 1y agoThat's one way to do it.
- stevesimmons 1y agoIf 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 1y 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
- sreekotay 1y agoNailed it in one. Or (similarly) never makes the priority/cut-off list because "what metric does it move?"
- BuyMyBitcoins 1y agoWell, the setting is for kilometers, so the metric is metric.
- mhss 1y agoIt'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.
- kirubakaran 1y agoWhen 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.
- galangalalgol 1y agoI 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.
- thehours 1y agoFYI 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 1y agoautoplay my fault and will fix dark mode idk, that is a very tiny piece of JS which should run near instantaneously
- b8 1y agoReminds 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).
- rmonvfer 1y agoThis is the level of epic I aspire to in life
- makeitdouble 1y agoExcept they're working at Amazon now.
- jcgrillo 1y agoseems like they could turn this into a lucrative side hustle "super premium secret support" embrace the technofascist feudalism!
- userbinator 1y agoThat's actually how a lot of laptop and phone schematics and related repair information gets leaked.
- danillonunes 1y agoNext level epic is hand your resignation letter right after you get unbanned. "My job here is done."
- daymanstep 1y agoAnd then banned again the next day.
- ants_everywhere 1y ago
- zac23or 1y agoThe 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...
- onion2k 1y agoIt's nothing to do with quality. It's prioritization. Companies pick things they think people want (or what the team wants to build) without testing or experimenting with users and data. This is actually an example of the problem, not the solution. There are probably much more useful things for the team to be doing but they let one guy add the thing he wanted.
- josevalerio 1y agoYou'd think search on a docs site would be important :D
- wpm 1y agoIt's because the people who spend the most money on the scam cards for GTA:O didn't care. I personally stopped playing the game after getting so fed up with the loading times, I timed it for an hour and found out I was spending more time watching the loading screen than I was actually playing missions.
- syntaxing 1y agoThere 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.
- wenjian 1y agocould you please remember it exactly, because I am very interested into this legend hahahha) thanks
- PantaloonFlames 1y agoThe cancellation in the denouncing seems … sort of obvious.
- skeptrune 1y agoyes, i was very annoyed
- hobofan 1y agoIt seems obvious, but I also don't think it's optimal depending on what you are trying to do. In some scenarios, e.g. bad mobile internet connection, you may also be happy with a slightly stale result (where you still have to ensure correct ordering of responses), depending on how the search overall is implemented. One additional data point: Algolia used to do query cancellation in the past but stopped doing that (I think at least 5 years ago now), which you can test with the HN search. I'm not sure about their reasoning, but for them that seems to be the best overall default search experience.
- buggy6257 1y agoI 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 1y agoI 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 1y agoThis is what I’ve been forced to do for years and I’m sick of it lol
- xmprt 1y agoDiscord 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...
- johnisgood 1y agoWhat are you referring to? You can disable the automatic conversion of :) to an emoji, for example.
- ChoGGi 1y agoI think it refers to only sending an emoji, it's shown as a large icon.
- Sytten 1y agoGood 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 1y agoThere'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 1y agoThe sever should cancel the request handler when the client drops. Otherwise you're just opening up to accidental DOS.
- Flimm 1y agoI agree. I was expecting the author would implement debouncing or throttling to reduce the number of unnecessary requests, alongside fixing the data race issue. Here's an excellent article on debouncing and on throttling, and the difference between them: https://css-tricks.com/debouncing-throttling-explained-examples/ https://css-tricks.com/debouncing-throttling-explained-examp...
- hinkley 1y agoIn 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.
- sitzkrieg 1y agovery funny watching serial apple ass kissers getting tricked into listing all the shitty things in this thread
- khazhoux 1y agoI 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. * ...
- qmr 1y agoHowdy neighbor.
- bravesoul2 1y agoA debounce fix. They were really asleep at the wheel.
- Kwpolska 1y agoWho hosted the backend? If you did, you could demand a fix, as the bad frontend code caused increased server load and wasted resources.
- TuxPowered 1y agoSo that’s the only hope to get MRU tab switching in Chrime - get hired at Google?
- tmshapland 1y agoCongrats on joining Mintlify, friend. Trieve is dead, Long live Trieve!
- nullsmack 1y agowasn't there an xkcd like this once?
- test1072 1y agoSo you are the guy from that meme