1. 1

    I was reading his Wikipedia page and I noticed that a picture of his cat is in there. That was odd but cool at the same time.

    1. 2

      I think the part I’m missing is why use TCP if you don’t want its features?

      1. 3

        I’m imagining this in the context of websockets, where you are stuck with TCP only. But in that context, you can’t control the browser’s TCP stack making retransmit requests, and usually streaming is from a server to a browser… So I’m not quite sure how this can be applied. It is clever, though.

        1. 2

          Because that’s how the Internet is. TCP works pretty much every time, but UDP doesn’t.

          Relevant presentation: http://dedis.cs.yale.edu/2009/tng/papers/pfldnet10-slides.pdf

        1. 2

          I’m not sure that the resume matters in a hiring environment dominated by keyword search and Linkedin aside from having one that is presentable after the conversation has begun. However, I invest a lot in my personal resume and have a fairly traditional structure:

          1. Contact Info
          2. Overview phrase/pull quote
          3. Table of high-level areas of expertise
          4. Chronology of experience where each entry has
            1. Job Title
            2. Company, Location, Date
            3. Key technologies, single line
            4. Active voiced outcomes using the tech above
          5. Education
          6. Notable projects, memberships, etc.

          As a hiring manager I like to see and as an applicant I try to write concrete quantifiable “W outcome using X to do Y for Z”, ex. “Reduced B2B execution time by 15%, reduced error rate by 9%, and increased ROA by 4% by designing and developing keyword-based replacement for business_unit some_function”, that show not just that there was work but also value and the purpose for the work.

          1. 1

            re: LinkedIn being a “hiring environment”, I’m constantly hearing (in the Lobste.rs LI group, for example) people complain about getting harassed by recruiters and the like, but not once has that happened to me. Every once in a while, the thought crosses my mind “that’s probably because you’re fundamentally unhirable – don’t quit your job!” which I quickly dismiss, but this time I’ll ask: is this more common to the more senior folks, or maybe more of a matter of location (not in the US)?

            1. 4

              the thought crosses my mind “that’s probably because you’re fundamentally unhirable – don’t quit your job!” which I quickly dismiss,

              I don’t know you but it’s probably not that. I also don’t know what other people’s threshold is for feeling “harassed”. I get a few inquiries a week across all of the job sites, most of them are dismissible low-quality hits (no, I would not like a three month entry-level contract in the rust-belt of the U.S., go away) or rookies trying to swell their contacts and I block or unsubscribe from those. I do freely connect with in-house or well-connected recruiters even if I’m not currently interested and those bring up something intriguing a couple of times a year. I don’t job hop.

              but this time I’ll ask: is this more common to the more senior folks, or maybe more of a matter of location (not in the US)?

              I believe it’s several things: connections and the network of their connections, the industries you’ve worked in, keywords/technologies, and location.

              1. 2

                Location is really important. A lot of recruiters seem to search based on location (SFBA…).

                1. 1

                  I didn’t start getting cold-contacted by recruiters until I was 5-6 years into my career, but since then the frequency has grown pretty continually.

                  Sometimes I have no idea how they got my phone number, other times they pull my email from git commits… It’s not super frequent but I find it a bit creepy to take my email address from a commit to some OSS project and use it for an unrelated for-profit enterprise.

                  1. 1

                    I’ve had, at most, two calls from recruiters. One was someone I used at a previous engagement, the other I have no idea. I use various email addresses and plus addressing (where accepted by whatever vetting is in place) to track where things come from. I generally give out a VoIP number configured with an automated attendant to a mailbox and forwarding group so I can vet calls.

              1. 1

                I mostly disagree, because of an example of Internet governance. Network stacks enforce rules of TCP, made by… IETF with “rough consensus and running code”? In practice, rules of TCP are set in stone and will not change. In practice, rules of TCP are guarded by compatibility requirement with existing implementations.

                By accident of history, RFC 1323 (1992) added WS(window scale) and TS(timestamps) option. WS turned out to be very important, but by all accounts, TS is useless. But everybody still uses TS option. Why? Because of accident of history, currently deployed iOS devices happen to disable WS if TS is missing! I know it sounds ridiculous (because it is), but this is how actual TCP is governed. More here.

                I don’t see why Bitcoin protocol rules can’t be governed similarly. In fact, I think it already is: difficulty (and resulting inability) of hard fork is exactly difficulty of flag day. Internet last rebooted to TCP in 1983 and will not reboot, ever. I don’t know whether the last reboot of Bitcoin is in the past or in the future, but even if it is in the future it can’t be far away.

                1. 1

                  Hmm, I don’t agree with you. IETF sets the standard and anyone can diverge from it. However, if someone comes along and says, “my computer can’t to your computer” people are left with some choices:

                  1. fix the problem if it’s not behaving according to the standard
                  2. work around in the client or the server

                  The option that is chosen usually depends on how big the problem is, what could be done to mitigate it, among other things.

                  TS isn’t useless. I’m not sure you got that idea from. If you’re referring to the article, then it fails to mention that by the time SACK was deployed, TS had been there for a while. TS also provides another source of RTT estimation.

                  You also mention internet reboots which I don’t know what it means. Are you saying the internet is stuck with TCP ? If that’s the case, I think you should look into alternative protocols such as QUIC.

                  Yes, it’s true that bitcoin forks are a fiasco. Almost all of them track BTC anyway. How’s that for a fork? Anyway, I think the comparison with IETF can be misleading.

                  1. 1

                    Internet switched from NCP to TCP/IP in 1983 flag day. It will not happen again, instead there will be things like IPv6 transition mechanisms going forward. Similarly, I think Bitcoin is nearly unable to hard fork now, but will continue to change by soft forks, compatibility hacks and extension mechanisms.

                    1. 1

                      No, flag days are not going to happen, that’s true. I don’t see how this relates to bitcoin. Anyone can come up with a new crypto currency, issue an ICO and it’s up and running without any regards for compatibility with BTC.

                1. 6

                  It’s nice to see that this vulnerability is fully mitigated in HardenedBSD with:

                  1. PaX ASLR
                  2. PaX NOEXEC
                  3. PIE
                  4. RELRO + BIND_NOW
                  1. 4

                    Asking as someone does not actively following FreeBSD anymore: why doesn’t FreeBSD have ASLR or use these changes from HardenedBSD?

                    1. 2

                      That’s a tough question, but I think it boils down to different priorities of FreeBSD developers and clashing personalities. I’m @lattera can speak about that.

                      1. 2

                        You’ll need to ask FreeBSD that question. I cannot and do not speak on their behalf.

                    1. 2

                      I like jrnl I never get to actually use it continuously…

                      1. 4

                        I wrote a cron job that uses espeak and notify-send to tell me “Please make a log entry” every half hour. I was going to put it in the article, but people always give me funny looks about it so I left that part out ;-)

                        Maybe I will make a part II to this article.

                        1. 1

                          That probably helps in the beginning but it seems like it would be very annoying and it would break concentration efforts.

                        2. 1

                          I’ve solved this with a physical journal. I find it’s harder to forget when it’s in front of me. Downsides, my handwriting could be better, so it’s not the easiest thing to review. Plus it’s organised chronologically, rather than by task.

                        1. 1

                          I’m not sure what this brings to Emacs and what’s the expected result of the experiment.

                          1. 3

                            I think this person just missed out on a huge bug bounty.

                            1. 5

                              I don’t believe Apple has a public bug bounty program.

                              1. 3

                                maybe this will teach them haha.

                                1. 6

                                  They got $45.4 billion worth of justification to keep doing what they’re doing as of last quarter. ;)

                                2. 1

                                  https://techcrunch.com/2016/08/04/apple-announces-long-awaited-bug-bounty-program/

                                  I guess it’s not what you mean by “public” though.

                              1. 6

                                Great patching and write up.

                                Trying to save as much space as possible reminded me of my high school years. I was involved in the crack scene and tried to build the smallest crack template possible. I ended up putting assembly instructions in headers and jumping between them to save a few bytes more. I even managed to include the group’s logo. There’s also an article about producing the smallest possible ELF binary.

                                1. 2

                                  What’s the “crack scene”?

                                  1. 4

                                    A part of / spin-off from the broad warez scene. The demoscene is also related.

                                1. 1

                                  Hmm! Recently my FreeBSD 12-CURRENT machines started reacting oddly to Print Screen… a total freeze for 30 seconds if not a minute. Could that be related? FBSD doesn’t have Magic SysRq as far as I know.

                                  1. 1

                                    That seems like a different problem.

                                  1. 20

                                    The strangest thing about this whole story is finding an Emacs user who hasn’t rebound caps lock to ctrl.

                                    1. 7

                                      (author of the post here) I have tried caps as a ctrl, but I don’t like it, I think it’s almost as much of an emacs pinky trigger as ctrl on the outside! with my scheme I have a ctrl either side of the space bar, where I can key them easily with alternating thumbs, which works well for me.

                                      On this particular laptop, I think I am going to end up making caps lock another modifier (probably hyper) to use as a prefix command key. I usually have that as Ins, but that’s another key that’s disappeared on this generation.

                                      1. 2

                                        Well to be fair I have ctrl on the thumbs too on my primary keyboard, (https://atreus.technomancy.us/i/layout.svg) but I could never make it stick on hilariously-oversized-spacebar keyboards.

                                        1. 3

                                          Your keyboard is awesome, and makes more ergonomic and practical sense, but my thing is all about working on a laptop, portably. I don’t like to use external peripherals, so I try and find the best compromise with whatever is built in. Pretty ridiculous, I know, but I kind of enjoy the constraints.

                                          1. 1

                                            Thanks! I typically use it with my laptop (sitting on top of the laptop with the internal keyboard disabled) but it’s definitely not for everyone.

                                      2. 1

                                        Caps Lock can be used for other things like switching between keyboard maps, for example: Romaji and Hiragana, QWERTY and DVORAK, etc.

                                        1. 1

                                          Not really. I tried it for a while, but never found the convenience worth the hassle of setting it up.

                                          And then it’s just one more thing making it look like I can’t type when I use a new computer.

                                        1. 4

                                          Did they really have to write down all the “uh”s ? It makes the text unreadable.

                                          1. 1

                                            Thank you for the criticism. It appears my brain works like this.

                                          1. 2

                                            Been enjoying playing this on my iPad. Thanks for posting the write-up!

                                            1. 2

                                              I found the iPad interface pretty annoying, to be honest.

                                              1. 1

                                                Totally agree. However for me gaming is about 99.999% opportunity and convenience. I do not have an SNES or whatever, and I do not game much from my computer. On the very rare occasions when I do, my choice isn’t going to be to run an SNES emulator to play Chrono-trigger, so awful controls and all I’m still enjoying experiencing the game for the first time on my iPad :) Just like Grim Fandango and a host of others.

                                                1. 1

                                                  Chrono Trigger on the Nintendo DS? 😀

                                            1. 15

                                              I wish all trolls were like xQuasar.

                                              1. 20

                                                I didn’t know what this comment was referring to so for those who are also confused: https://gist.github.com/quchen/5280339

                                                1. 9

                                                  Daw. :3

                                                  There’s truth behind the saying “Don’t feed the trolls”.

                                                  Kill them with kindness.

                                                  1. 7

                                                    We are cooperating with you, you’re just not aware that your goal is learning Haskell

                                                    Perfect.

                                                1. 5

                                                  How are other kernels managed?

                                                  Doesn’t never “breaking compatibility” result in accumulating “technical debt”?

                                                  What would it take for user space stuff to adapt to changes in a kernel’s API?

                                                  1. 9

                                                    Other OS’s have ABI versioning and the userspace matches that.

                                                    1. 9

                                                      FreeBSD is allowed to break ABI in a new major release. Compatibility layers are provided for old binaries (down to 4.x!) and they work… when reasonable — right now in -CURRENT every <=11.x binary that touches stat and dirent is kinda screwed thanks to 64-bit inodes.

                                                      OpenBSD, IIRC, doesn’t have any compatibility layers or even minor releases. New release — new ABI, recompile your crap.

                                                      1. 2

                                                        That’s sad. I really like the backwards compatibility that FreeBSD and NetBSD provide.

                                                        1. 7

                                                          What is sad about getting a new set of binaries every 6 months?

                                                          1. 6

                                                            Christos (from NetBSD) was really into binary compatibility (among other things) and he used Franz Lisp compiled for NetBSD 0.9 in 1994 (http://www.aiai.ed.ac.uk/~jeff/franz-for-386.html) to test NetBSD’s binary compatibility over the years. Last time I saw him reporting success was around NetBSD 4.0. If he continued this work, Franz Lisp is likely still running, unchanged, 20 years later.

                                                            I think that’s something to be proud of.

                                                            1. 4

                                                              Having to manually adjust hard-coded information about syscalls in languages like Go every 6 months or risk your programs failing at run-time

                                                              1. 3

                                                                syscalls will usually be given at least 2 releases cycles (12 months) to phase out.

                                                                But such problems do happen sometimes, indeed. However, if there’s a process in place to deal with such changes on a regular basis, they can be dealt with more easily than if they only happen once in a decade, making everyone forget how to best transition to a new ABI.

                                                        2. 8

                                                          On Darwin (macOS/iOS/…), the syscall boundary isn’t considered ABI. Rather there’s a libsystem_kernel.dylib that provides the userspace system call stubs and the functions exported there define the ABI. This allows lockstep kernel/user changes and userspace can use symbol versioning or other tricks to keep old software working.

                                                          1. 3

                                                            Windows does this too, though it’s just one of the numerous schemes (of varying insanity) to avoid breaking userland.

                                                          2. 5

                                                            I don’t know about kernels, but

                                                            Doesn’t never “breaking compatibility” result in accumulating “technical debt”?
                                                            

                                                            isn’t true in a wider scope, you can just mark a method as deprecated and add a new method instead that does what you want. Then there’s some deprecation policy that’ll let you remove the old code eventually. You have to tolerate the debt for the period of the policy.

                                                            I think we as developers really hate that once we create an API we’re locked into it. It really annoys us, but when you write an API, you’ve made a contract and you’ve got to deal.

                                                            This is why I avoid working on APIs ;)

                                                            1. 7

                                                              Or you can add longer and longer calls to sleep() below the deprecation message: https://twitter.com/johnregehr/status/920691341738123264

                                                            2. 4

                                                              Doesn’t never “breaking compatibility” result in accumulating “technical debt”?

                                                              Yes, it does. There are numerous system calls (i.e. mmap2 or statx) which should be used instead of older system calls but remain “optional.” It’s not as much of a problem as one might think, however. A lot of new functionality is instead implemented as a file (although /proc is fairly crufty itself) or as an ioctl.

                                                            1. 32

                                                              His stance is laid out more clearly later in the thread.

                                                              People should basically always feel like they can update their kernel and simply not have to worry about it.

                                                              I refuse to introduce “you can only update the kernel if you also update that other program” kind of limitations. If the kernel used to work for you, the rule is that it continues to work for you.

                                                              And I seriously will refuse to take code from people who do not understand and honor this very simple rule.

                                                              1. 23

                                                                Also relevant is John Johansen’s response.

                                                                1. 29

                                                                  What a difference between his first post and this one. In the first one he comes off like a colossally toxic asshat. I know this is no surprise to anyway, but still. That kind of behavior is not OK. Period.

                                                                  This post on the other hand is clear headed and explanatory. It lays out the rules and why it’s important to follow them.

                                                                  Maybe Linus just needs a 1h send buffer? :)

                                                                  1. 2

                                                                    “That behavior is not OK” is equivalent to “I am offended”, for this case.

                                                                    For all types of behavior, you can always find someone that thinks it is not OK. Should it matter? It would be severly limiting for everyone on a place like the Internet.

                                                                    1. 19

                                                                      It’s not “I am offended”, but rather probably 95% of people would be offended if they would hear something like this headed their way. Linus probably forgot how it’s like to hear this level of toxic communication because nobody speaks with him like that. I know his “ideology” behind his behavior (he talked about this several times), but honestly saying such “sh**” to people is low, and most people are above that, that’s why he stands out.

                                                                      1. 3

                                                                        Personally this power relationship is why I’m against BDFLs once a project reaches a certain size.

                                                                        1. 1

                                                                          I agree in principle. In practice I have to wonder - what are the alternatives? Design by committee has some well known flaws :)

                                                                        2. -1

                                                                          Do you even know what toxic means ?

                                                                          1. 8

                                                                            Toxic means that it is in some way damaging to a relationship between two individuals, groups, etc. In this case it is indeed toxic because it seeks to gain in some goal at the cost of the relationship with the submitters. Toxic isn’t strictly bad, sometimes a goal is so important that you need to break the relationship, however you should always choose the least toxic strategy that will ensure success. After all who knows when you’re going to need those people’s help in the future.

                                                                            In summary, dark_grimoire seems to have a correct understanding of toxic, and mytrile does not which I assume is why they are being downvoted.

                                                                        3. 22

                                                                          It would be severly limiting

                                                                          It’s already limiting though – many people silently stop contributing when they receive messages like this or never consider contributing in the first place. This means the negative impact is hidden. Since it’s hidden, it becomes much easier to defend the status quo when an alternative might result in a better kernel.

                                                                          1. 6

                                                                            By the same logic, the positive impact is also hidden. Because it is conceivable that without these messages, the kernel might have imploded upon itself, and the prevention of said implosion is doubtlessly positive.

                                                                            If you are going to argue with hidden stuff then it goes both ways.

                                                                            1. 10

                                                                              Do you really believe that it’s not possible to enforce rules and maintain high standards without calling people idiots, their contributions garbage, and so on?

                                                                              I can certainly believe the parent comment, as it’s something I hear regularly, from people who decide not to get involved in projects/make further contributions/pursue opportunities at companies/etc because of things like this. FWIW, one of my friends can be found in the kernel CREDITS, and decided to walk away because of the LKML.

                                                                              1. 6

                                                                                it is conceivable that without these messages, the kernel might have imploded upon itself

                                                                                As a counterpoint, I’ve worked on a project that has a similar code size, customer reach, and zero-tolerance stance on security and stability bugs as the Linux kernel: Chromium. Chromium does not have anywhere near the level of abusive discourse on its mailing list as the LKML, and it has not imploded on itself as you have suggested. So the burden of proof is on the abusive language to show it is needed and not the other way around.

                                                                            2. 7

                                                                              I disagree. I am not offended by his behavior, I find it to be unacceptable by virtue of the fact that I feel human beings should treat each other with a modicum of respect. Linus’s communications very often do not meet that standard. Hence from my book they do not represent an acceptable way to treat people, especially people volunteering to donate time to an open source project.

                                                                            3. -5

                                                                              Who are you to say what’s OK?

                                                                              1. 16

                                                                                He can certainly say what’s OK and NOT OK in his opinion.

                                                                          1. 0

                                                                            A pretty insightful article. I haven’t yet read Chrono Cross. I too have become a little tired of the JRPG repetition and sometimes I give up after a few hours.