Enabling HTTP/2 for Dropbox web services: experiences and observations - <AUTHOR> https://blogs.dropbox.com/tech/2016/05/enabling-http2-for-dropbox-web-services-experiences-and-observations/ <comment><USER2> > _Be careful with enabling HTTP /2 for everything, especially when you do not > control the clients. As HTTP/2 is still relatively new, from our experience, > some clients/libraries and server implementations are not fully compatible > yet._

One of the main excuses given for not enabling HTTP 1.1 pipelining was a small amount of software that didn't handle it correctly. According to Google, we needed a new protocol so we could start out fresh where there wouldn't be software not implementing the protocol correctly.

But according to this report, the browser with the largest market share and by the creators of HTTP/2 had a bad implementation of it for which a workaround had to be found for.

For history's sake we should recognize now that this buggy software argument for not enabling pipelining was never valid. Not enabling pipelining was used as a political tool to prevent HTTP 1.1 from being on par performance-wise with the new protocol people wanted for other reasons, and that's also why Google never even once tested SPDY against pipelining.

<comment><USER3> > Not enabling pipelining was used as a political tool to prevent HTTP 1.1 > from being on par performance-wise with the new protocol people wanted for > other reasons

I'm curious, what are the politics behind this? What are the 'other reasons'?

<comment><USER4> > I'm curious, what are the politics behind this? What are the 'other > reasons'?

Google is very good at seeing their own needs and deciding that what is good for them, at their Gigascale, must be good for everyone else on the internet too.

And then they push it in their own products and in their own browser, without any proper concern about internet standards and the processes for being then established in a proper and cooperative way.

Like they did with SPDY, which is now the overly complex and buggy HTTP/2.0.

If they didn't have their own browser, they would not be in a position to do things like this. I sometimes wish for an antitrust case against Google: that they cannot operate the major websites and have their own browser at the same time, much like the ruling against Microsoft over bundling Internet Explorer.

<comment><USER5> > Google is very good at seeing their own needs and deciding that what is good > for them

Even within Google the Chrome team is known to make moves that piss off others at the company. The Chrome/Flash debacle last summer was a good example. The AdX teams, like the rest of the ad industry, were not thrilled with the change being forced on the industry.

<comment><USER6> They'll be even less happy today [0].

[0] [http://arstechnica.com/information- technology/2016/05/html5-...](http://arstechnica.com/information- technology/2016/05/html5-by-default-googles-plan-to-make-chromes-flash-click- to-play/)

</comment></comment></comment></comment></comment><comment><USER7> Great to see dropbox pushing forward with HTTP/2.

I find it especially remarkable that dropbox co-sponsored the nginx HTTP/2 module. This really brings benefits to all of us instead of treating such improvements as company internal secrets. Thanks!

</comment><comment><USER8> While they don't specifically mention it in the post, they probably had to put some effort in making sure ALPN is still supported [1]. It is in their case, which means they either run a custom compiled version of Nginx (compiled against either OpenSSL 1.0.2 or LibreSSL) or have a system-wide up-to-date version of OpenSSL.

Either way, nice move Dropbox!

[1] [https://ma.ttias.be/day-google-chrome-disabled- http2-nearly-...](https://ma.ttias.be/day-google-chrome-disabled-http2-nearly- everyone-may-15th-2016/)

</comment><comment><USER9> This is great. I love to see more about front-end load numbers.

As we are moving to HTTP/2 and JavaScript heavy applications are everywhere we should stop bundling all of JavaScript files into a single big bundle file. It will help with caching a lot because right now we update the bundle if a single line in the code base changes. A lot of front-end build systems are optimized for HTTP/1.1.

<comment><USER10> It depends what you mean by "bundling". For ClojureScript, the output is passed through the Google Closure compiler with advanced optimizations. The result is not a concatenation nor just a minimization -- it is a rewritten program, containing just the parts that are needed and significantly optimized.

So, the big resulting file is not a "bundle" and can't easily be split into parts.

<comment><USER11> For a large application, I wonder if you could configure Closure to output multiple files.. Maybe libraries and such in one file and client code in another? I would imagine you could at least split the code there.

<comment><USER12> Yes, Closure Compiler can be made to generate multiple files in this way. IIRC you can give it multiple entrypoints and it will generate files with the code unique to each entrypoint, plus one with the shared code.

</comment></comment></comment></comment><comment><USER13> The thing I find odd is the bugs in Chromium. Why would google drop support for spdy if their http2 implementation contains such (noticable?) bugs?

<comment><USER14> Because it's difficult to support both, HTTP/2 is the future. There's a reason they have regular, automated updates by default.

</comment></comment><comment><USER15> It would nice to see the reduction in response time for a average GET/file. I see that the author does say he saw similar response times as was seen on the canary but I was expecting some benefit over HTTP/1.1. The reduction in bandwidth might be great but the trade off there was to use the client CPU and wanted to see the breakdown on perf improvement.

</comment><comment><USER16> If you want to test a HTTP/2 config, here are some good tools you can use: [https://blog.cloudflare.com/tools-for-debugging-testing- and-...](https://blog.cloudflare.com/tools-for-debugging-testing-and-using- http-2/)

I suspect we'll see more HTTP/2 servers now that Ubuntu 16.04 has been released.

</comment><comment><USER17> I just tried HTTP/2 on nginx 1.10.0 and got constant "client sent stream with data before settings were acknowledged while processing HTTP/2 connection" errors from many different client addresses. This was on a standard website with regular browser traffic.

<comment><USER18> This is because nginx has some interesting assumptions about the HTTP/2 preamble works. See this mailing list thread[0] for discussion about it. See also the nginx bug[1].

The TL;DR is that nginx wants to do some weird stuff with flow control to avoid the need to do internal buffering. nginx is definitely outside the RFC here: what the client is doing is entirely acceptable.

[0]: [https://lists.w3.org/Archives/Public/ietf-http- wg/2016AprJun...](https://lists.w3.org/Archives/Public/ietf-http- wg/2016AprJun/0174.html) [1]: [https://trac.nginx.org/nginx/ticket/959](https://trac.nginx.org/nginx/ticket/959)

<comment><USER19> I just read the mailing list post that was referenced in the article ([http://mailman.nginx.org/pipermail/nginx- devel/2016-May/0082...](http://mailman.nginx.org/pipermail/nginx- devel/2016-May/008211.html)) and found nginx flow control handling also quite peculiar there. Setting the initial flow control window to 0 and then increasing it based on content-length will increase the latency a lot and opens the window for lots of interoperability bugs. E.g. because the client already starts a stream and sends data (based on the default flow control window), which then gets rejected and which might not be retried (depending on the client libraries implementation).

Would be interesting to know what nginx does when it receives no content- length header, which is also valid.

From reading and implementing the HTTP/2 spec the setttings negotiation is the biggest weak spot in opinion, because it represents a big race condition where the expectations of client and servers probably won't match. I would have preferred it if they would either have put in a mandatory wait for SETTINGS ACK until streams can be acknowledged or if the default settings (window size, HPACK table size) would be very low and could only be increased during negotation. With the given HTTP/2 spec I would most likely try to be conservative as a library or application author and just announce/use the default settings or bigger ones in order to avoid compatibility problems. For most server this should be possible. However for constrained devices lower default settings would have been preferrable.

<comment><USER18> Yeah, I agree that for constrained devices this is somewhat problematic, though I'd say the only big concern there is header table size. Even that can be coped with, worst-case by just enforcing the lower-limit from the get-go and GOAWAYing if the client violates it.

But yes, nginx's HTTP/2 implementation is really quite strange to me.

</comment></comment></comment></comment><comment><USER20> My own experience and observation - http2 is going to very awkward to enable on Centos until openssl is updated to 1.0.2. (supporting ALPN as required by Chrome).

I'm not prepared to custom compile something like openssl, especially when it requires frequent updates.

</comment><comment><USER21> Seems like a very eventless transition. Nice to see the impacts of header compression. And I've just noticed I've worked with some of the guys behind this post, which made me smile.

</comment><comment><USER22> The overall load time for clients would be a great statistic to have.

</comment><comment><USER23> Block those clients or we'll never move on

</comment><comment><USER4> So basically HTTP/2.0 performs on par with HTTP/1.1 with pipelining, but has a complexity which is a million times higher, and everyone working on it experiences bugs and incompatibilities.

How about we just ditch HTTP/2.0 (aka the Google forced it upon us protocol) and get back to something which is proven, IETF/W3C-based, is not binary, is simple and most importantly: actually works?

That'd be real nice.

Also let's not let Google create more internet protocols please. That'd also be nice.

<comment><USER24> > is not binary

Why is this a downside (apart from 'I can't telnet now')?

<comment><USER4> All major internet protocols to date has been plain text, which for almost anyone has been easy to learn, easy to inspect and diagnose without specialised tools and easy to extend without creating compatibility concerns because of it. We've already seen SPDY be incompatible between its few versions.

Binary ruins that fine tradition for the promise of 0.1% better performance. And I think that's a terrible trade.

<comment> X-Cubed TLS is binary

<comment><USER25> But you can access the inner protocol by using `openssl s_client -connect host:port` as a TLS/SSL wrapper, can't you?

(Edit: I realise you can likely also access/debug HTTP/2.0 streams with a CLI tool - I am currently ambivalent about text vs binary streams.)

<comment><USER19> Yes, you can also access/debug HTTP/2 content with curl or nghttp2. And the content of the request/response body streams is binary (in the sense that there is no predefined encoding) - just like in HTTP/1.1. That there is also a binary framing layer underneath should not care you from CLI user or application builders perspective. Just like you don't care in what number of IP frames your request was transmitted.</comment></comment></comment></comment></comment></comment>


How the United Arab Emirates Intelligence Tried to Hire Me to Spy on Its People - <AUTHOR> https://www.evilsocket.net/2016/07/27/How-The-United-Arab-Emirates-Intelligence-Tried-to-Hire-me-to-Spy-on-its-People/ <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=12176837](https://news.ycombinator.com/item?id=12176837)</comment>


BrainBox – let's segment 3D brain imaging data in real time, collaboratively - <AUTHOR> https://github.com/OpenNeuroLab/BrainBox <comment><AUTHOR> And a related project "MicroDraw - Collaborative vectorial annotation tool for ultra high resolution data" (zooming from a full brain scan to a single neuron level, in no-time, in the browser): [https://github.com/r03ert0/microdraw](https://github.com/r03ert0/microdraw)</comment>


Godson-3: A Scalable Multicore RISC Processor with x86 Emulation (2009) - <AUTHOR> https://www.computer.org/csdl/magazine/mi/2009/02/mmi2009020017/13rRUwvBy5P <comment><USER2> I really like the underlying approach. For those that can't read it (scihub is having issues with the doi) they ran qemu targeting x86->mips, and then added new mips instructions to get around what was taking a long time to emulate, x86 flag generation on arthmetic ops, an x86 like FPU and VU, and additional addressing modes.

What they came up with really reminds me of the inside of a modern x86 core that sort of looks RISC-esque after the decoder, they're just doing the decode in software. It's a really interesting halfway point between a traditional x86 core and transmeta's that way.

<comment><USER3> The Modcomp computer, 1970+, had a dynamically programmed instruction set capability using a programmable ROM. It was targeted at applications written for other systems, and for realtime problems that benefited by an instruction set crafted for a specific problem.

<comment><USER2> I've heard the argument from a few chip designers that the main thing the user microprogrammable machines got you was a Harvard architecture. You got most of your wins by pushing complex ideas into ucode where each step fetched from the ucode ROM instead of the main memory bus. That's why on pretty much every microcoded machine you see a memcpy instruction. It's the most obvious win for getting the ifetches out of the way of your data throughput.

Once we started adding instruction caches, that big win started to not be as big. Ultimately it's the caches that killed off that machine, and the ucode interpreters you saw on the Smalltalk and Lisp machines.

One idea I would like to make it's way from ucode that hasn't yet though is being able to define interrupt boundaries for the real time tasks you allude to.

</comment></comment></comment><comment><USER4> Found a mirror by putting the paper title on Google, for those who aren't IEEE subscribers: [https://home.deib.polimi.it/sami/architetture/godson.pdf](https://home.deib.polimi.it/sami/architetture/godson.pdf)

</comment><comment><USER5> Tangentially related, RISC-V's J Extension is under development for JIT acceleration, both for emulating other ISAs and running Java and the like.

<comment><USER2> Do you know where the working group for that lives? That extension always seemed questionable to me. Most of those extensions are pretty short lived and marketing driven on other ISAs. The Azul guys AFAIK didn't even put anything interesting like that into their user ISA; their secret sauce was in the MMU.

<comment><USER6> They had a custom user ISA instruction to make write or read barriers cheaper.

<comment><USER2> What was that other than read or write barriers that happened to be cheap?

<comment><USER6> Only that, but they did more user or between kernel and user level magic. See the paper _The Pauseless GC Algorithm_ by Cliff Click, Gil Tene, and Michael Wolf at [https://www.usenix.org/legacy/events/vee05/full_papers/p46-c...](https://www.usenix.org/legacy/events/vee05/full_papers/p46-click.pdf) ; from the abstract:

> Azul Systems has built a custom system (CPU, chip, board, and OS) > specifically to run garbage collected virtual machines. The custom CPU > includes a read barrier instruction. The read barrier enables a highly > concurrent (no stop-the-world phases), parallel and compacting GC algorithm.

From the paper, including some bits on the MMU you mentioned:

> Our read-barrier allows us to intercept and correct individual stale > references, and avoids blocking the mutator to fix up entire pages. We also > support a special GC protection mode to allow fast, non-kernel-mode trap > handlers that can access protected pages.

> Having the read-barrier implemented in hardware greatly reduces costs. In > our case the typical cost is roughly that of a single cycle ALU instruction.

> The hardware TLB supports an additional privilege level, the GC-mode, > between the usual user- and kernel-modes.... Several of the fast user-mode > traps start the trap handler in GC-mode instead of user-mode.

> The TLB is managed by the OS in the usual ways, with normal kernel-level TLB > trap handlers being invoked when normal loads and stores fail an address > translation. Setting the GC privilege mode bit is done by the JVM via calls > into the OS. TLB violations on GC-protected pages generate fast user-level > traps instead of OS level exceptions.

> The hardware supports a fast cooperative preemption mechanism via interrupts > that are taken only on user-selected instructions, allowing us to rapidly > stop individual threads only at safepoints. Variants of some common > instructions (e.g., backwards branches, function entries) are flagged as > safepoints and will check for a pending per-CPU safepoint interrupt. If a > safepoint interrupt is pending the CPU will take an exception and the OS > will call into a user-mode safepoint-trap handler.

Then read starting with section 3.3 Hardware Read Barrier for the details.

See also _C4: The Continuously Concurrent Compacting Collector_ by Gil Tene, Balaji Iyengar, and Michael Wolf for how they moved this to x86 hardware: [https://www.azul.com/files/c4_paper_acm1.pdf](https://www.azul.com/files/c4_paper_acm1.pdf)

</comment></comment></comment></comment></comment><comment><USER7> this is a 10yr old paper

<comment><USER8> Yes. OP: Please add (2009) to title.

<comment><AUTHOR> I would if I could, but HN will not allow me to edit the title at this point. Apparently there's a time period from the point in time at which an article is posted to which the title can be modified, but apparently we're past that point of time now... My humble apologies, I would change the title if I could...

</comment></comment></comment><comment><USER9> Wasn't "x86 emulation" basically the WinChip's and Cyrix's strategy in the late '90s-early '00s? I don't remember that ending too well, unfortunately...

<comment> Iwan-Zotow No, they were "real" x86 chips

you're probably thinking about Transmeta

<comment><USER10> Which has returned from the dead as NVidia's ARM emulating Project Denver.

<comment><USER11> Denver started out as X86 but then were scared away by Intel legal and switched to ARMv8 with an architecture license from ARM.</comment></comment></comment></comment>


Apple: #esc { margin-left: -30px } - <AUTHOR> https://twitter.com/rauchg/status/791694932587184128 <comment><USER2> It appears that is where the Touch Bar starts, so the Escape key/button probably cannot be moved further to the left.

<comment><USER3> There goes muscle memory.

</comment></comment><comment><USER4> The irony is that on my 12" MacBook 2016, the Esc key is yuuuge.

</comment><comment><USER5> Vim users can use Ctrl-C instead of ESC.

For me it is actually easier to do :)

<comment><USER6> Ctrl-C in vim already has a purpose. It stops any and all background processing. I have needed and used it many times.</comment></comment>


Bitcoins can now be used to pay for Domino's Pizza - <AUTHOR> http://www.digitaltrends.com/web/virtual-bitcoins-can-now-be-traded-for-dominos-pizza/ <comment><USER2> Bitcoin: a currency for which capability to buy pizza is noteworthy, required custom programming, comes with a 10% novelty tax, and is incapable of maintaining a single price for 24 hours.

<comment><USER3> Surely there is more to the Bitcoin movement that a desire for a currency that's worse than those sponsored by nation states. Just pointing out that Bitcoin sucks does nothing to address the underlying reason why people want to use Bitcoin. Where I live, alternative currencies seem to have sprung up as a response to feelings of disgust with the current economic system, or mistrust of government or bankers.

States and groups are looking at how the federal reserve is currently purchasing more than half of all newly issued U.S. Treasury Bonds, and drawing the inevitable conclusion that the the failure of the system is accelerating. The natural end to an inflationary currency is BOOM! There is a desire out there for a deflationary currency. Bitcoin is deflationary, right?

Now I think _Bitcoin Sucks_ is sound economic advice because for every altruistic financial scheme, there have been a hundred scams, but I don't know if Bitcoin has the potential to be useful if we experience hyperinflation.

<comment><USER4> I actually like the concept of alternative currencies. But bitcoin really does suck. It's not just an alternative currency. It's an alternative currency with a built-in retarded fiscal policy.

<comment><USER5> Would you like to enlighten us by explaining a little more all the ways exactly in which it is 'retarded'?

<comment><USER4> Inherently deflationary currencies are retarded. See Paul Krugman on deflation ([http://krugman.blogs.nytimes.com/2010/08/02/why-is- deflation...](http://krugman.blogs.nytimes.com/2010/08/02/why-is-deflation- bad/)) and the gold standard ([http://krugman.blogs.nytimes.com/2012/08/26/golden- instabili...](http://krugman.blogs.nytimes.com/2012/08/26/golden- instability)).

Moreover, there is a strong argument that deflationary currencies are morally wrong because of their effect on generational wealth inequality. In a society with a deflationary currency, nearly all wealth will be held by older people, simply because they got there first.

You don't even have to look very far to see what a society with deflationary currency would look like. There is a market that has many of the same properties as a deflationary currency, and that's real estate in places like SF and NYC. In Manhattan, there are a ton of older people who purchased real estate in say the UWS in the 1980's and 1990's. Property values have skyrocketed since then, to levels that these people never could have afforded at the time they bought their property. Their kids, now the same age/of the same relative financial standing as they were when they bought the property, are totally priced out of the market.

<comment><USER3> Doesn't your example of NYC real estate undermine the point you've made about inflationary monitory policy not rewarding those who _got there first_? That happened without deflationary currency -- surely it's impossible eradicate rewards for being first.

<comment><USER4> My point isn't that NY real estate is the result of deflationary currency. My point is that its an example of what happens when assets appreciate without investment, like currency does in a deflationary system. The old people just end up owning all the wealth, in a very dramatic way.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> This is not in any meaningful sense "paying for pizza with bitcoins" anymore that hauling your TV to a pawnshop, they buying pizza with the proceed is "paying for pizza with TVs" - it seems to exchange bitcoins for USD, then it buys a pizza for you with the USD.

From the narrow perspective of a BTC-miner, yes, it's relevant, but for subscribers to the lofty goals of a central-bank-independent/anonymous currency it's pointless.

<comment><USER7> It works for the very small set of people who have bitcoins they haven't bought with a traditional currency. This is bigger than the set of miners, but not by much.

<comment><USER8> > This is bigger than the set of miners, but not by much.

From bitcoincharts.com quickly estimating that the volume in exchanges was 2 million BTC. Bitcoins produced by mining = 3600*30 = 108000 BTC. Unless the speculators are constantly buying from each other, I would say that there are people earning bitcoins in the bitcoin economy, and the amount of those people vastly outnumbers the miners.

But I doubt that they care that much about the pizza service...

<comment><USER9> "Unless the speculators are constantly buying from each other,"

I would wager that yes, that does account for quite a large volume of the daily exchange volumes.

<comment><USER10> You would wager wrong, depending on how you define "large." The total exchange volume of all exchanges is only about 93k BTC per day. <http://bitcoinwatch.com/>

The daily transaction volume, with change transactions removed, averages around 400k BTC per day.

So speculator trade is less than 1/4 of all Bitcoin transactions.

Fun fact: SilkRoad is less than 3% of daily Bitcoin transaction volume

75% of trades are commercial in nature. There are thousands of vendors dealing in BTC- hundreds of which deal in it exclusively. Some are even among the most popular web sites in the world.

<comment><USER9> 25% of the daily volume (100K out of 400K) is pretty huge if you ask me, yes.

How much is money-laundering? How much is people just moving stuff around for the hell of it? Of what's left how much is online gambling (an economic activity but not necessarily a 'good' one)?

These things would be very hard to tell I would have thought.

</comment></comment></comment></comment></comment></comment><comment><USER11> Fed #1: Look, we've got all of these transaction details for people who have bought and sold marijuana. How do we chase them down, though?

Fed #2: Well, 1) we'd need to give the stoners something they love dearly. 2) that thing would need to come attached to their address.

</comment><comment><USER12> Has any other bitcoin news media event happened in the last few hours? Not the pizza deal because that is somewhat old news - but this HN post? The price jumped up from 24.5 to 25.5 and I don't see any other trigger!

Back in 2011, I learned about bitcoin mining from HN and solved two blocks myself with a CPU miner. Those coins are worth several thousands of USD today. Thank you HN ...

<comment><USER13> One theory is the increase in online gambling sites who use bitcoin. Gamblers are buying it up.

<comment><USER14> I don't think there's any truth to this theory. As far as poker, they're mostly all poorly designed and have no traffic. Maybe a straight-up casino site would be better where you don't need people to play against and you don't care about user interface. But I think the whole "drugs, gambling, hookers" element of BTC is just FUD.

However, I think a ton of people are gambling on bitcoin itself. I've read that many investors say they've tried their hand at bitcoin. It makes sense. The market dynamics can't be much different than forex and are probably a fun experiment. But for serious traders I doubt they could wage big enough bets on BTC without driving up or down prices on themselves.

</comment></comment></comment><comment><USER15> A few years ago, someone bought a pizza for 10000 Bitcoins. <https://bitcointalk.org/index.php?topic=137.0>

<comment><USER16> For that amount of Bitcoins you can buy a house nowadays.

</comment></comment><comment><USER12> Bitcoin has the potential to disrupt current payment processing. The main advantage to merchants is fraud reduction. Bitcoin transactions cannot subsequently be reversed by the customer once received by the merchant.

Additionally, bitcoin transactions have lower transaction fees than credit cards, wire transfers, cash couriers, and so forth.

No wonder that more startups are developing bitcoin applications.

<comment><USER17> On the other hand, the main disadvantage for _consumers_ is fraud increase, for the same reason.

<comment><USER12> Agreed, but this factor is reduced for in-person purchases from brick and mortar merchants. Additionally, many online web sites feature merchant reliability scores, e.g. Amazon.

Recent US legislation will make credit card processing fees more visible to consumers, with the consequence that low cost payment processors such as bitcoin will be even more competitive.

</comment></comment></comment><comment><USER7> This would be far more impressive if Domino's now accepted bitcoin. As it is, it's just a very expensive exchange service.

<comment><USER18> I wonder if there's a generalized solution to this issue; that is, the inability to pay for most things using Bitcoin.

If I remember correctly, Visa will let you create a "virtual" credit card so you can shop online without giving out your actual information.

I bet a "bridge" between the Bitcoin and credit card systems could make a _lot_ of money. Does anyone know if this is feasible?

<comment><USER19> [http://www.theverge.com/2012/8/22/3260584/bitinstant- bitcoin...](http://www.theverge.com/2012/8/22/3260584/bitinstant-bitcoin- debit-card-official)

I would bet that this either never comes to market or it ends up being just as inconvenient to use as the existing exchanges.

</comment></comment></comment><comment><USER20> Bitcoins can be used to purchase marijuana, Bitcoins can be used to buy Dominos Pizza ... coincidence ... I don't think so.

<comment><USER21> US dollars can be used to purchase marijuana, US dollars can be used to buy Dominos Pizza. Coincidence? Yes, BTC & USD are both mediums of exchange and mediums of exchange are used to buy goods & services with.

</comment></comment><comment><USER22> there will be order pizza API in future

if( dateTime.Now == friday ) { orderPizza(pizzaType, pizzaSize); }

<comment><USER23> For interest, this has already been around: [http://hackedgadgets.com/2008/06/09/order-dominos-pizza- via-...](http://hackedgadgets.com/2008/06/09/order-dominos-pizza-via-command- line/)

</comment></comment><comment><USER24> Bitcoin mining can pay for sustenance (in theory). The future is here and it is delicious!

<comment><USER25> Can it also cover the electricity used in mining?

<comment><USER26> One thing to note about those calculations is that, if you're using electric heating, the energy you used to mine would of being used to heat your home. So it's not so much of a cost.

<comment><USER27> Product idea: electric heater that generates heat by mining bitcoins.

</comment></comment></comment></comment><comment><USER28> "However, it's unlikely that the customer would be able to actually track the order through Domino's online order tool."

Actually, so long as they have your phone number for delivery issues/to give the driver directions you can track any Domino's order by phone number on their web site (<https://order.dominos.com/en/pages/tracker/#/track/order/>). Last time I looked they were passing json around or something and it was easy to scrape.

</comment><comment><USER29> The exchange rate between USD and BTC is quite volatile. Either they have to constantly change the bitcoin price, or your pizzas will frequently get quite a bit cheaper or more expensive.

<comment><USER30> I imagine stores counter that by setting the price in USD on the server side, and then using an API to convert it into bitcoin on each page view. Problem solved.

<comment><USER29> So they constantly change the price then, albeit automatically.

<comment><USER31> Wouldn't this be an issue any business that offers prices in more than one currency experience?

<comment><USER29> Bitcoin is unusually volatile. The exchange rate of eg. USD to EUR is much more stable.

<comment><USER10> Much more stable, yes. But it still fluctuates as much as 4% on a daily basis.

</comment></comment></comment></comment></comment></comment><comment><USER32> Doesn't that defeat the purpose of anonymity? With coins being hard to get in the first place and a large fee, I can't see anyone using this.

<comment><USER33> Bitcoin is a currency. The point of it is to buy things.

Because it is based on encryption, it can provide both hiding of who you are, and strong proof of who you are. But it is cool that it can also supply you with pizza.

<comment><USER34> Completely inappropriate comment for HN, but the sentence:

"Because it is based on encryption, it can provide both hiding of who you are, and strong proof of who you are. But it is cool that it can also supply you with pizza."

Seriously made me laugh out loud. You just made my day :)

</comment></comment></comment><comment><USER35> Great, pizza! The more things we can buy with this virtual currency, the better! If you'd like to start using Bitcoins check out <http://thebitcoinmaster.blogspot.com>

</comment><comment><USER36> How is an income of Bitcoins taxed?

<comment><USER37> Would you only be taxed when converting it back to $$?

<comment><USER10> <https://en.bitcoin.it/wiki/Tax_compliance>

</comment></comment></comment><comment><USER38> I wonder how dominos lawyers will feel about their brand name being used in connection with bitcoins, which so far are useful mostly for illegal trades.

</comment><comment><USER39> you can now convert your drug money into pizzas , neat!

<comment><USER11> Even neater, the feds can now convert your transaction trail used to sell drugs into a physical address.

<comment><USER40> "I'm sorry, I don't know why someone mailed me a box of drugs. Could have been anyone that placed the order. Want to arrest me for this? Great, looking forward to next week when you'll be arresting your entire HQ for receiving drugs from Silk Road."

[Note: You don't actually say that, rather, your attorney argues the above with reference to the rules of evidence and burden of proof; and asserts that receiving a box of drugs in the mail is insufficient proof by itself that you ordered it, and the only other evidence is that a series of jumbled characters paid for it.]

<comment><USER11> Um, the police already know all of this. If they use this information, they are not just going to rock up to court with (purportedly) your public transaction history and a subpoena showing that you got a pizza delivered using bitcoins and get a conviction.

They're going to use it to get a warrant to search your house.

And yeah, this trawler like approach will not catch everybody. But it could score a lot of convictions very quickly.</comment></comment></comment></comment>


How we saved over $1k by building CloudForecast with Serverless and AWS Lambda - <AUTHOR> https://medium.com/@CloudForecast/how-we-saved-over-1-000-by-building-cloudforecast-io-with-serverless-and-aws-lambda-8c9c244882e8 <comment><USER2> Article like these are interesting. In our experience, API Gateway + Lambda burned through almost 5x as much money as Elastic Beanstalk, and involved so much refactoring to get around the weird limits (timeouts, recursion, etc.). Maybe if you aren't using API Gateway and you are doing something that is truly spiky. Otherwise, it's actually much more expensive at scale. Don't get me started about cold starts...

<comment><USER3> Francois here, one of the co-founder of CloudForecast.io! Serverless with Lambda fits our needs almost perfectly. We are not using API Gateway and it is truly spiky. Timeouts and recursions were a bit of challenge but nothing crazy since our use cases were fairly simple. Cold starts are definitely a pain but since it's not customer-facing we can leave with it ...

<comment><USER4> Can confirm--API Gateway pricing is nuts for many use cases.

"Think of it like a Swiss Army Knife; it does a lot, it's easy to hurt yourself with it, it can be incredibly expensive, and the instructions are all written in Swiss German."</comment></comment></comment>


Weather.com from 1996-2010 - <AUTHOR> http://www.weather.com/newscenter/slideshow/preview.html

<comment><USER2> This should be redone with % of homepage consumed by advertising over time.

<comment><AUTHOR> it's the green one: <http://en.wikipedia.org/wiki/File:Exponential.svg></comment></comment>


Zombo.com Turns 20 - <AUTHOR> An auspicious occasion for a dot-com era classic:
$ whois zombo.com | grep Creation

   Creation Date: 1999-10-10T10:57:47Z
 <comment><USER2> Check dod.mil</comment>


A Boy and His Atom: The World's Smallest Movie - <AUTHOR> http://www.research.ibm.com/articles/madewithatoms.shtml

<comment><USER2> Submitted many times, and yet it never gets any discussion. The only comment on all the previous submissions (from a quick, desultory search) is this:

</comment><comment>==

How it was made : [https://www.youtube.com/watch?v=xA4QWwaweWA](https://www.youtube.com/watch?v=xA4QWwaweWA)

What are the ripples? : [https://www.youtube.com/watch?v=bZ6Hv_du2Zo](https://www.youtube.com/watch?v=bZ6Hv_du2Zo)

</comment><comment>==

Similarly, it never seemed to get much attention, judging by the severe lack of up-votes. Here are the previous submissions I found (some deleted):

[https://news.ycombinator.com/item?id=8258631](https://news.ycombinator.com/item?id=8258631)

[https://news.ycombinator.com/item?id=7242743](https://news.ycombinator.com/item?id=7242743)

[https://news.ycombinator.com/item?id=5648856](https://news.ycombinator.com/item?id=5648856)

[https://news.ycombinator.com/item?id=5645372](https://news.ycombinator.com/item?id=5645372)

[https://news.ycombinator.com/item?id=5643518](https://news.ycombinator.com/item?id=5643518)

[https://news.ycombinator.com/item?id=5642074](https://news.ycombinator.com/item?id=5642074)

[https://news.ycombinator.com/item?id=5637191](https://news.ycombinator.com/item?id=5637191)

</comment><comment><USER3> One of the really challenging parts of making this movie is that you never know exactly where the "pixels" are. There's a chance that the head didn't actually get the CO atom. There's also a chance that the atoms bounced around some while moving the atoms.

</comment><comment><USER4> This is a very interesting movie. The 'making of the movie' was interesting too. I liked the keyboards that they were using in the office.

</comment><comment><USER5> Cool ... though the physics was disappointingly "classical" ;)

</comment><comment><USER6> this is a remake: [http://www.rottentomatoes.com/m/boy_and_his_dog/](http://www.rottentomatoes.com/m/boy_and_his_dog/)

<comment><USER7> I was thinking more this: [http://en.wikipedia.org/wiki/A_Boy_and_His_Blob:_Trouble_on_...](http://en.wikipedia.org/wiki/A_Boy_and_His_Blob:_Trouble_on_Blobolonia)

</comment></comment><comment><USER8> Worst AND best resolution in the world.</comment>


Since MeToo, the Number of Men Who Are Uncomfortable Mentoring Women Has Tripled - <AUTHOR> http://fortune.com/2018/02/06/lean-in-sheryl-sandberg/ <comment><USER2> Yeah no kidding. This is a risk no longer worth taking.

</comment><comment><USER3> Here's an interesting thought experiment. What happens if this continues?

Women become increasingly excluded as management avoid them to protect themselves.

As a result less women go into/stay in the workforce. Chances are they can't progress or be included so why bother?

This extends to outside of work too. Men will no longer approach women. There's too many risks for men.

We have a population of men who avoid interacting with women on professional and personal environments.

We have women who are seen as a major risk. Self esteem plummets and they have little self worth.

</comment><comment><USER4> I'm a male at a tech company, and since the #METOO incident, I have taken defensive steps to ensure I am not embroiled in any career-ending accusations of sexual harassment.

I have: \- avoided directly talking to female coworkers other than "hello, top of the morning to you"-style greetings, unless I am forced to during meetings. I do not want anything I say to be taken out of context, whether it be a joke, a comment, or a discussion. It may seem cold, but this is my career and livelyhood on the line. To me, having female friends at work is not worth the risk of potentially losing my career. \- Never be caught alone with a female coworker unless the situation is being recorded, at least via audio. I record on my phone every conversation that is not exchanging pleasantries for my protection. My state is a one-party wiretapping law state, so I am covered legally. \- If I am forced to be alone with a female coworker during business travel, I bring a handheld recorder with battery life measured in days and record every minute of our time together. \- I do not offer help to female coworkers unless asked via chat or email.

These may seem like extreme measures, but even just the accusation of sexual harassment can cause the end of a career. I love my job too much to sacrifice it for the minor benefit of being friends with females at work.

I also find it interesting how I am supposed to be the one to #mentorher, when I am the only one set to lose anything in this exchange. I can lose my time, my job, or even my career in the blink of an eye. For what? So I can earn feel-good points from people who don't give a hoot about me and would surely mock me behind my back, were a female I was trying to mentor make a false accusation? Maybe I will have a brigade of people on social media release my private info to the internet, as has happened in some cases.

So no, Mrs. Sandberg, I will not #mentorher. I will not take all the risk for the marginal benefit of making female friends at work. It's just too dangerous of a position to take. As a non-rich white male, working in the tech industry, I can say I already feel hated for just existing. So honestly, just shove off, don't ask me to do any extra work while risking my career, and leave me alone to program in peace.

<comment><USER5> Your behavior seems to be formulated as if there is a huge issue of "false" accusations going on within the metoo movement. I haven't seen anything to make me think that there is a serious risk of being falsely accused.

<comment><USER6> One false accusations is enough.

ExpectedValueOfSaidMentoring = -inf * chanceFalseAccusation + negligiblySmall * (1 - chanceFalseAccusation)

This is what OP meant.

Chance need not be huge. Anything times negative inf is negative inf. Your career will be hurt by any false accusations, no matter how unlikely. Your family won't care how unlikely the accusation that ended their livelihood was.

<comment><USER5> In that case, I wholeheartedly disagree that mentoring people, especially very talented ones, be they women or men has little or no value for one's career and/or life.

Staying in your own little homogeneous bubble and avoid contact with anyone not like you or doing anything outside what objectively gives you direct, measurable value seems like a surefire way to stagnate your career.

And the chance of a false accusation has always been around. So to act so indignant now seems more to throw water on the movement than to truly be worried about your personal career progress.

<comment><USER6> Ok. It has a lot of value. A lot is finite. Negative inf is still overpowering in that equation. That's the point OP made that you seem to be trying very hard to avoid addressing.

<comment><USER5> Because "negative infinity" is just hyperbole in this case. Some careers have been harmed or even destroyed, but we aren't seeing accused men wondering the streets homeless just yet (or whatever you want to equate to the most terrible outcome).

<comment><USER6> Yeah? So where are they currently employed? Homelessness takes time to reach after your income goes to zero. It's not instant. But it is certain

<comment><USER5> Most that have been reported in the news are wealthy enough to retire in comfort already. Beyond that, I'm not sure there is a huge number of non- public people losing their jobs over accusations (especially false ones).</comment></comment></comment></comment></comment></comment></comment></comment>


How I Ate No Food for 30 Days - <AUTHOR> http://motherboard.vice.com/blog/soylent-no-food-for-30-days <comment><USER2> EDIT: Unbelievable. Both the title and the link to the article I commented on have been swapped from the PandoDaily article ([http://pandodaily.com/2013/11/12/vice-investigates- soylent-f...](http://pandodaily.com/2013/11/12/vice-investigates-soylent- finds-rats-and-mold/)) to the Vice article which PandoDaily referred to, but that tries to give it a positive spin.

This goes well beyond whatever policy pg was trying to defend recently. This is deeply manipulative.

\---

It looks a scam, it sounds like a scam, it's marketed like a scam and now it apparently is being produced like any other scam.

So how long until we finally draw the obvious conclusion?

Just because some notable VC's gambled on it doesn't make it any more credible. In fact, there is pretty much zero evidence in the credible column.

<comment><USER3> I yield to no HN user in the extent and intensity of my distaste for the idea of Soylent, but the Pando article was, per Pando's charter, linkjacked clickbait that referred directly to the Vice article. It was totally reasonable --- desirable, even --- for the two articles to be switched. Would that we could simply do away with Pando altogether so that this kind of controversy might never recur.

<comment><USER4> It seems like censorship or manipulation when no explanation is given. Even if it is on the up and up, it'd be nice if someone could comment as to why the changes occur.

</comment></comment></comment><comment><USER5> Soylent might, technically, work. It might be safe and healthy, it definitely looks simple and allows you to forget anything related to grocery shopping, cooking and cleaning up afterwards.

But thinking about the prospect of the future makes me sick to my stomach. Soylent paints a disgustingly frightening dystopia where humans are fed 100% "correct" food to allow them to continue being cogs in the business machine, not stop for lunch during the day in the office, and be able to pull those extra longs evenings and nights to get more work done. Not to mention the vanishing social and human aspects of eating, together with friends and family.

Rob Reinhardt's assertions that organic cultivation of vegetables, fruits and legumes does not scale are downright FALSE, and only serve the Soylent marketing machine.

Soylent is doing nothing more than accommodating to the needs of humanoids who continue the endless pursuit of some vague promise of capitalist fulfillment (work hard, be rich, be happy), ignoring the fact that the direct opposite of such a lifestyle leads to a much more healthier, happier life which remains in touch with our basic, primal human existence.

<comment><USER6> Its funny because we already live in this dystopia and you simply don't notice it because the plastic food we eat "looks real" and "tastes good". What is the difference between the completely artificial hamburger people get at McDonalds and Soylent? The fact that its basically "molded" to look like the real food we used to eat?

The reality is that we long ago crossed the line into having a society that mostly eats absolutely garbage and artificial food. This is not some future prospect, it is today, and we regularly see (and ignore) the disastrous medical results. This is of course perpetuated by a government that pushes a purely political nutritional agenda (let's tell everyone carbohydrates are the most important staple to eat and let's put corn and sugar in everything for economic reasons and let's also hope no one notices that fiber has mysteriously disappeared from our diets).

At least Soylent is trying to harness this machine for good. A world where "the cogs" at least receive proper nutrition would be a step up from today's illusion of choice.

<comment><USER7> I'm not following. In what way is a McDonalds hamburger artificial? It's bread. It's meat.

Even if there are mechanically separated parts of the meat, they're still meat.

Even if it's as artificial as you say, isn't food that "looks real" and "tastes good" better than food that "looks like deplorable shit" and "tastes like deplorable shit" and is unapologetically named after something horrible from a 1970s dystopian sci fi movie?

<comment><USER8> McDonalds only recently (last year) stopped using 'pink slime' in their burgers: [http://news.yahoo.com/blogs/sideshow/mcdonald-confirms-no- lo...](http://news.yahoo.com/blogs/sideshow/mcdonald-confirms-no-longer-using- pink-slime-chemicals-171209662.html)

<comment><USER7> "Pink slime" is meat. If it had been invented by a molecular gastronomist, we'd be heralding it as an exciting, innovative gourmet food.

But the media-invented pejorative nickname "sounds gross", therefore that is scientific proof that it's not "real food" and will kill you.

<comment><USER8> When people think of 'hamburger', they think of ground beef. Just ground beef. And maybe some spices.

They don't think of the chemical process involved in factory processing the normally inedible bits of a cow into a slimy pink goop (see where the name came from?) and then mixing that in with their ground beef at a specific percentage to avoid getting into trouble.

</comment></comment></comment></comment></comment></comment><comment><USER9> I suppose you could spin it "Look how healthy our rats are and there is nothing in this warehouse but Soylent! Testing on rats, check!"

But this made me a bit sad.

I think Soylent is great, it is disruptive, it is more palatable than nutraloaf it could be a great alternative for folks who just need food to live, and it could provide a fascinating 'control' group for various Microbiome projects. But clearly these folks aren't exactly "experienced" as Jimi Hendrix might say.

Here is the challenge, there is a crap ton of knowledge about how to do things that isn't taught in school or on the web or in books. You learn that by 'apprenticing' at a company or organization which is already doing something like what you want to do, and getting the history of all the things they had to overcome and avoid "in the old days." It isn't nostalgia, it is education through experience. _That_ is what experience is. And the only way to get it, is to _experience_ it. It was sad for me when I realized this, I could be smarter than my manager at the time and yet he could be a better manager because he had experienced more issues and overcome them (or at least seen the solution to them) to have a much better sense of what would be an important problem and what would be a minor problem. I could put any situation I wanted in front of him and he had an answer to the "big problem" / "small problem" classification, but _he could not express that as an algorithm I could learn from_.

So when people come out of college and start companies the next day I tend to cringe a bit as there is a lot of stuff they are going to learn the hard way. That is doubly true when you're doing multiple disciplines (food prep + nutrition + distribution + marketing + regulation + Etc.) and having run a business of type A won't prime you to run one of type B, other than to help you recognize where you need subject matter experts.

One wonders why the first hire at Soylent wasn't someone who had 5 years or more setting up and running a food production line. I don't know but I have heard folks in similar situations say "How hard could it be?"

<comment><USER10> What you do, is then you hire a 10-year veteran of the food preparation business.

What you DON'T do, is pickup a few textbooks on body chemistry and assume you can figure it all out by yourself.

<comment><USER11> Why not? The human body is a machine, and we can examine and alter that machine. We've been doing that throughout history.

I don't like the early claims of Soylent being "perfectly optimized" and the like.

<comment><USER12> The human body isn't a machine. It is a more complex thing that includes many machines. There are so many features of the human body that we can not examine and that we don't even know where to look...

The real question is "Soylent is perfectly optimized... for what?" Soylent may be optimized for "meeting the models of nutrition that we have." Yet, those models may be like using an FAQ to run a nuclear reactor. I'm not trying to fear-monger. I think Soylent is a great experiment. I wish I had to guts to carry out the reporter's month-long experiment.

<comment><USER13> "like using an FAQ to run a nuclear reactor."

That sounds like a winning long term strategy if the opposition makes decisions solely to maximize short term profit. Don't overestimate the opposition. Bad money pushes out good.

</comment></comment></comment></comment></comment><comment><USER14> There are some fairly stringent regulations that ensure food products are made in a GMP environment.[1] Flaunting those rules is extremely dangerous, both from a health perspective and from a legal one. There are numerous instances where those in charge of food operations have gone to prison for failing to maintain hygienic standards.[2]

Soylent better get their shit together. Food safety is nothing to play around with, literally life-and-death decisions being made.

1\. [http://www.fda.gov/Food/GuidanceRegulation/CGMP/ucm110877.ht...](http://www.fda.gov/Food/GuidanceRegulation/CGMP/ucm110877.htm)

2\. Listeria killed 33 people, owners of company to prison: [http://www.bbc.co.uk/news/world-us- canada-24292036](http://www.bbc.co.uk/news/world-us-canada-24292036)

<comment><USER15> Aren't supplements/non-medical powders/various other juju immune from FDA issues?

<comment><USER16> _FDA regulates both finished dietary supplement products and dietary ingredients. FDA regulates dietary supplements under a different set of regulations than those covering "conventional" foods and drug products. Under the Dietary Supplement Health and Education Act of 1994 (DSHEA):

\- The manufacturer of a dietary supplement or dietary ingredient is responsible for ensuring that the product is safe before it is marketed.

\- FDA is responsible for taking action against any unsafe dietary supplement product after it reaches the market. _

[http://www.fda.gov/food/dietarysupplements/](http://www.fda.gov/food/dietarysupplements/)

<comment><USER15> Ah, got it. So it's just self policing until you kill someone, then the regulators step in.

<comment><USER17> There are a few dietary supplements that voluntarily submit to FDA inspection of their facilities. Most don't. The protein powder I use is one of them:

[http://www.1stphorm.com/products/men/level-1](http://www.1stphorm.com/products/men/level-1)

I wouldn't really consider using anything that isn't, but lots of people do every day, probably mostly from ignorance.

</comment></comment></comment></comment></comment><comment><USER18> It really seems like the authors are trying to excuse the unsanitary conditions when really it's not excusable to have them at any stage. Both the journalism and the topic at hand were disappointing. They have more than enough capital to keep the place clean, and you'd think it'd be at the top of their list given the huge (vocal) concern over personal health regarding their product.

</comment><comment><USER19> As someone who drinks Soylent regularly, the most pertinent part of this article was the blood tests after the author went on a 30 day Soylent-only diet. "Doctors tested Merchant's blood at the end of it, and the only nutrient he was deficient in was Vitamin D -- i.e. sunlight", which he says made sense because having Soylent handy meant he "wouldn't have to leave the office". That's certainly good news.

If the mold was the result of shoddy shipping causing the bag to be punctured, it's hard not to take that with a grain of salt.

And as for the rat (singular -- not "rats" plural as the title says), certainly that has the "eww" factor, but so long as the mix itself was not exposed to any animals, I certainly don't care.

[edit: the article this post was linking to has changed, so my comment is a little dated]

<comment><USER20> I'm not a real fan of chewing food, but having done a similar diet before I prefer it. Turns out that even though me and food don't always get along, after 3 weeks on a liquid diet the cravings for real food for me come back. There are plenty of weightlifters who have done similar full-liquid diets for years before soylent, this data exists but has been largely ignored since it's from a different kind of community. Anyways - 30 days isn't enough, many items take longer to produce issues. Vitamin C comes to mind, it's destroyed by sunlight, copper (copper is good for destroying a few biological agents it seems, birth-control and Vitamin C, oh it's uses - but we need it as well so it'll be there in soylent in trace amounts), and age, but so little is needed to avoid scurvy, and it takes about 3 months from your last consumption of it to produce adverse results, that it wouldn't be an issue... in the short run.

To address your comment about animals: I saw animals that are littered with disease standing above the product. Standing, breathing without masks, talking without masks(which means trace amounts of spit), in standard clothes that've probably been exposed to much. The rat was far less disturbing than seeing the people who were handling the product.

Contrary to the blood-work, there is a issue that presented itself after 30 days. Not a nutrient deficiency, but a chewing one: he mentioned he started chewing gum due to his jaw aching. As far as I know chewing is supposed to help keep the jaw healthy (an expert/dentist has been sorely lacking from these soylent discussions, I imagine they'd have much to say about chewing, jaw, and tooth issues that crop up), and as someone who hasn't done a great job of that in life... I certainly wouldn't want to mess with jaw health anymore.

<comment><USER21> > There are plenty of weightlifters who have done similar full-liquid diets > for years before soylent

Name one competitive weightlifter, powerlifter or bodybuilder that lived primarily on a shake made from powder for years.

<comment><USER20> As in people doing these diets years before soylent, not years on said diet. My grammar might not've been clear enough.

EDIT: Specifically I'm thinking of the hundreds (if not thousands by now) of people on T-Nation/Testosterone Nation who've done the 1-month Velocity diet, which is (or was, I haven't been there in years, but that particular diet has been around for at least 5 years+), a protein shake diet with very little solid food. There are years of people doing it for a month and relating their experiences, highlights and downfalls, and I'm sure there are several more experiences in that world that would provide better data points. However, it has the issue of being mostly anecdotal evidence.

</comment></comment></comment></comment><comment><USER22> As a long time beta user I have a bunch of problems with this piece:

\- the Oakland space was a temporary location while they were iterating on the beta. Soylent is not manufactured there.

\- all the journalists writing about Soylent seem to attribute to Rob stuff that he doesn't actually say: namely that you should _only_ consume Soylent all the time. The point of Soylent is that it replaces transactional eating and makes me healthier. It's not about replacing the eating I do for fun.

\- Soylent _is_ a technology company. It's not just positioning. They are iterating towards finding an exponentially better way to do transactional eating using technology. That's the definition of a tech company.

<comment><USER23> _Soylent is a technology company. It 's not just positioning. They are iterating towards finding an exponentially better way to do transactional eating using technology. That's the definition of a tech company._

Well, any product is technology in that sense. But this particular technology, meal-replacement shakes, is already reasonably well established. What seems new to me is that Soylent is pitching itself to people who either don't know about or have failed to become interested in the existing products, which seems like a marketing innovation more than a tech innovation. They _don 't_ seem to be differentiating on technical quality or iteration. If you read their campaign, for example, it is entirely positioned against regular food, as if they have just invented the full-meal-replacement shake, and does not mention anything about technical innovation over existing competitors: [https://campaign.soylent.me/soylent-free-your- body](https://campaign.soylent.me/soylent-free-your-body)

It's possible they _also_ have technical innovation over any existing meal- replacement shake, but they are being very quiet about it if so.

<comment><USER24> The existing products have really terrible marketing. They sell them in pharmacies and generally broadcast a message of "for supplementation or diseased/senile people only".

Kudos to Soylent for trying to normalize liquid diets.

<comment><USER25> That's it. I had to read this far before I realized that's exactly what their core is: "trying to normalize liquid diets" (as in make them normal, acceptable, approachable, I think?). There's nothing natural (as in biologically normal, desirable or standard) about a liquid diet, so that's going to be an uphill battle.

<comment><USER24> I have some kind of psychological problem where I chew 5x more than normal people. This causes me to fill up on very small quantities of food and it's very difficult to hit 2000 calories a day without eating a lot of small meals or taking liquid supplements. So, at least for me, a liquid diet would be highly desirable.

As for biologically normal, it all turns into a liquid sludge in your stomach, doesn't it? Past that point I don't see how your digestive system can tell the difference as long as the composition of the sludge is similar enough.

</comment></comment></comment></comment></comment><comment><USER26> How about linking to the original and not this blogspam? [http://motherboard.vice.com/blog/soylent-no-food- for-30-days](http://motherboard.vice.com/blog/soylent-no-food-for-30-days)

I'm no fan of Soylent (mainly because it's all marketing hype, meal replacements have been around for decades) but this title is BS. He had a moldy shipment caused by damaged packaging and saw rats at a bar. BFD.

<comment><USER27> I watched the video. the rat is separated from the food preparation area by a sheet of plastic. This doesn't increase my confidence one iota.

</comment></comment><comment><USER28> The preparation area shown in the video is hilariously disgusting. Fucking horrific.

I still expect them to come out as a huge troll. If so, 10/10, did rage, would rage again.

</comment><comment><USER29> > "You're not going to feed a booming population with organic farms," Rob > says.

This is a popular misconception. While organic farming requires far more labour than conventional farming and the yields are lower for the same land, it's not actually _that much_ lower. We're talking about a 5-30% drop in yield. Not great, but not "OMG mass worldwide starvation" change. And that's while being vastly more efficient with fresh water.

Think about your average 3rd-world country and ask yourself what's in short supply - land, manpower, or fresh water?

<comment><USER11> Organic growing techniques use "vastly" less water? How so?

I'm guessing that there's a correlation between farmers who choose to grow organic and those who try to conserve water, but I can't see how one is "vastly" different.

<comment><USER30> There's pretty solid evidence that biointesive techniques use less water because they make better use of the same space. If I grow two tomato plants in the space I used to grow one, I waste less water.

But yes, you're right, I don't know if "vastly" is the word I would use.

<comment><USER11> Does biointensive === organic?

Organic is a loaded term nowadays, so maybe it's just semantics.

<comment><USER30> No. Really, singling out "biointensive" was unfair as _any_ intensive agriculture would have the same benefit.

>Organic is a loaded term nowadays, so maybe it's just semantics.

So loaded as to be basically meaningless.

</comment></comment></comment></comment></comment><comment><USER31> Honestly, I just don't _get_ Soylent. What is the purpose?

As a health measure? The market for weight-loss shakes and other dietary solutions is saturated, and most of it appears to be complete shit. Dietary shakes are easy to come by, and are almost universally reviled because they don't work as advertised and taste disgusting.

Is Soylent a supposed to be a remedy for malnutrition? Why is drinking a bunch of vitamins a better option than taking a dietary supplement? How does Soylent account for the fact that nutrient absorption is less efficient in artificial supplements? Why not just eat quality, healthy human food?

But, far and away the worst and most appalling argument is that soylent is "convenient," and that it's beneficial to people who "don't have time to eat." I'm sorry, but if you can't find time to eat human food, the issue is your schedule, not the food. Correct me if I'm wrong, but eating is _pretty fucking important._ If you are in a position where feeding yourself actual sustenance is inconvenient, then there is a probably a severe deficiency with your schedule and a problem with your priorities.

<comment><USER32> > I'm sorry, but if you can't find time to eat human food, the issue is your > schedule, not the food. Correct me if I'm wrong, but eating is pretty > fucking important. If you are in a position where feeding yourself actual > sustenance is inconvenient, then there is a probably a severe deficiency > with your schedule and a problem with your priorities.

You don't sound very sorry. You sound incredibly judgmental of anyone who has different priorities than you.

Personally, I love food, I just hate preparing it. Spend 30 minutes to cook a meal that I will eat in 5? No thanks. So I eat out all the time, which is really fucking expensive.

You've heard of the PM triangle right? Same basic idea here. Food can be cheap, tasty, quick, and healthy, but not all at once. McDonalds is cheap, tasty, and quick but not healthy. That steak dinner you just cooked yourself is cheap, tasty, and healthy but not quick. I personally always pick the quick option, but the other items can vary. Thus I'm usually eating quick, tasty, and healthy items. I have trouble finding things that are quick, healthy, and cheap. This seems to fill that niche nicely.

It doesn't mean I'm going to suddenly stop eating out, but it will mean I spend less money in the long run, without having to spend extra time. For all of the comments on Hacker News about how time=money, even when you're not on the clock, you'd think this concept would make sense more immediately.

</comment></comment><comment><USER33> Is there a reason that OP linked to crummy PandoDaily fluff and not to original Vice video? If anyone wants to go straight to source.

[http://motherboard.vice.com/blog/soylent-no-food- for-30-days](http://motherboard.vice.com/blog/soylent-no-food-for-30-days)

</comment><comment><USER34> This is a pretty sensationalist headline, given that they're in a new factory, new offices, and the general findings of the experiment are so positive that the subject is considering going back on Soylent in the future.

<comment><USER35> The "mold" part of the title feels especially disingenuous.

<comment><USER14> There was literally mold on a month-old product. How is it disingenuous to say there are rats and mold?

<comment><USER36> Because the mold occurred when the packaging was compromised -- this is not related to the conditions of the manufacturing.

<comment><USER37> It might be related to the rat.

<comment><USER38> You might be a literate orangutan.

Figured I'd join in on the speculation while it's fresh.

<comment><USER16> His speculation seems _more_ than fair, since we know they at least _had_ a rat problem.

</comment></comment></comment></comment></comment></comment></comment><comment><USER39> Soylent represents everything I hate about the valley.

<comment><USER40> Eating is _broken_. It's time to disrupt the digestive system!

<comment><USER41> How do you have >10avg comment karma? Snarky one-liners?

</comment></comment></comment><comment><USER42> It's possible to recover from quality scares. Clover Food Lab, which got its start as one of the MIT food trucks, had to deal with a salmonella outbreak over the summer. These news reports and blog posts by the founder document what happened:

Salmonella outbreak sickens 12 in state, triggers closure of Clover restaurants: [http://www.bostonglobe.com/lifestyle/health- wellness/2013/07...](http://www.bostonglobe.com/lifestyle/health- wellness/2013/07/15/salmonella-outbreak-sickens-state-triggers-closure-clover- restaurants/ARtB7O4zcbFUGALVeIEKBO/story.html)

Clover Food Lab delays reopening after Salmonella scare: [http://www.metro.us/boston/news/local/2013/07/23/clover- to-r...](http://www.metro.us/boston/news/local/2013/07/23/clover-to-reopen- wednesday-after-salmonella-scare-offer-free-french- fries/#sthash.xjdvKUJI.dpuf)

First response by the founder: [http://www.cloverfoodlab.com/is-this-your- first-time/](http://www.cloverfoodlab.com/is-this-your-first-time/)

Did we say Wednesday? We meant Thursday…: [http://www.cloverfoodlab.com/did- we-say-wednesday-we-meant-t...](http://www.cloverfoodlab.com/did-we-say- wednesday-we-meant-thursday-2/)

Read the blog posts by the founder, and the comments. Transparency about what was going on was key to keeping their customers informed, as well as curious members of the public. They also worked very closely with health officials. Clover was able to survive with its reputation intact.

<comment><USER43> Don't you think it says something about Silicon Valley that your first thought is to characterize this as a _PR issue_?

It's Airbnb "ransackgate" all over again ...

<comment><USER44> "If we focused too much on quality, we'd run out of VC money!"

</comment></comment></comment><comment><USER45> The angry comments in every solyent article are pretty silly imho. You are under no obligation to use it. Those that do are still permitted to dine with family. :/ Any bugs will get worked out over time.

These days I usually make a smoothie for a quick breakfast... perhaps some unsweetened almond milk, protein/vitamin powder, ground flax seed, a bit of fruit/veggies, sometimes even a healthy oil. The concept is not terribly different than soylent.

I do like to keep my blood sugar in a moderate range, however. I might be interested in trying soylent if they had a low-carb version, one not significantly made of oats and maltodextrin.

<comment><USER28> > Any bugs will get worked out over time.

Meanwhile, they'll still market it as optimized nutrition to put you in perfect shape and fine for everyone even if they have allergies etc etc.

<comment><USER45> Maybe they've gone a bit far with that, but I've not yet encountered marketing that didn't put a positive spin on its product. As always take with a grain of salt.

</comment></comment></comment><comment><USER43> What happens when the _Move Fast and Break Things_ philosophy is applied outside software. :)

</comment><comment><USER46> People dont realize what little regulations supplements face compared to "food".

Most products you buy at nutrition/health stores (like GNC/Vitamin Shoppe/etc.) are not really tested. You can pretty much be getting chalk and no one will know. Or you get an overdose of Ephedra and die.

<comment><USER21> See superdrol (anabolic steroid with high liver toxicity) and Craze (meth analog)

<comment><USER46> This was exactly what I was talking about. Muscle building supplements and bath salts.

</comment></comment></comment><comment><USER47> Seems like Soylent is taking advantage if the entire industry loophole called supplements. If the loophole didn't exist, this type of entrepreneurship wouldn't.

Food companies are also doing real experiments. I don't see tasteless goop shakes disrupting the market any more than sport shakes.

EDIT: I stand corrected on the first paragraph. I still believe the 2nd to be true.

<comment><USER48> Soylent is a food and not a supplement. The commercial version of the product is being produced in an FDA approved and GMP certified facility - RFI.

<comment><USER47> I stand corrected. Good for them!

</comment></comment></comment><comment><USER49> I love how nonchalant the CEO was when he called the VICE reporter to tell him not to eat any of the spoiled batch of Soylent.

</comment><comment><USER50> It's unfortunate for Soylent to end up in such a situation given how easily it could have been prevented.

For me however it does not discount the product in the least, and I would expect a rethinking of the production process to be posted soon in response.

<comment><USER28> > For me however it does not discount the product in the least

You can get better products from reputable companies.

Or you can buy this gloop, from a bunch of people who clearly have little clue about what they're doing.

<comment><USER50> Perhaps I should clarify, I would hate to see this hurt the entire industry. If Soylent does not do a complete rethinking after what has happened I expect someone else to take their place.

<comment><USER28> They're using a copacker now, which means a proper, approved, factory. So things should be much better for the actual product.

I dislike the way the founder keeps saying "I want to be totally transparent," - but only after someone has seen a rat or found mold or whatever.

The algae stuff sounds interesting. Is anyone already working on it?

</comment></comment></comment></comment><comment><USER51> This is, IMO, the stupidest thing ever. Why just WHY give up on food? Cooking and enjoying food is one of our essential pleasures in life; I just can't see myself replacing it to some hipster matrix-like shake of nutrients. Just no thank you.

Anyway the title feels a lot misleading for someone that is used to do water fast. That is truly 'eating no food', and some do it for lengths of 30 days (yes it's safe for most people).

Cooking your own food, experimenting around and occasionally doing some fasting is, again IMO, the true way to eat happy and healthy. That's what I do.

<comment><USER24> Some people really hate the whole process of shopping, cooking, and eating. Or, at least, they're tired of spending hours every day on it. Can you really not think of anything you'd rather do with your time?

<comment><USER51> Sure, of course. Nowadays every single piece of 'time' is invaluable to be productive, to get rich, to achieve something.

But we lose the pleasure in the process. Sure, I'm not able to cook a pleasant meal on midweek as I do on my weekends. But that doesn't mean that I'm going to the extreme of blending all up and feed myself with a straw. Finding a balance is the way to go.

</comment></comment></comment><comment><USER52> The three NYC food critics (11:20 in the video) really bugged me. Their immediate smug dismissal of the product and idea was predetermined. Maybe I'm reading too much into what was shown, but I got the impression that there was no possible world in which they give Soylent a chance.

I'm not necessarily a believer, but I'm noticing this behavior more and more often as I get older and it's increasingly bothering me.

<comment><USER53> > Their immediate smug dismissal of the product and idea was predetermined. > Maybe I'm reading too much into what was shown, but I got the impression > that there was no possible world in which they give Soylent a chance.

Why would they? The best possible case is that it tastes like a milkshake or malt or something good like that. At which point, they're still arguing against a monoculture of millions of identical milkshakes, which are still hell for anyone who actually enjoys food.

I'd expect any food critic's attitude toward this stuff to make their attitude towards corporate fast food look pretty mild by comparison.

<comment><USER52> I believe no one associated with Soylent has ever claimed it to be a culinary delight, and no one is trying to stop people from enjoying food when they want to eat for that purpose. To have these critics evaluating Soylent by their usual metrics in a pseudo-experimental setting is disingenuous. The guy critic even used the word "stupid". It's not a stupid, it's just not good at something it never claimed to be good at.

</comment></comment></comment><comment><USER54> From a different perspective, has anyone ever taken the time to read local health department restaurant inspection reports (if available)?

I assume most people here eat at restaurants without too much concern, but if you ever read the reports, you'll find experienced industry professionals cited for far worse infractions than these.

<comment><USER28> I live in the UK. My local town has a 5 start system. "rats in the same building" would get a place shut down.

</comment></comment><comment><USER55> What makes Solyent special vs other meal replacements? I take a meal replacement called Raw Meal (only one meal a day) that's make mostly from sprouts. I feel great when I make myself do it every day. Is the difference that Solyent isn't made from any plant material but rather is raw chemicals?

</comment><comment><USER56> Best part of this for me was the information that the Optifast product exists. I hope soylent is successful, but I like knowing there are existing total- meal-replacement competitors I can order now on amazon (which I just did).

</comment><comment><USER57> Gross, why are human beings packing Soylent?

</comment><comment><USER58> I feel like you can get 90% of the way to soylent's promises with whey protein milkshakes, multi-vitamins and fish oil. Toss some fiber in that diet and you get the rest of the way. Athlete? add some creatine to your morning shake and eat something with more carbs post workout (carbohydrate supplement powder works great and is cheap). Having a minimalist diet isn't rocket science, but I guess it is reassuring to have that stamp on the bottle that says a doctor approved of the macro-nutrient ratios.

</comment><comment><USER59> "Lacking background in chemistry or nutrition, Rhinehart developed the formula through research and self-experimentation." (from the Wikipage article)

OMG, yes, that sounds like a totally reliable product to, you know, like, trust one's own existence to.

Not to mention the incredibly sad, and dehumanizing experience of losing all the marvellous things of a great meal that are not related to nutrition: textures, flavor, a time to disconnect and relax, a time to chat with friends, family, etc, just to mention a few obvious ones.

</comment><comment><USER60> For those who feel like they are missing out on the social aspect of eating out. Perhaps restaurants can start offering Soylent-based meals in their menu but with a twist. Instead of a plain shake in a cup, they could mold and dye the Soylent powder to look like a natural food like an apple, strawberry, or even a steak and serve it on a plate.

No stigma from having to turn down a restaurant invitation or a get together with friends.

</comment><comment><USER61> I've been following this story since the beginning, and here's the part that I'm baffled that people always forget:

 _They 're open-sourcing the recipe._

That should remove all the accusations of it being a scam. If it's a scam, it will be easily proved such.

If there are nutritional problems, they can be fixed, either in the official branch, or in one of the many forks which already exist.

</comment><comment><USER62> I found this very troubling:

"I wasn't drinking enough water. At the factory, Rob told me that was a common mistake; since Soylent is a shake, people figure they don't have to drink extra water—an easy way to get dehydrated."

Failing so thoroughly to communicate how to use your product that users become dehydrated within two days is a serious mistake, though thankfully not a common one.

</comment><comment><USER28> I'm really tempted to set up a kickstarter for a documentary of me living for 6 months on the various existing liquid feeds.

It'll be tricky getting a doctor to fit a feeding tube up my nose, but I'm sure someone would do it. (Bit scary using non-medical people because of the risk of the tube going into a lung.)

</comment><comment><USER63> I wouldn't mind eating this once and a while when I'm low on time and don't want to drive somewhere or whip something up.

I wouldn't see myself eating this ONLY, cause the video did bring up a good point, eating is also a social thing. Hey babe you want to go back to my place and eat some soylent?

<comment><USER64> We can cook it, oh wait, don't have time.

</comment></comment><comment><USER65> Meh. Sensationalist piece. I know Vice and the shenanigans they use to get headlines. I trust none of it.

<comment><USER66> My initial thought was " Don't most people that go on weight loss diets shake do this anyway?" ... followed by "whats actually different about this product and existing food replacement shake diets?"

</comment></comment><comment><USER67> I'd kill (well, pay up to $600/mo) for a low-carb version of Soylent. Even if he made it in a (clean) residential kitchen, although I'd prefer if RFI did it under contract.

Even better if you could get monthly blood analysis and then have your Soylent customized for you.

SoylentPro, perhaps.

</comment><comment><USER68> Disruptive!

</comment><comment><USER69> > Eating will become like boozing—something we do recreationally with friends, > or as a hobby

or, part of the grimdark future where the trend of hobby eating sends the prices of food out of reach of the lower 7/8 of society

</comment><comment><USER70> IS the stuff on vice.com real? I read about a guy who claimed to only eat raw meat, and it seemed a bit far fetched.

Ok, this Solyent is believable, but why??? Eating is one of life pleasures.

</comment><comment><USER71> I would compare this to a tech startup becoming the victim of an exploit. i.e. an injurious but not life-threatening data hack. There are many examples of hacks on tech startups due to technical malfeasance that sometimes show neglect in the handling of data or poor planning in the current operation of the system.[0]

I think Soylent has plenty of potential and while this will darken views toward the brand for a time, it will most likely recover. The idea is too good.

[0] [https://blog.twitter.com/2009/monday-morning- madness](https://blog.twitter.com/2009/monday-morning-madness)

</comment><comment><USER72> doesn't your digestive system have to re learn some tricks if it's not used for a long time ?

</comment><comment><USER73> I Quit watching the video at the part were he says "i was eating leafs, it so strange".

</comment><comment><USER74> Zuckerburg will drink Soylent only if he can kill it first.

</comment><comment><USER41> These top comments are really the worst of HN. Thoughtless, emotional vitriol.

Until Soylent is proved unsafe, there is no basis for calling it unsafe.

<comment><USER28> We see unsuitably dressed workers scooping powders from uncovered boxes on a factory floor into other boxes to be mixed, with rats in the factory.

They've left that factory now, but it's telling that even though Rob didn't think the factory was suitable for a number of reasons he still went ahead and prepared and shipped product to (I assume) paying beta testers.

What more do you need?

<comment><USER11> Eh. I'm not so squeamish. I know that pretty much every restaurant will have or has had rodents, it's just part of life.</comment></comment></comment>


Reverse Engineering the TEC-06 Serial Protocol - <AUTHOR> https://syonyk.blogspot.com/2018/01/reverse-engineering-tec-06-serial.html <comment><USER2> Are there any good open source alternatives to that trial licensed serial sniffer, but for Linux? Something that can suss out baud, parity, stop bits, etc.?

<comment><USER3> Would sigrok do what you need? [https://sigrok.org/](https://sigrok.org/)</comment></comment>


Ask HN: I want to go paper-free. How? - <AUTHOR>

I would love to scan all my documents and turn them into ocr'ed PDFs. However, most excellent scanners are cost prohibitive. The typical $450 is well outside my price range (college student). Most of my documents are letter-size, or odd bits of paper. I have a HP four-in-one, so I could scan them manually.<p>So, do you have any suggestions for software, cheaper hardware, or the ilk? Any great hacks for getting rid of the paper sprawl? <comment><USER2> An alternative would be a traditional flatbed scanner.

While not ideal for catching up on a backlog of unscanned documents, it isn't bad for scanning current documents. They can be bought for anywhere between $30-70.

As another thing to consider for non sensitive documents (things like course notes or the like) would be do find a copy machine on campus that can scan multiple pages in a row. The ones at my school have the option to email pdfs to you rather than print. It might be a good (free) way to scan many documents at once if you can find one.

</comment><comment><USER3> As a college student myself, I know the deal. I have a networked four-in-one (networking optional, but very convenient if you can get it to work) Brother printer and an Evernote Pro account ($50 a year or so, or you can roll your own solution). Everything gets scanned into Evernote. Simple as that.

The main reason I went with the Brother MFP instead of the other options is that it has an auto-doc feeder, which is very nice for multiple-page documents. However, it is not a duplex feeder, so double-sided papers will be a pain.

</comment><comment><USER4> You could try the Doxie scanner: <http://getdoxie.com/></comment>


This Fish Is Driving Its Own Motorized Aquarium - <AUTHOR> http://gizmodo.com/this-fish-is-driving-its-own-motorized-aquarium-1519829256

<comment><USER2> This makes me wonder if there is the fish equivalent of a treadmill where a circular bowl has a water flow from one side pumped through to the other side based on the direction the fish is pointing and how quickly it is attempting to swim in that direction.

</comment><comment><USER3> I imagine the fish probably hates that</comment>


KDE 4.3.0 (Caizen) released - <AUTHOR> http://kde.org/announcements/4.3/index.php

<comment><USER2> It looks great! I've kind of been on the outskirts of KDE for a while but I think I'll try out the Kubuntu that includes this.

<comment><USER3> Kubuntu 9.10 comes out in october and should include 4.3

</comment></comment><comment><USER4> Needs more clocks.

</comment><comment><USER3> SWEET! Maybe its finally stable enough to use! I still miss old 3.5

</comment><comment><USER5> They spelled continuous improvement wrong.

<comment><USER6> They'll fix that in the next release.

<comment><USER5> Snap.</comment></comment></comment>


Levels.fyi – Compare career levels and salaries across companies - <AUTHOR> https://www.levels.fyi/ <comment><USER2> See also [https://www.reddit.com/r/sysadmin/comments/d2g4hm/reddit_tec...](https://www.reddit.com/r/sysadmin/comments/d2g4hm/reddit_tech_salary_sheet/)</comment>


Eternal Terminal: Remote terminal for the busy and impatient - <AUTHOR> https://mistertea.github.io/EternalTCP/ <comment><USER2> After skimming the "How it Works" page, I'd be curious to know how they get around laggy interrupts, e.g. cat'ing a massive file and trying to Ctrl-C out of it. With Mosh, there's no giant delay because they don't care about history, they're just sending snapshots of the latest data. Hence why they use UDP as well.

ET however uses TCP, and some type of BackedReader and BackedWriter for TCP data - which _implies_ to me that everything is being sent/received in a massive queue. Also, it supports scrolling, which would be difficult _(but not impossible)_ if they only cared about recent frames like Mosh.

Finally, I'm curious how well it handles mobile connections. That's another selling point of Mosh. Admittedly I never use mobile internet, so that's not a concern of mine, personally.

I love Mosh and I'm always happy to see competing apps, hope they complement each other well :)

<comment><USER3> > ...I'd be curious to know how they get around laggy interrupts, e.g. cat'ing > a massive file and trying to Ctrl-C out of it.

Presumably with the TCP URG flag. That said, I only read years ago that's how it's done, without ever checking myself. I've found references to in in telnet, but not ssh, so perhaps the latter uses some other mechanism.

<comment><USER4> TCP urgent data only indicates that the application should try really hard to read up to a certain point. It doesn't provide a way to abandon transmission of data that's already been sent with write(). It also generally does not convince routers on the way to prioritize the urgent packet before packets already in their buffers.

The way you'd want to use it is not to transmit the Ctrl-C urgently (that direction is clear), but to transmit the interruption of the reply urgently back to the client. And I think there's nothing that will save the server from having to actually send all the bytes that you managed to attempt to send before you received the Ctrl-C.

Also, it's completely broken: [https://tools.ietf.org/html/rfc6093](https://tools.ietf.org/html/rfc6093)

mosh works around this by rendering the terminal window server-side and sending diffs of the terminal window (think VNC or streaming video) to the client. So the in-flight data from server to client is at most a screenful. If the data isn't sent in the first place, you don't have to worry about unsending it. (Of course the tradeoff is loss of scrollback.)

<comment><USER5> _> Of course the tradeoff is loss of scrollback._

That could always be buffered on the server side.

<comment><USER4> You won't get native scrollback with server-side buffering. Precisely because it's scrollback that's off the screen, there's no way to send ANSI escape sequences to edit it after the fact; it has to actually be written to the screen and then scrolled off. So you can't really do anything where you transmit the current screen at higher priority and scrollback at lower priority. (Unless you want to do something where mosh will write out scrollback when it receives it and then write the actual current screen below it, but I bet that will cause a ton of flicker.)

You can probably do some things to heuristically improve scrollback, e.g., telling the terminal sync thing to sync 1000 lines of scrollback if the connection seems good and only the current screen if it seems poor. You won't get reliable scrollback but maybe it's good enough.

</comment></comment></comment></comment></comment><comment><USER6> Hi, I made a quick video showing ET in action and what it is: [https://www.youtube.com/watch?v=_tzQhL- usbc](https://www.youtube.com/watch?v=_tzQhL-usbc)

<comment><USER7> Looked for a video on the site, couldn't find it. Found this in the comments. Thank you!

<comment><USER6> Did the link work for you? I just updated the link because it was somewhat broken! It works now though :) NP!

</comment></comment></comment><comment><USER4> I feel like 99% of what I get from mosh is good performance over mobile networks, not IP roaming per se. In particular, TCP's congestion control algorithm is intended for networks that get _congested_ , i.e., low-bandwidth shared-media physical networks where a dropped packet is a sign that you should lower your transmission rate. That's approximately zero of the networks I use; when my packets get dropped, it's usually because I'm in a train and tethered to my phone which went briefly out of range of cell service, or because someone turned on the microwave, or because I'm being handed off between wifi or cell towers, or whatever. So constantly reconnecting over TCP (especially if there's a significant application-layer handshake for the reconnection) doesn't seem like it solves the problems I have. mosh uses a custom, non-TCP reliable transport layer that is actually built for mobile networks.

Both scrollback and tmux -CC support are feasible in theory with mosh, though difficult to get right:

[https://news.ycombinator.com/item?id=14228591#14229268](https://news.ycombinator.com/item?id=14228591#14229268)

[https://www.mail-archive.com/mosh- firstname.lastname@example.com/msg00304.htm...](https://www.mail-archive.com/mosh- firstname.lastname@example.com/msg00304.html)

There's a fork of mosh linked in the first comment that switches the terminal- to-user end from a synchronized terminal screen to a bytestream (same as the user-to-terminal direction, i.e., keyboard input). It's not going to be robust to, say, catting a huge file and needing to Ctrl-C, but it should maintain mosh's robustness to radio (wifi/cell) network blips. It was designed for scrollback, but I'd sort of expect it to make tmux -CC work too.

Anyway, it is super cool to see more efforts in this space, and I bet for people who work primarily at desks with reliable internet connections, this is a huge improvement over, say, autossh. But for my own use case for mosh, this doesn't seem like it's got feature-parity yet. Maybe there are clever things you can do with aggressively restarting TCP connections that get you the same experience as mosh's UDP approach.

<comment><USER8> IIRC, Terminal.app sends a key code when the user scrolls in mosh (or any program that takes over the screen). Maybe it would be possible to handle that and display the scroll back buffer?

<comment><USER4> Oh, yes, if there's a way to signal a scroll attempt to the application then it's totally doable.

Is this the "Scroll alternate screen" checkbox? I believe that just controls the scroll wheel, and makes it not do native scrolling and instead just send a page-up or something. If so, then non-native scrolling is definitely possible ... but it's already possible if you run screen or tmux instead of mosh. (Which is what I do, and it works fine for me, in part because I learned how to use screen's scrollback even before mosh existed.) I can see the argument for exposing this with better keyboard shortcuts than screen's inscrutable ones, but my impression is that people mostly want native scrolling so they can, e.g., drag in the terminal UI to copy and paste a large amount of text. You can't do that with non-native scrollback, since the text isn't all contiguous in the terminal window.

</comment></comment></comment><comment><USER9> FWIW, I've had a lot of personal success with just plain SSH managing the resumption of sessions. The trick is to not send keepalives from the client, and to not time out idle sessions on the server. When you can control both of these, you don't need extra tooling to resume sessions.

That said, it's not as friendly to IP changes, nor does it provide predictive typing, so there's definitely something to be said for the value of tools such as these.

I do have one question, given the tmux and scrolling support, how much mosh- like lag compensation can ET provide?

<comment><USER10> ET dev here.

ET is primarily made for IP changes and also because the kernel/router will sometimes kill stale connections, and it's not possible to send keep-alives if your laptop is asleep.

There is no lag compensation because ET is not a terminal emulator, it's only a remote shell. I cannot create predictive letters and undo them reliably (passing backspace commands to the terminal sometimes does not undo the last letter). Lag compensation would need to be implemented by a terminal emulator such as hyper.js.

<comment><USER9> As per the other response thread, SSH already compensates for closed TCP connections, so long as it's configured appropriately.

WRT the lag compensation - this is something mosh does, so if ET does not, it's worth pointing out.

So, as it stands, persistence of the session across IP changes seems to be the primary differentiating feature. Good to know.

</comment></comment></comment><comment><USER11> Can you outline briefly what the benefit of this is compared to mosh?

<comment><USER12> > benefit of this is compared to mosh?

I use byobu (screen) for all the things this is supposed to address. I think. Byobu doesn't keep your ssh connection from dropping but the session is still there once you reconnect with no loss of history. Plus you can connect from multiple clients (using the same user account).

<comment><USER13> The advantage over a terminal emulator like screen or tmux seems to be automatic resumption.

That is, losing the ssh connection and needing to manually resume the session.

</comment></comment></comment><comment><USER14> How robust is this to man-in-the-middle attacks?

<comment><USER15> Since it uses SSH to transport the initial session password, as robustly as SSH is.

<comment><USER14> The initial password is only used for authentication, isn't it? Someone could (unless more details are provided) snoop on the connection or even inject packets.

<comment><USER10> Hey, Eternal Terminal developer here :-)

A one-time shared passkey is sent over ssh and then this passkey is used to encrypt/decrypt the data in both directions. The server and the client have different initial nonces.

<comment><USER16> I tried and failed to log in with ssh keys. Does 'et' require password login or can it work with ssh keys as well?

</comment></comment></comment></comment></comment><comment><USER17> It's in a different category but there's also Apache Guacamole... typically you'd host your web proxy+container where ever your servers are, so the buffering and scrolling happens on the remote side and is rendered to your browser. No idea what happens if you try to ^C out of a 100MB cat halfway through.

</comment><comment><USER18> Why does it need it's own port if it rides over SSH? Couldn't SSH just forward a port?

<comment><USER19> It could, but then it would have to deal with the SSH line protocol which is complicated, because it allows for a LOT of stuff. ET is basically pretty dumb, it basically just dumps a PTY onto the network, and is way simpler.

</comment></comment><comment><USER20> Can anyone who's tried both this and mosh, comment on them both?

</comment><comment><USER21> So it is mosh, but much better? I'll try it.

<comment><USER21> The PPA doesn't work. The compilation instructions fail.

<comment><USER22> Compilation works for me: [https://asciinema.org/a/LkPYDdWkGgFybny8ChqOLQA8e](https://asciinema.org/a/LkPYDdWkGgFybny8ChqOLQA8e)

What problems are you encountering? It might be worth opening a GitHub issue.

<comment><USER21> It is not clear from the error that you were missing libsodium. I don't remember what was my error anyway, I'll try again later. But I can't even find libsodium on my apt.

<comment><USER22> Agreed, it wasn't terribly clear. I essentially just guessed based on the mention of "sodium_LIBRARY_RELEASE". What OS are you running?

</comment></comment></comment></comment></comment><comment><USER23> Does it support ssh agent forwarding? The most important missing feature in mosh imho.

</comment><comment><USER24> Anyone used this behind corporate firewall

<comment><USER10> Yep, it's just like ssh so as long as you can make a TCP connection to the server you can use it from behind a firewall.

</comment></comment><comment><USER25> kitty (fork of putty) does the reconnect thing on Windows, among many other things: cinst kitty

</comment><comment><USER26> What about tmux/screen?

<comment><USER10> You can run tmux/screen inside a ET session</comment></comment>