10 ms·
What is a coder's worst nightmare?
- eindiran 7y agoReminds me of this story: https://www.teamten.com/lawrence/writings/coding-machines/ https://www.teamten.com/lawrence/writings/coding-machines/
- ex3ndr 7y agoInteresting hacking task and free time is a nightmare?
- readams 7y agoThis story of course makes obligatory a link to Reflections on Trusting Trust, Ken Thompson's Turing award lecture, which first popularized this concept. https://www.archive.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf https://www.archive.ece.cmu.edu/~ganger/712.fall02/papers/p7...
- neilv 7y ago> I suddenly realize it's in the compiler. It was the compiler. And every time you compile the original code and run it puts in the subliminal message code into the source code. I'd heard of this before. Ken Thompson, "Reflections on trusting trust", 1984. https://dl.acm.org/citation.cfm?id=358210 https://dl.acm.org/citation.cfm?id=358210
- deleted 7y ago[deleted]
- kazinator 7y agoHowever, I imagine that Ken Thompson hardly had in mind somem low-brow text manipulation hacks that go as far as to clobber the textual inputs to the compiler.
- MaysonL 7y agohttps://en.wikipedia.org/wiki/Fnord https://en.wikipedia.org/wiki/Fnord
- vagab0nd 7y agoWhen I read this I thought the PDF version was just hard to read. So I made a better copy of it: https://nerfsoftware.com/reflections.html https://nerfsoftware.com/reflections.html
- andrewstuart 7y agoStuff that doesn't work, leading to days of problem solving.
- markbnj 7y agoGreat story, but I don't think it qualifies as a nightmare. It's just a really interesting and challenging puzzle. The fact that the author elected to work on it for free ("This is nerd war") clearly places it in that category. If you can exit a nightmare, you exit the nightmare. Speaking for myself the only coder's nightmare I have is the one I think every coder has. It's the universal programmer nightmare: you don't really _know_ your stuff works, the way you can know that turning a key in a lock will open a door. Maybe you missed something. Maybe you didn't test something. Maybe it's going to break over the coming holiday weekend.
- ordu 7y agoIt is a coder nightmare, not a nerd nightmare. ;)
- gridspy 7y agoTrue, but he discovered that had he written a new version from scratch, the new version would have been erased and replaced. It was detecting the question set - he would have been required to put the questions into his version too. So by declaring nerd war, he actually saved himself a day.
- ricree 7y agoThe problem itself was interesting, but a compromised compiler is absolutely a nightmare. It took that long to figure out even with blatant evidence of something fishy. How long does it persist when the vulnerability is subtle?
- pzh 7y agoFor some reason, I don’t find that story believable at all. It sounds like somebody read “Reflections on Trusting Trust” and decided to exercise their creative writing muscle by passing it off as their own experience.
- imtringued 7y agoYeah it's just fan fiction.
- 7y ago
- kazinator 7y agoWhat is the basis for the belief that there was a single person, who wrote the program for the psychologist, and perpetrated the compiler hack? This could be a case that person B was innocently working on the curses-based questionnaire program for the psychologist. Person A was aware of this work and hacked the compiler to recognize and doctor that program (including squashing it down to one line), in addition to /sbin/login and possibly others. I'm curious how the program managed to include various headers, like <curses.h>. That requires multiple lines. I'm thinking that the hacked compiler took the preprocessed original innocent program and then output it as one line not requiring any preprocessing directives. Not even necessarily to obfuscate it, but because the division into lines was gone at the point in the compiler where this was done; i.e. this was a manipulation of the token stream of the program, and the tokens were just converted back to text and output as one line. Could even be that this was all done in the C preprocessor rather than the compiler proper, by recognition and replacement of token sequences. Though modern compilers integrate the preprocessing phases of the language, this sounds like it was in a classic Unix environment, in which cpp was still a separate program.
- leoh 7y agoIt is strange to think that someone with this level of skills was in a graduate program in psychology (as opposed to working in industry as an engineer).
- kazinator 7y agoBetter that than making another NewLisp, I suppose.
- xorcist 7y ago> I'm curious how the program managed to include various headers, Isn't it kind of obvious that this is a story, with some creative freedoms taken? The theme is an old one in hacker lore ("it was the compiler all along!"). While you are completely right this detail isn't important to the story.
- 7y ago
- lallysingh 7y agoCode reviews complaining that your code isn't cargo-cult enough.
- zerogvt 7y agoI'll second that. Code reviews -quite often- is a senseless sh_tshow of arrogance, pedantry and psychological issues that have nothing to do with the code.
- lallysingh 7y agoGive people a taste of power and you see their character come out.
- ljm 7y agoI would add 'unforgiving use of linters' to that, where 'unforgiving' generally means that straying even a hair's breadth from the default settings is forbidden. Especially so when you can't adjust those defaults, thus making your post-listed code substantially more abstract and less readable than it would have been at first. Case in point: forcing your simple 11-line function to become something more complicated that has to maintain state through each call.
- silversconfused 7y agoBeen there. Other dev on my team INSISTED on limiting to 80 char lines in a codebase with many long strings. It just wasn't appropriate.
- camtarn 7y agoThe rest of the answers to this question can be found here, for the curious: https://www.quora.com/What-is-a-coders-worst-nightmare/ https://www.quora.com/What-is-a-coders-worst-nightmare/
- daodedickinson 7y agoWe're always finding something tainted about memories taken for granted. A fine story.
- RcouF1uZ4gsC 7y agoMine is being drugged and hit with a $5 wrench in order to get me to give up my password https://xkcd.com/538/ https://xkcd.com/538/
- Havoc 7y agoThis plus TSA demanding passwords to corporate laptop. Mountains of confidential client data compromised...or in custody. hmm...which to pick
- p1esk 7y agoMy worst nightmare is I publish a paper, post the code on github, and then someone contacts me pointing to a bug in my code that invalidates the main result of the paper.
- anarchodev 7y agoThis is exactly why it’s still uncommon for journals to require working code alongside submissions in some (most?) fields.
- tomsmeding 7y agoIf, in scientists' or journal editors' minds, this is an actual reason not to publish source (as opposed to any other reasons they might have), then shame on them. I can imagine the shrinking feeling when something like that comes out, but hey -- you're a bloody scientist. At least it's for the public good.
- plopilop 7y agoThe most common reason I've heard for not releasing the code is "because it's ugly". And truth to be told, many researchers do code horribly.
- dmos62 7y agoReproducability vs petty appearances. It's not a beauty contest.
- anarchodev 7y agoThis is indeed the most commonly cited reason, but as others have pointed out it’s not a good one, and I’ll posit it’s not the real one either. The real reason is nobody in the lab has any idea if it works or ever worked most of the time.
- tensor 7y agoThe most compelling reason I've heard against releasing code is to encourage independent implementations. While others may find bugs in released code, they may also just use it as is extending it to test new ideas. This could propagate any bugs in the code to multiple works. A similar problem occurs with blog code snippets that are written with shortcuts. Despite warnings that these snippets need to be expanded for production settings they are often copy pasted as is into hundreds of code bases, propagating incomplete or buggy code. Still, you could solve for this in other ways. E.g. maybe reproduction focused journals can require reimplementation.
- meddlepal 7y agoCarpal tunnel or losing ability to use my arms/hands.
- airocker 7y ago+1
- lichenwarp 7y agohere for this, it sucks.
- Causality1 7y agoYeah, my first thought was of the guy who blogged the whole time an inoperable brain tumor was killing him. Over the course of multiple years I watched as it robbed him of his intellect. The cleverness faded. The subtlety faded. His posts started getting shorter, and then started getting sloppier. His grasp of grammar was failing. Shortly before he died his final post was "love you kids. love you wife." That's my worst nightmare.
- wwweston 7y agoI'm not sure there's objectively worse things than that. But I think one could make a good argument his final post indicates he had people who probably cared for him during his deterioriation, in part because love for them had been a north star for him. Maybe suffering such an end without that would be worse.
- kadira 7y agoJust modify the binary dude.
- matz1 7y agoAsked to reverse binary tree.
- murphy214 7y agoDeleting the production database on your first day: https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/accidentally_destroyed_production_database_on/ https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/a... Obligatory (poor guy): https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commi...
- Starwatcher2001 7y ago"Today was my first day on the job as a Junior Software Developer..." And he has permissions to delete the production database? Heads much higher up the tree need to roll.
- lightbritefight 7y agoThis was the general consensous on r/sysadmin when the post made it over there. If you can destroy a buisness on your first day, or even severly hobble it, you have larger issues than a green dev.
- bsaul 7y agoMy most stressful times as a developer always were related to database and manipulating production data. Subtle corruption that silently degrade your whole company's data, hearing customers come back with complaints days after you've released your code because stats don't seem to make sense anymore... And understanding after you found the issue that you'll have to run batches to manually fix the bad data and restore anything that was affected. That's definitely an experience i'll never ever forget.
- TheCoelacanth 7y agoI too have nightmares about working at a place so poorly run that it would be possible for someone to delete the production database on their first day.
- geoffmunn 7y agoSpending ages debugging javascript with alert boxes, publishing the final code, and then hearing that the homepage has an alert box that says "hi" on it.
- codingslave 7y agoCoders worst nightmare is working at a company that could desperately use good technology but whos management completely devalues it. The existentialist feeling of expending hard mental labor on something that no one cares about
- AnanasAttack 7y agoHow about infringing on a patent for inventing something independently without knowing it?
- PebblesHD 7y agoBugs that you can reproduce perfectly in production but not at all in any of 20+ non-production environments is my usual one... and it usually winds up being some updated Oracle binary...
- larkeith 7y agoBetter or worse than a bug that appears once every few months in Prod, but only when it's raining at the customer's location, and never on Sundays? (This is an actual issue I've encountered. It had to do with code scraping weather data for a horse racetrack, specifically if the page was updated while the scraper ran. It was buried in a PHP monolith with no tests. The track didn't run races on Sunday.)
- billrobertson42 7y agoRealizing that "coder" is largely a pejorative term and most people have no idea and appreciation for what you do.
- gurkendoktor 7y agoIs this a regional thing? I haven't ever perceived it that way over the internet or here in Europe, but I've seen several comments who agree with you on HN.
- tensor 7y agoI'm in NA and also don't understand why coder is negative. I remember it was very common in the old demoscene days. I've never even seen someone non-technical use the term. Usually non-technical people use programmer. The one that irks me is engineer. I've met very few developers who have the sort of professionalism that the term engineer requires. Most developers are more like cowboys whose primary goals are making other developers and themselves happy. An engineer needs to instead feel responsible for serving the users of the application, which includes maintenance by others as a subgoal. No doubt my definition of engineering is not popular here.
- ljm 7y agoI haven't seen it as a pejorative either, yet I would not refer to myself as a coder. A good software engineer/developer has more than just code on their mind when getting something done. In fact, code is ideally the last thing you get around to.
- codesternews 7y agoI will loose my job because of AI epidemic :D
- JohnBooty 7y agoUnderstanding unfamiliar legacy code with a bunch of kludges and "domain knowledge" or "business logic" baked into it, when the original authors are uninterested/unavailable and management has zero respect or understanding for the fact that it often takes an order of magnitude longer to modify/maintain this stuff than it does to write it. Oh, and there's no test suite. That is my nightmare. I've been there a few times and it can be literally impossible to shine in that role. "What do you mean, it will take you ten hours to add a button? They coded this whole module in one week and there are 100 buttons!" aarrrrgh Now, as an engineer, I understand and embrace the challenge of explaining this sort of thing to management. I get it. That's the type of skill that separates code monkeys from senior developers and architects. But, no matter how good you are, you can't force management to listen nor understand.
- xvilka 7y agoWell, if manager is blind to your explanations, then it means it is better to search for a new job. Time is precious, and nothing good can come out of this work.
- retiredcoder 7y agoIt can get worse, when the managers are the ones who wrote the legacy and still are actively acting as individual contributors themselves instead of empowering their own people
- Roritharr 7y agoHow about we add financial pressure to the mix that doesn't allow you to invest in anything so you're forced to add even more weirdness to the pile of crap instead.
- retiredcoder 7y agoTrue, specially when management is much more invested financially in the company than rank and file engineers. That happens a lot in European startup scene from my observations (as equity comp here isn’t that appealing for most of ICs)
- Washuu 7y agoMine: Being forced into management. Which is happening.
- ChristianGeek 7y agoTime to change jobs. Worked for me. P.S. If you love programming, management will destroy your soul.
- pivo 7y agoIt happened to me about a year ago. I hated it at first but began to like some parts of it eventually. I'll never like the "paperwork" and the chores navigating inscrutable internal applications and processes, but having real influence over the direction of products is very satisfying.
- paxys 7y agoHappening to me right now, although I'm going through with it and taking it upon myself to show the company/industry what a good tech manager can actually be.
- retiredcoder 7y agoMine: Being a tech lead with a lot of people management involved.
- janpot 7y agoBeing described as "_my_ developer" by a manager or designer. It says a lot about how these people see themselves within a team, and it's the kind of team I don't want to work in.
- graphicsRat 7y agoBeing called a coder. It's one of my pet peeves.
- makapuf 7y agoI understand that negative feeling. Coming from a non technical person or role, what wording would be better ? Developer ? Software architect (its different but let's assume non technical people don't understand the difference), code monkey ? What would be the best term we can find for our profession?
- dmos62 7y agoEngineer or developer is pretty accurate if you want to be nonspecific. Most of us have roles at any given time, as well as more long-term specializations, just like you don't have generic PhDs, scientists, etc, and it's usually better to identify those traits, than say something generic. "Coding" irks me as well. Probably because it's used uniquely by outsiders, in my experience. I tried to ponder more about why the word might be inappropriate for what we do, but didn't get anywhere. There's that obvious difference with the word "to program", that "to program" identifies what we do, but "coding" identifies what we use. Another aspect, is that "code" is probably a leftover from the paper card programming days, where source code was very cryptic. Now we use programming languages, which are readable, so suddenly the meaning "something cryptic" of the word "code" isn't appropriate anymore. Of course, you could say that coding refers to the fact that all programming is conversion of intent into some form of messages, like processor instructions or ones and zeroes. In that sense a synonym for coder could be intent digitizer. A bit more sci-fi.
- nnq 7y agoYou have multiple options, this is how to choose one: 1. "software engineer" (might drop the "software" for specific roles like "front-end engineer" or "machine learning engineer" etc.) - use this for people who value their education/fancy-degree and/or who pride on code-quality, low bug/defects rate, reliability etc. and they'll love it! 2. "software developer" - use this for people priding on craftmanship and "ability to ship the right stuff on time" no-respect-for degrees etc. and they'll love it! 2b. feel free to mix up (1) and (2) and nothing bad will happen :) also using (1) or (2) instead of others will tend not offend, just show that the person using it is clueless a bit. 3. "programmer" - this is the most direct / no-bullshit term for people who hate fancy extra words and pride on practicality and getting stuff done (but it might offend ppl with fancy degrees or make them feel devalued - never use it for a PhD unless you know beforehand he/she would approve) 4. "software architect" (this is a dangerous one) - can be used to boost the self-confidence of smart but terribly insecure people (use it sparingly bc some might be pushed tot he other extreme and end up with over inflated egos bc of this... better add "senior" before "engineer", it's more honest, what we call "architecture" in software is closer to "structural engineering planning" or smth, very far off from what building architects do) ...also practical senior no-bullshit people might be offended if someone junior to them gets this title! 5. "code monkey" ...the '99 bubble is over man, like 20 years ago, forget about this, unless you're in SV or other hip place and some club/group uses it for nostalgic-value ...otherwise it's offensive, and God have mercy on your soul if you mistakenly use it in a place where ppl are unused to it and at the same time to refer to someone with non-white skin color! 6. "coder" - might be acceptable in some places, but it's also cunningly devaluing (see sister comment for details)... unless you have the malevolent intent of "placing a hint of their personal irrelevance in someone's mind while at the same time avoiding to offend them" please avoid it! (might be the worst of all actually, bc nobody can complain but at the same time you spray them with a depressing hint of their inferiority while mildly boosting your superiority and subtly lowering everyone's morale at the same time... and then as a manager you end up asking yourself in the end why it all turned to shit despite you being "such an awesome and nice guy")
- kylec 7y agoData loss. Behavioral bugs can be fixed, but if you hose your customers' data, it's gone forever.
- retiredcoder 7y agoChanging jobs is very stressful for me. I have put up with a lot of BS to avoid that stress, can seem to get better but worse actually.
- bencollier49 7y agoAh, this old chestnut. Has anyone analysed the cycle time for stories on HN?
- amriksohata 7y agoObtaining poor requirements, then being accountable for maintaing the feature and codebase having had little influence on decisions, especially if the people behind the requirements have now left the organisation.
- MichaelMoser123 7y agoWorking as a programmer for Amazon (at least that was my experience)
- zerogvt 7y agoStrange thing to hear. Can you expand a bit?
- MichaelMoser123 7y agoSearch for "Median tenure at Amazon" (they say that is 13 months)
- swedish_mafia 7y agoLow iq MBA manager with insecurities charged with delivery. Usually vindictive and on a power trip, and has social leverage on some senior exec.
- throwaway77384 7y agoThis is easily the number one for me. The amount of damage someone like that can do (while swiftly being promoted up the ranks of course) is staggering. Whenever I identify one, I start looking for jobs.
- etripe 7y agoI'm living that right now, except he has no MBA, is a consultant, has the dogged determination of an elderly employee on his last ever career project and used his leverage to bring in a bunch of unqualified architect yes-men.
- chungleong 7y agoA manager who engages in circular reasoning is a nightmare that never ends.
- mothsonasloth 7y ago"Hey X, mind if I push this quick hotfix to live?"
- Marazan 7y agoHaving a project transfered to you that is "nearly finished"
- vwyxp 7y agoMy worst nightmare as a coder was when I discovered my wife had been cheating on me for months,
- harryf 7y agoSurprised to see no one has mentioned 3rd party APIs yet. Especially half-baked, poorly documented SAAS APis where you're left wondering whether is was designed by malice - to protect some vague business interest - or simply by incompetence / lack of care / lack of time. I've found the best mental defence in such situations is to assume the worst from the outset, by expecting to have to burn untold hours figuring out how this black box _really_ works and then be pleasantly surprised some parts actually work OK. Better that than assuming "this can't be that that hard" and ending up frustrated.
- nshm 7y agoExactly, also a frequent API changes for no reason. Tensorflow is a good example of this. Looks like every month they schedule a meeting on what they gonna break next. They seem to enjoy thousands of github issues about cryptic messages on renamed nodes in the neural network models.
- gauku 7y agoStruggling through their newly released tensorflow-graphics library right now. They wrote it, published some simple, single google-colab tutorials and left it at that. No documentation anywhere else
- yoodenvranx 7y agoMy personal nightmare: Working in a company where I have only one monitor and a PC without SSDs. And I am not allowed to bring my own mouse/keyboard. And I don't have admin rights for the OS.
- Const-me 7y agoI totally agree with the general idea. Especially the mouse. However, since I’ve bought my 27” 4k monitor I pretty much stopped using extra ones. Unless I have to for something very specific, like debugging an app which output to multiple monitors.
- tus87 7y agoPointy haired boss obviously.
- Roritharr 7y agoHaving to refactor the IRS. https://youtu.be/qL5ut8o5pfs https://youtu.be/qL5ut8o5pfs
- l0b0 7y agoBeing asked to "improve" a piece of internal software with not a single hint of what actually needed doing. After two meetings where nothing more concrete than "make it better" came up, I quietly continued working on actually achievable stuff until I left a few months later. When I checked up on my colleagues a few years later the damn thing was still in limbo.
- synthc 7y agoWriting a stupid bug in a critical system that causes people to get injured or killed.
- craftoman 7y ago>What is a coder's worst nightmare? Hired by a company and realize afterwards that you must work on a project that's designed and built on potatoes using potato languages and potato tools
- dstola 7y agoGoing viral on the internet for an embarrassing situation .. if that ever happens I will finally realize my dream of becoming a hermit in the wilderness
- yknx4 7y agoPHP, period
- segmondy 7y agoWhen you realize your code has caused grave injury to someone, physically, cost their life, ruined them financially or ruined a relationship. Everyone pays attention to plane or space craft crash. But bad software in cars, air bags, trains, medical equipment have cost lives. Bad software at financial institution have occasionally ruined people financially. Bad social media software have ruined relationships. Bad localhost software that has crashed and taken data could ruin people in ways many people can't imagine. Someone out there is using something as simple as a text editor to write their favorite book or keep track of their finances and run their businesses. if the editor screws up their data, you can't imagine the hardship. You never know how your users will use your software, don't take it for granted.
- diamondo25 7y agoDeploying something on friday and figuring it out its broken production monday morning.
- jjtheblunt 7y agoobfuscated Perl?
- m_ransing 7y ago"What crash? It is working fine on my machine."
- triplee 7y agoBeing forced into a management job with no direction or mentoring.
- deleted 7y ago[deleted]