17 ms·
Linus Torvalds: 'I Do No Coding Any More'
- Helloworldboy 6y agoShitty website that doesn’t respect the back button. On mobile at least.
- statquontrarian 6y ago> So commit messages to me are almost as important as the code change itself. Why commit messages rather than code comments?
- yonixw 6y agoI guess "Code can't lie, comments can". At least the commit comment stick to the affected code and can't be moved that easily.
- oleks 6y agoSimilarly, comments can lie, but a commit-history cannot. That is, if the commits are digitally signed. Then you know something about who made the change when, and get a hint at why. This is much more valuable than code comments.
- hasmolo 6y agoI've seen that useful commit message make it incredibly easy to see where the code came from and is going. It also never gets 'out of sync' like code comments tend to, as it's a comment on a static place in the code, not a dynamic one.
- pengaru 6y ago> It also never gets 'out of sync' like code comments tend to, as it's a comment on a static place in the code, not a dynamic one. That's simply not true, not in a git world where rebasing to rewrite history is standard practice.
- urxvtcd 6y agoThe branches you rebase most of the time are your own topic branches, where you know what's going on. And they should be relatively short-lived.
- ulrikrasmussen 6y agoIn that case rebasing rather than merging would be the wrong choice, since you're actively obfuscating the history.
- Groxx 6y agoI don't see how this can possibly be relevant to how relevant a commit message is.
- antongribok 6y agoBecause code (along with comments) can go away, but commit history will stay.
- rwmj 6y agoWhen bisecting to find the cause of a bug it's usually important to me to understand why a change was made. That's sometimes hard to describe in a comment (especially if you're removing lines). The commit message should tell me the why of the change, and link to background information like email threads and the bug tracker. That's the why of the change, the why of the code itself can go in a comment.
- peterwwillis 6y agoCode comments should explain why a particular piece of code is doing what it's doing right now, and what the expected behavior should be right now. Code should be written so that comments are not necessary at all, but sometimes it's unavoidable. Now, why a particular piece of code came to be, why the code should have this expected behavior, why something is being added or removed or changed, may be unrelated (or unnecessary) to what this particular code is doing. So there's two kinds of documentation here: 1) "this is what this code does", 2) "here are the series of events that led to this code". You need the former when you are editing code. You need the latter when you are reviewing code for merge, as well as in the future to figure out how the f*!$ this code came to be (which is useful to avoid re-running into a bug, troubleshooting/understanding a legacy system, or removing important code). The latter may also immediately become obsolete the second time the same block of code is edited, so we keep this historic information in e-mail or code commit messages.
- daveFNbuck 6y agoA commit message can give you a better understanding of why a line of code is the way it is. It's like a mini README for your commit. Suppose you're making a change that has a few paragraphs of commit message explaining what you're doing and why. As well as a large well-commented change in a primary file, you've made some small incidental changes to other files. You're not going to include comments with all the context and explanation on each of these small changes. If I'm looking at one of the files you incidentally touched later and don't understand why your change is there, I can check the git blame and have a good understanding of why the code looks like that now.
- riku_iki 6y agoCode changes can be spread over multiple files, with comments explaining local logic only, and commit message provides overall background about the goal of this change.
- dharmab 6y agoCommit messages can include context outside of the code that would normally be buried and verbose in a comment.
- Ericson2314 6y agoComments describe the code as it currently exists, commit messages describe the evolution of the code. This is a very important distinction. 1. If one needs to understand the history of the code to understand the code in its current state, the code is bad. 2. But if one is one is already familiar with the old code, it is easier to leverage that to understand the new code than start from scratch. So we write commit messages for 2, but per 1 we can't have those commit messages be the only way to understand it, nor can we have the code comments refer to the old versions of the code that are removed[1]. [1]: except for the vaguest "other xxx you might think of were tried and didn't work".
- ewindal 6y agoCommit messages cover the entirety of the change, and only exist in the context of the commit it is attached to. A comment is without exception outdated by the next commit, unless it is rewritten for that commit.
- u801e 6y agoA commit message will always be associated with a line of code until that line changes. A code comment may or may not be updated when the code changes.
- gilbetron 6y agoThe goal isn't to describe code intent with a bare minimum. It is good to describe in the comment, the code, the readme, and the commit message, all at the same time for complex weird stuff. The goal is to make sure the Future Person can understand why you did what you did.
- gentleman11 6y agoWebsite will not let me edit with the back button on safari, had to close the tab to escape. Why do so many sites do that?
- jcims 6y agoDid you open in a new tab per chance? Slashdot hasn't ever done that as far as I know.
- ivanstojic 6y agoI can confirm: if you try to back out, you are presented with a blue bar at the top saying something like "before you leave..." https://imgur.com/a/93wjGED https://imgur.com/a/93wjGED
- mynameishere 6y agoDid you check out the great content? ...don't leave us hanging.
- thedanbob 6y agoAnd when I click on that link I immediately get a popover ad for the Imgur app. The mobile web is such a mess.
- amedvednikov 6y agoFirefox + UB origin
- MrLabCoat 6y agoYeah you have to hold the back button in safari and choose the last page of you don’t open in a new window. I hate sites that jack your back button like that. Normally they end up blocked in my Pi-hole. Reason they do that: bad coders using cut and paste code or a framework they don’t understand and think it will help users navigate their site easier. Had a teacher go off on how this practice should be illegal like un-closable pop ups.
- 6y ago
- hirundo 6y agoThis is sad, not so much because of the lack of code coming from this world class programmer, but because coding is such fun, and Torvalds isn't having fun programming, else he'd be doing it. I'm closing in on forty years of coding and still get a kick out of it. I'd still be doing it if I weren't getting paid for it. But my skills are at best, uh, modest compared to Linus. I'd think that doing a thing so much better would only be that much more fun. But this is a data point against that correlation.
- sys_64738 6y agoTechnical leaders often get promoted away from their core skills into managerial or administrative type roles. This ones sounds like a gate keeping role
- flowersjeff 6y agoThis is not what happened here.
- yjftsjthsd-h 6y agoHow is that not what happened? Torvalds wrote code, and now he manages other people writing code. He's not a people-manager; he is at least still in a technical role, but he's not a dev anymore.
- arp242 6y agoI assume he's in his current position by choice. He pretty much says so: "It is an interesting job". He still deals with plenty of code; he just doesn't write original code. Calling it a "managerial or administrative type role" as the previous comment did is somewhat lacking in nuance, IMO.
- sys_64738 6y agoHe's not a developer and hasn't been for a while. He's a TPM by sounds of it. Don't understand the downvotes but perhaps that's down to junior developers who don't understand what a TPM is.
- noobermin 6y agoI'm an academic (post-doc) and while I am about to transition, I've never really worked hard to get an actual tenure track position because honestly I don't want to become a grant writer who does so little actual scientific work, in all honesty. I might have to for my future's stability sake but I've been loathe to. I want to do science, not academia.
- draw_down 6y agoDoesn’t seem appealing to me either, but I don’t think this is Linus doing what he must to survive. He’s got a lot of options so this is presumably what he prefers.
- randomsearch 6y agoOther side of the fork here, headed to the exit because I don’t want to become a grant writing machine.
- Rayhem 6y ago> I want to do science, not academia. Don't get me wrong, I come from the same background you do and have similar wishes, but isn't this just "I want to do the things I like and not the things I don't" (which is true for anyone anywhere in any job)? Any job is going to have unliked things (that's why it's w.o.r.k and not f.u.n).
- dasil003 6y ago> commit messages to me are almost as important as the code change itself This is high on my list of code craftsmanship points. It's very difficult to explain to young programmers who have never worked on an old code base how valuable this is when done well. In fact, often you hear complaints about how a code base "is crap", but more often than not I'd wager this is just a result of the context at the time not being known or appreciated. Frankly, all code we write is heavily governed by context we take for granted at the time, but is in precious short supply 1, 5, 10 years later. If you come back with a different use case later, the original code may very well be unsuited for that purpose. We can argue all day about good judgement and YAGNI, but at the end of the day no one can see all ends, therefore the best we can do is document clearly why we did what we did. Taking the time to rebase, cleanup, and explain your changes in detail will pay huge dividends for any long-lived project. I've literally had successors write me a thank you note for a commit message from over a decade ago because I take this so seriously.
- technics256 6y agoWhere can one learn the art of excellent commit messages and when to rebase, etc?
- dasil003 6y agoThis is a good start: https://chris.beams.io/posts/git-commit/ https://chris.beams.io/posts/git-commit/
- teddyh 6y agoSee also: • https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=HEAD https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... • https://git.wiki.kernel.org/index.php/CommitMessageConventions https://git.wiki.kernel.org/index.php/CommitMessageConventio...
- u801e 6y ago
- lgats 6y agoWasn’t expecting slashdot to hijack my browser back button...
- drummer 6y agoIndeed, very annoying.
- u801e 6y agoI've actually started middle clicking on links to open them in another tab to avoid problems like these.
- dang 6y ago"Please don't complain about website formatting, back-button breakage, and similar annoyances. They're too common to be interesting. Exception: when the author is present. Then friendly feedback might be helpful." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html (added recently: https://news.ycombinator.com/item?id=23648867 https://news.ycombinator.com/item?id=23648867)
- snarfy 6y agoWhen you are on your second rewrite, wondering why the new codebase already has as much tech debt as the previous, it's because you don't have a Linus. Better engineers might help, but what really matters is a better filter, one that has final say on the commits and the release date.
- nabla9 6y ago"Good programmers write good code; great programmers "borrow" good code; best programmers remove good code." – Mike Gancarz, "The UNIX Philosophy", mutatis mutandis.
- rtkwe 6y agoIt helps that beyond critical fixes the kernel doesn't really have deadlines so there's time to be extremely picky about the code and commits. I think a lot of cruft and bad code comes from time constraints from business, not all for sure but a lot. And beyond that as an OSS project going back and rewriting things doesn't cost anything (at least in real money) so there's not an economic pressure against going back and addressing cruft.
- sunstone 6y agoSo it was git then the mic drop.
- dependenttypes 6y agoJust like Stallman except 12 years later.
- trade_unionist 6y agoThe only way to win
- jpgleeson 6y agoTech deed I
- mD5pPxMcS6fVWKE 6y agoI don't know about Linux Kernel, but in 99% of projects, 99% of commit messages are write-only.
- iso8859-1 6y agoIt's self-reinforcing. People won't start reading them unless they know that they may contain usable information. Given that the process of making a clean history can make you understand the project better even if you are alone, saying they are write-only is misleading.
- AceJohnny2 6y ago> "in the end, my job is to say no. Somebody has to be able to say no to people." This is funny to me, because I feel like Linux got ahead over BSD specifically because it had a more accepting policy in the beginning. I think this says something important about project maturity and lifecycle. BSD was already a "well established" system by the time the Linux kernel appeared, and as such had more gatekeeping to meet their standards.
- asveikau 6y agoThere was also the licensing/copyright controversy. It wasn't clear that BSD was really free until Linux was already taking off. From 1992-1994 there was a legal cloud over BSD and probably even after that people had lingering doubts that something like that could happen again. https://en.m.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc._v._Berkeley_Software_Design,_Inc https://en.m.wikipedia.org/wiki/UNIX_System_Laboratories,_In....
- toyg 6y agoTen years later, ironically enough, Linux encountered a similar fate: https://en.m.wikipedia.org/wiki/SCO_Group,_Inc._v._International_Business_Machines_Corp https://en.m.wikipedia.org/wiki/SCO_Group,_Inc._v._Internati.... ... and technically it’s not fully settled yet.
- rationalfaith 6y agoThis is not good. It's key to keep your hands practicing. A person needs feedback from objective reality and not subjective reality (people). This will hurt the platform short term and long term. I wonder why he's not coding? Maybe his ego is too big and hence sensitive?
- staycoolboy 6y agoPlease next time link to the source and not to another discussion forum: https://www.youtube.com/watch?v=H8Gd9t7FQqI https://www.youtube.com/watch?v=H8Gd9t7FQqI
- mkl 6y agoMany of us don't have time (or inclination) to watch a 25 minute video just for a few key sentences. Yes, I'm sure there are other interesting things in the video too, but that bit is what the submitter found interesting enough to submit, and what the upvoters found interesting enough to upvote, and the link to the source is on the first line.
- staycoolboy 6y agoThere is a very well-known function in YouTube that allows you to link to the exact time of interest. For example, simply suffix the query-string "?t=10m32s" to the URL to skip to 10:32. Odd that there doesn't seem to be enough time to read beyond 140 characters, yet there's plenty of time to type up lengthy opinions...
- valuearb 6y agoWell said as usual. And Wow, Slashdots back button disabling is the strongest I’ve ever seen, felt like I was in the Deathstar’s tractor beam trying to get back to HN.
- deleted 6y ago[deleted]
- aSplash0fDerp 6y agoTo think that [them] having made so much progress in the kernel by carrying a "Lean and Mean" profile for all of those decades is astounding! My guess is Linus is still L&M (if people didn't enjoy his lean, they wouldn't appreciate his mean), but perhaps he's not in his element right now (and just taking a breather). Either way, I'm a fan (not a professional) of a lean (looking) codebase with perhaps a new "overlay" commenting system being developed to accommodate a wide range of proficiency (one size fits all is either too terse or too bloated). I am not sure of the difficulty of linking comments by line number between revisions, but outside of having an official repository of comments, being able to toggle through multiple perspectives from the same line/set of code would offer valuable insight and chronicle mindset/POV in a way that a global scratchpad could never deliver. Writing terse or bloated comments should not be top of mind, but rather a frictionless byproduct (expect terse, but be pleasantly surprised on occasion by the detail and multiple perspectives).
- clktmr 6y agoYou know that 'git blame' exists?
- aSplash0fDerp 6y agoI guess the above was more about keeping the comments terse (at best) by default, rather than instituting an ambiguous or arbitrary formality. The overlay thought was similar to the map concept, where you can load and toggle data layers (comments of various verbosity or from a dynamic source) easily.
- worik 6y ago" 'No, this is fine, but...' And I send out pseudocode, or — I'm so used to sending out patches that I sometimes edit patches and send out the patch without having ever compiled it, ever tested it, because I literally wrote it in the mail reader, " Yes he does so write code....
- atum47 6y agoThere are two (old school) people that inspire me, him and John Carmack. I guess that's the natural course of things. Eventually you get busy to the point you don't have time to write code anymore. So many thinks to tend... I tried to write a little bit every day, cause it is something that gives me joy, but I never have a project taking off like those guys, so I don't know how much free time they have to start new projects or to program just for fun.
- buserror 6y agoAfter having been paid for a few months to do upstreaming, I know very well that nobody close to the linux kernels is doing any 'coding' anymore. it's seems to be more of an excercise into pleasing the priesthood to their, current, very important way/shape/form "canon" of what IS right at the moment than actually get any 'coding' done. And given the time it takes, i wonder if ANY of the top level maintainers actually program anymore, and are just "patch gateways". And yes, there is a massive caste of priesthood of the patch series, discussing and making decisions on stuff they often borderline understand, and on criteria that are in fact quite far from the "it make sense" line of thinking. I know, I've spend months re-writing drivers which were perfectly fine, neat, written with the upmost care of "upstreaming" as our team could figure out, to have to rewrite them completely and entirelly in the whim of someone halfway across the world, who didn't couldn't possibly have known what we were working on (as we were the designers, mostly) but who decided that version of the "canon" was not matching ours. It's a stupid waste of time, money, brain cells, and the result is actually lesser than the original code. For no good reason as the canon will change next year anyway. For many years, I thought that the Linux kernel ecosystem was pretty much self-sufficient, but it's grown way too big, to the level of MASSIVE bloatware level nowadays. Massive corps have dozens of guys working on it, and many of them are also 'maintainers' -- full time; threading patches, some of them with conflicts of interest, or lack of understanding, or both, or just having been left behind a while back while still being innundated with patches. I think it's doomed, in that form anyway.
- abalashov 6y agoAm I the only one who's intensely jealous of Linus? I'm 34, I've been coding prolifically since I was 9, and by 20 I was running on fumes. That was probably the last time it was any fun. By now it's very hard to sustain anything remotely resembling motivation, especially having been around long enough to have been around the block with a few technology waves. This article, circulated on HN a while back, resonated with me more strongly than anything I've seen here in years: https://frankchimero.com/blog/2018/everything-easy/ https://frankchimero.com/blog/2018/everything-easy/ I'm completely burned out on it all, and I don't even do more than a few hours of coding a week many weeks. Even that takes some serious psychological effort to get into, and some weeks I don't manage it. Honestly, I'd much rather sit in meetings, answer e-mail, and advise others on architecture. I like talking and teaching, and people issues interest me fairly indefatigably. It very well might pay better, too, depending. Alas, I picked a business model that economically rewards me for coding--that other stuff is just non-revenue overhead. I really hope a day comes soon when I can say, "I don't really get involved in code much anymore," before RSI and disinterest foreclose upon the possibility of a life worth living.
- unethical_ban 6y agoYep, same. I am supposed to be coding and writing Infrastructure as Code for cloud programs, but I find myself wishing I could be in Architecture or Design. I am an excellent facilitator of conversations and problem solving - I would love to "be in the room where it happens" and make sure we as a program have a coherent vision.
- davidw3 6y agoIn all seriousness -- why can't you move into architecture and design? I know it sounds a little trite, but I've seen many times where people don't do what they want or dream just because they haven't bothered to figure out how to get to their goal or simply because they don't let themselves. I know the world isn't always that simple, but I truly believe it is sometimes (plus some work and planning).
- unethical_ban 6y ago