27 ms·
From novice to master, and back again (2013)
- yuan43 4y agoThis is one reason answering questions on StackOverflow is so rewarding. You can save future you a ton of trouble by putting a (better) answer there and then stumbling onto it later. Ditto blog posts. Power tip: this also works for personal journals in searchable format.
- bsedlm 4y agoyes. I think most of us who programmed in the trenches are familiar with forgetting what we've done... the difference is that nothing I've ever worked on will ever be public or useful beyond a small private business which doesn't even exist anymore.
- czep 4y agoThink of the people you've helped get their jobs done over the years. That's worth more than author credit in the colophon of a man page.
- naniwaduni 4y agoThe man page has ... probably helped plenty of people get their jobs done over the years! edit: or the program the man page is documenting!
- laumars 4y agoYour first point is fair too. Commands are useless if nobody documents their usage.
- hinkley 4y agoAfter a number of rounds of the game, “who wrote this garbage? I wrote this garbage” I began to recognize my own particular code writing style. I still get nerdsniped though if certain people start copying my idioms and introduce bugs, because this looks like something I would write but didn’t.
- draw_down 4y ago
- vxNsr 4y agoLove stories like this, few people can claim to have truly forgotten more than us novices will ever know but he surely can.
- sneak 4y ago"This incident will be reported."
- nerdponx 4y agoWhere exactly does that message come from? Su itself, PAM, some other library?
- kzrdude 4y agohttps://xkcd.com/838/ https://xkcd.com/838/
- sneak 4y agoI think it's from sudo, not su.
- jwilk 4y agoIndeed: https://github.com/sudo-project/sudo/blob/SUDO_1_9_9/plugins/sudoers/logging.c#L307 https://github.com/sudo-project/sudo/blob/SUDO_1_9_9/plugins... But this particular message was removed in sudo 1.9.10: https://github.com/sudo-project/sudo/commit/6aa320c96a376136 https://github.com/sudo-project/sudo/commit/6aa320c96a376136
- chrisbrandow 4y agoThat’s a real, “I’ve forgotten more about X than you’ll ever know moment”!
- lazide 4y agoEven better then it applies to the same person in both parts! Hah.
- startupdiscuss 4y agoZen Koan: Before I began my studies in Zen, I thought a tree was a tree and a stone, a stone. When I started to study Zen, I could see that a tree was not a tree, and a stone was not a stone. Now that I am a Zen master, I know that a tree is a tree and a stone is a stone. -- Source: my buddy in college I think you come full circle to learn that you can only keep so much in your head at one time and that you're always in some sense loading up what you need for the next month or three. At least this time you knew to look for the man su command, and remind yourself of the work you did, that you shared with all these other people.
- yuy910616 4y agoIt is pretty cool. When I was little I had no idea what it means, just knew that it sounds cool. But the older I get that more I see these patterns. junior dev: python is so cool! senior dev: python is slow. No type checking. The syntax is garbage. John Carmack: I write a lot of python and I use it exactly for what it is good for!
- intelVISA 4y agoif only the Carmack level was attainable for us mortals; I've moments where I trick myself into writing passable code but after a little research the same memory order semantics from my IDE stare back at me from Carmack's Doom 3 code 20 years ago. RIP
- deleted 4y ago[deleted]
- anddfyf 4y agoSounds a lot like Bruce Lees famous quote! https://mobile.twitter.com/brucelee/status/1361867949896704006 https://mobile.twitter.com/brucelee/status/13618679498967040...
- mrtksn 4y agoThere's a poplar meme called "midwit meme"[0]. I guess it's a popular observation. [0] https://imgflip.com/i/6peco7 https://imgflip.com/i/6peco7
- 100011_100001 4y agoI find my personal memory is very ephemeral, without repetition, things get quickly forgotten. In a long enough timeline, about 1-3 year, I start to fail recognizing my own code. Since I have trained most Jr Devs I work with they all have similar coding patterns as me, which makes it even harder. Granted, I have specific code tells, which helps, but like the article mentions I have forgotten the why or the bug that I fixed that required specific changes.
- lazide 4y agoThat feeling when you go on a rant about how something was done in a super confusing way, so you do a ‘git blame’ or equivalent - and it’s all your fault. Oops.
- cestith 4y agoThis is why there's a "from:" line in the standard commit message template I introduced for my group of teams. If there's a ticket, bug report, user story, specification change, or standards reason for the commit I want to know that later. Sometimes that makes it into the code comments, and sometimes into the docs. It's always in the commit.
- focusedone 4y agoWow, epic! The most depressing thing is being presented with an issue and finding my name attached to a closed ticket from years before with no explanation of how I fixed it. Guess what, current me, you're going to learn this again from scratch because past me was in a hurry and couldn't be bothered to type out what he did. BSG - this has all happened before, and it will all happen again.
- belval 4y agoI go through the same thing but with a few "popular" GitHub issues. Every time I encounter those bugs I Google it and the first result in my comment on the issue that explains the workaround I used. That's probably how early Alzheimer feels.
- scruple 4y agoI sometimes have to go back to GitHub issues I created, that I bookmarked for this specific reason. I think that the Internet has modified how our brains retain information. I don't think this is an original idea, but I've observed that I'm real good at indexing where I saw some piece of information and very poor at storing the actual piece of information. I have to physically write things down to commit them to recallable memory.
- wizofaus 4y agoI suspect our brains have always been better at remembering meta-information than information itself. E.g. where you last saw an item of clothing vs the configuration of colours on it. In most cases this makes sense, and is essentially a space-saving trick, but there must be some point at which the meta-info becomes too inaccessible or too slow to utilise that remembering the full detail directly becomes worthwhile. Convincing your brain of that before it becomes too late can be a regular challenge with so much readily available externally stored information.
- toast0 4y agoPhysically writing things has been a useful tool to increase recall for a long time. Taking notes in class may be more helpful than reviewing them later. Certainly, quick access to information with a small search query helps tune our brains to get small search queries, but do some filing for a day or three and your brain will get tuned to quick recall there too. In the old days, you'd get real familiar with certain parts of books.
- hcks 4y agoThis reminds me of an old joke I heard a while back, which is that the opposite of "it's like riding a bike" is "it's like the UNIX command line". No matter how many times you do it, you will have to re-learn it every single time.
- shadow28 4y ago"It's like regex" could be another punchline for the joke
- bcrosby95 4y agoMy biggest problem with regex is each language/program/whatever has their own take on it. You don't have to learn it over and over, you have to learn multiple slightly different versions of it over and over.
- Banana699 4y agoI don't mind the slightly different versions, that's what documentation and SO is for. I mind the language being a garbage kludge of organically-grown syntax and semantics, with not the slightest hint of a single principle or a unifying idea. And I mind that the vast majority of interfaces to it from a general purpose PL is fucking around with strings like a caveman, instead of a typed, IDE-assisted, first-class representation as a full-blown language construct or mix of constructs
- cestith 4y agoFrom this description, you may enjoy Raku.
- deckard1 4y agobeen recently learning Python in earnest. Coming from Perl, Ruby, PHP, JavaScript, etc. I'm just dumbfounded. How on earth did Python's regex library get to be so bad? It's like it was designed by people that were figuring out how regexes worked as they went along but must have skipped the part about modifiers, how anchoring works, etc. No wonder so many people hate regexes. The ironic part is Python's "one obvious way to do it" zen thing. It has like 5 different ways to do the same thing with a regex whereas Perl, the "more than one way to do it" camp has simple and obvious ways to do everything with regex. I love regex in Perl. In Python I don't want to touch it ever again. Even JavaScript is miles better.
- jimhefferon 4y agoI've had that happen with math teaching material a couple of times. One time I was dissatisfied with how I presented the definition of implication so I googled. The top link was to a discussion where the person answering linked to me. Like DJM, I found it a little unsettling.
- BlakeCam 4y agoWhen I began studying physics I felt like a clueless novice. All those equations looked like chicken-scratch on paper. And, "What's the difference between kinetic and potential energy?" And there were so many concepts to understand - forces, masses, fields, charges, and particles. And differential equations seemed incomprehensible. Now, after a few decades I've mastered most all of that. Yet, when I try to grasp the real basics, like "What is space-time?", "How does superposition lead to a single macroscopic universe?", "What is the Higgs field?", "How did this universe 'start'?", "What exactly is mass?", then I realize I'm really back at novice again. I know almost nothing.
- sergiotapia 4y ago15 years working as a software dev. There have been many times Sergio from the past has saved my ass. I find exactly what I needed to get something done and turns out the author was me. Coworkers also sometimes find my stuff so that's a nice feeling. If you write code do yourself a favor and write for future you. It'll help.
- dmd 4y agoTwice in the last decade I've been completely stuck on something, googled extensively, finally found the answer ... which I wrote, on Usenet, 25 years ago.
- Underphil 4y agoWorse : You Google a question and realise you yourself asked it many moons ago and it never got answered.
- 404mm 4y agoWorst: you find your own answer that says: “Nvm, fixed the issue.”
- vivzkestrel 4y agothis is why I have made it a point these days that when I fix an issue, I immediately go to all the forums, subreddits and stackoverflow sites where I posted the question and post the relevant solution. Its a lot of work but totally beats figuring out what you did 6 months later
- hipjiveguy 4y agoI make a habit of turning every question I have, that I don't find an answer to in 30 min, a question AND answer on stackoverflow/stackexchange And many times, even years later, when I google the answer, I google my name, stackoverflow, and the topic, and kapow - answer received :D
- hinkley 4y agoThat’s just karma. I have tried not to do that to myself because so many others have done it to me. Still, sometimes the answer I left is too vague to be practical.
- AceJohnny2 4y agoI have a notesfile on how to fix/debug things. When I started it, I would write things down after I fixed something and figured I'd need to remember it later. Problem was, I would often forget to write things down, or naively think "that was quick to find out, don't need to write it down", which is a classic mistake of confusing post-facto mindset with pre-facto. So now when I wonder how to do a thing, I first write down in my notesfile what my question is, so when I do resolve it I go and write down the answer to satisfy my need for closure.
- skybrian 4y agoWe write things down so we don’t have to rely on memory. Working as intended.
- klez 4y agoHe didn't write the manual, though. He wrote the GNU coreutils `su` program itself.
- hinkley 4y agoI write this shit down so I don’t have to remember it, thanks. Back in the age of modems, when PPP was still the new hotness, I was proud of myself for memorizing the IP addresses for a few of the services I used regularly. Two or three times I got to punk my friends when the DNS servers got messed up, and they’re sitting with me in the computer lab wondering what else we could do to pass the time when they looked over and noticed that I’m happily typing away in the very thing they couldn’t get into because The Internet Is Down. No man, it’s just DNS. Older, sadder but wiser me knows that I still could have done that joke if I had written the numbers on a scrap of paper. I could have had twenty instead of five.
- bluedino 4y agoLooked like a hero when I set DNS to 4.2.2.2 or whatever when AT&T or Charter would have an outage.
- hackmiester 4y agoIt certainly wasn't always that easy.
- dang 4y agoRelated: From Novice to Master, and Back Again - https://news.ycombinator.com/item?id=9098635 https://news.ycombinator.com/item?id=9098635 - Feb 2015 (1 comment) From Novice to Master, and Back Again - https://news.ycombinator.com/item?id=8443981 https://news.ycombinator.com/item?id=8443981 - Oct 2014 (27 comments)
- deleted 4y ago[deleted]
- dannyobrien 4y agoI wonder if anyone here is discovering that they also posted their comment in the previous links.
- klez 4y agoReading the comments here I'm under the impression that people think OP wrote the manual for `su`, but the interesting fact here is he wrote the GNU coreutils implementation of `su` itself. Debian (stable, at least) doesn't use his version anymore. The HISTORY section of the current manual says > This su command was derived from coreutils' su, which was based on an implementation by David MacKenzie. The util-linux version has been refactored by Karel Zak.
- itsthecourier 4y agoOnce I had a question about APACS, circa 2008, not a lot of information. found a tool using it, some lateral browsing, dns, simmilar usernames and finally i got to talk to the authour of the tool who gladly helped me :) I was discussing how the only info I found was in a remote wikipedia article, yet incomplete. the guy told me he had written that article too. good times
- deleted 4y ago[deleted]
- nu11ptr 4y agoI can't even tell you how often this happens to me. People come to me because I wrote something and I then tell them: "Let me go read the manual" (because I can't remember what I did a month later, so I'm always consulting my own docs). I always tell people: "You think I wrote this manual for you, but I'm not that altruistic. I wrote it for future me." To be fair, not exactly the same thing. I typically remember I wrote it, just not what it does or how it works. :-)
- agumonkey 4y agothis kind of job is very memory constrained you get into a task, you cram stuff in as you go, you finish it, and then you dump everything go onto another task. i find my most valuable skill is to slow the pace to ensure retention of information
- lolive 4y agoStill less efficient than dumping your piece of knowledge insomzthing like a second brain, aka personal knowledge management. The tricky part is whether to write down everything and make your notes too long to read/follow, or summarise things with the risk of forgetting an important piece of info [why you should do this or that, what you should NOT do, what additional piece of knowledge is required, etc]. The art of taking smart notes is really fascinating.
- agumonkey 4y agoIt boils down to the same issue. Whether you store data or not, your brain is a bottle eck. And managing notes would require the same skill as curating your efforts.
- sireat 4y agoI live by command line history and timestamps. I wish there was even better way to preserve the context of what you were doing at the time (env variables, current path at the time etc).
- lolive 4y agoDeveloping your own functions. A VERY useful trick to make your usual command line chains to be stored in a single [hopefully meaningful] command. PS: be sure to always have a -—help option that describes the function, just as you would do when programming
- deleted 4y ago[deleted]
- mayoff 4y ago1. Have problem. 2. Google it. 3. Find answer on stackoverflow. 4. Try to upvote. 5. "You can't vote for your own post." This has happened to me multiple times.