1. 1

    Is there a graph showing how well it holds up?

    1. 1

      No, but I can tell you right now it doesn’t.

      1. 1

        Not the specifics, but the over-arching ideas pretty much hold up I’d say.

        • Open Systems: Sure Oracle hasn’t died yet, but even MS is even getting on the Open bandwagon to some degree.
        • Software Distribution Channels: well OK the Internet ate the CDROM up, but retail software in a store is 99% dead, he called that.
        • Kernel/base source code explosion: Drivers def. take up way too much room in the kernel :)
        • Multiprocessor: def. true
        • Networking: well OK 3 directions, Internet/WAN, Wireless(LAN) and high-speed LAN(fiber and friends)
        • Java: pretty much true, minus the systems programming part.
        • Nomadic devices: smartphones totally made this true.
        1. 1

          I was mainly referring to the title claim of “2^(Year-1984) Million Instructions per Second” because OP was asking for a graph.

    1. 1

      Have there been any updates? This paper is 5 years old.

      1. 3

        Looks like still not really cleared up. Here’s a news article from 2017.

      1. 1

        Is there any way to zoom out? The text is too large to read comfortably.

        1. 17

          The vcs tag seems wrong. Git works fine without GitHub. This is more a business story.

          1. 1

            Why is there a fork icon next to your username?

            1. 3

              Maybe it’s a comment on the merged discussion submission?

              1. 1

                looks like it

          1. 1

            rw does not support copying sparse files, a feature found on some operating systems.

            Can’t you seek to the end of the input file and then truncate the output to that length?

            rw is not yet able to determine the size of block devices on Illumos, Minix, NetBSD, and OpenBSD.

            Same question here: does lseek(fd, 0, SEEK_END) not work?

            1. 3

              Continuing tinkering on my filesystem driver. It’s looking more and more like I’m going to have to copy generic_file_read/write_iter and mpage_read/writepages wholesale and modify them to correctly deal with file data not being block-aligned. I’m not looking forward to this, as it means keeping track of changes to these functions upstream and porting them back over.

              1. 4

                How does one do P2P on a web browser? Do you open WebRTC connections with other Peertube users?

                1. 8

                  P2P in the browser is done via WebTorrent, which uses WebRTC connections as transport channels to other browsers watching the video. It then uses the BitTorrent protocol for the actual data transfer.

                  1. 4

                    They mention the use of WebRTC on their FAQ: https://joinpeertube.org/en/faq/

                    1. 1

                      What question is it under?

                      1. 1

                        “Why broadcast PeerTube videos through peer-to-peer?”

                        Peer-to-peer broadcasting allows, thanks to the WebRTC protocol, that Internet users who watch the same video at the same time exchange bits of files, which relieves the server.

                  1. 9

                    This is becoming an increasingly severe problem in HPC. To the point where software needs to be written in an explicit fault-tolerant fashion, since errors like these or even hardware failures will happen on nearly every exaflop run. Even petaflop machines that are typical today need to have special handling for hardware failures to avoid crashing constantly.

                    1. 2

                      Would you mind elaborating on the techniques used when attempting to be fault taulerant of bit flips?

                      1. 4

                        One place to start is actually Tandem Computers which were built for fault tolerance, basically by running two computers.

                        NASA’s guidance system, among other things, has 3 or 4 computers which all compute the same thing then check with each other if they agree.

                        For systems that require not running the same thing a whole bunch, one can let a checksum of the data flow end-to-end, checking it at various places.

                        I’m sure other solutions exist, but as a non-expert, those are the ones I’ve come across.

                        1. 1

                          What happens when you get an error? i.e. say computer 4 gets hit by a cosmic ray which flips a bit; what’s the procedure for bringing all computer back into agreement?

                          1. 1

                            If you have multiple computers you can do a quorum. Otherwise, information is lost and it’s up to the situation what you do. You can either fail an tell the user or if there is a backup policy, execute that.

                        2. 3

                          I’m not terribly familiar with this field, but this report should get you started: http://www.netlib.org/lapack/lawnspdf/lawn289.pdf

                          1. 2

                            Oh nice! I didn’t have that. Thanks.

                          2. 3

                            I second apy’s recommendation of Tandem Computers. I’ll go further with two specific works. The first is by Jim Gray showing how Tandem looked at things systematically to figure out how to eliminate as many error classes as possible. They ended up achieving a five 9’s system. The second is from a competitor, Stratus, covering both hardware and programming techniques for robust systems, including Tandem NonStop.

                            Why Do Computers Stop and What Can Be Done About It?

                            Paranoid Programming: Techniques for Constructing Robust Software

                            Note: First is an old PDF. Second one is a PostScript file from Archive.org since the PDF link is dead with no archive copy.

                            1. 2

                              Thanks for the links! Looks like a there is a bunch of goodies in there…

                        1. 8

                          I am sort of wondering whether it wouldn’t be possible to just ship a 32 bit x86 executable instead of amd64, then the 32 bit tricks could potentially be pulled. Since it doesn’t seem to need any libraries it wouldn’t incur any additional dependencies I think.

                          1. 3

                            I didn’t think of trying that…

                            1. 1

                              I thought he was using 32-bit already? On my system, __NR_pause is defined to be 29 (his number) in asm/unistd_32.h, and 34 in asm/unistd_64.h. He’s also using eax over rax… Perhaps using int 80h and not syscall uses the 32-bit abi?

                              1. 2

                                int 0x80 is definitely the 32 bit Linux system call entry point.

                                1. 1

                                  To be honest, my knowledge of assembler is minimal and even that is 20 years out of date…

                              1. 2

                                Macros: The Gathering

                                1. 1

                                  Tabs: I know how tabs work, but all the typing feels clunky. That’s why I never extensively used them. Instead, I mostly use multiple terminal tabs or an IDE with Vim bindings for bigger projects.

                                  Navigating them gets much easier when you bind some keys. I use

                                  nnoremap <A-Right> :tabnext<CR>
                                  nnoremap <A-Left> :tabprevious<CR>
                                  

                                  but you might like something which keeps your fingers on the home row.

                                  1. 1

                                    Why do you have a AUTHORS() macro? Isn’t that why version control is for?

                                    1. 2

                                      Yep, version control can provide that, but I didn’t want to rely on it being present. I think from a developer standpoint, it’s convenient to know then and there who wrote a particular test (compared to perusing a changelog to find who wrote it). I used this at work and that was my experience, at least.

                                    1. 6

                                      Using uMatrix, none of the child iframes loaded for me ;)

                                      1. 3

                                        For you

                                        What did he mean by this?

                                        1. 8

                                          It’s purely cosmetic. the code is left unchanged.

                                          1. 3

                                            It’s not very readable for someone who isn’t used to those symbols.

                                            1. 2

                                              I meant that this probably makes code harder to read for anyone standing behind you.

                                            1. 24

                                              The title is a little misleading. The author is not against adblocking in the abstract, but is against Adblock Plus, a specific adblocker.

                                              1. 2

                                                I think that was done on purpose, because the title wouldn’t have made sense otherwise. For me personally it is click-baity but definitely more tolerable and enjoyable than the standard clickbait titles one sees on the internet.

                                                1. -2

                                                  The title capitalizes Adblock, which makes it pretty clear that it’s talking about a specific product.

                                                  1. 21

                                                    It wasn’t clear to me. All the other words in the title are capitalized, and “adblock” without qualification usually refers to all extensions which block ads.

                                                    1. 13

                                                      The title capitalizes all of the words. It’s in title case.

                                                      1. 10

                                                        That’s The Most Annoying Thing When Reading American Websites Online

                                                        1. 0

                                                          Americans are the only people on the planet who don’t adhere to your capitalization rules?

                                                          1. 0

                                                            As far as I know, yes. British, French, Spanish and Portuguese-language sites don’t capitalize everything and it’s such smooth sailing.

                                                  1. 5

                                                    Still waiting for color on IPv6

                                                    1. 2

                                                      Is there any way to keep up with this blog? I find his work very interesting, but there doesn’t seem to be any way to subscribe using an rss/atom reader.

                                                      1. 5

                                                        Eh, the blog has RSS Autodiscovery metadata. Any feed reader implementing RSS Autodiscovery (most of them, IIRC) should work, just give the URL of the blog.

                                                        1. 1

                                                          Cool, I wasn’t aware of that feature.

                                                        2. 3

                                                          http://sam.zeloof.xyz/feed/

                                                          I find that many blogs still have a feed but it takes some digging to find it because it’s not linked anywhere on the pages.

                                                          Also, I use NewsBlur for my RSS subscriptions and it seems to be pretty good at finding the feed when given the URL of the blog itself.

                                                          1. 1

                                                            Thanks. I didn’t find anything when searching the site for “rss” and “atom.”

                                                        1. 21

                                                          I detest paying for software except when it occupies certain specialized cases or represents something more akin to work of art, such as the video game Portal.

                                                          I detest this attitude. He probably also uses an ad blocker and complains about how companies sell his personal information. You can’t be an open source advocate if you detest supporting the engineers that build open source software.

                                                          But only when it’s on sale.

                                                          I’m literally disgusted.

                                                          1. 8

                                                            It’s reasonable to disagree with the quote about paying for software. But how on earth does this defense of the advertising industry come in?

                                                            Certainly it’s possible to be an open source advocate and use an ad blocker and oppose the selling of personal information.

                                                            1. 2

                                                              Certainly. Actually, I would describe myself in that way. But you can’t believe that, and also believe you’re entitled to free-as-in-beer software. Especially high quality “just works” software the author describes. It’s a contradiction.

                                                              Alternative revenue streams like advertising exist to power products people won’t pay for. I don’t know many software engineers that want to put advertising in their products, rather they have to in order to avoid losing money. That’s why I happily pay for quality software like Dash and Working Copy, and donate to open source projects.

                                                              1. 1

                                                                But you can’t believe that, and also believe you’re entitled to free-as-in-beer software.

                                                                I don’t get that sort of vibe from this article. He doesn’t seem to be entitled at all.

                                                            2. 4

                                                              “free as in free beer”!

                                                              1. 1

                                                                I can’t afford to have a different attitude.

                                                              1. 2

                                                                What exactly are these guys providing? It seems like they are providing a platform and some utility blocks–but how does that reduce the price down to $100?

                                                                1. 5

                                                                  The second version aims to service a 16 multi-block chip. [..] A 350umx350um block can be splitted in four, bringing down the price to 100 dollars per a 170umx170um block. [..] we foresee a crowdfunding campaign for the first oshpark-like chip in 2019.

                                                                  Sounds like they basically want to panalize silicon, the difference being that you get an IC with other people’s designs on it (possibly fused off?) So you all share the cost of what it costs to make the complete chip and are able to get a bit more scale out of it.

                                                                  1. 2

                                                                    Yea, looks like a half-way step between FPGA and full-wafer custom ASIC. You get utility stuff and interconnect standardised, but instead of a grid of LUTs, you get some fixed-size areas of full-custom silicon. Seems like an interesting idea.

                                                                1. 8

                                                                  For me, as a browser security engineer, it’s striking that security is only mentioned once, and it’s about the server-side not the client. Rust shows its benefits just in the amount of time not wasted debugging C++’s various forms of unsafety.

                                                                  I wonder if this is quantifiable, conventional wisdom is that Rust can be relatively difficult to learn, compared to other languages, but if you can demonstrate that you save the time on debugging and not dealing with security issues, that’d be a powerful argument.

                                                                  1. 9

                                                                    It’s a whitepaper, so it isn’t intended to highlight the whole gamut. I’m giving a talk on security aspects of Rust next week though, which will be taped, I may ping you if the recording is up and I remember.

                                                                    conventional wisdom is that Rust can be relatively difficult to learn

                                                                    Depends on what your baseline and your goal is. It’s a language built for a medium pace, resulting in stable software.

                                                                    I teach Rust professional and at a learners group. The general takeway from it is that strict enforcement of single ownership is something people really have to get used, although it’s often a line of thinking in general programming, too. I don’t find Rust hard, but it took some time for the community go get used to. It isn’t Go, which is completely built around being easy to pick up. For example, a lot of early Rust 1.0 code had a lot of emphasis on borrowing, now, three years in, people move away towards ownership everywhere and things get a lot easier. There’s now a lot of code to look at which can be considered idiomatic. We have a lot of people around who are competent with the language and can steer people the right way. People became so hyper-focused on having to understand lifetimes, now, I give a 30 minutes lecture in my courses how you are often semantically and computationally better of with avoiding them. That makes the whole language much easier.

                                                                    Sooo, the whole thing became kind of a meme and its foundation are questionable. People learn hard languages all the time, especially in a space where C++ is dominant.

                                                                    1. 2

                                                                      Do you have a link handy for your lecture about how it’s better to avoid lifetimes? I’m interested to know since the borrow checker is one of Rust’s most famous capabilities.

                                                                      1. 2

                                                                        Id be interested in that, too, given I looked at it when people were talking about borrowing and lifetimes a lot.

                                                                    2. 3

                                                                      They’re doing game development, which means most of the time security is their last priority.

                                                                      1. 2

                                                                        Well, crashes often were how consoles got rooted in the end. The game developers might not care, though perhaps the companies making the consoles do.

                                                                        1. 14

                                                                          In that case, we should encourage them all to use C/C++ to ensure eventual freedom of our devices. Good news is they all switched to the very CPU’s that have the most attacks and experienced attackers. Probably not going to be necessary. ;)

                                                                          1. 3

                                                                            Yeah, I for one hope that we continue to write games in unsafe languages so that consoles can be rooted with Long Horse Names

                                                                      2. 2

                                                                        “ but if you can demonstrate that you save the time on debugging and not dealing with security issues, that’d be a powerful argument.”

                                                                        That’s the exact argument used by the quality- or correctness-improving methodologies I often mention like Cleanroom. The older ones like Fagan Inspection Process said same thing. The reason is that problems are easier and cheaper to prevent or fix earlier in the lifecycle in most cases. They can actually be several times cheaper to prevent than fix. There’s usually an upfront cost that comes with it but the savings in debugging or maintenance often wiped it out in industry usage. Not always, though, where the quality did cost something extra by end of project. That came with other benefits, though, making it an investment with ROI rather than just a pure cost.

                                                                        So, there’s a lot of evidence to support your argument.