NetBSD 8.0 released - <AUTHOR> https://www.netbsd.org/releases/formal-8/NetBSD-8.0.html <comment><USER3> Am I the only one feeling a little bit disappointed with some of the software versions listed there?

I don't use NetBSD, so perhaps I'm not in "the loop", and please forgive me if so, but;

\- GCC 5.5 is only one major version higher than the oldest supported version; 6 or 7 would have been a better choice while you're banging out a whole new operating system release, 6 is still fully supported, 8 was released early this year. I understand newer compilers can sometimes introduce regressions in the build process for something as large as an entire operating system, but surely they could have tested it and gotten those bugs fixed if any?

\- Similarly for Clang/LLVM 3.8.1 (Really? The oldest version of Clang that you can get on a modern Linux distro? Really?).

\- OpenSSL 1.0.2 is only supported for another 17 months, 1.0.2k (the version they're shipping) is 3 versions older than the current 1.0.2o, and 1.0.2p is going to be released any day now. There are at least 4 CVEs patched between 1.0.2k and 1.0.2o; I hope they're applying those patches on top of 1.0.2k manually.

<comment><USER4> NetBSD 8.0 took longer to release than intended.

The comparison to "oldest clang/gcc you can get in a linux distro" is not right, you can get a lot of different versions as packages. this refers to the base compiler which is used to build everything. GCC 8.1 is available as a package for example.

As for the base GCC versions, NetBSD is a little conservative when updating, but keep in mind that it's doing this on a lot of architectures and problems arise. a complete transition to GCC 5.x was held back somewhat by a tricky mipseb-softfloat bug, GCC 6.x (in -current) was held back by a VAX ICE. Newer GCC kills ARMv4-nonthumb support.

If that is OpenSSL 1.0.2k it probably should be updated, yeah.

<comment><USER5> Some of those architectures really need to be allowed to die. VAX was discontinued in 2000 and was on life support since 1992 when it was superseded by the Alpha.

If it were free it wouldn't matter, but as you say its held up progress on architectures people actually use.

<comment><USER4> The way netbsd does GCC updates gives a really wide margin for figuring out compiler issues:

\- Copy existing compiler into gcc.old

\- Add new compiler as "gcc"

\- Switch architectures one by one

If one architecture is left behind it's not a big pressing issue, you have until the next GCC update. They're done once 2-3 years hopefully so the GCC VAX issue taking 6 months to resolve wasn't close to being a problem.

As for removing architecture support, as long as it builds without extreme intervention, the non-VAX crowd is going to leave it alone. The VAX code is mostly separate in its own directory so doesn't get in the way.

The people who care about VAX within NetBSD are very knowledgeable and it would be a shame to alienate them without a good reason. They've contributed a lot of non-VAX stuff too.

</comment></comment></comment></comment><comment><USER6>
        > USB stack rework, USB3 support added.

I didn't realize NetBSD was that far behind on some basic features like USB support.

"The Linux kernel mainline contains support for USB 3.0 since version 2.6.31, which was released in September 2009"[1]. "FreeBSD supports USB 3.0 since version 8.2, which was released in February 2011.".

So they're getting USB 3.0 almost 10 years after it was released for Linux.

1\. [https://en.wikipedia.org/wiki/USB_3.0](https://en.wikipedia.org/wiki/USB_3.0)

<comment><USER7> Playing armchair software architect here, I wish NetBSD and FreeBSD would join forces. The NetBSD developers could bring their portable architecture to FreeBSD's more featureful kernel and userland. What other value does NetBSD have over FreeBSD besides portability?

IIUC, macOS uses NetBSD's userland though it has FreeBSD bits in its XNU kernel, so there must be benefits to NetBSD beyond its portability that I am just not aware of. :)

<comment><USER8> The BSD organizations of today are more about researchers making an operating system for OS research as a field and less hacker idealists trying to bring a free OS to the people. Nearly all of the latter people go to Linux these days.

<comment><USER9> If researchers are working on NetBSD, wouldn't it be receiving more novel improvements? Everything in this changelog looks like stuff other OS's have done before. How is that research?

<comment><USER10> NetBSD rump kernels come to mind, they've been around for a few years

</comment></comment></comment></comment></comment><comment><USER11> This release of NetBSD disables eagerfpu on vulnerable FPU's.

Often overlooked while discussing performance impact of context switching; context switching also applies to the FPU. There are two modes in which the OS performs FPU context switching: lazy and eager.

"lazy" FPU context switching leaves the previous context on the FPU until a different context gives it a set of instructions. This saves an unload on the FPU, since not all time splices require the FPU, you may see some performance gains under some application workloads.

"Eager" FPU context switching unloads FPU context whenever a time splice is finished. On a new time splice, the FPU context is reloaded. While this constant reloading of context sounds more expensive, it is optimized in hardware and almost never noticeable on modern architectures.

By default eager FPU is enabled in Linux. You can test its' impact by passing the eagerfpu=on or eagerfpu=off boot flags (Linux).

Kudos to the NetBSD team for enabling/disabling eager FPU based on FPU model instead. This approach makes more sense to me.

<comment><USER12> >This release of NetBSD disables eagerfpu.

Actually this release enables eagerfpu on all Intel CPUs, because of CVE-2018-3665 (lazyfpu side channel attack).

<comment><USER13> This is correct, thanks for fighting the disinformation!

</comment></comment></comment><comment><USER14> NetBSD was my first BSD and OS development experience in my teens. I'm fairly entrenched in the FreeBSD camp for commercial reasons now after a very long run as a Linux user, but there is some nice security stuff in here and happy to see NetBSD chugging along! Congrats!

</comment><comment><USER15> What are the distinguishing features of NetBSD in comparison to OpenBSD and FreeBSD?

From the respective home pages, FreeBSD targets high performance, OpenBSD security, but it is not so clear to me what is the focus of NetBSD.

<comment><USER16> NetBSD supports many platforms: [https://www.netbsd.org/ports/](https://www.netbsd.org/ports/)

<comment><USER17> I always thought it was peculiar that the "net" one was not the security focused one.

<comment><USER18> From the NetBSD About page[0][1]:

> Why the name?

> The "BSD" in our name is an obvious recognition of our heritage as a > derivative of 4.4BSD and 386BSD.

> Our contributors communicate primarily via email and Internet-based chat > systems; many of us have never met each other in person. We also use a > remote source code management system called CVS which enables a large number > of developers to do independent work on the same source tree easily. We > believe that the Internet was an enabling technology that made NetBSD > possible. The "Net" in our name was thus chosen as a tribute to the > Internet.

Also, just as an aside, NetBSD was released in 1993, long before network security had anywhere near the attention it has today.

[0] [https://www.netbsd.org/about/](https://www.netbsd.org/about/)

[1] [https://www.netbsd.org/about/#content_name](https://www.netbsd.org/about/#content_name)

<comment><USER19> wow this must be a good few years old

describing remote software development as if it was novelty

<comment><USER20> First release of NetBSD was in 1993. It was more novel back then.

</comment></comment></comment></comment></comment></comment><comment><USER21> Does anyone here on HN have experience running NetBSD as their desktop OS?

<comment><USER22> I'm typing this on a desktop running NetBSD.

<comment><USER23> Can you elaborate a bit? What kind of DE?

Openbsd user here:-)

<comment><USER22> What do you count as a DE ?

Right now I'm running mwm, emacs, Firefox, NetBeans, a couple of PDF viewers and lots of xterms.

<comment><USER24> So, you also have a functioning OpenJDK 8 or so to run NetBeans?

I assume this means an x86 machine, correct?

<comment><USER22> Yes this is on NetBSD/amd64, with a native OpenJDK 8.

OpenJDK 8 will build for arm as well but it doesn't have a JIT.

</comment></comment></comment></comment></comment></comment><comment><USER25> Wasn't NetBSD 8 supposed to have zfs? Last time I read something about it, it sounded like it was practically finished. But the release notes do not mention it at all.

<comment><USER4> No those changes are in -current, and still a bit rough around the edges but much better.

<comment><USER25> Thank you! So, maybe next time... ;-)

</comment></comment></comment><comment><USER26> PaX support on pmax? There is only one reaction I have for that: why? (With "because we can" probably being the reason)

[Edit: landisk platform are various NAS boxes, so nothing of comparable obsolescence as pmax]

<comment><USER22> The pmax is supported by several emulators, if you want to develop PaX for MIPS then it is as good a starting point as anything else.

The EdgeRouter devices are MIPS and people are still using Loongson laptops.

<comment><USER26> I somewhat realize that availability of good pmax emulators is the reason. MIPS being far from dead platform is not that much relevant as the announcement explicitly singles out pmax and does not mention platforms like evbmips or sgimips.

</comment></comment></comment><comment><USER27> A podcast I recently heard - hosted by long-experienced Linux hands - <USER2> that installing BSD was a nightmare. Some discussion of which distros avoid that nightmare might be helpful.

<comment><USER28> I started playing with OpenBSD 6.3 as a desktop (actually laptop) OS a couple of months ago. Installation was very straightforward. In my case I used the whole disk, no dual boot.

Here's a tribute/introduction written by Derek Sivers:

[https://sivers.org/openbsd](https://sivers.org/openbsd)

As for my own experience, I don't know if I'm ready to give up Debian as my primary desktop OS, but I really like OpenBSD on my coding-or-surfing-on-the- couch laptop.

On the server side, I also use both (as VPS) for personal projects.

<comment><USER29> I've just improvised my way through a netBSD install on an old thinkpad X60 with 1Gb ram and a mechanical hard drive, whole disk, defaults mostly. Seems generally quite similar to OpenBSD (which makes sense given OpenBSD is a fork from netBSD).

$PKG_PATH is set up but commented out in the .profile for root. I'm going for a light window manager and Seamonkey and a few bits and pieces to see how the land lies.

<comment><USER29> Alas, can't install many packages, dependency errors. Example below for texlive-collection-all

         fmtutil [INFO]: Not selected formats: 29
         fmtutil [INFO]: Total formats: 29
         fmtutil [INFO]: exiting with status 0
         pkg_add: no pkg found for 'tex-pgf-[0-9]*', sorry.
         pkg_add: Can't install dependency tex-pgf-[0-9]*
         pkg_add: Can't install dependency tex-pgfplots-[0-9]*
         pkg_add: Can't install dependency tex-milog-[0-9]*
         pkg_add: Can't install dependency texlive-collection-langgerman-[0-9]*
         pkg_add: 1 package addition failed

This could just be mirror flakiness, $PKG_PATH is resolving to

         http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/8.0/All

There appears to be no native binary for LibreOffice. Investigating.

<comment><USER22> Building packages can't start until the final release build of the base Operating System has been done, things like LibreOffice depend on a lot of other things. Maybe check again in a couple of days.

<comment><USER29> Cool, will try again in a bit. Looking very interesting so far.

</comment></comment></comment></comment></comment></comment><comment><USER30> Have you used NetBSD and if yes:

1\. Why did you choose it?

2\. What are your impressions?

<comment><USER25> This may be a little rusty, but from ~2002 to ~2008, I ran my modest home server on NetBSD.

Why did I choose it? Because at the time, I was still living with my parents and needed to get Internet access working via dial-on-demand ISDN-card. The only OS I found a tutorial for how to do that was NetBSD.

What were my impressions? Compared to, say, Debian, NetBSD takes more effort on the side of the user/sysadmin. But once something was in place, it _stayed_ in place. I also liked the clear distinction between the base system and third-party software installed via pkgsrc (which ends up in /usr/pkg). These days, NetBSD has binary packages for the most mainstream architectures, so it less of a problem.

I liked the system - it was simple enough to get a realistic idea of what is going on under the hood, even for a Unix-newbie, but also powerful enough that it did not stop there. Also when a friend of mine got me a Sun SparcStation he had salvaged from his university's garbage pile, NetBSD was the only system I could get to boot on that machine.

</comment></comment><comment><USER31> Yay! I love the smell of fresh Netbsd in the morning. Seriously though, awesome news.

</comment><comment><USER32> Does anyone know what version of Python is installed by default?

</comment><comment><USER13> I remember hearing netbsd had support for using Lua to write network drivers and then never heard anything else.

Is that still a thing? I've had netbsd on my weekend to-do list for years but just have never found enough time or motivation.

What's so great about netbsd?

<comment><USER33> It's still there, you can create modules with it. there are some examples in sources

[http://netbsd.gw.com/cgi-bin/man-cgi?luactl+8+NetBSD- current](http://netbsd.gw.com/cgi-bin/man-cgi?luactl+8+NetBSD-current) [http://netbsd.gw.com/cgi-bin/man-cgi?lua+4+NetBSD- current](http://netbsd.gw.com/cgi-bin/man-cgi?lua+4+NetBSD-current)</comment></comment>


Standard Interface - <AUTHOR> http://standardinterface.org/ <comment><USER2> Initiatives like these are exactly what we hoped for when we made the Aristo UI open source together with 280North. If you're interested check out the full PSD at the github repo: <http://github.com/280north/aristo> We're working on some nice refinements/additions too.

<comment><USER3> I find it interesting that Aristo's examples are almost 100% identical to Apple's controls, albeit with less shininess (a good quality in a generic UI, I prefer cleaner). Care to comment on that? (I haven't read the Aristo psd, but cappuccino looks interesting)

And I personally _despise_ those little rotary controls. You can't control them precisely _or_ read them accurately. They're useful only for extremely coarse controls, which few programs have a use for.

<comment><USER4> The circular slider is a pretty specific user element. Maybe so specific that it doesn't belong in a general purpose framework, I don't know. But it definitely has its place. It's usually coupled with a text field for precision, but it's generally a good tool for setting an angle in a UI.

</comment></comment></comment><comment><USER5> While I totally respect 280North for what they've done for the web, and for their insanely talented engineers and designers, I can't help but think homogeny between web applications on a large scale is necessarily a good thing. At what point do you lose a sense of identity for the sake of adhering to a standard set of UI elements or some HIG document? Just my 2c.

<comment><USER6> Standard Interface is intended to make it easier to rapidly prototype and build web applications based on a good looking default style. The goal is not to create design homogeny.

The goal is to make the leap from unformatted, unstructured raw HTML to something presentable and easy to use automatic. Then you can customize it. It's very similar to the way the iPhone UI works with interface builder.

<comment><USER7> I had to read their page a second time to see that, yes, they did state it can be used as a base for custom designs.

Sounds like their intent is not clearly communicated...

</comment></comment></comment><comment><USER8> We need this for android.

</comment><comment><USER9> Doomed by a name that's hard to Google.</comment>


Rep. Rush Holt Introduces "Surveillance State Repeal Act" - <AUTHOR> http://holt.house.gov/index.php?option=com_content&task=view&id=1200&Itemid=18

<comment><USER2> It sounds too good to be true, which automatically means it will fail.

Wish I was joking about this...</comment>


The Rise of the Financial Machines - <AUTHOR> https://www.economist.com/leaders/2019/10/03/the-rise-of-the-financial-machines <comment><USER2> Where can I read without access ?</comment>


Startups, please don't hire a biz dev person - <AUTHOR> http://venturebeat.com/2016/10/02/startups-please-dont-hire-a-biz-dev-person/ <comment><USER2> This blog post demonstrates the oft-discussed problem: when is a startup no longer a startup? Uber and Airbnb are frequently referred to (in tech media as well as mainstream media) as "startups". Obviously this post isn't aimed at them, despite the expansive title. In the body of the post, the phrase "early stage startup" is used, which is of course much more limited.

It would be helpful if a litmus test were provided so that readers can figure out if they're in the target audience. After all, the author suggests that early stage startups should _never_ hire a BD person, but obviously later- stage startups _need to_ hire BD people. The reader is left scratching his/her head, wondering which side of the line he/she is on.

I was particularly interested in reading this article (based on the title) because my startup has several partnerships, and this is our primary avenue of growth. I was hoping to learn about what makes David/Goliath partnerships work (and not work) so that we could better target good partners/strategies. Hopefully there will be some good comments/examples here!</comment>


Ask HN: Is there any credible evidence for ET intelligent life? - <AUTHOR> <comment><USER2> It depends on your definition of "intelligent life", but if you're talking about a life form that we, humans could observe and interact with using our few senses then I'm afraid that the answer is "no". Anders Sandberg, Eric Drexler and Toby Ord recently published a paper that demonstrate a substantial probability that we're alone our galaxy and perhaps observable universe: [https://arxiv.org/abs/1806.02404](https://arxiv.org/abs/1806.02404)

Can you guys hear the cosmic crickets too? lol

<comment><AUTHOR> If we're really alone, does what we do / not do, have any real value? More anecdotal evidence for them could be said to exist than for God and if there are no ETs/God/higher powers, and we're just alone does any of it really matter? Isn't all morality / law just whatever elites/leaders have determined is the best way to control us / let them maintain their power? If there is no karma (bad people prosper, while the meek/good often perish) why not just go full-Machiavellian? Is the only meaning in this world the pursuit of biological urges / or money-status? If we're alone, what's the point?

By the same logic that priests having the power to channel / control the believers access to God have wielded tremendous power, the State would probably love if ETs were real, since it could then co-opt ETs into a mechanism for control. Or maybe the ETs can't be co-opted...

</comment></comment><comment><USER3> Not that I'm aware of. And maybe we will never have one, by far most of the universe is out of our reach and (detailed enough) sight. We might eventually have evidence of ET intelligent life in some point of the future, but never will have of the lack of it.

But the size and age of the universe makes the odds of us being an unique case very improbable.

</comment><comment><USER4> A better question might be, "if there was incontrovertible evidence of the existence of ET intelligent life, how would the conditions of human civilization on planet Earth be different?"

Suppose that Planet Earth is actually being visited regularly by ETs with technology vastly more advanced than our own. Our transportation technology runs on the laws of thermodynamics, while theirs would presumably be powered by the more-fundamental laws that govern "dark energy" (superseding thermodynamics, just like Einstein > Newton).

I don't have any evidence either way, but I think it's hubris to make a case that ours is the only planet with life anything like our own, and that equivalents to humanity's 1st generation space technologies (radios, rockets, etc) would still be used by more advanced civilizations.

<comment><AUTHOR> Yep, or our 1st-gen comms tech (EMF, observable radio waves, unencrypted). But if earth is 4.5 billion years old, and the universe 3x that and 200 x 10^9 other stars in Milky Way, and 100x10^9 other galaxies in universe, and in our own planet/history many traits (eyes, etc) evolved independently many times over, and there's nothing "special" about Earth chemistry ( these elements are all produced by stars, everywhere ), and nothing special about Earth in the "habitable" zone around a star, --> why would we be the only life here?

And what's that Pentagon video of some super fast object? [https://www.nytimes.com/2017/12/16/us/politics/pentagon- prog...](https://www.nytimes.com/2017/12/16/us/politics/pentagon-program-ufo- harry-reid.html)

I think if ET was real most people would still care about the same things (because consider that 2000 years ago we are warlike, violent, superstitious, gullible, flawed, selfish, kind, etc, and 2000 years later, after organized religion, industrial revolution, international travel, internet, long lifespans, mobile phones, we are still the same). Maybe 10 - 20% of the population would adopt ETs as some sort of "god" / higher power (but there are ppl who do this anyway, even now). I don't think much would change, but ppl would try holding their governments to more accountability ( why don't we have that tech, why have you kept it secret ), but like most protest movements recently, it will probably be pretty ineffective. I use to think there will be large scale civil unrest, but now I think, people really won't care.

But if there is that tech on Earth, then our military has to make it a priority to obtain it (because what if someone else also has it), so there's that consideration, which could justify keeping everything secret (what if everyone had a UFO and could fly anywhere they wanted at 20,000 km/h? probably chaos, an upending of the order ~ but maybe not. We thought individuals having access to all information, and a publishing platform, would make individuals vastly more powerful, but that hasn't really upended the order. If anything, the State has become more powerful because of the internet.)

But UFO travel would sure beat 15 hours across the pacific in an uncomfortable aluminium tube.

<comment><USER5> >But if earth is 4.5 billion years old, (...) why would we be the only life here?

As far as we know, there's no way to get around the lightspeed limit, which implies no matter how advanced a civilization gets, they would be constrained by physics and available resources - so no warp drives, no stargates, nothing but rockets and things that work like rockets, and generations of travel between the stars.

If that's the case, it any form of space travel, much less long term interstellar travel, might be an exception rather than the rule for intelligent species. We only assume that expansion out into the stars is a natural consequence of progress due to biases we have regarding biological and societal evolution, but space isn't just a bigger ocean.

We can't really extrapolate the likelihood of visitation by extraterrestrials from the historical tendency of cultures to encounter one another on our own planet. Given the vast size of the observable universe and the unremarkable nature of the Earth (from which we've only been broadcasting signals for a fraction of an instant, relatively speaking) it's not at all surprising that we wouldn't see anyone or that no one would see us, much less stop by for a visit.

<comment><AUTHOR> That's true. I've seen no evidence for FTL travel, except "circumstantial" \- if we interpret UFOs to mean they are coming here, FTL must be possible. But even then there's a get-out clause, they could be coming from Venus / Saturn / some moon in our solar system.

Although "Quantum Teleportation" could that theoretically be used to "teleport" a spacecraft FTL?

<comment><USER5> >Although "Quantum Teleportation" could that theoretically be used to "teleport" a spacecraft FTL?

Everything I've ever read about quantum teleportation says no [0..2]. Even if state changes are instantaneous, the transmission of information itself is still limited to the speed of light (and a ship counts as "information" in this case), and the process of quantum teleportation would require some classical communication channel to transmit state.

All that notwithstanding the amount of energy you would need to "entangle" an entire ship in the first place.

[0][https://www.quora.com/Is-the-any-possibility-that-Quantum- Te...](https://www.quora.com/Is-the-any-possibility-that-Quantum- Teleportation-may-eventually-enable-FTL-communication)

[1][https://medium.com/starts-with-a-bang/ask-ethan-can-we- use-q...](https://medium.com/starts-with-a-bang/ask-ethan-can-we-use-quantum- entanglement-to-communicate-faster-than-light-e0d7097c0322)

[2][http://www.askamathematician.com/2013/01/q-what-is- quantum-t...](http://www.askamathematician.com/2013/01/q-what-is-quantum- teleportation-why-cant-we-use-it-to-communicate-faster-than-light/)

</comment></comment></comment></comment></comment><comment><USER6> AFAIK the closest thing we have is the very recently released USS Nimitz incident:

[https://en.wikipedia.org/wiki/USS_Nimitz_UFO_incident](https://en.wikipedia.org/wiki/USS_Nimitz_UFO_incident)

And even this example is very very far from being enough evidence to believe extraterrestrial intelligent life has visited Earth.

</comment><comment><USER7> [https://photojournal.jpl.nasa.gov/jpeg/PIA16204.jpg](https://photojournal.jpl.nasa.gov/jpeg/PIA16204.jpg)

<comment><USER8> Just for clarification (since OP didn't give any insight to the picture he/she posted), it's a picture of the "Mars Rat"[1]. It's just a funny looking rock.

[1] [https://www.space.com/21455-mars-rat-curiosity-rover- drive.h...](https://www.space.com/21455-mars-rat-curiosity-rover-drive.html)

<comment><USER9> Yup. Extraordinary claims requires extraordinary evidences.

</comment></comment></comment><comment><USER10> i do not believe that we have any such evidence.

I'm open to the possibility that extraterrestrial life exists. I suspect that it's mostly prokaryotic — and i don't think there's any credible evidence for advanced alien civilizations or the like, to date.</comment>


Systems Past: The software innovations we actually use - <AUTHOR> http://davidad.github.io/blog/2014/03/12/the-operating-system-is-out-of-date/ <comment><USER4> > _FORTRAN's conflation of functions (an algebraic concept) and subroutines (a > programming construct) persists to this day in nearly every piece of > software, and causes no end of problems._

This is exactly what Haskell solves. Not by _eliminating_ subroutines, but by separating the two concepts out again. In particular, functions _are_ functions in the algebraic sense, and subroutines just become values in the IO type.

> _Tracing compilers scratch the surface of reversing this mistake, but so far > I know of no programming languages that are specifically designed around > such a mechanism._

I'm not sure why he thinks tracing compilers help rectify the issue. Perhaps they can claw back some performance gains from knowing a function is pure, but static compilers can do that too.

And I think it's fair to say that Haskell was basically designed around "such a mechanism"; it's a shame the author doesn't know about it.

> _ISWIM (which some programming language histories identify as the "root" of > the ML family) is based on ALGOL 60 (source), which of course is based on > FORTRAN_

While ISWIM was _influenced_ by ALGOL, it was _based_ on the λ-calculus. And the λ-calculus, of course, precedes Fortran—and, in fact, computers in general—by quite a margin! It was originally developed in the 1930s.

Many modern functional languages are just thin layers over a typed λ-calculus: Haskell's Core intermediate representation is actually _exactly_ that extended with some low-level primitives. This means that they are far closer to formal logic than they are to Fortran!

<comment><USER5> > functions are functions in the algebraic sense

This is a minor nit, but there are effects in pure Haskell functions, namely partiality and non-termination. (In other words, the sense in which "functions are functions" is actually a deep question)

There's plenty of academic discussions on how to solve this problem. See stuff like this: [http://lambda-the-ultimate.org/node/2003](http://lambda-the- ultimate.org/node/2003)

<comment><USER6> I always thought that algebraic functions are not guaranteed to be defined given certain parameters. It's just that perfectly algebraic functions don't throw errors, they silently return +-infinity. Like the asymptotes in `tan x`.

<comment><USER7> To be pedantic, tan doesn't have a value at tau/4 (or pi/2, if you swing that way). Also, algebraic functions don't return, they are - cos(0) is 1, it doesn't return 1, it doesn't compute 1, it is not a kind of computer, nor a kind of program, nor any kind of thing that consumes resources and time and returns a value; it really literally is 1.

Algebraic functions are just syntactic notation. You can sit down and convert from one notation to another, like how cos(5) is a number quite close to 0.28366218546322625, and deriving one representation from the other does take resources and time, because it's a physical process performed by a person or computer.

But sin, cos, tan, cotan, log and all their friends by themselves don't compute, they are just a different kind of notation for numbers.

Which is why I find the desire to make functions in programming like algebraic functions silly - by definition they are two completely different things. One is a specification for a process that produces binary-encoded numbers, the other is a syntactic notation for real numbers.

<comment><USER8> In a purely mathematical sense, if tan(pi/2) doesn't denote a number, what is its type as a value?

<comment><USER9> tan(pi/2) is undefined, like 1/0.

[http://math.stackexchange.com/questions/189621/is-tan- pi-2-u...](http://math.stackexchange.com/questions/189621/is-tan- pi-2-undefined-or-infinity)

</comment></comment></comment></comment></comment></comment><comment><USER10> Most of the comments in this discussion are missing the point of this article in almost its entirety. I am seeing everything from "Haskell is the most mathy of the languages and resolves an approach to algebraic concepts!" to "This article is bullshit!" ... Sad, really.

An easy way to summarize what this article is trying to convey can be derived from the title of the article: Systems Past. The next chapter would simply be: Systems Future. And this is what the author is trying to get across.

There is nothing wrong with languages or OSes. What's wrong is a seemingly pervasive attitude throughout the hacker community to never want to improve on foundational concepts. This is usually argued as: 'if it ain't broke don't fix it'.

One critique of this article I will give is: these software innovations are dependent on the hardware architectures used. And we have been using the same basic computer architecture for decades. So maybe it is not fair to assume revolutionary systems innovations should happen before we have revolutionary hardware systems to program?

<comment><USER11> I am very happy that you get the point! :-)

To address your criticism: Internetworking fundamentally required new hardware, Interactivity and Hypermedia depended on advances in display technology, and Virtualization and Transactions benefit substantially from hardware acceleration. However, the OS, the PL, and the GC were all independent of any new developments and hardware. Our display technologies are already way ahead of the computational features they should be able to support. Same goes for telecommunications. And the hardware acceleration that powers virtual memory and memory locking is versatile enough to be applied to more advanced abstractions as well (although the advanced abstractions might later benefit from more advanced acceleration).

I spent a few years at MIT trying to design revolutionary hardware systems and left with a deep respect for Intel. Much as I'd like to have a PC based on the Lisp Machine or the Connection Machine, I've come to believe it's we software folks who really aren't keeping up, rather than any kind of stagnation in the hardware world.

In fact, Intel comes out with a whole pile of new machine instructions every other year, and they probably never get invoked once on most PCs: most binaries are effectively compiled for AMD Opteron (the first x86_64 processor, released in 2003) so that they'll run seamlessly on anything since then.

</comment></comment><comment><USER12> This is an outstanding essay -- more fields need this kind of thinking. Plus it's doubly ironic having it in computation, a field that has always seemed determined to ignore history, and reinvent it.

A nano nit: Yes, GC came from Lisp, but its first mention was in AI Memo #1 (the first MIT AI Lab working paper) by Minsky. I have a copy someplace -- it was only a few pages long.

<comment><USER13> I would love to read that if you could post it.

<comment><USER14> I found a PDF (page images):

[http://www.softwarepreservation.org/projects/LISP/MIT/AIM-00...](http://www.softwarepreservation.org/projects/LISP/MIT/AIM-001.pdf)

</comment></comment></comment><comment><USER15> See David Wheeler's page, The Most Important Software Innovations <[http://www.dwheeler.com/innovation/innovation.html>](http://www.dwheeler.com/innovation/innovation.html>).

The page has been online and refined for 12 years. It lists things such as the Stack, Packet-Switching Networks, Spelling Checker, Relational Model and Algebra (SQL), and quite a few other useful and important software innovations.

<comment><USER16> [http://www.dwheeler.com/innovation/innovation.html](http://www.dwheeler.com/innovation/innovation.html)

</comment></comment><comment><USER17> Considering the idea of a programming language a fundamental innovation derived from FORTRAN disregards earlier concepts, like Gödel numbering from the year 1931, which exhibit language interpretation. I guess what I'm trying to say is that every good idea is closely related to countless others; pigeon- holing them into the Only 8 categories and naming a "first" doesn't do justice to all of the interesting ideas of computation.

</comment><comment><USER18> > Virtual memory should have been extended to network resources, but this has > not really happened.

I get that we are already operating in heterogeneous virtual memory worlds, but network transactions are _so_ slow. I can't see it being useful to have them as virtual addresses if random reads and writes to network space take literal seconds of round trip. That is so much worse than even disk, there is a reason networking is at most virtual filesystem bound and at least just its own thing above that via URIs.

It really pokes holes in Von Neumann computer models around memory when the memory has heavily disparate access times. You can have networked devices via drivers (like printers) that do have those huge round trip times, or you can have cache hits that give you single digit cycle retrieval. It is NUMA before you even get to the hardware version.

> Reject the notion that one program talking to another should have to invoke > some "input/output" API. You're the human, and you own this machine. You get > to say who talks to what when, why, and how if you please. All this software > stuff we're expected to deal with — files, sockets, function calls — was > just invented by other mortal people, like you and I, without using any > tools we don't have the equivalent of fifty thousand of. Let's do some old- > school hacking on our new-school hardware — like the original TX-0 hackers, > in assembly, from the ground up — and work towards a harmonious world where > there is something new in software systems for the first time since 1969.

So if you had a machine executing code - without an operating system - <USER2> would need to pull in functions from disk or something whenever they get invoked by another program? And have some means to deduce which function that is, via some mechanism to scan the filesystem to find it. Because you need to discretize out "programs" because each one is inherently insular in its world view. So you just execute dynamic code that invokes other dynamic code.

That sounds like a real big performance hit, though, to have an indirection on every function call to see if its property resident in memory or just fake - at least a conditional every time saying "is this function at 0x00? then it needs to be looked up!".

<comment><USER19> Virtualization and network resources have a long and glorious research history, although most, if not all, of the approaches are not currently in fashion. (And maybe there's a good reason for that?[1])

"Distributed memory" is one example. Once upon a time it was a big deal. I suppose that things like iSCSI could be regarded as an application, but that is the only use I know about that's at all recent.

"Remote procedure calls", "distributed objects" and stuff like that could be seen as "virtualization", if you like. I suspect all of the major advocates of these have either recanted or died off---at least I hope so. When I'm wearing my network-protocol-guy hat, I hate these things with the fiery passion of a thousands suns.

[1] See [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7628&rank=1), "A Note on Distributed Computing" by Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall, from Sun ca. 1994, for some early, clear, and correct reasons why making remote things look like local things doesn't work as well as you might think.

</comment></comment><comment><USER20> Haven't people been communicating information to other people as text for thousands of years? I'm not so convinced that there's a universally better mechanism for communicating with machines.

<comment><USER21> Text isn't as important as language itself, but there's the rub: no one has yet devised a better way to program computers than language. Even the so- called "visual environments" we see today ultimately boil down to recognizable linguistic concepts: they do it by arranging shapes in space rather than writing text, but you can pick out the same nouns, verbs, and other parts of speech. And that's the problem. Visual environments are trying to represent language, and they're just not as good at it as text, which is the closest thing to a native format yet devised for the stuff. Eventually the inefficiencies start to get annoying, people go for the greater efficiency of text, and the visual environment languishes.

The bottom line is that visual environments will never be as good as text for representing programming languages. Rather than trying to do language better than text, they need to find a paradigm that's better than language, and implement that. I don't have any clue what something like that would even look like; to be honest, I'm not sure it can even be done. But the greatest victories against the most hopeless-seeming odds are won by changing the whole nature of the fight, and that's what visual programming is going to have to do.

<comment><USER22> What, precisely, do you mean by language? Machine language doesn't exactly have grammar the same way that human language does, and I can't interpret a concatenative language that way either (which is much higher level). We're not going to get away from the idea of a linear sequence of bits/symbols, but beyond that almost anything goes, and indeed probably has gone.

</comment></comment></comment><comment><USER23> > Every programming language used today is descended from FORTRAN

As a matter of fact, everything didn't descend from FORTRAN. COBOL was heavily influenced by FLOW-MATIC which descended from the A-0 System. All three of these were created mostly due to the work of Grace Hopper, commonly called "the mother of COBOL."

<comment><USER24> APL did not descend from Fortran either - it wasn't even designed as a programming language - rather as a standard notation for algorithms

</comment></comment><comment><USER25> For some truly innovative operating system and programming language, I recommend everybody to go learn about Urbit.

[http://www.urbit.org/](http://www.urbit.org/)

<comment><USER26> Urbit made my head hurt. Interesting, but in an "I don't want to go there and do real work with it at all _ever_ " way.

<comment><USER27> Edith Piaf said it best: [https://www.youtube.com/watch?v=fFtGfyruroU](https://www.youtube.com/watch?v=fFtGfyruroU)

</comment></comment></comment><comment><USER28> Reminds me of the "Future of Programming" presentation given by Bret Victor [0]. Bret's talk is much more focused on the concepts that were created during the early period of CS, but abandoned(more or less) over the years rather than the major concepts that have persisted.

[0]: [http://vimeo.com/71278954](http://vimeo.com/71278954)

</comment><comment><USER29> "ARPAnet is the quintessential computer network. It was originally called "the Intergalactic Computer Network" and ultimately became known as simply "the Internet"."

Awesome, I did not know that.

<comment><USER30> It was something J.C.R. Licklider envisioned in the early 1960s when he was the first director of the Information Processing Techniques Office at ARPA.

[https://en.wikipedia.org/wiki/Intergalactic_Computer_Network](https://en.wikipedia.org/wiki/Intergalactic_Computer_Network)

M. Mitchell Waldrop delves into the history in his wonderful book about Licklider titled "The Dream Machine". Here's chapter one:

[http://www.nytimes.com/2001/10/07/books/chapters/07-1st- wald...](http://www.nytimes.com/2001/10/07/books/chapters/07-1st-waldr.html)

Here's an example of a memo written by Licklider discussing the Intergalactic Computer Network:

[http://worrydream.com/refs/Licklider- IntergalacticNetwork.pd...](http://worrydream.com/refs/Licklider- IntergalacticNetwork.pdf)

</comment></comment><comment><USER31> Shared Memory seems dangerous because you assume that both actors are behaving correctly. The reason why programs are isolated I always thought wasn't because programmers were lazy but to ensure that a malicious or a badly written program can be contained.

<comment><USER32> Well, if that's the goal, it failed completely. If you run a malicious program once, it can spread to all your data.

Isolation was a protection about badly written programs, but it was mainly about simplifying things and increasing the (virtual) memory available.

</comment></comment><comment><USER33> Is it just me, or is #2 (Operating System – running separate programs concurrently independent of one another) effectively the same as #6 (Virtualization)? It is the same idea – the programmer can pretend that the program has a machine all to itself.

<comment><USER34> A modern OS is definitely a virtual machine, where each process perceives that it is running on a single CPU with its own single contiguous bank of memory. Threads are a bit of a leaky abstraction but whatever.

What is interesting is that the operating system virtualizes a machine that doesn't actually exist: fake "hardware" that can execute syscalls like read/write/exit. A VM in the contemporary sense has the exact same functionality, with a different interface. Rather than read/write as syscalls, you have to send SATA commands to disk, or commands to a network card, or whatever. Instead of an exit system call as an interface you work with a hardware interface that powers down the physical machine.

Containerization is actually a logical next step from this. Why virtualize a REAL hardware interface only to virtualize a fake one on top of it? The only reason to do that is if you want multiple fake interfaces, eg Linux and Windows. When virtualizing a bunch of Linux machines, mostly you really just want isolation of your processes. Virtualizing real hardware is a hack because Linux was not capable of isolating processes on its own, so you had to run multiple copies of Linux! Now with cgroups and other resource namespacing in the kernel, it can isolate resources by itself.

<comment><USER33> The fact that an OS supplies system calls is mostly irrelevant – it is a separate concept (not listed in the original article) which we usually call "Software Libraries". But innovation #2 did not list the standard libraries as a point of an Operating System – the process isolation is the point. Libraries had been in use long before.

I definitely agree that hardware virtualization is going the long way around, and that more refined process isolation is the way to go. The Operating System was made for this, and it should continue to do this; there is no architectural need for an additional level of isolation.

</comment></comment></comment><comment><USER35> Didn't know what to expect going into this with a title like that, but was pleasantly surprised. A legitimate list.

</comment><comment><USER36> I wholeheartedly agree with the sentiment expressed by the introduction to this article. We really do seem to have got stuck in a deep rut, where we can make progress laterally but can't seem to come up with anything truly novel to move the state of the art dramatically forward.

I have some issues with the style of the rest of the article, though. It consists of a lot of very interesting and thesis-supporting facts, but they are couched in a lot of arbitrary statements ("only 8 software innovations...") of dubious facts that don't seem very well supported on their own.

I mean, yes, you say there are eight and then list eight, but I am not left convinced that those are the ONLY eight. You say that all languages (aside from a bit of backpedaling in the footnotes) are descended from FORTRAN, which is a pretty bold claim to make, but the justification you provide seems to reduce "descended from" to a mostly meaningless "probably borrowed some ideas from" that is hard to base any value judgement on. Surely not all ideas in FORTRAN were misguided!

The whole rest of the article continues in this pattern, distracting from basically good points with brash and sometimes bizarre (from my perspective, at least) statements that seem to belie a wide but very spotty understanding of computing history. Granted, it's been chaotic and not terribly well- documented, but that ought to give one second thoughts about writing with such a definitive and dismissive tone.

I want to repeat that I agree with the general premise, and I think that it's unfortunate that I came away from the article feeling like I _disagreed_ with it due to the problems noted above. I had to re-read the intro to remember the intent. Hopefully this criticism is accepted in the constructive sense in which I offer it, as I think that there's some great insight there that could be more effectively conveyed.

</comment><comment><USER37> On the one hand, the article challenges us to question established ways of doing things. On the other, the first footnote correctly points out some projects that were economic failures because they were technology for its own sake rather than providing something of value to people.

Some of us may have the freedom and the desire to hack on things that are destined to be economic failures. But for the rest of us, I think it's more important to err on the side of technologically conservative but economically successful projects. So, most of us, myself included, will continue to work within the context of established programming languages, operating systems, and other groundwork that has already been laid for us.

</comment><comment><USER38> A very well-written article that promotes thinking, or better yet, re- thinking. The main point to take away is this: don't take for granted current, commonly-used constructs and architectures, they're the result of decades of tradeoffs designed to tip-toe technology's constraints. Today most of those constraints are long gone and the assumptions don't hold anymore, if we could just forget the bad parts instead of accepting them as gospel and use these five decades of experience to build something new and better, maybe we could finally stop our current methodologies from curbing our progress.

Kudos to the author.

</comment><comment><USER39> Interesting article, but I think that the basic premise, that it's "bizarre" that we're still using concepts developed 50+ years ago, is a bit naive. To give an analogy from a different engineering field, the basics of rocketry and space travel have been conceptually almost completely developed almost 100 years ago. Multistage rockets, orbital stations, etc. Should it be considered bizarre that we still use those same concepts and mechanisms to fly into space? I don't think so. People had figured out an optimal (sometimes the best or only possible) method to do something and we're using it. Sometimes a better idea isn't possible because a better method can't exist. Some ideas are simply timeless.

One of those ideas, I believe, is expression of programs as text. It wasn't even a distinct idea, it's just the most efficient, natural way to express algorithms. You can't get around the fundamental mathematical fact that you need a formal symbolic system to express algorithms, i.e. you need a language. Until we gain the ability to directly interface our brains with computers we'll need to express language in written symbols, and even then I doubt we could get away without text for cognitively expensive activities such as programming (because of limitations of our working memory, etc.). "Lines of text" are anything but limiting.

What the article says are some drawbacks of operating systems I don't think are drawbacks at all. Having the OS lying to programs so that they don't have to know irrelevant details of the machine is a really _good_ thing.

> But when it comes to what the machine is actually doing, why not just run > one ordinary program and teach it new functions over time?

What?! You mean like one monolithic piece of code doing everything ranging from memory management to email and multimedia? I must be missing something, am I stupid and just don't understand the proposal?

> Why persist for 50 years the fiction that every distinct function performed > by a computer executes independently in its own little barren environment?

Because it's a good idea, it reduces complexity for the function (program) in question.

> A righteous operating system should be a programming language.

Like we had with some early PCs where you essentially had a BASIC interpreter for an OS? That concept got replaced because it was a horrible way for humans to do actual work instead of dicking around all day with toy programs.

> Let's do some old-school hacking on our new-school hardware — like the > original TX-0 hackers, in assembly, from the ground up — and work towards a > harmonious world where there is something new in software systems for the > first time since 1969.

While I have nothing against assembly (to quote Michael Abrash: "I happen to like heroic coding."), first, I find the idea of regressing to old methods of producing programs to yield new ways of computing a little strange, and second, there's a good reason assembly isn't used unless necessary--it's a horribly unproductive way to solve problems. Unless the assembly in question is Lisp. ;) Or Haskell. So if we're dreaming, let's dream all the way--we need pure functional computing machines, not just "better mouse traps".

<comment><USER32> >> A righteous operating system should be a programming language.

>Like we had with some early PCs where you essentially had a BASIC interpreter for an OS?

I think that line has some relation to the graphical programming language at the beginning. If so, no, it's nothing like old BASIC interpreters, and more like making GUIs out of interoperating modules.

</comment></comment><comment><USER40> Am I the only one impressed with how long some of these technologies have been around? I know most of the common ones such as the internet and FORTRAN but I did not realize how long markup languages have existed. Also at the rate that technology improved in such a short amount of time. That must have been an exciting time to work in the field.

</comment><comment><USER41> I find that in the pursuit of the latest and greatest, a pattern we so often see in society, it is easy to forget to let our historical experiences of the past inform our current and future thinking. There is a place for both - <USER3> forward thinking creation as well as innovation inspired by the past.

</comment><comment><USER42> Only? No mention of viewport clipping? Compression? Encryption? Bittorrent?

<comment><USER43> would the way we use computers be completely unrecognisable without those things?

<comment><USER44> What would the internet look like without encryption?

<comment><USER43> so wait. are you saying encryption… _encryption_ was invented after 1970?

<comment><USER45> _Asymmetric_ encryption (public-key cryptography) was developed in the 1970s. The internet would be very different without it.

</comment></comment></comment></comment></comment><comment><USER46> This reminds me of golang vs brand-x [http://cowlark.com/2009-11-15-go/](http://cowlark.com/2009-11-15-go/)

</comment><comment><USER47> If this writer is so convinced that we need a new way of interacting with computers, why isn't he building it, instead of just writing about it?

<comment><USER43> Because software actually is kind of hard, and to get anywhere you need to convince a somewhat larger group than one to all work towards the same goal.

And how do you know he is not?

<comment><USER11> Yes. I am working on it, but it is "kind of hard" to do by oneself. Also, writing about it is a good step, regardless of who might be convinced or not, simply because it forces me to get my ideas more straightened out.

<comment><USER22> I'm quite curious where you intend to go with the "mesh" project on Github. "An operating system with the heart of a database" sounds like some of my ideas, as does your doc/index.md, but it seems to stop there.

</comment></comment></comment></comment><comment><USER48> You want to throw out the OS and programming languages? You think that text is a poor interface for specifying machine behavior? Then show me. Show me something real. Perhaps not text (since text is a dirty word, right?) but something I can install on my machine.

If you're going to pull an Emperor's New Clothes, then it's not enough to loudly (and snarkily) proclaim that the emperor has no clothes on - you need to produce a naked emperor.

Heck, it should be easy, right? If you think that the conventions of the last 50 years are all shit, then how hard could it be to come up with some new ones? If you want to shake the pillars of computer programming, you need to be able to do more than say "everything is crap," and if you can't, then you sound like nothing more than surly, precocious, ignorant teenager.

<comment><USER49> I'm sad that you got downvoted, though I have a feeling its simply your choice of language, as your points are spot on. This is a wonderfully curated list of where computers have come from. But to go further and claim that we're all somehow fools for not exploring new ideas without offering any overview of what a new idea might look like is disingenuous.

Plenty of artists can dream up interfaces like in Minority Report, Tron, or Hackers, but to actually build something that achieves a human goal is much, much more difficult.

For what it's worth, I think the Self object environment, Squeak smalltalk and Flow programming are beginning to approach the paradigm shift the author hopes for. But in the meantime, I'm communicating with all of you in words, so I might as well communicate with my computer in them as well.

<comment><USER50> Honestly I feel like this type of viewpoint is one that almost every programmer gets to after about 10 years doing real work. The difference is tact. Some hack out some experiments in new programming paradigms and some post detailed ideas or concepts of how things can be improved, and others just try to gain street cred by just saying everything is obviously shit and we are all fools for not "fixing" things.

<comment><USER49> Well said, sir. Worth noting that this overview of where we've come from and how not far we've come was posted by a fellow is both clearly a genius, and who has his most popular github project written in x64 assembly. So I'd argue that even he sees the merit in the past when attempting to blaze a trail into the future.

For one thing, as long as our computers are binary, they are going to require instructions in a very specific way and anything we put over the top of them will expose that architecture to some degree or another.

<comment><USER11> My entire article is about things that happened between 1955 and 1969. The part where I state my thesis literally concludes "With a solid historical perspective we can dare to do better." I'm not sure how much more obvious I could make it that I "see the merit in the past when attempting to blaze a trail into the future".

It's the _present_ whose merit I find lacking.

</comment></comment></comment></comment></comment><comment> wes-exp The author forgot node.js! It has... modules!

</comment><comment><USER51> Quite a load of shit. Those innovations are now taken for granted and the "this was then", "this is now" comments it where you see the leakage in the arguments.

Im not going to quote anything from this to dismiss it. Its simply wrong, a bit extreme, and out of context. You would have to be an idiot to buy the entire premise.

<comment><USER43> This comment is a load of shit, and so since you're happy to dismiss an entire essay without any back up, evidence or argument, I can just as easily dismiss your comment. Hitchen's razor.

</comment></comment><comment><USER52> _[Transactions] enabled the development of systems called databases, which can reliably maintain the state of complex data structures across incessant read and write operations as well as some level of hardware failures._

This is interesting. It suggests to me that either the author is using a nonstandard or outdated definition of "database" or that a denotation- fundamental tenet of database implementation, transactions, has been left for dead by the side of the road by many modern "database" projects.

Regardless, this is a great and informative piece.

<comment><USER53> How is transactional integrity an outdated concept? And you are actually telling me that there are "databases" that _don 't_ have transactional integrity?

<comment><USER54> MySQL with MyISAM tables.

<comment><USER53> Ah. Thanks.</comment></comment></comment></comment>


Using smartphones as remote shouldn't be a pain - <AUTHOR> https://medium.com/@maxwellito/liwe-the-open-source-remote-control-e162b4b3d3c?ncid=hackernews

<comment><USER2> Nice, can you design online games?</comment>


Intel to fab ARM chips for Apple? It's possible... - <AUTHOR> http://arstechnica.com/business/news/2011/05/intel-to-fab-arm-chips-for-apple-its-possible.ars <comment><USER2> It's worth noting that, until June 2006, Intel made their own ARM processors before selling the business to Marvell. They saw the conflict of interest between their ARM lines and their forthcoming Atom lines, and threw their weight behind the architecture that they controlled. ARM chips are also much less expensive than Intel is used to charging for it's silicon -- they wanted to keep their costly fabs churning on high margins products.

This would effectively be a retreat from those ideals, and reduce them back to the role of another commoditized supplier of ARM processors -- something they had hoped to avoid by pushing x86 in the low power market.

Porting processors between fabs is not easy. When Marvell made this transition in reverse, by buying the XScale ARM business from Intel, it took a long time to move from Intel's fab process to TSMC.

<comment><USER3> Intel acquired StrongARM from Digital (DEC) in 1997 (after DEC sued Intel over Pentium). Intel turned StrongARM into Xscale.

You are correct that Intel sold part of their Xscale business to Marvell, but they also kept the Xscale storage processors.

<http://edc.intel.com/Platforms/Previous/Processors/IOP/>

All the generations of XScale are 32-bit ARMv5TE processors (ARMv5TE ISA without the FP instructions) manufactured with a 0.18 µm or 0.13 µm (as in IXP43x parts) process.

I think the reason for Intel selling off most of the Xscale business to Marvell is that Marvell has an architecture license, and ARM, Ltd probably didn't want to sell one to Intel.

Apple helped develop ARM, so it likely has a less expensive license than anyone else.

Given that Intel knows how to get an ARM5 into 0.13, getting a theoretic A6 into its 0.22 process is likely straight-forward.

<comment><USER4> Wait 0.13 microns = 130nm. Also ARMv5?

Even the 3GS is a cortex A8 which is built on a 45nm core.

From what you're sayin intel is very far behind in ARM technology.

<comment><USER3> sorry. got microns an nm mixed up.

</comment></comment></comment></comment><comment><USER3> Intel has a 22nm process coming online this year. I doubt the A4 or A5 are ported to this, but an A6 could be designed for the Intel 22nm process.

Apple could probably run the A5 @ 1.25GHz in intel's 34nm process (were it to port same.)

So, more features, less expensive parts, less power consumption per GHz. I see Intel as a definite possibility, especially if Apple can exclude other competitive ARM SoCs from Intel's process.

Intel: "You can't have ARM, but would you like an Atom, sir?"

Intel/Micron also have 20nm flash now. Densities are about to scale in mobile storage as well.</comment>


A dead-simple GoogleReader replacement - <AUTHOR>

GoogleReader will die, R.I.P. I'm done with tier-hosted services which choose to reduce features or close at will. No Feedly for me, thanks.
Here's an opensource self-hosted online RSS reader which is dead simple: https://github.com/tontof/kriss_feed (Homepage: http://tontof.net/kriss/feed/)
And when I say "dead-simple", I mean it: Just drop the single php file and you're done. Yes, it's that simple.
It has all the features you expect: mobile version, keyboard shortcuts, read/unread status, starred items, OPML import/export, customized styles, collapsed/expanded view, public/private reader, you name it. And it's fast.
This is just great and hassle-free.  Here are some screenshots:
http://sebsauvage.net/rhaa/images/201303/rha_20130317_kriss_5.png http://sebsauvage.net/rhaa/images/201303/rha_20130317_kriss_6.jpg
This is KISS as I like it. <comment><USER2> Dude this is really cool. Thanks for sharing. I am also a bit disappointed in Google, but I am happy with Feedly.

I'll try it tonight and give you some feedback. It is pretty cool that you could fit so much in such a little package. (one file!)

<comment><AUTHOR> Don't forget to enable javascript feed updates in configuration.

BTW, I'm not the author of KrissFeed, just a happy user :-)

</comment></comment><comment><USER3> Put the screenshots in the Github README - I've found that this is one of the easiest things you can do to get traction with your project. I'm not going to go setup this project before I see what it looks like.</comment>


UK to host spyware firm accused of aiding human rights abuses - <AUTHOR> https://www.theguardian.com/world/2020/feb/06/uk-to-host-spyware-firm-accused-of-aiding-human-rights-abuses <comment><USER2> I sort of guessed that it's definitely an Israeli company. Otherwise which country and it's Companies get every legal permission after breaking every possible law?

<comment><USER3> Er just about every nation, ever? As nations develop legal & regulatory systems, the means of corruption changes, but the corruption stays.

In India companies directly pay politicians to skirt regulations. Here in Australia that's rarer, but the corporations via lobbyists simply write the regulations that they then largely conform to. Same deal. Different means.

<comment><USER4> I guess GP means state sanctioned support. But I don't agree that this is an Israeli only thing, Hacking Team are Italian and do the same thing.

<comment><USER3> Sure - as it happens my nation (Australia) has far fewer of the kind of entanglements that prompt this particular activity, compared to Israel. But you can entirely sure that if we did, we'd allow tech spying lobbyists to write the necessary laws to cover them.

<comment><USER5> Australia is about 100x better at hiding its entanglements than Israel, which has had an overt show of force policy for decades.

Australia, on the other hand, has so many layers and levels of secrecy around its state-run operations of this nature, that its impossible, truly, to really ever know.

Australia leads the way when it comes to repressing free speech and the public right of knowledge over what is being done in their name by the ADF, and has even taught Israel a few things or two about keeping its internal populations at heel when something nasty inevitably leaks out.

And then there is that whole secret court, secret prison, secret prisoner thing.

</comment></comment></comment></comment></comment><comment><USER6> > In the last four years they have included countries whose human rights > records have been criticised such as Saudi Arabia, Egypt, the UAE, Oman, > Qatar and Hong Kong.

A perfect party to sell stuff for those whose other hand is operating a bone saw

<comment><USER7> fwiw, using the prominent example of DarkMatter they're staffed mainly by Europeans, Americans, Indians. Nobody critics these people who voluntarily go there to work and instead we all pretend "Technology is Neutral".

<comment><USER8> Really?

<comment><USER7> well yes. quickest way to verify my claim is to check LinkedIn for who works at DarkMatter:

[https://www.linkedin.com/search/results/people/?facetCurrent...](https://www.linkedin.com/search/results/people/?facetCurrentCompany=%5B%226395240%22%5D)

This is a good read too:

[https://theintercept.com/2016/10/24/darkmatter-united- arab-e...](https://theintercept.com/2016/10/24/darkmatter-united-arab- emirates-spies-for-hire/)

Since they started they have become more careful about compartmentalization and making efforts to conceil their activities by shell'ing out (pun intended) by using new companies/structures for sensitive ops that can effect how they are perceived on the market. As an American who works there once told me: _" we have a good thing going here."_ (this was just a few weeks after this happened: [https://news.ycombinator.com/item?id=19308430](https://news.ycombinator.com/item?id=19308430))

I don't want to sound snarky but I would have assumed from your many excellent / on-point comments here over the years that you're well read and informed on them ;)

Edit: it's very hard to say no to 0 income tax.

<comment><USER8> I know who works at DarkMatter, it's this part I was picking up on:

>Nobody critics these people who voluntarily go there to work and instead we all pretend "Technology is Neutral".

This really doesn't match my experiences. Maybe we hang out in rather different circles though?

OTOH, unsurprisingly the people making their living in the state-sponsored offsec space aren't going to complain about DarkMatter & co.

</comment></comment></comment></comment></comment><comment><USER9> TL;DR: its the NSO Group

These are the same guys who were outright permabanned from Facebook for hacking the whatsapp of about 1400 diplomats, government officials, human- rights activists, lawyers, and journalists scattered across the world.

[https://www.theregister.co.uk/2019/10/30/nso_facebook_employ...](https://www.theregister.co.uk/2019/10/30/nso_facebook_employees/)

If a shady government wants you gone (and doesnt have the resources for black site rendition like the US) then NSO is basically their starting point.

[https://en.wikipedia.org/wiki/NSO_Group#Pegasus_spyware](https://en.wikipedia.org/wiki/NSO_Group#Pegasus_spyware)

<comment><USER10> By "shady government", does this not include the UK government itself at this point? And we don't yet know which other governments will be represented, but we can apparently expect around 60, as per the article. That's a lot of potential shadiness.

<comment><USER3> Yes, though perhaps 'shady population' is more like it. When I lived in Coventry many years ago, several of my neighbours worked for a local firm on manufacturing lines churning out torture equipment. It was no great secret, and no-one had a problem with it.

<comment><USER11> What were they making?

<comment><USER3> Leg irons & electrocution gear were the two items I specifically remember.

</comment></comment></comment></comment></comment><comment><USER12> Url changed from [https://www.zdnet.com/article/uk-government-rolls-out-the- re...](https://www.zdnet.com/article/uk-government-rolls-out-the-red-carpet- for-infamous-spyware-vendor/), which points to this.</comment>


How to choose a Rails contractor - <AUTHOR> http://collectiveidea.com/blog/archives/2010/06/13/how-to-choose-a-rails-contractor/

<comment><USER2> Most of the people I have ever contracted for, contract people like me because nothing in this article telling them how to choose a rails contractor would make any sense to them.

Wee bit of a catch-22 there.</comment>


Did Facebook's purchase of FriendFeed comply with FriendFeed's privacy policy? - <AUTHOR> http://www.techflash.com/seattle/2009/09/check_your_privacy.html?ana=from_rss

<comment><USER2> _Most observers pegged the recent acquisition by FriendFeed of Facebook and by Mint of Intuit as at least partially – if not totally – driven by FriendFeed's and Mint's user base._

Not FriendFeed! It was a technical and people acquisition. Facebook has more users than most nations.

</comment><comment><USER3> Privacy policies are really just there to make people feel good. They aren't legally binding or enforceable. Neither are most Terms of Service. The second you start analyzing that stuff, you'll find tons of holes.

</comment><comment><USER4> If it weren't a real question brought up by litigants, I'd say it's a very Stephen Colbert kind of inquiry...</comment>


How Orange Telecom and French intelligence services cooperate - <AUTHOR> http://translate.google.com/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fwww.lemonde.fr%2Finternational%2Farticle%2F2014%2F03%2F20%2Fdgse-orange-des-liaisons-incestueuses_4386264_3210.html&act=url

<comment><USER2> Here's a fun quote: "DGSE also relies on international direction of the operator, which operates mobile subsidiaries abroad."

You can see which subsidiaries are owned by Orange (headquartered in France) on the wikipedia page[1]. This angle plays more favourably to proponents of the "wireless and fixed carriers are national security concerns" policy.

[1] [https://en.wikipedia.org/wiki/Orange_(telecommunications)](https://en.wikipedia.org/wiki/Orange_\(telecommunications\))

</comment><comment><USER3> Sadly that is not the only concern, when companies outsource like Orange to cheaper climates [http://telecomtv.com/comspace_newsDetail.aspx?n=47495&id=e93...](http://telecomtv.com/comspace_newsDetail.aspx?n=47495&id=e9381817-0593-417a-8639-c4c53e2a2a10)

Then they also expose the potentual for questionable employee's. Also such outsoureced locations have less defined data protection laws and regulations than the customer base they serve.

So say what you like but I'd trust the French goverment not to sell on my bank details, pass my phone number onto a scammers list and PPI spammers etc etc.

I used to be with Orange msyelf, but left for various related reasons that also entailed changing bank account numbers as well.

<comment><USER4> note that it does not really matter whether you are one of Orange's customers or not as they operate many of the inner and outbound backbones.

</comment></comment><comment><USER5> _All this is done under the responsibility of public authorities within a legal framework._

Yes, and if it's not legal, it will be made so retroactively.

So, the French and the US approach to privacy is the same. But as opposed to the US, the French dispense with rubber-stamping oversight. And I'm expecting absolutely no reaction from either of the two main political parties. "Think of the children" or "think of the Chinese"...

<comment><USER6> Not exactly the same approach. The separation of power means that politic shall not use this spying for their own interest.

</comment></comment><comment><USER7> I think this post is ironic in retrospect given a comment I left yesterday about the probable skill of DGSE: [https://news.ycombinator.com/item?id=7446666](https://news.ycombinator.com/item?id=7446666)

</comment><comment><USER8> "Use automatic browser translation, get Google Chrome!"

No.. thanks.</comment>


'Home-brewed' encryption scheme opens millions of smart meters to hacking - <AUTHOR> http://www.fierceitsecurity.com/story/home-brewed-encryption-scheme-opens-millions-smart-meters-hacking-warn-rese/2015-05-12

<comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=9509169](https://news.ycombinator.com/item?id=9509169)</comment>


The case for letting children vote - <AUTHOR> http://www.vox.com/2015/11/28/9770928/voting-rights-for-kids?utm_campaign=mattyglesias&utm_content=chorus&utm_medium=social&utm_source=twitter <comment><USER2> It would just give more political representation to those with more children, as the children would just vote for whoever their parents told them to vote for. Even if they aren't being explicitly told who to vote for, it'll still be their parents' vote, as politically outspoken children are 99% of the time only parroting what they hear their parents say. If you make them wait until they are adults, there is a better chance that they will be making their own political decisions.

> You don't need to pass a civics test to vote. > You don't need to have an IQ > above a certain level to vote. > You don't need to show that you can > accurately recite the candidates' slogans or platforms to vote.

Even if they are not completely informed on all the issues and platforms, at least it is their own vote. That is an easier problem that can be solved with campaigning and outreach. As opposed to the harder to solve, undue influence of doing what your mother or father tells you.</comment>


7 Steps to Beat Procrastination - <AUTHOR> http://blog.weekdone.com/7-steps-to-beat-procrastination/

<comment><USER2> One of them which is probably not reading this. Lol!</comment>


Nomad, a cluster manager and scheduler - <AUTHOR> https://www.hashicorp.com/blog/nomad.html <comment><USER3> I'm genuinely not sure why they are trying to compete with the likes of Mesos or Kubernetes, or what they are really trying to achieve here. There is simply no way they'll build a community around nomad 1/2 as big as either of the aforementioned even if the software is really good.

<comment><USER4> I'm sure to a fan that "really freaking loves Mesos" you can't imagine other software competing with Mesos, but Hashicorp writes excellent software generally. Serf and Consul have completely sold me on Nomad, and I haven't even used it yet. I think there will be similar draw for many people that have used Hashicorp's software before.

<comment><USER3> No it isn't about koolaid, it is about technology. Consul, Vagrant, and Vault are all _excellent_ Hashicorp technologies I've used. They are great, and some of the best in the industry for their problem spaces.

You've got Mesos scaling to 10,000+ physical node clusters today in production at the likes of companies like Apple and Twitter. You've got Kubernetes being adopted and developed by pretty much all of the open source heavyweights and it came from the experienced Google developed building... Google. Kubernetes ontop of Mesos is basically the holy grail in my personal opinion where you get the best Ops (mesos) story mixed with the best Dev (k8s) story. I guess we'll see how much Nomad takes off :)

Hashicorp isn't a huge company, it seems like to me their best bet is keeping the focus relatively small so they can be the best at what they do. Even if Nomad is a huge hit and is amazing, it still seems kind of sad that they couldn't simply double down and help out with kubernetes. I do find it ironic that they talk about how nomad is for microservices and then make a dig at the several microservices that k8s is made up of.

<comment><USER5> I'm sort of surprised to hear this view of the situation which is about the complete opposite of what I've had for the past few years. I have felt it's a shame that hashicorp have created consul, vault, a new raft implementation (which they got tons of flack for then etcd made THEIR OWN re-write which fixed a tons of issues this year..), serf, etc., and nobody has adopted or built on them. K8's current secrets solution is a bit underwhelming TBH, as an example.

Kubernetes has support for 250 node clusters in their list of blockers: [https://github.com/kubernetes/kubernetes/blob/master/docs/ro...](https://github.com/kubernetes/kubernetes/blob/master/docs/roadmap.md#blocking- features)

</comment></comment></comment></comment><comment><USER6> This one is interesting to me. I've been a big proponent of Hashicorp's other tooling, but this seems like an area that other projects are already addressing (and doing well in). Choice is great, but I think I would have preferred if they joined up with Kubernetes/Mesos/etc.

Also, their messaging seems a little ingenious. Otto talks about how important it is to support microservice development and deployment, but Nomad lists as a con that Kubernetes has too many separately deployed and composed services.

PS, I do work for Red Hat, so maybe I'm a little biased.

<comment><USER7> _Also, their messaging seems a little disingenuous. Otto talks about how important it is to support microservice development and deployment, but Nomad lists as a con that Kubernetes has too many separately deployed and composed services._

This is consistent with a (reasonable) belief that microservice architecture is an important design pattern to support, but may not be the best approach for all problems. From reading the docs, my sense is that Nomad takes the position that for a cluster scheduler, fewer moving parts leads to lower operational overhead, which outweighs any benefit that microservices may bring. E.g., it's more difficult to deploy a microservice platform like Nomad if the platform itself is deployed as a set of microservices.

<comment><USER8> I think there's definitely a bootstrapping problem here: microservices are great if you have something like Kubernetes, Nomad, Mesos etc. on which to run and deploy them, but you have to run your platform on something and be able to bring it back up if it goes down and that's where I think Nomad might have the edge.

<comment><USER9> Agree (Kubernetes and OpenShift dev here) - OpenShift is actually bundled as a monolithic Go binary that contains the full Kubernetes stack and client, the Openshift admin client, user client, and js web console for exactly that reason (even though it is all technically micro services on the server side). The single binary comes with downsides (binary is 95M) but it makes the "try it out" flow much, much, easier to see it all working. But the converse is true - you have to be able to decouple those bits at scale, and you eventually will want to start leveraging the platform to run itself.

</comment></comment></comment></comment><comment><USER10> No solution for persistent/statefull applications, which is a real disapointment, seeing as this is where I see orchestration systems currently breaking new ground and coming up with interesting solutions. The contraint systems also doesn't look too impressive; can I do the equiq of Marathon's GROUP_BY contraint (i.e. AZ GROUP_BY 2 -> ensure I have instances running on >=2 machines w/ different AZ values)?

Also no maintenance primitives, but that's just me being in love with Mesos.

<comment><USER11> That's always my first question. Let's have a pgsql "job", or a set of mongodb instance in cluster, backed by Docker. How do we orchestrate the data side ? Do we need to have special nodes where the data live in and set constraints for that ?

<comment><USER12> When the Hashicorp folk have a few minutes to breathe at their conf, I really hope that they could address the question of stateful apps.

I imagine that users of Nomad also have persistent state to deal with and there must be a pattern that has emerged to solve this already?

</comment></comment></comment><comment><USER13> I've been using Mesos with Aurora in production for almost a year and while its very stable (zero downtime so far with loss of hosts a couple of times) the setup process was quite tedious and not something I'm looking forward to doing again. It also has a lot of moving parts - understand and setup zookeeper to get mesos up, understand and setup Aurora, use something for service discovery (I use AirBnB's Synapse for this). Plus I prefer to use tools I can choose to look under the hood of and perhaps make some contributions, which is a bit intimidating with both Mesos and Aurora (C/C++ and Scala). Because of this, I'm keen to try out Nomad mostly because of the promise of no-other-dependency/single binary plus the use of a single language across the stack - <USER2>

</comment><comment><USER14> Having looked at both Mesos (with its various frameworks) and Kubernetes, this immediately looks more attractive to me.

No external dependencies (which arguably simplifies ops), competetive feature set, a nice job language, the fact that Docker is optional, polished documentation, etc. Having used some of Hashicorp's other products, I've grown to expect a level of quality and pragmatism that seems to present here, too. Not being JVM-based is a big plus in my book, too.

How much production use has Nomad seen, I wonder?

</comment><comment><USER15> > _Nomad is designed to be a global state, optimistically concurrent > scheduler. Global state means schedulers get access to the entire state of > the cluster when making decisions enabling richer constraints, job > priorities, resource preemption, and faster placements._

Can anyone shed light on how that's possible? I was under the impression that global state in distributed systems was not possible?

<comment><USER16> [http://research.google.com/pubs/pub41684.html](http://research.google.com/pubs/pub41684.html)

Basically, there's a server that holds state for the cluster. When a scheduler attempts to load a job into the cluster, it grabs state from the aforementioned server, performs its job placement calculations, and then tries to submit its answer to the master state. Since there are many such schedulers, and the amount of time it takes to place a job is non-trivial, its possible that during the processing time to calculate placement, another scheduler might've consumed the requested resources. In this case, the first scheduler will provision whichever services are not in conflict for placement location, and perform a new calculation with the new state to place the remaining conflicted servers.

The general idea is that most services don't have such a high affinity that the components need to be started all at the same time (a MapReduce job on 10,000 nodes can still run with 5,000 nodes while the second 5k are provisioning). The tradeoff here is that you have to manage conflicts, but the hope is that there are few enough that your optimism is rewarded.

Does that make sense?

<comment><USER17> Sounds more like "greedy" than "optimistic" scheduling: the early jobs get the worms.

In most scheduling systems, two 10,000-node jobs that each would saturate a cluster on their own will time-share if submitted together, with each job acting in practice more like 10,000 single-node jobs. The result is usually each job getting a probabilistic 50% share of the cluster while they're both running, and then whichever one runs longer saturating the cluster once the other ends.

This scheduling system, meanwhile, would seem to just hand the 10,000 nodes over to job A, and then sleep job B until job A is done.

Admittedly, in the case where the jobs _aren 't_ submitted at the same time, and job A has already grabbed and saturated the cluster, the two cases collapse together: job B must wait (unless you want to schedule processes rather than containers; then you just degrade the cluster's performance.) But for batch-processing applications, you'd usually schedule everything to start at once, precisely so that the scheduler could interleave the jobs.

<comment><USER16> This job swapping problem is a different sort of problem. In your example, I have cluster saturation as a concern. Google would love to saturate their cluster, but I would wager they usually are nowhere near saturation (scheduling a job on Borg takes something like 90 seconds at minimum; there's a lot of ground to cover). The innovation in optimistic schedulers is that you can have multiple schedulers running against a master state. This is in contrast to a single scheduler, single state system like Mesos (forgive me if I've misspoken about Mesos, but this is how I remember it).

<comment><USER18> Mesos is a two-level scheduler, where the elected master is more of a broker for offers from agents to external schedulers that decide to act on the offer or not. By default it's pessimistic, but this is pluggable and there's no reason you can't write an optimistic allocator module that will hand out offers to multiple schedulers.

<comment><USER16> Part of the beauty of Omega is that there aren't just multiple schedulers, but schedulers with different profiles (this solves the head of line problem for long-running jobs while accelerating small jobs). Mesos, from the Borg paper[0], seems to have issues with head of line problems (including going so far as to silently fail jobs without queueing them).

FWIW, Omega seems like the answer if the overhead for resolving inconsistencies becomes low enough such that the benefits of optimistic scheduling outweigh the costs.

[0][http://www.slideshare.net/sameertiwari33/scheduling-on- large...](http://www.slideshare.net/sameertiwari33/scheduling-on-large- clusters) See slide 6.

<comment><USER18> That link isn't working for me, unfortunately. I'm assuming that the HOL you're referring to stems from the assumption of the default DRF allocator of fast decisions, which can cause issues for mixed workloads if there's a lot of hoarding happening. This is something that could be addressed with an allocator module, but nobody has yet to my knowledge, leading me to think it's not a massive problem for many people. I think the people who care about this use case end up running multiple mesos clusters.

One note on priorities a la Borg (what I think people are actually using at Google today, but I don't know to what extent Omega was merged with it after the Omega paper or if Borg currently runs as an Omega scheduler or what), is that it sometimes causes annoyance for people at Google, as the optimal priority is not always assigned to certain workloads, leading to starvation or overpreemption of things that were not given a healthy number. I believe that Mesos' work on oversubscription took concerns around this issue into consideration.

It's really fascinating to compare the architecture of Nomad vs K8s, because both claim heavy descendence from Omega + Borg. If I squint, it seems like Nomad is more of a direct implementation based on those papers. K8s more explicitly modularizes more components, which I think is why a lot of companies are jumping behind it, as they can mold it in the ways they want.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> That's... no small release. If it indeed has everything they claim that's extraordinary. What's the catch? Why haven't they made more noise about this?

<comment><USER20> I think this is their noise. :)

Their big conference is today, so I expect a few more announcements.

</comment></comment><comment><USER21> Side note to Hashicorp devs: The Products section of your homepage is virtually unreadable on Windows/Chrome: [https://i.imgur.com/8st8HQk.png](https://i.imgur.com/8st8HQk.png)

<comment><USER22> Hashi folk: this actually hit my own site a few weeks ago, learning from the experience: OS X renders fonts better, even on the same non-retina display, than Windows does. If you have something font-weight: 200 or less, it's fine on OS X, but it's completely unusable on Windows.

<comment><USER21> 400 weight made it look a bit more clear for me.

</comment></comment></comment><comment> a-priori Anyone able to give a compare/contrast here with other cluster management systems... Apache Mesos or Kubernetes, for example?

<comment><USER23> Hashicorp themselves have published comparisons to Kubernetes, Mesos, et al on the Nomad site[1]. They look well written and generally not too biased.

[1]: [https://www.nomadproject.io/intro/vs/](https://www.nomadproject.io/intro/vs/)

<comment><USER24> [https://www.nomadproject.io/intro/vs/mesos.html](https://www.nomadproject.io/intro/vs/mesos.html)

I'm not sure I understand what is being said in this page.

Is the Nomad scheduler centralized? If so, it has been demonstrated that distributed scheduling (e.g. Mesos) leads to better throughput and availability, while achieving a placement close to a centralized approach.

</comment></comment></comment><comment><USER25> Nomad appears to share some of Consul's internals, but it does not seem possible to use an existing Consul cluster as backing KV store/lock provider/etc. I'd like to understand why.

</comment><comment><USER26> Hashicorp is all in on Golang.

<comment><USER27> Go is a pretty good choice of language to build stuff like that. It's easy to distribute, it's easy to write tools for, it's well known by a bunch of people in the domain.

</comment></comment><comment><USER28> Congrats to Hashicorp, it's always exciting to see another release from you. Now I just have to find an excuse to use them... ;-)

</comment><comment><USER29> They're building a nice little ecosystem...

</comment><comment><USER30> This might stray a bit from the core topic, but does anyone have resources (preferably free) about the theory behind what Nomad covers? Batch/job/task Scheduling, etc.

</comment><comment><USER31> Does anyone know how Nomad plays together with CoreOS?</comment>


It's much better to delete your brand pages if you are doing this - <AUTHOR> https://medium.com/@ankurbhugra/my-brand-updated-months-ago-e39716b37aa0#.5q9yl21pa <comment><USER2> "Doctors _hate_ her!"</comment>


A surprising number of Americans think chocolate milk comes from brown cows - <AUTHOR> https://www.washingtonpost.com/news/wonk/wp/2017/06/15/seven-percent-of-americans-think-chocolate-milk-comes-from-brown-cows-and-thats-not-even-the-scary-part/?utm_term=.a3ff091d3ce3 <comment><USER2> I'm skeptical of the 7% number. I can easily imagine 7% of survey respondents choosing the "brown cow" answer because they thought it was funny. It was just an online survey, after all. The other claims about pickles and french fries are easier to believe.

</comment><comment><USER3> A surprising number of Americans think that cows just produce milk all the time and 'need' to be milked. As opposed to them being, well, mammals, who only lactate after pregnancy and are thus regularly inseminated in rape racks (industry term) to keep them lactating until they're no longer useful then killed.

A surprising number of Americans think baby cows get some of that milk from their moms. As opposed to baby males being killed soon after birth as veal and baby females raised on hormone cocktails to continue the cycle of forced labor and death of their mothers.

</comment><comment><USER4> For those wondering, the number is 7%. I doubt that many people actually believe what the story implies. Depending on the phrasing of the question, I think you could easily move that number higher or lower.

</comment><comment><USER5> I wonder about that. Stores sell powder for making regular milk into chocolate milk. But maybe some people haven't noticed that.

But then, Americans will buy the Coca-Cola Company's "Dasani", which is tap water with some minerals added for flavoring. That product was laughed out of the UK.

<comment><USER6> People will buy bottled water (300 times the price of tattoo water in France) while there is perfectly good water in taps (again, in France (where water is a "food", so it follows very strict regulations - and in average (you may have places where the taste of water is not extraordinary, but it will be safe))

</comment></comment><comment><USER7> 7% is basically the Lizardmen's Constant [1]; wouldn't buy into this as Americans being stupid.

[1] [http://slatestarcodex.com/2013/04/12/noisy-poll-results- and-...](http://slatestarcodex.com/2013/04/12/noisy-poll-results-and- reptilian-muslim-climatologists-from-mars/)

<comment><USER8> That's a very insightful article, and I look forward to using "the Lizardman's Constant" in conversation.

</comment></comment><comment> King-Aaron Oh America, don't ever change

<comment><USER9> United States of America. Not the whole 3 continents.

<comment><USER10> What 3 continents?

<comment><USER11> North, South, and _In_.</comment></comment></comment></comment>