A Major Netflix Competitor Is Down and Perhaps Out - <AUTHOR> http://www.forbes.com/sites/matthickey/2015/10/21/a-major-netflix-competitor-is-down-and-perhaps-out/ <comment><USER2> "Popcorn Time creators back away from copyrighted content with 'Project Butter'"

[http://thenextweb.com/apps/2015/10/23/popcorn-time- creators-...](http://thenextweb.com/apps/2015/10/23/popcorn-time-creators- back-away-from-copyrighted-content-with-project-butter/)</comment>


Correa: U.S. asked Ecuador not to give Snowden asylum - <AUTHOR> http://www.reuters.com/article/2013/06/29/us-usa-security-ecuador-idUSBRE95S0CC20130629

<comment><USER2> If this is accurate, Snowden might have to start shopping for a new country.

As an aside, I didn't know Correa was a U of I grad. His adviser was Werner Baer.

[http://en.wikipedia.org/wiki/Werner_Baer](http://en.wikipedia.org/wiki/Werner_Baer)

</comment><comment><USER3> I read this on BBC earlier and had gotten the impression that Pres. Correa was saying that the first opinion he'd have checked should Snowden apply was from the people of the U.S.

The rest of the article jives with the BBC article though, I'm glad to see that _someone_ in the U.S. government is trying to de-escalate the diplomatic situation. And I'm glad to see Ecuador's government seems to willing to back away a bit as well.

I wonder who the bankers that Correa refers to are, I wasn't aware the U.S. was guarding that many people from Ecuadorean justice? And I wonder what will happen to the London consul?

<comment><USER4> There was a banking crisis in 1998 in Ecuador that was so severe it caused the country to abandon their own currency and adopt the U.S. dollar. Equador has accused some of the bankers of embezzling funds including funds from a government bailout. This article is about two brothers who fled to the U.S..

[http://www.voxxi.com/government-of-ecuador-power-far- reachin...](http://www.voxxi.com/government-of-ecuador-power-far-reaching/)

"While granting the Isaias Dassum brothers their motion for summary judgement, the judge added that even though the defendants may have indeed committed the "wrongs" claimed, the way the government of Ecuador has handled the situation back in their country is, again, "inconsistent with U.S. law and policy."

Am I nuts in thinking there is no logical reason to apply U.S. law and policy to a crime committed by Equadorian citizens in Equador?

Quite frankly, Correa has a point. The Dassum brothers picked one of the safest countries in the world for corrupt bankers to flee to, but if anything would get them extradited it would be a swap for Snowden. If I were them, I'd be heading for another nation friendly to corrupt bankers, such as the U.K..

<comment><USER3> Yeah, and that would almost be a win-win for Obama politically. Help mend ties with Ecuador, _and_ stick it to some bankers, __and __get Snowden back in the U.S.?

</comment></comment></comment><comment><USER5> Apparently, he's got an offer he couldn't refuse. Makes you think if his loud withdrawal from the investment treaty was part of the game.

In any case, if such a hardliner backpedals, I'm afraid there's no safe country for Snowden. He's good in Moscow transit zone as anywhere.

But then, in a good conspiracy spirit, it might as well be the plot played out by the Russians :)

<comment><USER6> Yea, for Russians to hire him as an expert to help implement PRISM-like system in Russia. </s

</comment></comment><comment><USER7> How how much would I have given to be a fly on the wall for that conversation and in the meetings leading up to that call.

<comment><USER8> If you were an NSA contractor, you could just punch it up and listen whenever it struck your fancy.

Maybe that's why Biden has to take a hard line; he can't afford to offend the NSA.

</comment></comment><comment><USER9> Who expected anything different? Any country he potentially can go to will be asked not to give him asylum.

<comment><USER2> Do you believe the safe passage papers were given without Correa's consent, as he claims? I don't.

<comment><USER3> It wouldn't _really_ surprise me too much. It's not like President Obama would approve each and every asylum request centrally from the White House, so the London consul may have assumed a safe pass would be acceptable and then Quito had to negate it because they weren't ready to go that route.

After all Snowden managed to leave the Hong Kong airport somehow, presumably the HK authorities (not to mention the airline) would have wanted to see _some_ documentation of permission to travel?

Edit: On the other hand, maybe you're right. This ABC News article seems to say that Univision has confirmed that the safe pass had been generated under the direction of Pres. Correa. [http://abcnews.go.com/ABC_Univision/ecuador- issues-denials-s...](http://abcnews.go.com/ABC_Univision/ecuador-issues- denials-snowdens-safe-pass-linked-nations/story?id=19526121) and only after Univision got wind of it was it disavowed.

Still a mystery is why they bothered to disavow the safe pass at all. Perhaps the problems with Assange?

</comment></comment></comment><comment><USER10> [https://twitter.com/MashiRafael](https://twitter.com/MashiRafael)

Rafael Correa @ MashiRafael June 28

No more time to demonstrate "spying" of Ecuador. It is shown that it was just another farce as "punishment" for "rebellious".

Rafael Correa @ MashiRafael June 26

Things ... denounced against the American people and the world. "The world order is not only unjust, it is immoral." Expand

Rafael Correa @ MashiRafael June 26

International ...? They have managed to focus on Snowden and the "evil" countries that "support", making us forget the terrible ..

<comment><USER11> Just to clarify, these are tweets from Correa's official twitter account. They read something like this.

June 26: Hypocrisy of the century: The Washington Post "accuses" Ecuador of double standards. See the power of the international press? They've managed to focus attention on Snowden and on the "evil" countries that "support" him, making us forget about the terrible things he reported against the American public and the whole world.

</comment></comment><comment><USER12> >"There's a clear double standard here. If the United States is pursuing someone, other countries have to hand them over," Correa said. "But there are so many fugitives from our justice system (in the United States) ... and they don't return them."

Fascinating. Suddenly this grandiose talk we've heard regarding Ecuador's "principals" is gone, and now it's about what the US can do for Ecuador. It's almost as if Ecuador doesn't really give a shit about human rights.

</comment><comment><USER13> Can he live in limbo?</comment>


Are Startups Getting Crazy, Or Just IPO Crazy?  - <AUTHOR> http://www.techcrunch.com/2009/12/21/ipo-crazy-startups/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=Google+Reader <comment><USER2> I think this is a reflection of how consolidated consumer tech is becoming - he who owns the user, wins the game.

AAPL, GOOG, and MSFT have roughly $100,000,000,000 of unspent cash - they can afford to pay a premium rate over market at this point to buy a strategic asset.

</comment><comment><USER3> It would be interesting to see if SarBox (the Sarbanes–Oxley Act) wasn't the only.the major/a major reason for the death of the IPO in the US, as many have claimed.

(I've always thought it was more of a "last straw" than _the_ answer many portray it to be.)</comment>


Oh IPv6, Where Art Thou - <AUTHOR> https://labs.spotify.com/2015/11/05/oh-ipv6-where-art-thou/ <comment><USER2> / kicks Amazon, Google, and Azure repeatedly.

The "rest of the cloud" mostly supports it but those three are dragging their heels. Amazon is the only one to have any support at all at the gateway level.

Does anyone know if they are even working on it? Google surprises me most of all.

</comment><comment><USER3> I liked this article since it appeared honest, realistic and had humor. Thanks.

</comment><comment><USER4> Shouln't everyone just be doing dual stack with real IPv6 + NATted IPv4 for the forseeable future? What's the point of T-Mobile trying to do CLAT/PLAT?

<comment><USER5> When you have millions of customers, you start running into the limits of private IPv4 address space. Before deploying IPv6, T-Mobile was using 126.96.36.199/8 (assigned to the UK Ministry of Defence) for the internal side of their IPv4 NAT.

<comment><USER2> Bogarting unadvertised IPv4 space is common. A lot of people don't understand that it's not just public IP space that is in short supply in IPv4. IPv4 also has inadequate space to number large private networks in a non-conflicting manner. Causes all kinds of crazy headaches with VPNs and distributed networks too... try linking two sites that both use 10.0.0.0/16 sometime. It's hell.

</comment></comment></comment><comment><USER6> Fun fact: labs.spotify.com has no IPv6.

</comment><comment><USER7> Just turn off IPv4 and the problem will quickly solve itself. IPv6 day 6/6/16.</comment>


What does "Don't be evil." mean to you? - <AUTHOR>

Nothing, something?
I thought it almost meant other things. But now I'm not sure. I've read through some criticisms. And what would it have been like if they'd never used that phrase? <comment><USER2> It's a bullshit corporate slogan that means nothing. $0.02

<comment><AUTHOR> Well, having a bullshit corporate slogan is par for the course for a muiltinational, right?

I guess if they're not legally enforceable any slogan or advertizement is crap.

I would consider that there's plenty of people susceptible to bullshit.</comment></comment>


Show HN: My opensource project has been approved on OpenCollective - <AUTHOR> https://opencollective.com/webhook <comment><USER2> I can't find a GitHub link.

<comment><USER2> Found it: [https://github.com/adnanh/webhook](https://github.com/adnanh/webhook)

I like it, but isn't it too complicated? Perhaps it would be better to write a small Python (Flask?) app for each kind of webhook you would be accepting, since you're going to run all this in your own server, with your own scripts and your own messy paths.

I've tried this in the past: [https://github.com/fiatjaf/requesthub.xyz](https://github.com/fiatjaf/requesthub.xyz), but the comment above also applies.

<comment><USER3> I've started using webhook (from Debian stretch repo) on client/internal projects.

For the task of "listen for http, run a corresponding script for each request" it seems to work quite well.

What are you referring to by "too complicated"?</comment></comment></comment>


Kickstarter in Canada - <AUTHOR> http://www.kickstarter.com/canada <comment><USER2> Yay! About time! We have countless inventions and art to promote.</comment>


Stem cell trial offers hope for children with autism - <AUTHOR> http://www.cnn.com/2017/04/05/health/autism-cord-blood-stem-cells-duke-study/index.html <comment><AUTHOR> Link to the referenced study: [http://onlinelibrary.wiley.com/doi/10.1002/sctm.16-0474/full](http://onlinelibrary.wiley.com/doi/10.1002/sctm.16-0474/full)</comment>


Odroid-C4 - <AUTHOR> https://www.hardkernel.com/shop/odroid-c4/ <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=22955077](https://news.ycombinator.com/item?id=22955077)

</comment><comment><USER3> The biggest reason to buy the raspi is the software support for the hardware. With lots of these competitor boards, you may get better hardware, but it will be forever stuck on debian of ages long past.

Until I am sure that software support for these other boards is good, I will forever stick to raspi.

<comment><USER4> According to hardkernel.com the Odroid-C4 runs Ubuntu 20.04 + Kernel 5.4

<comment><USER5> Is that "runs" or is 100% without workarounds?

<comment><USER6> In the past, their Odroid X2 ran fine, but did have a lot of custom patches in the kernel. This made it hard to update to newer kernel version.

If I remember correctly, the binary blobs for the graphics driver (Mali) were also hard to get for newer kernel versions.

</comment></comment></comment></comment><comment><USER7> I have 4 ARM Odroid devices, but I'm not going to buy another one. Even though some are advertised as supporting mainline Linux kernels, in practice none do if reliable operation is to be expected.

When you buy an ARM Odroid device, you're tied to Hardkernel's vendor-specific patches and vendor-specific Linux kernel branches. As you would expect, the quality of these patches varies from bad to absolutely terrible. If you visit the Hardkernel forums, you'll see people casually swapping patches to get functionality like USB to "work".

The practice of not even trying to merge with mainline is completely unacceptable, and not only leads to fragmentation but erodes any quality guarantees one can make about systems one builds on top of their products. They're literally running code that the mainstream Linux kernel development community has neither vetoed nor reviewed. It's for that very reason that I will not support them anymore. The ARM Linux ecosystem is bad enough without me subsidizing this sort of behavior.

It's also disappointing to see the Linux kernel community not coming down hard on such endeavors (Linus in particular could enforce the Linux trademark) since they dilute the entire ecosystem and erode quality. Odroid advertises Linux but it's not really running Linux.

<comment><USER8> Not entirely true. The process is not automagic, because you manually have to search bits from the device tree and put them into the one from mainline kernel. Furthermore fiddling with uboot is often needed. But it's absolutely possible to have rock solid operation with mainline linux. It just lacks the (right) vendor defaults in all sorts of places for now. This is my experience with Allwinner. But since i'm watching that SBC ghetto closely i'm aware of that being the case for the other vendors too, more or less. And when everything is _perfect_ the device is obsolete, EOL.

 _G_

(edit: reminds me of fiddling with custom ACPI tables because of crappy BIOS on PCs)

</comment></comment><comment><USER9> So it's $5 less expensive, but it's slower, doesn't offer cheaper versions or other configurations.

Please remind me why I'd ever go for this one?

<comment><USER10> Which of Raspberry Pi 4 or ODROID-C4 is preferable, depends on the application. Neither of them is better for all applications.

If the power consumption matters, then ODROID-C4 is better. If the performance of the non-volatile memory is a limitation, then ODROID-C4 is much faster. If the speed of DRAM is a limitation, then ODROID-C4 is faster. If the application requires sustained performance with all cores active, then ODROID-C4 is faster, unless a custom cooler is used with RPI 4, which must be either very noisy or very large (larger than the board).

<comment><USER10> To be more clear, the list of of advantages mentioned above make ODROID-C4 a better choice for any server-like application, while Raspberry Pi 4 is probably better for a personal-computer-like application. I do not use a credit-card-sized computer as a PC instead of my laptop, but I use such computers in server-like applications, so for my uses, ODROID-C4 is better.

After you add all the required accessories, the prices fror RPI 4 and for ODROID-C4 are very similar, for both of them you would reach around $100 for a decent system, but the ODROID shop is somewhat more convenient because you can buy from a single place almost any accessory you might need besides the basic board.

<comment><USER8> Needs machined aluminum case where bits of case reach down to the surface of the chips with just a small thermal interface pad or thermal grease between them. I don't like plastic with air vents, and fans.

</comment></comment></comment></comment><comment><USER11> I like my Pi clones, especially since before the 4 the rasPi lacked in areas that mattered to me.

But looking at these charts I see they omitted devices on some tests, especially toward the bottom. And herein lies the case study for the rest of us.

As a skeptical consumer of infographics, I smell a rat when the charts don't line up. And it doesn't matter if they still win on those benchmarks, what matters is the omission, which looks like you're trying to hide something. Since I don't work with these people, and can't just go ask what happened, the safe bet is to assume the worst.

Publish data for all competitors on all benchmarks or people will assume you are lying.

That said, they avoided the most common sin: in all charts where magnitude matters, they use a zero origin for the charts, so there is no distortion of relative value between options. They only chopped for graphs where steady state is the point (like thermals and frequency).

</comment><comment><USER12> My friend and I have messed around with these. He is a big fan of them, I'm more lukewarm. One of my complaints was that the OS and driver support always had something wrong out-of-the-box. Tried with the provided Ubuntu image, also with Odrobian (its a debian build for odroid), always some random problem. 2D video acceleration worked but 3d didn't, or maybe 2D drawing was busted but Kodi would run at 60fps. Maybe the audio worked, maybe it didn't. It was almost always fixable with enough time and effort but eventually I gave up on them.

Also build quality is a bit suspect, we've each had one or two of these things die on us.

Ended up replacing it with an Nvidia Shield.

On the upside, they're cheap and the metal case you can get for them is pretty cool. They don't run too hot and they're reasonably fast. For a while they were the only option with USB3

</comment><comment> m-p-3 More like an alternative than a clone. You can't take the MicroSD card with a RasPi OS and make a drop-in replacement as if it was the same components and expect everything to work.

</comment><comment><USER13> Neat... While Odroid has been around for a little bit offering an alternative to RPi the issue is always support and adoption. A lot projects are built on RPi and porting them over to other platforms while sometimes easy other times adds another layer of abstraction and random issues.

the other problem is if I need more Processing power I just move to an x86 platform... if I can't run it on a low power board.

</comment><comment><USER14> Its not really a clone its a different single board computer. A72 on pi4 is more powerful than the a55 on c4. GPU might be better on c4.

<comment><USER10> Cortex-A72 is faster than Cortex-A55, but only when it is well cooled, which will never happen on a credit-card-sized computer, unless you use either a noisy fan or a passive heatsink larger than the board.

ODROID-C4, as delivered, with only a small passive heatsink, can run indefinitely with all cores at 2 GHz, without overheating.

Therefore a Raspberry Pi 4 without improved cooling will be in many cases slower, due to throttling, despite the larger Cortex-A72 cores.

Moreover, Cortex-A72 implements an obsolete instruction set, while Cortex-A55 implements the ARMv8.2-A instruction set, which for certain applications, e.g. for the synchronization of multiple threads (i.e. for atomic instructions), has significant improvements.

</comment></comment><comment><USER15> I didn't get. Why anyone claim that this board is cheaper while RPI 4 2GB cost 35 bucks and have much much better CPU? 4GB doesn't make sense and almost always is an overkill.

I made a huge research trying to find cheap and powerful board for my prototypes. And RPI always wins in the price. Even Chinese clones are more expensive.

Why? It turns out RPI is a non profit.

</comment><comment><USER16> You know what else cost $50? 5x faster 2 year old laptop with cracked screen.

</comment><comment><USER17> We changed the title from "Odroid-C4 for 50 Dollar (Raspberry 4 clone)" since there were complaints about that being inaccurate.

</comment><comment><USER18> CoreELEC with 4k HDR and audio passthrough. This may be the new Kodi box.

<comment><USER19> CoreELEC on an N2 works extremely well, I expect this one to be no different.

</comment></comment><comment><USER20> Is this an exact clone? Why is it cheaper than a rpi?

<comment><USER21> No. It's a similar form factor and uses a compatible GPIO pinout, but the hardware is completely different -- the Raspberry Pi uses a Broadcom SoC; the Odroid-C4 uses an Amlogic part.

<comment><USER19> "Completely" is a bit of an overstatement, CPU arch is the same.

<comment><USER21> Barely. The Broadcom BCM283x family is pretty weird -- it uses a programmable GPU which is (among other things) in charge of the early boot process. The Amlogic part is a much more conventional design.

</comment></comment></comment></comment><comment><USER22> This is not a clone.

The C4 is based on the Cortex A55 (A5x models are typically the low- performance/power Cortex models), while the Pi 4 is based on the Cortex A72 (A7x are the high-performance/power ones).

<comment><USER23> Their CPU benchmarks indicates better performance for the C4 compared to the RPI4 though. Is it due to the A55 being more recent ?

<comment><USER10> The better performance is due mainly to faster flash memory (eMMC), faster DRAM memory and bad standard cooling on RPI4.

For benchmarks that depend only on the CPU, using an improved cooler on RPI4 would increase the sustained performance above Cortex-A55, except for some custom programs that could be written to take advantage of the newer extra instructions available on Cortex-A55.

<comment><USER10> I want to add that for a fanless credit-card-sized computer, a quadruple Cortex-A55 is the correct CPU choice.

A quadruple smartphone core like the obsolete Cortex-A72 or any of its successors, Cortex-A75, Cortex-A76 and Cortex-A77, requires a smartphone-sized board, unless you use a noisy fan for cooling.

There exists also the fanless ODROID-N2, with a quadruple Cortex-A73, which, being well designed, has a larger board, which has an area similar to a smartphone or NUC.

The RPI4 has a too large CPU for its size, unless fan noise is considered acceptable.

</comment></comment></comment></comment><comment><USER24> There is like 20 pages of reading, yet no mentioning how much RAM is in this thing...

<comment><USER25> You can find full hardware specifications at [https://wiki.odroid.com/odroid-c4/hardware/hardware](https://wiki.odroid.com/odroid-c4/hardware/hardware)</comment></comment>


Ask HN: Why doesn't Apple's Clips app ask for camera permission? - <AUTHOR> All apps downloaded from AppStore need to ask for permissions. The clips app doesn't ask permission for camera and other things like address book. How is it doing it and how? Anybody has any ideas? Is it private APIs or whitelisting? Looks like double standards. <comment><USER2> Well, the stock Camera and Photos apps don't ask for permissions either.</comment>


Instructors' Guide to Raft - <AUTHOR> https://thesquareplanet.com/blog/instructors-guide-to-raft/ <comment><USER2> I've recently started going through the Raft lab for 6.824 (and still working on it), and I /highly/ recommend doing the labs in this course (I am not an MIT student, nor in college). This course is fairly practical in nature, and will expose you to the real-world aspects of distributed systems!

Even the first assignment, which is just implementing aspects of mapreduce, will make you exercise some nice concurrency concepts. They have tests and everything to check that you have a working implementation!

At the very least, checkout the recommended readings!

</comment><comment><USER3> It's a 404 for me.

<comment><AUTHOR> Try again. Just did a re-deploy to fix a typo.</comment></comment>


Apply HN: Mealzie – Healthy, affordable meals from local families - <AUTHOR> Problem: You don't like to cook, don't know how to,  can't afford expensive dinners from restaurants everyday.<p>Solution: Many wives/mums who love to cook and do so for their families daily. It's not too difficult for them to make a couple extra portions. For you: affordable meals from people who cook for themselves and their love ones. For them: some extra cash. <comment><USER2> I thought about this previously. There's the obvious regulatory issues to deal with. I suggest looking into Cottage Food laws, which allow individuals to sell food that was prepared in their kitchens.

</comment><comment><USER3> Selling food requires government licensing and health inspections in most parts of the world. Many require the use of a commercial kitchen.

What is your plan to overcome this obstacle?

<comment><USER4> I'm curious if their is a legal loop hole where you can just say a person stopped by and rented your living room for an hour ..or something... and you just happen to decide to make them a meal while they were there.

</comment></comment><comment><USER5> This is exactly how eatwith.com got started.

In the Netherlands something similar was very popular for a while: 'aanschuifmaaltijden' (as a general term). Not anymore I think because local governments forbid or enforced strong regulation (just like restaurants).

</comment><comment><USER6> As others are saying, I think you will need to address food safety regulations very strenuously to have any hope of making this fly. Like offering classes and helping get people certified or whatever and standardizing packaging somewhat or something like that.

I have a serious medical condition. I get food poisoning super easily. Even if the government did not shut it down, I would absolutely not partake if you didn't have some system in place to assure me that this is reasonably reliable in terms of food quality, from a food safety point of view. If I am going to get sick eating this, it makes absolutely no sense for me.

I am kind of an extreme outlier in terms of sensitivity, but anyone can get food poisoning. You need to know how you are going to assure quality control wrt food safety.

</comment><comment><USER7> This is pretty common (albeit unorganized) in India. Would be helpful if a platform like this is used for organization/one stop shop kind of thing. Like others have mentioned, this might come across regulatory issues in the US. Maybe not so much in developing countries.

</comment><comment><USER8> The health department will kill this so fast, they will win the Breakthrough Starshot prize.

</comment><comment><USER9> There is an app called Appetite based in Montreal that is taking the same approach but using the students as the beta users.

</comment><comment><USER10> I was thinking many times how it would be great to have that available.</comment>


My RSI Notes - <AUTHOR> https://h4labs.wordpress.com/2015/07/27/my-rsi-notes/

<comment><AUTHOR> I've also include my notes on keyboards, mice, and programming by voice.</comment>


Ask HN: Is a hacker by nature pre-disposed towards Objectivism? - <AUTHOR>

I really am not trying to start a "fire fight" over Objectivism, but it occurs to me the individualist nature of the prototypical "hacker" is consistent with the values of Objectivism - self-reliance, work for one's own rational self-interest, don't "conform", etc.<p>(Full disclosure: I am a member of the Objectivist Party - http://www.objectivistparty.org)<p>Both from a personality standpoint of "individualism" and from a more general logical thinking/epistemological standpoint ("A is A") it seems to me that Objectivist values and beliefs are Hacker values and beliefs, or, at least, a "hacker" is statistically more likely than the average person to gravitate towards objectivism. <comment><USER2> Hackers tend to gravitate _away_ from labels like objectivism. Once one subscribes to a label, it invites toeing the party line and switching off the brain. Hackers are even nervous, it seems, about accepting the label "hacker".

Rand, like Marx presented a cartoonish, plastic version of reality that seems compelling at first but when considered carefully fails the test of being practical (or possible) to implement. After you get some distance you start to see the bits of reality that have been fictionalized and over-emphasized. Like using a parametric EQ on your favorite song to learn the bass line.

Hackers will generally accept people of any political makeup so long as their reasoning is clear and systematic and their initial assumptions are reasonable. They won't accept beliefs based on dogma, anecdotes, or superstition. This is why the hacker community tends to be so diverse yet seems to have so much cohesion. (So much, in fact, that the near total lack of venomous idealogical bickering might fool the uninitiated into thinking everyone must just believe the same as them.)

</comment><comment><USER3> Possibly, but most of us grow out of it by the time we reach our mid-twenties.

</comment><comment><USER4> Some parallels, Major differences. the Hacker mentality is something Ayn Rand would have never considered as incorruptible. Her view on white hats was never discussed even though she was around through it's birth and maturity. One of the great reinventions of the hacker community is 'you mess with me, me and my friends will screw you tenfold'. Selfgoverning society was often taken to it's basic animalistic extreme in Ayn Rand's perspectives, seeing it first hand would skew anyones faith in humanity. Hackers are more like mathematicians in not really caring about real-world applications of the knowledge sought, they are in it for the knowledge for knowledge sake.

</comment><comment><USER5> correct me if i'm wrong, but isn't this at least a little bit of an oxymoron? doesn't rational selfishness and/or moral egoism preclude the notion of having a job that is to serve others, i.e., run for or hold governmental office? or at the very least ensure a government corrupt on some level?

</comment><comment><USER6> >Is a Hacker by nature pre-disposed towards Objectivism?

Short answer: No.

Long answer: No, because it involves working with a closed-system that depends on taking a number of premises for granted.

A hacker by nature wouldn't constrain themselves to the limitations and premises that an outsider presents to them.

The Randian abuse of rudimentary logic (A is A) and pretension to being holders of the one-true-faith has worn on my patience over time.

This is it. This is where I draw the line. You people have invaded every intellectual space that you have no place in nor any relevancy to. Now you come here, my sanctuary where there is nothing here of any relevance to Objectivism.

Take your (albeit pseudo-godless) cult of personality elsewhere. Hackers aren't interested.

What you're doing here is making a common psychological mistake.

Premise #1: I believe A.

Premise #2: I who believe A, am smart. (lol)

Premise #3: I have discovered smart people.

Leads to:

Conclusion: Being smart people, they must therefore be inclined to discover this one-true-faith I am endeared to!

The worst part about this, is I dislike a great many things that the Objectivists are also against, (Plato for example), but their fanaticism and near-AIPAC-esque-media-reach tests my patience.

Some political notes on Objectivists:

Mainline Objectivists are extremely pro-war and are in support of the US using its military force to promote US economic interests and hegemony.

Peikoff was strongly in favor of partisanship in the middle east and in backing Israel, even at the expense of human rights amongst other things.

A particularly astute LewRockwell post: (Mind you, LewRockwell has the people who should be supporters of the Ayn Rand Institute and yet aren't. Hrrrrm, maybe there's something to this...)

<http://www.lewrockwell.com/orig5/raimondo1.html>

Libertarianism/Liberalism _is_ something hackers are inclined to, but it behooves me not to insult the title to say that they would be inclined to your dandy little war orgy.

No thank you, and please don't advertise here again.

Edit: Here's just plain a good site demonstrating their myriad sins.

<http://ariwatch.com/index.htm>

<comment><USER7> Obviously you don't like Objectivist political conclusions.

But Objectivism is not a political movement any more than the National Organization of Women or the National Rifle Association are philosophical movements. To properly attack Objectivist political conclusions, you have to go deeper and explain what you disagree with in the _philosophy_ itself and why your philosophical stance is relevant to the political conclusion you take offense to.

<comment><USER6> The philosophy is a broken set of assumptions.

</comment></comment></comment><comment><USER8> I am not sure what you mean by hacker, but, for example Stallman I am sure not an Objectivist.

I myself have beliefs closer to ones of Chomsky than of Rand.

</comment><comment><USER7> Yes, hackers are pre-disposed towards Objectivism.

Those that are not are: * unaware of Objectivism * or are unwilling to learn about it because of something they heard about from leftist cynics * or aren't really hackers in the first place</comment>


"Global Financial Crisis" Taught by US Secretary of Treasury Timothy Geithner - <AUTHOR> https://www.coursera.org/learn/global-financial-crisis <comment><USER2> Geithner advocated saving the big banks, and undermined any effort to help average people who couldn't pay their mortgages. That's why the "mortage relief" program was designed to not work. He represents the 1% who believe that wall-street is our real economy - and everyone else should just keep paying to support them in their endless quest for more money. I'd rather take a course from any of the economists who accurately described and predicted the problems - but they weren't the ones appointed to positions of power by either the Democrats or Republicans.</comment>


A Paper Algorithm Notation - <AUTHOR> http://canonical.org/~kragen/sw/dev3/paperalgo <comment><USER2> Everything old is new again

Ken Iversion originally designed APL as exactly this - an algorithm notation, then it was noticed that -- since this was well specified -- it could actually be executed. I urge anyone who finds interest in this to read Ken's "the description of finite sequential processes"[0], especially the description of the simplex algorithm[1], which is perhaps the most elegant I've ever seen.

I am actually surprised that kragen did not mention APL more, as I know he is familiar with it, and he is usually pretty good about giving credit where credit is due.

[0] [http://keiapl.info/eemcd/keisimplexpages/keisimplex447.html](http://keiapl.info/eemcd/keisimplexpages/keisimplex447.html)

[1] [http://keiapl.info/eemcd/keisimplexpages/keisimplex452.html](http://keiapl.info/eemcd/keisimplexpages/keisimplex452.html)

<comment><USER3> Lisp was designed in the same way. As I recall, it was Steve Russell who demonstrated that it could be implemented on machines of the day.

</comment></comment><comment><USER4> I don't see the point of precise handwritten software notation. Pseudocode is a thinking tool because of its ambiguity and looseness. We need to process problems in a number of passes of increasing precision and correctness, so we want to start with something that is more vague than a programming language. When we are ready for precision we can write the code, using encapsulation to manage how much of the problem we bite off at a time.

Also the point about pseudocode being unnecessarily cumbersome is not true IMO, because we don't need to adhere to any language syntax that we find redundant. I've never seen an audience to a whiteboard script complain about a missing colon or self/this keyword when the human context made it unnecessary.

<comment><USER5> I actually have seen folks complain about missing semicolons. Luckily, they did not take the stance heavily and getting them to discuss it immediately led them to agree it didn't matter.

I go so far as to say any coding in stuff like google docs can miss items like semicolons without a bat of an eye from me. Sure, they are typing. But if it is not their normal coding environment, the aesthetics and finer points of the language are... superfluous at best for the points I generally care about in that kind of correspondence.

</comment></comment><comment><USER6> This is really neat! It's fun to imagine what true 2D programming could look like, unconstrained by bitmap fonts.

I'll state the obvious, though: this isn't going to be useful for the #1 time I need to code on a whiteboard: interviews. Both parties need to be familiar with the syntax in order for it to be useful.

Tangentially related: check out these alternative musical notations: [https://www.quora.com/What-are-some-alternatives-to- standard...](https://www.quora.com/What-are-some-alternatives-to-standard- written-music-notation)

<comment><USER7> A couple years ago, I played around with the idea of a "shorthand" for algorithms, specifically for whiteboard interviews.

[https://github.com/michaelchisari/scrwl](https://github.com/michaelchisari/scrwl)

It was based on shorthand writing systems that emphasize a minimal amount of strokes, and the ability to continue strokes into each other.

<comment><USER8> Did you get around to writing examples? None show up for me.

<comment><USER7> I didn't, unfortunately. Other projects ended up taking priority.

</comment></comment></comment></comment><comment><USER9> This seems overcomplicated. Theoretical computer science papers just write the algorithm in words, using widely accepted mathematical notation wherever they can (e.g. sigma for sums, set notation, and so on).

<comment><USER10> It seems that this isn't for CS paper writing, but for writing pseudocode during design, which needs much more flexibility than communicating results in a POPL paper.

<comment><USER11> Regular pseudocode, formal specs close to programming (eg VDM language), and graphical stuff like Statecharts worked well in industry for a long time. Including for high-assurance systems where ambiguities lead to catastrophic failure. Middle option was advantageous where it was precise enough for tools to catch errors or prove properties. Any of these worked well enough and didn't look as weird as OP to average programmer.

<comment><USER10> Those are fairly established notations that...when hey first came out, weren't as obvious as they appear now.

It is unfair to expect that pseudo code notations be static at this point in history when new programming languages that look "weird" pop up all the time.

</comment></comment></comment></comment><comment><USER12> There is a real need for a concise notation for collaborative whiteboarding, so I see this as a good start.

I'd even go so far to say that as a notation for interviews, if the candidates were informed ahead of time, then I can see it working out better than the current approach for both candidate and interviewers.

At the very least, you could see whether the candidate could _learn_ a new notation, and that alone is a pretty valuable signal.

<comment><USER11> "At the very least, you could see whether the candidate could learn a new notation, and that alone is a pretty valuable signal."

I could see that as a benefit. Much like how they would have to learn unusual requirements or API's on the job then solve problems with them. A notation like this and basic specs might be a useful filter.

<comment><USER13> cruel and unusual :)

</comment></comment></comment><comment><USER14> _COUGH_ [http://www.jsoftware.com/papers/APL.htm](http://www.jsoftware.com/papers/APL.htm) _COUGH_

</comment><comment><USER15> Clearly there is room for improvement in this area.

But I'd rather see papers include code snippets.

If a widely used and highly readable language is used (Python, for example) then the meaning of what is going on would be much more clear, and in some cases could be immediately tested out with ones own data or at least played with in an existing, widely installed, live system.

<comment><USER16> I think ideally a psudo-code should be directly translatable into any programming language. It should be dead simple. It should use all of the best practices of the most common programming languages. It should be typable.

None of this garvage of arrows and triangles. I'm not Greek, I don't have that kind of stupid keyboard.

Also, it should follow programming practices for variable names.

Rather then A, B, C, D, X and the lot use forward_momentum or ForwardMomentum. We're not using typewriters any more. The extra few keystrokes for typing out words, and not symbols, is well worth it.

<comment><USER11> Interestingly, exactly how it's done in almost every academic paper or article on software I've read outside some really niche ones. Plus most prototypes in industry that were done as UML, Visual Basic, etc. Python got somewhat popular in this niche as it's quite readable & high-level.

The people downvoting these comments don't represent a majority opinion on pseudocode in any way. Quite the opposite.

<comment><USER16> I'm an undergrad and I'm currently working with people in the physics. All of their code, python or not, uses N, n, and x as the most common variable names.

<comment><USER11> That is a recurring problem. The structure is easy to follow. Variable names often suck. I think they get it from their Algebra and Calculus classes because that was first type of books I saw using those letters almost exclusively.

<comment><USER17> It's almost as if algebra would also make more sense with better variable names, rather than simple letters...

<comment><USER11> It would. Start with the word problem. Define some variables maybe big or short-hand closer to actual description. Then use algebra with those variables to model the problem in math. Solve it. Others understand it more easily in peer review.

Much like programming and code review.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Looks like he's got another potential gem here: [http://canonical.org/~kragen/memory- models/](http://canonical.org/~kragen/memory-models/)

<comment><AUTHOR> Oh yeah. That whole site is a gem.

</comment></comment><comment><USER19> I think the real question is, why is the amazing interactive simulation medium that we call a computer so _abysmal_ at capturing and representing ideas (particularly ideas about _the computer itself_ ) that we have to resort to inventing a new _notation_ for _pencil & paper_ to deal with it?

<comment><USER20> I don't think that's the issue here. It's the verboseness of code/pseudocode which this solves. The understandingness of code was not raised as a problem.

This notation is not to say that ideas can be expressed _better_ on paper with this notation, but rather that, in situations where you must use pencil (such as whiteboarding), code is overly verbose and this notation is less so.

Then again, I do see some benefits of writing this on paper over writing code on a keyboard, like the flexibility of being able to write wherever you want, and write notes or pictures in the margins. But these are minor.

Also I may have misunderstood your comment.

Edit: actually, upon rereading: I guess you were referring to this line in the opening paragraph

>But our programming languages are very poorly suited for handwriting: they waste the spatial arrangement, ideographic symbols, text size variation, and long lines (e.g. horizontal and vertical rules, boxes, and arrows) that we can easily draw by hand, instead using textual identifiers and nested grammatical structure that can easily be rendered in ASCII (and, in the case of older languages like FORTRAN and COBOL, EBCDIC and FIELDATA too.)

which is an interesting thing to think about. So I guess your criticism of modern computers for representing ideas is valid. But I suppose the advantage of the more restricted inputs of a computer (keyboard into a 1d string of ascii text) is the structure that it inherently has, that paper and pencil does not. So there are tradeoffs.

</comment></comment><comment><USER21> Reminds me of notation used un Old Lisp books (queinnec).

Personally I find ml to be much of what concise and unambiguous hand notation should be. Probably why I like it.

</comment><comment><USER22> minor nit but this feels very much like it was designed by an academic in that I think you could do this in latex very easily but not at all in a standard text editor. Those horizontal and vertical lines. But otherwise you need a specialized program or a whiteboard to pull this off. Also all those math symbols. I don't know where those live in my input.

</comment><comment><USER23> Hm, I thought the point of pseudocode was that it is simple to write down, and everyone understands it.

This misses both of those advantages.

<comment><USER10> "Everyone understands it" is not a goal of psuedocode.

<comment><USER24> One of the first sentences on Wikipedia about psuedocode:

> The purpose of using pseudocode is that it is easier for people to > understand than conventional programming language code, and [...].

So in common usage, "psuedocode" is supposed to be easily understood. I imagine that that _isn 't_ one of the goals of this new notation, though. It looks more useful for internal use (e.g., within your team) than external use (e.g., a whiteboard interview), since it's basically unreadable if you haven't seen it before.

<comment><USER10> Yes, but this is not even close to what parent stated.

All notation has a learning curve, PHBs won't just be able to understand them without putting in some effort.</comment></comment></comment></comment>


Do we really need a new BGP? - <AUTHOR> https://blog.apnic.net/2018/01/16/really-need-new-bgp/ <comment><USER2> I have to disagree with the primary point being offered up in this post. In my career I've met quite a few network engineers who don't think sufficiently outside the box. They typically say "this is how it's done, this is how it works." The idea that we can't come up with a better protocol than BGP to manage the interconnections of the Internet is absurd. We don't say "well security isn't a programming problem, it's a human problem, so there's no point in making safer programming languages." BGP is a ridiculous system of complete trust just like many older protocols.

If we sat down and started designing a routing protocol to handle the advertisement of routing tables on the internet, would we come up with BGP again? Would the new protocol potentially offer up fixes for some of the most common and obvious problems with BGP? Then there's potential for improvement.

The network industry resists and slows the horribly needed disruption in several key areas through the dogmatic defense of the status quo that we typically hear from its constituents.

This is why so many of us pray for SDN. It's the only way to wrest control of networking away from those who typically have dogmatic vendor based training rather than a "network science and theory" education that leads to innovation.

<comment><USER3> >This is why so many of us pray for SDN. It's the only way to wrest control of networking

Why not take the standards approach and draft a protocol spec? At some point, you'll need to interoperate with those horribly dogmatic vendor hugging networks that serve the majority of traffic on the internet.

>who typically have dogmatic vendor based training rather than a "network science and theory" education that leads to innovation.

I've seen this as well, and it can be frustrating. Part of me believes this is a defense mechanism used to prevent developers from pushing problems into the network. The other part believes that network engineering has drawn individuals to the field based on earnings potential rather than interest in the work, and the talent just isn't there. Both are anecdotal, so grain of salt and all.

<comment><USER2> > At some point, you'll need to interoperate with those horribly dogmatic > vendor hugging networks that serve the majority of traffic on the internet.

And this has been their defense all along. It serves the status quo to imply that transitions must be difficult. IPv6 being the most obvious example today. Of course as DJB pointed out, backwards compatible IPv6 would have already rolled out by now, at the cost of a single /64\. Dual stack was literally the most difficult way to accomplish IPv6.

Now let's look at the BGP situation. As long as the outcome is the same (same routing tables result in nominal situations), any two ISPs could choose to use a different protocol for their interconnection. Same thing that has happened with a lot of supplemental networking protocols.

There are BGP alternatives on deck. What we don't need is high profile network engineers speaking out against them and in favor of the status quo. The truth is, networking is the one part of the industry that isn't improving at the same pace as the rest. And all the improvements that are happening seem to be related to single links and switching, whereas the defense of networking dogma is related to routing. According to the holy bible of networking, switching is easy, routing is hard. Routers must be memory restricted with small memory footprints to artificially create SKUs. Routers must operate on multi-minute timers rather than seconds. Building routing tables is an insanely intense and time consuming process. Blah blah blah.

The reality is, almost all of these problems are contrived to maintain the status quo and so network vendors can ignore the pace of hardware and instead set SKUs at resource levels that force you to use the "appropriate" piece of hardware for the appropriate task.

Another smell that should make this obvious to everyone is that almost every major company has had high level engineers make some statement of how network companies are ripping you off, and explaining how they bought white box network solutions that route layer 3 at wire speed, converge rapidly, and have tons of memory. Not to mention the vast improvement something like well designed SDN can provide.

The network companies rely on the fact that most companies don't have the labor or expertise to use white label solutions. But that doesn't disprove the point. That proves the point that the state of hardware is "super cheap components provide all the switching and routing performance and memory needed for almost 99% of networking purposes." Companies like Cisco are playing the Intel +25Mhz game. Supposedly disrupting companies do so at an awfully measured pace. And the network staff generally will open up to off brand switches but start to shy away at routing, especially edge routing.

As an industry, networking needs to be disrupted and it needs a severe model change. People involved in networking need to get on board, and those who don't and insist on fighting for the status quo need to be left behind.

<comment><USER4> > Routers must operate on multi-minute timers rather than seconds.

s/operate/interoperate/g

> The network companies rely on the fact that most companies don't have the > labor or expertise to use white label solutions.

Or, white-box solutions are to complex for the enterprise to operate.

> And the network staff generally will open up to off brand switches but start > to shy away at routing, especially edge routing.

That's because the routing usually doesn't work!

> As an industry, networking needs to be disrupted and it needs a severe model > change.

[https://www.youtube.com/watch?v=oNXwxl2Q1tQ](https://www.youtube.com/watch?v=oNXwxl2Q1tQ)

</comment></comment></comment></comment><comment><USER5> Slightly aside of BGP on an internet scale - We've recently switched to using BGP internally within our network for kubernetes + load balancer (nginx) routing, (announcement / discovery) amongst other things and I can tell you - it's one of the best moves we've ever made. The simplicity, performance and reliability is brilliant.

[https://www.projectcalico.org](https://www.projectcalico.org)

<comment><USER6> OT: is this really "simple" to setup or do you mean that once it's running that it's simple? or what do you mean with simplicity. I actually looking forward to use k8s in our network, too. But I think the simplest solution for HA k8s is using keepalived paired with nginx/haproxy on the master level and add a keepalived-vip for every service.

(at least for our 3 node master, 3 node worker setup)

(I evaluated the calico + bgp option, too but it looked way to complex, as a k8s starter)

<comment><USER7> Yes, it was very simple to setup, deploy and understand on an ongoing process, BGP is incredibly simple by design.

I'm heading to bed now (AEDST), but check out:

\- [https://docs.projectcalico.org/latest/getting- started/kubern...](https://docs.projectcalico.org/latest/getting- started/kubernetes/tutorials/simple-policy)

\- [https://kubernetes.io/docs/tasks/administer- cluster/calico-n...](https://kubernetes.io/docs/tasks/administer- cluster/calico-network-policy/)

And there's plenty of other resources out there. IMO if you're designing a highly available platform, BGP is one of the simplest parts of that complex system.

In my experience you're likely to run into much more finicky problems with higher layer systems including failover delays, reliance on casting systems and state drift.

</comment></comment></comment><comment><USER8> Technology doesn't magically fix human problems, but good uses of technology can play to human strengths so that humans make fewer mistakes, or the mistakes have fewer bad consequences. BGP can and should be implemented so that the human operators are making the fewest possible mistakes and those mistakes have the least bad consequences. I doubt that protocol changes are what is needed, but that doesn't mean sitting on our hands is the right choice.

<comment><USER9> As I understand BGP, any updates published by any AS may arbitrarily re- route/disrupt traffic, ie it is not sufficient for me to update my systems, everyone must update all systems for the overall routing infrastructure to be protected. That sounds a lot like a protocol change to me.

<comment><USER10> > any updates published by any AS may arbitrarily re-route/disrupt traffic

Fortunately, most ISPs are doing strict filtering on announcements on customer ASes. It's when mid-to-large ISPs fuck up (or neglect the filtering part) that it becomes a problem.

</comment></comment></comment><comment><USER11> Yes we do, there are problems which beg to be fixed. Most of current complaints are about security, in one way or another require plenty of CPU horsepower (which most routers don't have - CPU peaks while suddenly switching upling and retriving fullview is still a typical picture in a modern ISP). What it takes to prevent something like NLRI spoofing? Plenty of layers of data security.

And it still won't fix the human problem underneath it.

Security-aware BGP versions like S-BGP, soBGP and psBGP address most of security concerns, add plenty of router load and still... don't solve some of the human problems.

But current publicly made suggestions on replacing it with something completely different even lack proper understanding of design goals of original BGP standard.

<comment><USER12> Many years ago I ran a small hosting ISP, ~10 cabinets. One of the choices I made and still stand by was I used Linux-based routers.

We could throw tons of CPU horsepower at it and the fast path and the slow path were the same thing. We had deep Linux expertise, but only passing Cisco expertise, so staying with the Linux networking stack required less specialized knowledge.

But, while most people were worrying about the size of the BGP tables, or trimming the announcements they were receiving, we could get full feeds and never had memory problems. We could run strong filtering, to make sure we weren't sending or receiving any junk like bogons or our users weren't sending with spoofed addresses, without worrying about adding one rule running past the ASIC memory and causing everything to go slow path. We had high availability. All for around $2500 in hardware.

It always seemed crazy to me that they would put such small CPUs in the high end routers. I know they tried to have that CPU do almost nothing, and the ASICs do all the heavy lifting. But for our needs, having an insanely fast CPU and dumb interfaces was perfectly adequate, and let us do full BGP feeds on a $1200 router.

The only real trick we did was we used one network interface and VLANs, and had the multiple network connections terminated at the switch. We were able to get feeds via fiber that we could just terminate in an SPDIF module in the switch. We had 4 core CPUs, so this allowed us plenty of horsepower to manage packet storms or DDoS instead of livelocking the kernel with too many interrupts (it took a while for the kernel to switch from interrupts to polling, and if packets ramped up too quickly the kernel couldn't switch if you didn't have more CPUs than interfaces).

<comment><USER13> I run a not too small hosting ISP today, and ten years ago I used routers based on commodity hardware running OpenBSD. Back when we were at Gbps scale and most customers were on 100Mb links, this worked fine. However, it did not scale to 10Gbps+, let alone the 100Gbps+ of capacity we're at today.

Beside the obvious case of performance not keeping up in aggregate, performance for just customers being on 1Gbps links was not as good. We found individual TCP session throughput routed through commodity hardware was noticeably lower than using a layer 3 ASICS based switch despite various attempts at tweaking various kernel sysctl variables.

Also, because nobody operates commodity based hardware routers at carrier scale, you cannot trust any open source BGP daemon's implementation of BGP confederations if they even have it at all. At that, I wouldn't really trust any vendor other than Cisco or Juniper for carrier scale routing.

So even if someone were to create a popular, open source routing project making use of DPDK to increase performance scalability on commodity hardware, I'd still stick to Cisco or Juniper solutions like CSR 1000V or vMX for the foreseeable future if I really wanted to use commodity hardware, as the full feature set is going to be proven and mature. I'd want to see any new product stand up well for 5+ years at carrier scale production use before I'd give it any serious consideration.

Even then, I'm not sure how well DPDK will stand up to UDP reflection volumetric type attacks which now dominate DDOS. The top packets/s levels achieved are barely sufficient for simple routing, and would likely drop precipitously with a modest ACL in place, in comparison to ASICS based routers being able to still do full line rate with ACL's that have a large number (hundreds) of terms.

<comment><USER12> So what is our option for securing BGP-like functionality? The thing that triggered me to tell this story in reply was the part about how most routers don't have the CPU to do the security necessary for more enhanced security.

At the time I was deploying Pentium D in the multi-GHz range routers, the hot- shot Cisco routers were running 100MHz MIPS CPUs, IIRC.

I know they put a ton of emphasis on the ASICs, but seems like they maybe need to splurge a bit on the CPUs. :-) That being said, I haven't really been doing much networking these days, I now just work for a single org, we let the facility do the heavy routing.

<comment><USER13> Not sure how far back you're going, or which model of Cisco router you're referring to. I first cut my teeth on networking working at a Tier 2 carrier back in 2005 on Cisco GSR's (12000 series) which use a 200MHz R5000 MIPS CPU, but they were already quite long in the tooth at the time and were one of the few remaining networks still running them. And I do recall implementing ACL's to be an issue. Not sure if you were referring to ACL's or BGP policies themselves when referring to securing BGP.

These days, a full BGP capable router starts with the ASR1001 for Cisco which starts with a 32bit 1.5GHz CPU + 4GB RAM on the RP1 and goes up to a 64bit quad-core 2.2GHz CPU + 8-64GB on the RP3. Juniper land, the lowest end non-EOS router would be the MX80 which comes with a 1.33GHz PPC CPU and 2GB RAM, but unofficially Juniper will always steer you towards the MX104 with a 1.8GHz CPU and 4GB of RAM. I can't comment on the ASR's, but we have MX80's and we can do line rate ACL's with hundreds of terms in ASICs without issue. BGP policies themselves are still handled by the CPU though, and are indeed quite slow on the MX80's with full convergence taking up to 20 minutes or so. We've mostly relegated them to core switching duty at this point though, and are waiting for the new MX204's (800Gbps in 1U) to become mature enough before replacing them.

Moving up a bit, we use MX480's as well which we currently have routing engines with 2GHz Intel CPU's and 4GB of RAM, which I believe these are already EOS, but not enough of an issue for us to buy upgraded routing engines for this platform. These do full table re-convergence in about a minute or two. I believe quad-core 1.8GHz is standard now though, with up to hex-core 2GHz available. I don't think CPU's are really much of an issue anymore, although obviously still not as fast as what you can find easily enough in commodity hardware. The ASICs handle most things flawlessly though.

<comment><USER14> Well... As someone outside of that arm of the industry, I have to wonder about what exposure there is to spectre, or what kind of patches are coming out for affected machines.

<comment><USER13> JunOS is based on FreeBSD, which doesn't have a fix yet. Not sure about the different variants of Cisco IOS. You wouldn't run untrusted code on a router though, so spectre would not be a concern. In fact, it's probably better not to patch for it given the performance degradation.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> If we don't replace BGP, people with BGP access are going to keep "accidentally" redirecting compute resources from AWS and other data centers to themselves so they can man in the middle crypto mining, and steal millions.

</comment><comment><USER16> I don't think we need a new bgp, we just need to fix the old bgp. I have yet to see a practical and realistic alternative. Also, don't forget MPLS is very interdependent in it's current state on BGP, and MPLS is really awesome.

Yes, BGP has some weaknesses, but perhaps calling for a new bgp is throwing the baby out with the bathwater.

You know what I think is more of a problem is vendor market dominance that uses closed source proprietary boxen on proprietary platforms designed for vendor lock in.

Also, some have referenced the power of asics in these black boxen over cots hardware, but these days thats not true because there are open source systems with asics in them.

Not exactly related to BGP, but I did an entire infrastructure upgrade for a company. I talked to every vendor in existence, extreme, juniper, cisco, brocade, etc etc. I ended up going with Ubiquiti and saving over $50k... These vendors are gouging customers who already have problems with IT infrastructure budgets, and I'm tired of dealing with them. (and their often non-spec implimentations of protocls)

On top of that, you would be amazed at how many "network engineers" don't know anything but cisco, and couldn't route their way out of a paper bag in anything else, this result of the vendor lock-in is much more of a problem.

Lets also not forget to mention the NSA-cisco, etc backdooring systems.

</comment><comment><USER17> "We've somehow forgotten the old maxim that a protocol is not done until we have removed everything that is not needed."

Would software and web developers ever consider adopting this maxim?

As a user, I would enthusiastically support the experiment.

(For example, results might be smaller program size, and less code for interested users and others to audit.)

<comment><USER18> A bit of topic obviously here. But that's how overall I feel about Apple's UI experience or product design in general. The UI interaction if you think about is also a protocol of sorts - between user and the device.

Say user scans the the preferences window, finds the checkboxes they were looking for , picks one, clicks on it, it reacts back and is marked as such and so on. Now try to reduce the number of needed actions and decisions needed by the user there. Maybe they don't have to click "Apply" button when done. Or maybe there are only 2 checkboxes. Or they are not even in the preference menus at all.

</comment></comment><comment><USER19> The relevance of "you cannot solve people problems with technology" point is debatable. Sure, some problems you can't solve, but a properly designed system can definitely reduce the risk of human error - we've seen this in fields such as aviation and medicine (to some extent).

But what isn't debatable is the fact that BGP is a security nightmare, and there's really no reason for internet routing to be so vulnerable. It's amazingly simple to divert traffic using BGP, and it has been so for years - [https://www.youtube.com/watch?v=S0BM6aB90n8](https://www.youtube.com/watch?v=S0BM6aB90n8).

</comment><comment><USER20> The author states:

>"From time to time, I run across (yet another) article about why Border Gateway Protocol (BGP) is so bad, and how it needs to be replaced. This one, for instance, is a recent example."

Yet if you read that linked article this author references in the last sentence, that article does not suggest replacing BGP at all. That referenced post even states:

>"How do we fix this? Well, aside from making sure that anyone touching BGP knows exactly what they're doing? Not much."

And then the referenced article goes on to mention RPKI and the MANRS frameworks which are not routing protocols nor are they meant to replace BGP.

</comment><comment><USER21> Operator and designer mistakes happen, the goals should be to make simple systems easy to build. Complex networks will need thoughtful solutions, and better designs will have fewer operator interventions.

I could be petty and pick apart the article for mistakes, but I agree with the gist- If you compose your needs and environment and use the right design you might not hate the protocol(s) you end up with?

</comment><comment><USER17> Reminded me of this: [https://media.ccc.de/v/34c3-9072-bgp_and_the_rule_of_custom](https://media.ccc.de/v/34c3-9072-bgp_and_the_rule_of_custom)

One of the better talks I watched from this years conference.

</comment><comment><USER22> We wouldn't need BGP at all if they hadn't ditched flow routing from IPv6 before it even became a proper draft, and if IP in general wouldn't assume we still use thicknet everywhere.

</comment><comment><USER23> I wonder how it relates to SCION ([https://www.scion- architecture.net/](https://www.scion-architecture.net/))

<comment><USER24> It states: You become immune to current BGP-level attacks, such as prefix hijacking.

</comment></comment><comment><USER25> Well isn't this just a case of company's hiring the wrong people...

And there should be a better commit and audit system before changing peer routers on a ISP.

<comment><USER21> costs, costs, costs. As your IP service becomes commoditized fewer, not more, engineers make bigger changes. Interestingly, expert systems reduce, not improve, the quality of the operating engineers: [http://journals.sagepub.com/doi/full/10.1177/000183921775169...](http://journals.sagepub.com/doi/full/10.1177/0001839217751692)

</comment></comment><comment><USER26> Does BGP have the equivalent of DNSSEC?

<comment><USER27> Yes, RPKI. Not that widely deployed, <20% of ASs, last time I looked.

</comment></comment><comment><USER28> i would think BGP is needed now more than ever considering the move to ipv6.

<comment><USER8> Mostly this makes no sense because the things BGP cares about are orthogonal to mere IPv4 or IPv6 addressing.

But if there is a difference, IPv6 means less prefixes are needed for any given provider, since the IPv6 prefixes are huge and unfragmented, we can usually give a provider enough address space in their initial allocation to last them forever, and if they exceptionally out-grow it, the larger space is available, whereas with IPv4 there's no chance anybody can give you a /16 even if you warrant one.

<comment><USER29> It means less prefixes until people start announcing each /48 in their /32 separately...

<comment><USER30> Oh yeah, nothing makes a mess of your network like someone coming in and saying "we need to remove these IPs from the middle of our advertised blocks for security reasons".

<comment><USER31> I think we're going to see less of this due to IPv6's design, renumbering is less of a pain than it was with IPv4 so instead of splitting off a route in the middle of your address space and bloating the BGP table you can just move to a different subnet entirely.</comment></comment></comment></comment></comment>