Economics of Electric Vehicles Mean Oil's Days as a Transport Fuel Are Numbered - <AUTHOR> https://www.forbes.com/sites/mikescott/2019/09/02/economics-of-electric-vehicles-mean-oils-days-as-a-transport-fuel-are-numbered/#3e32d4605102 <comment><USER2> >renewable electricity has a short-run marginal cost of zero, is cleaner environmentally, much easier to transport and could readily replace up to 40% of global oil demand

Hmm, not sure about that "much easier to transport" part. A cube 3 meters on a side can contain enough gasoline to power the average car for its entire lifespan. The gasoline is a liquid, it is relatively easy to move it between containers. Any technology that is capable of moving macroscopic amounts of matter is capable of moving gasoline. You can haul it on a bicycle, you can haul it on an airplane. To transport electricity you need to make sure there are power lines and batteries arranged in a certain way.

<comment><USER3> That really is a remarkable visualization! So much so that I had to compute it for myself - 27,000 liters of gasoline will move an average car 287,000 km assuming 9.4L/100km which is the average 2017 fuel economy for a "car, light truck, SUV" in the US.[1]

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

<comment><USER4> Relatedly, fuel consumption can be measured in square meters:

[https://physics.stackexchange.com/questions/325733/why- can-f...](https://physics.stackexchange.com/questions/325733/why-can-fuel- economy-be-measured-in-square-meters)

<comment><USER5> Yes, and the grandparent's calculation can be accomplished by simply dividing the fuel volume by the "area" of the car's efficiency (or multiplying if using MPG, which is inverse area)

[https://www.wolframalpha.com/input/?i=%283m%29%5E3*24.9mpg](https://www.wolframalpha.com/input/?i=%283m%29%5E3*24.9mpg)

<comment><USER6> Pico hectares are a good unit of area to use for this. For a car that gets N miles/gallon, for 1/N gallons/mile, that works out to 235/N pico hectares.

That results in nice small, but not too small, numbers for most current cars, around 50 pico hectares for a Humvee in the city to around 4 pico hectares for a Prius on the highway.

<comment><USER7> Square centimeters or millimeters seem easier to visualise. The area represents the size of the tube that feeds the engine to get this mileage. You could even express it in the form of a radius.

</comment></comment></comment></comment></comment></comment><comment><USER8> > _"For a given capital outlay on oil and renewables, how much useful energy > at the wheel do we get? Our analysis indicates that for the same capital > outlay today, new wind and solar-energy projects in tandem with battery > electric vehicles will produce six to seven times more useful energy at the > wheels than will oil at $60 per barrel for gasoline powered light-duty > vehicles, and three to four times more than will oil at $60 per barrel for > light-duty vehicles running on diesel,"_

If these figures are even in the rough ballpark of being correct, then it is all over bar the shouting.

> _" More than a third (36%) of the crude oil produced today goes to fuel > vehicles susceptible to electrification"_

[https://www.electricclassiccars.co.uk/](https://www.electricclassiccars.co.uk/)

<comment><USER9> Coffin nail for small internal combustion engines is maintenance and life span. I think maintenance is around 5 to 10 cents a mile. And the engines only last 4-8000 hours. Maintenance on electric motors is nil. And the life span is 25-50,000 hours at least for industrial motors.

Kicker once price parity is archived gasoline powered cars will be more expensive to operate even if the cost of gasoline was zero.

</comment></comment><comment><USER10> > renewable electricity has a short-run marginal cost of zero

This seems to be the crux of the argument. It certainly doesn't make sense to me. Obviously oil would find it hard to compete with electricity if it was free, but amortizing the cost of renewable power plants means that is unlikely any time soon.

<comment><USER11> Marginal cost = cost of producing one more unit of something (energy in that case) once your capital has been spent.

It just says that if you have a solar panel, you don't need to spend additional money to make it produce electricity. Unlike, say, a diesel generator. It is purely capital spending, zero marginal cost.

Another way of counting would be to say that _not_ producing costs you money as you are losing capital over the panels' lifetime.

</comment></comment><comment><USER12> Bloomberg has a study.[1] But they see electric vehicles hitting 50% of new sales about 20 years out.

The battery Ford F150 is two years out.. At that point, most consumer vehicles can potentially be electric, but the electrics will not be lower in initial cost yet. Bloomberg sees that happening in 2024.

Conversion may happen faster in China. Already, there are heavy incentives to go electric in Beijing. As in, you can get a car license much more easily.

[1] [https://about.bnef.com/electric-vehicle- outlook/](https://about.bnef.com/electric-vehicle-outlook/)

[2] [https://thinkprogress.org/electric-vehicles-cheaper- gasoline...](https://thinkprogress.org/electric-vehicles-cheaper-gasoline- cars-e4c86bd2aebe/)

<comment><USER11> FYI we are at about 5% yearly now. More than half the EVs produced last year were produced in China, where the government strong subsidizes electric vehicles and taxes fuel vehicles.

</comment></comment><comment><USER11> There is also another strong incentive for EVs in a renewable electricity scenario: smoothing the intermittence.

Nowadays, electricity grids try to incentivize consumers to use electricity at night more, as they try to smoothen the consumption baseline. With solar and wind, you have huge spikes of production and some gaps as well. Expect electricity to be very expensive at some time and very cheap (even free or negative price) at some other time. In such a context, storage capacity becomes very quickly a good investment.

</comment><comment><USER13> The Forbes summary of the report it's covering says this only covers light duty vehicles and up to 40% of oil production. So still plenty of demand for oil for long haul ships and trucks I imagine.

<comment><USER14> Fuel used in Ships is very different from Gasoline.

<comment><USER13> Not sure what you mean? It still comes under the moniker "Oil".

</comment></comment></comment><comment><USER15> I have questions about the environmental impact of EV batteries when it comes time to replace or dispose of them. I've read a few things, including an old statement by Tesla on the topic.[1]

> Tesla: "our lithium ion cells contain no heavy metals, nor any toxic > materials. In fact, our cells and Energy Storage System, by law, could be > disposed of by putting them in a landfill. However, we have no intention of > landfilling our ESS." They go on to say a recycling plan is being > implemented. Cool.

From an RoHS POV, sure, no heavy metals. But "no toxic materials" and "ready for landfill" blows my mind. Am I naive?

I'll assume Tesla is one of the Good Guys, but I predict worse players in the industry will take advantage of loose disposal regulations if there is short term benefit.

[1] [https://www.tesla.com/blog/mythbusters-part-3-recycling- our-...](https://www.tesla.com/blog/mythbusters-part-3-recycling-our-non- toxic-battery-packs)

<comment><USER16> People will buy completely wrecked Teslas for $5-20k just to extract and resell the battery modules. Each of the 16 battery modules from an S goes for about $1200 a pop. The secondary market will buy essentially any quantity of lithium cells if the price is below $200/kWh, no questions asked.

Recycling efforts are almost always for show. If a cell or module has at least 30% of its original capacity remaining, people will reuse it for stationary storage or weight-insensitive vehicles. Shredding and recovering cathode materials from lithium cells is about as economically nonsensical as recovering silicon from cell phones.

There is such a massive worldwide shortage of batteries right now that worrying about dumping them in landfills is beyond pointless. You may as well worry that we're throwing away too many gold bars.

</comment></comment><comment><USER17> This writer works through some upper limits of vehicle electrification, based on cobalt reserves:

[https://syonyk.blogspot.com/2015/12/cobalt-requirements- for-...](https://syonyk.blogspot.com/2015/12/cobalt-requirements-for-global- electric.html)

<comment><USER18> The writer doesn't seem to distinguish between reserves and resources, a common mistake in these kinds of articles. In normal mining use reserves are areas of ore you've mapped out and shown to be economically extractable by drilling holes, taking samples etc, resources are the amount or stuff out there. Reserves always only go a few years ahead because it takes money to find them, drill them and so on. That doesn't mean we're running out.

</comment></comment><comment><USER19> > Economics of Electric Vehicles Mean Oil's Days As A Transport Fuel Are > Numbered

I know the article was about cars, but fossil fuel will always have a place as aviation fuel. The only thing I can currently see ending that trend is widespread use of vacuum tunnel trains.

<comment><USER20> I see the claim that we need fossil fuels for airlines and rockets raised frequently, but once we have widespread renewable electricity, what's the barrier to creating fuel from air and water, using electricity?

AFAIK, it's not really _fossil_ fuels that are needed for planes and rockets, but high energy density _liquid_ fuels, and these can surely be created renewably once we have a renewable energy infrastructure.

Or have I missed something?

<comment><USER21> Yes.

And small electric planes are in fact beginning to show up. It is my understanding that going electric enables more efficient designs, and with those one or two decades of further battery tech development might actually get us large planes too.

<comment><USER9> That Israeli company Eviation is claiming their yet to fly electric plane will have a range of 500 miles. I'm reserving judgement till I see it. If they pull that off it's a line in the sand.

<comment><USER20> This electric aircraft gets 60 minutes endurance and is flying today (apparently):

[https://www.abc.net.au/news/2018-01-04/first-electric- plane-...](https://www.abc.net.au/news/2018-01-04/first-electric-plane- passenger-flights-in-australia-to-rottnest/9304424)

<comment><USER9> Be interesting to talk to someone that has real experience with those.

</comment></comment></comment></comment></comment></comment><comment><USER22> But all the small electric cars are just starting at the shamed price of 35/40k € ( Peugeot 208, VW ID.3 and so on).

That is a huge barrier of entrance. At the same price, one can buy a BMW or Audi. We need an economic model to let the EV industry boom

<comment><USER23> One probably needs to develop and produce EVs in cheaper country than Germany. BMW and VW engineers earn ~100k € early, they are unionized and can't be fired. As a result one gets ID.3 for 40k€. That's already very expensive car for most Germans despite some pre-orders: [https://electrek.co/2019/07/22/vw- zwickau-factory-electric-c...](https://electrek.co/2019/07/22/vw-zwickau- factory-electric-cars/)

Last but not least: electricity. If you don't have a garage, EV does not make sense. No easy overnight charging, I don't want to park mile or tho away my car for few hours just for charging. And taxes! Most of petrol/diesel price in Germany are taxes, electricity is taxed much lower. Can government loose this stream of income that easy? Or electricity will be taxed same way in the future?

<comment><USER24> ICEs are affordable. Engineer wages don't seem to be the limiting factor. The problem is that the car companies don't want to invest into battery factories because they hope someone else pays the bill first.

<comment><USER23> You are right, Sono Motors in Munich did their development on shoestring budget. I was asked to join electric camper startup, they estimated their development budget under 2M€ using off shelf parts.

</comment></comment></comment></comment><comment><USER25> The question on my mind is what else will this freed up oil will be used for? One area could be cheaper fuel for aviation? More plastics? This of course ignores the environmental cost of continuing to use oil.

<comment><USER26> If oil demand falls a lot of tar sands and offshore and fracking and other hard to get oil will become uneconomical to extract, causing (paradoxically) supply to appear to contract too. The oil age could ratchet down via a series of price spikes and contractions just as it ratcheted up via price spikes and expansions.

<comment><USER9> Thing I read about the history of oil is energy return on investment went from about 125:1 in 1920 to about 10:1 now and tar sands are worse than that.

If countries start slapping carbon taxes on oil, you can quickly see where that goes.

<comment><USER26> It costs so much less to drive an EV per mile largely because we get electricity from sources with a much higher EROEI than present day oil. Gas, coal, solar, wind, nuclear, and hydro are all much better. The low energy return of current oil is priced in.

BTW it's not just obtaining the oil but refining it. Oil refineries use a ton of power usually from electricity, gas, or by burning some of the oil itself. Heavier oil like tar sands and shale takes more energy to refine, as does high sulfur oil.

Tar sands is so bad I've heard it described as being almost more a way of very indirectly converting other sources of energy into oil than a source of energy.

<comment><USER9> Yes. From an energy efficiency point of view we'd be better off burning the oil used to make gasoline in a thermal power plant.

Your comment about Tar Sands reminds me of a quote I read a long time ago about the price of coal being linked strongly to the price of diesel. Not to mention fracking boom is just a way to turn free central bank loans into Nat Gas.

</comment></comment></comment></comment></comment><comment><USER27> Great!

Now all we need is an electric car that fits the economic footprint of a gas car and provides decent range. I'll take a performance model, please.

<comment><USER28> Which car runs on a gas?

<comment><USER29> Toyota Mirai, Honda Clarity, Hyundai Nexo just to name a few.

</comment></comment></comment><comment><USER30> Note that this is a "Forbes Contributor", i.e. a user of the Forbes blogging platform. I wish HN wouldn't label these with "forbes.com" because it's even shittier quality than Forbes.

</comment><comment><USER31> Lithium batteries aren't green at all. Going to EVs just changes the impact on the environment.

If we can't solve the end of life issues with lithium batteries, we need to look at them as a technology adjacent to petroleum when it pertains to environmental impact. A true step forward would be an innovation of power storage itself, rather than the mechanisms around it. Build a better gas tank.

<comment><USER5> It seems likely that the end of life for vehicle lithium ion batteries will look roughly similar to end of life for vehicle lead acid batteries today. Namely, lead acid batteries are recycled at a rate of 99.3% in the US, making them the most recycled consumer good. The demand obviously doesn't exist right now because so few electric cars have reached end of life, but it seems like the transitioning the world to battery power will require a one-time investment of a bunch of materials (nickel arguably being the most important) then those same materials will just cycle around the economy for centuries.

[https://www.recyclingtoday.com/article/battery-council- inter...](https://www.recyclingtoday.com/article/battery-council- international-lead-battery-recycling/)

<comment><USER32> tesla's plan for old car packs that lost some range is to turn them into home battery packs.

<comment><USER33> Originally the PowerWall was meant to be all recycled batteries, though there aren't generally enough vehicle batteries to recycle yet, so far as I know Tesla has never sold a PowerWall with recycled batteries.

Nissan actually drew up a plan for a PowerWall competitor before Tesla even announced theirs, but has never produced one. Nissan has claimed to actually be waiting for the point in time where Leaf and other Nissan batteries are recyclable (and also that it has so far been pleasantly surprising how long the batteries are lasting in "first use" life).

</comment></comment></comment></comment><comment><USER34> OPEC and the United States keep fossil fuels artificially inflated through constant wars and their barbaric sanctions against Iran & Venezuela. How much would a barrel of oil cost if they were allowed to sell on the free market?

<comment><USER35> "fossil fuel" is a limited resource (not renewable) full of interesting chemical molecules. It is a shame that it is wasted for energy production. IMHO, it is too cheap.

</comment></comment><comment><USER36> The entire article is 100% bullshit and has nothing to do with EV per se. All you need to do is look at general electricity prices, which have been going up, not down, especially in the countries that have the highest renewable rate (Denmark or Germany). [https://www.researchgate.net/figure/Line-graph-of- average-el...](https://www.researchgate.net/figure/Line-graph-of-average- electricity-price-for-households-for-2005-2015-in-EU-countries_fig3_323445413)

Once electricity prices start collapsing and battery capacity issues are resolved, I'll start believing the story.

<comment><USER37> Here in the UK the price of petrol has gone up more than 50% in the past 20 years. So long as electricity is increasing in price more slowly its still more attractive as a fuel source.

<comment><USER38> I imagine that has more to with taxes than anything else. Adjusted for inflation, petroleum is quite low compared to it's price over much of the last 3-4 decades.

<comment><USER37> The underlying cause doesn't make any difference to the consumer though. If you're saying people don't want electric cars because the cost of electricity is increasing you have to weigh that against the cost of alternatives, and electricity is still better.</comment></comment></comment></comment>


Big Data Set for Crypto Backtesting - <AUTHOR> Hi guys,<p>I have a huge data set from the past couple of months with the price of cryptocurrencies off of CoinMarketCap. The CoinMarketCap data is every five minutes. I collected data between August and November. The data is in csv format. Let me know if you are interested in the data in another format. https://github.com/iamrobinhood12345/coinmarketcap_data <comment><USER2> Why? Backtesting is already an idiotic way to write a trading bot and by only using data between August and November you basically get a completely wrong, over-optimized algorithm.

</comment><comment><USER3> is it possible to zip it up?</comment>


Social distancing is the only way to stop the coronavirus - <AUTHOR> https://www.theatlantic.com/ideas/archive/2020/03/coronavirus-cancel-everything/607675/ <comment><USER2> We have three septuagenarian candidates for the next president. CFR for this age group is around 15% (1/6). Roll three dice and you get a 42.13% chance of at least one six.

Odds are pretty high we are headed for the next William Henry Harrison situation.

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

<comment><USER3> Note that this is effectively now two septuagenarian candidates. Sanders is at the point where he will not automatically be nominated at a brokered convention if Biden is unable to run.

</comment></comment><comment><USER4> I'd say I'm in the camp of cancelling everything right now, instead of waiting till the last minute. Seems doing so now would also have less of a social impact.

That said, what I've yet to hear about is what the end game looks like?

Do you cancel everything for a month or two, and then go back to normal? Wouldn't the virus just take hold again? So do we go on a routine monthly quarantine every quarter?

Do we cancel everything until we find a vaccine?

Do we quarantine the "at risk" and actually have everyone else interact even more so that all the healthy people get it quickly and recover to develop immunity?

If anyone knows, I'd be curious, what kind of end game are we looking at here?

<comment><USER5> If they make the test cheap enough, convenient enough, and in sufficient quantity, we can bring everything back online in a low risk manner long before we have a vaccine.

<comment><USER6> The test has enough false positive rate to make it annoying to use in general population. It's being improved.

</comment></comment></comment><comment> jerome-jh There are only two ways to stop the virus: vaccination, and everyone having been in contact with the virus and having built immunity.

Everything else is only trying to slow the spreading. It is not useless though.

And keep in mind that without a vaccine, there is a fair chance for the virus to come back another winter (assuming it stops spreading in the summer).

</comment><comment><USER7> I really don't believe that washing your hands is the way to stay safe. I don't touch my eyes, nose, or mouth with dirty hands. I'm not a kid that puts things in my mouth.

But yet, I have always gotten sick during the winters at work, in an office setting. Always.

The only winter where I didn't get sick, was when I stayed home all winter, and avoided most public contact. And miraculously, I didn't get sick that season.

So the flu virus or whatever I caught, was likely, always via airborne transmissions. Either I was in the same room as someone that sneezed or coughed, and the virus diffused through the air inside, or it got transmitted through the ventilation system.

Keeping your hands from your eyes, nose, and mouth, is important, but so is the usage of a face mask. If anything, it should at least try to stop or slow down some airborne viruses. And face masks will work better, when everyone is using it, so their germs stay localized to themselves.

<comment> jerome-jh Certainly washing hands is not the end of everything, but it cuts about 20% of the total number of transmissions, for flu at least. So it is significant, when you have a pandemic with a virus for which nobody has immunity.

The second point is that the less you have fat on your hand skin, the shorter lived is the virus when it lands on it. That is the rational behind "wash your hands often" messages.

</comment></comment><comment><USER8> I live in Boston, I'm in my 30's, and I've decided I won't cancel anything. If I get the virus, so what? I firmly believe it's unwarranted panic. I'll enjoy the empty metropolis and remember this event for the rest of my life, like I remember 9/11, the financial crash, and how my parents remember the JFK assassination and the Blizzard of '78\. Strange times

EDIT - Let me clarify. If I get the virus, I will quarantine (of course), but I'm not going to prematurely ruin my life in fear of this event, which is in itself not a death sentence - _only 0.2% of those under 40 die at worst case_ [https://www.worldometers.info/coronavirus/coronavirus-age- se...](https://www.worldometers.info/coronavirus/coronavirus-age-sex- demographics/)

Everyone needs to _RELAX_

<comment><USER9> You're incredibly selfishly increasing the risk to everyone else around you, but I get it. I was in the same camp just a few days ago.

<comment><USER8> Nope - I wash my hands. You want me to self-quarantine already? I'm not going to be afraid of 0.00001% of my state being infected.

<comment><USER9> Ah, yes, washing your hands. The completely infallible way to prevent the spread of a disease.

I don't want you to be afraid - I want you to minimize the risk that you get coronavirus and become another infection vector, endangering the at-risk populations around you.

I want you to do that because it is the socially responsible thing to do, and it will decrease the chance of someone who is far more at risk of serious complications from the disease catching it.

<comment><USER8> I took the subway today, and it was about 1/4 full for the time. But everyone there wasn't pulling their hair out in abject terror. Last night my wife and I ate dinner at a Thai restaurant, and it was pretty full. I'm just going with the huge portion of society that doesn't choose to be afraid.

<comment><USER10> That's good that you're patronizing Asian businesses, a lot of them have been hit hard by people avoiding them due to virus fears.</comment></comment></comment></comment></comment></comment>


Learning to Optimize Tensor Programs - <AUTHOR> https://arxiv.org/abs/1805.08166 <comment><USER2> Compare to polyhedral optimization [0], supported in GCC via Graphite [1] and in LLVM via Polly [2]. These have a lower ceiling than hand-optimized assembler, but they automate the tuning of how to nest the loops for maximum benefits due to the cache hierarchy. Considering their ability to do so for general purpose number crunching loops, they are rather nice, but there is still some integration work needed, especially for LLVM, as lack a nice place in the existing optimization pipeline.

[0]: [https://en.wikipedia.org/wiki/Polytope_model](https://en.wikipedia.org/wiki/Polytope_model) [1]: [https://gcc.gnu.org/wiki/Graphite](https://gcc.gnu.org/wiki/Graphite) [2]: [https://gcc.gnu.org/wiki/Graphite](https://gcc.gnu.org/wiki/Graphite)

<comment><USER3> Polyhedral optimisation is cool (Facebook has been using it to great effect for ML kernels recently [1]), but it's not the end of the story. It's complementary to this paper, which seems to be about learning an effective and transferrable cost model to guide the optimisation process (you could use that learned cost model in a polyhedral optimiser).

[1]: [https://arxiv.org/abs/1802.04730](https://arxiv.org/abs/1802.04730)

<comment><USER2> Uhh.... this sounds interesting. Maybe we'll see it soon-ish (<5y) in LLVM/GCC.

<comment><USER4> It already exists! Check out Polly for LLVM.

</comment></comment></comment></comment><comment><AUTHOR> Summary: Tensor program is able to be optimized by using machine learning and transfer learning. The numerical program optimization model is trained on feature from low-level AST of the program. Experiments: Tasks: ResNet, MobileNet, LSTM LM, DQN Hardware: CUDA/ARM GPU/ARM CPU Speed up compare to CUDNN, TensorFlow Lite and ARMComputeLib: ~from 1.2X to 3.8X faster in end-to- end test.

<comment><USER2> Be careful what they benchmark against. The Maxwell/Pascal GEMM routines are _very_ optimized, since Nervana Systems (in their infancy) made an assembler for them which they showed off/demonstrated by implementing GEMM (single- precision dense matrix*matrix multiplication). It was lacking like 2% from the theoretical performance, as predicted by the clockrate, but they had no idea why these 2% were missing. They hand-scheduled the instructions to get around the limited number of register banks, and the associated bank conflicts, a concept normal CPUs afaik only see with DRAM. At that time, the official GEMM, albeit hand-optimized, only reached like 80% of the theoretical value.

<comment><USER5> the benchmarks are not about GEMM, but real-world deep learning workloads which could have very different characteristics from GEMM

<comment><USER2> I just wanted to caution that one has to be careful what one is comparing against, as the libraries got significant speed improvements over time, without that being widely advertised. So it matters a lot if one compares this library against CuDNN from 1 month ago, or to CuDNN from 2 years ago. The latter is _much_ slower.

The GEMM example was just there as the details of the optimization have been published, unlike most other hand-tuned assembler routines for DNN workloads.

<comment><AUTHOR> CuDNN v7 was used in the experiments, in the experiments parts each comparison was listed with version or commit number.

<comment><USER2> Well, I didn't RTFA. This was not meant to be specific for this article though.

</comment></comment></comment></comment></comment></comment><comment><USER6> Does this mean that it is easy now to get optimized deep learning kernels for AMD GPUs?

</comment><comment><USER7> I'd have never thought that the art of low-level optimization would be the first one with some serious automation from Deep Learning... Very interesting paper!

</comment><comment><USER8> Great example of recursive self improvement.</comment>


Javascript without curly braces - <AUTHOR> http://threads2.scripting.com/2013/january/javascriptWoCurlyBraces

<comment><USER2> Listen I get it. Everyone has their own coding style and what makes it easier for them to read. But, am I really the only one that likes curly braces and semicolons here?</comment>


Using Node.js and Cappuccino to create real time collaborative drawing - <AUTHOR> http://techblog.gomockingbird.com/socket-to-em

<comment><USER2> Looks amazing! I'm working on a diagram editor (UML and business processes) for Google Wave where we had to solve command ordering/merging and a lot of similar problems.

We developed a javascript library to synchronize a command stack between clients and resolve all ordering problems that could occur due to commands arriving very late. Having a server like you do for synchronization and that stuff would make those issues nearly trivial to solve- but as Google Wave only provides a synchronized key-value storage we had to roll our solution client side only.

You might want to check out our approach in a little more depth at [http://www.processwave.org/2010/02/syncro-real- collaboration...](http://www.processwave.org/2010/02/syncro-real- collaboration-in-google.html) or take a look at the very well documented code at the bitbucket: <http://bitbucket.org/processwave/syncro>

We are planning on adding a paint canvas to our app, and yours looked the best I saw so far in a webapp. Cool work, it's not trivial stuff :)

</comment><comment><USER3> cool demo, I worked on collaboration for inkscape in google summer of code, while it never ended up production quality, it was quite enjoyable to work on and very cool to see working.

I would take a look at using existing chat servers like ejabberd as the backend as opposed to writing your own, a lot of the complexity involved, especially when you go to > 2 room is the synchronisation and ordering of messages between all participants and chat server come with some free help with that.

<comment><USER4> Thanks for the suggestion. Did using chat-based backends help much though? It seems like the hard part is in merging user actions when doing a collaborative drawing-like app (like Mockingbird). Chat servers, AFAIK, can just push messages onto a stack. I asked about this in another thread - <http://news.ycombinator.com/item?id=1280135> . Other than Google Wave, there don't seem to be too many frameworks out there that do the brunt of the work for me.

<comment><USER5> EtherPad is open source now. Granted it's a totally different application than drawing, but who knows, some of the code might be interesting/useful.

<comment><USER6> If you represented drawings as text (e.g. as postscript) you could use the rest of the code unchanged.

<comment><USER4> If anyone else is curious, the Wave protocol is also open source, as is Google Mobwrite (which uses differential synchronization instead of operational transformations (which is what Wave and I think Etherpad uses)).

My "drawings" are represented by text (JSON), and if normal text merging methods will work, I might want to use differential synchronization (seems easier). But I wish there was something proving that it won't mess up the integrity of my structured data.

Links:

Wave protocol: <http://www.waveprotocol.org/> and <http://code.google.com/p/wave-protocol/source/checkout>

Mobwrite: <http://code.google.com/p/google-mobwrite/>

Etherpad: <http://code.google.com/p/etherpad/>

<comment><USER7> you can use a file synchronization algorithm. here's one I did for JSON:

[http://blog.mozilla.com/rob-sayre/2008/02/15/restful- partial...](http://blog.mozilla.com/rob-sayre/2008/02/15/restful-partial- updates/)

It works well except when array elements move around (that works, it's just unintuitive)

<comment><USER4> I didn't know about sync.js - this seems like exactly what I want.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Very cool. When I did <http://flockdraw.com> with @lunixbochs 6 months ago we really wanted to do it without flash but the updates-per-second really didnt cut it. Looks like thats starting to change (which is awesome). One of the features we really wanted was a iphone version/app but we wouldnt be able to use a flash socket shim on iphone, hence a total rewrite needed.

Again- Very cool :)

</comment><comment><USER9> Do you have a live demo?

<comment><USER4> I'm waiting for an account at <http://prgmr.com/> so I can start putting up live demos of my stuff. In the meantime, if anyone has suggestions for a cheap VPS to put something like this up on, that'd be awesome (the cheapest I know is Linode, but 19.95 a month is a bit much for random screwing around).

<comment><USER10> We'd love to host you at ElusiveHippo.com - it's like Heroku for nodejs apps. Email me at firstname.lastname@example.com and I can set you up with a beta account.</comment></comment></comment>


Backbone Two Way Binding - <AUTHOR> https://github.com/floatnone/Backbone-Two-Way-Binding

<comment><USER2> The usefulness of two-way binding is utterly boundless. Simply an amazing pattern that any and every one should implement at least once in their programming career.

<comment><AUTHOR> tmanderson, thank you for your comment and support. And, obviously, I agree 100%!

<comment><USER2> No problem, man. It's a shame that HN doesn't have two-way binding on these comment forms. I have a hard time visualizing what my comment will look like. Hope it looks good!</comment></comment></comment>


How a Scooter Startup Beat Uber and Bird in San Francisco - <AUTHOR> https://www.ft.com/content/e7e057c4-ad6a-11e8-94bd-cba20d67390c <comment> dan0- Please link to non-paywalled articles!

<comment><USER2> From the FAQ:

> _" Are paywalls ok?"_

> _" It's ok to post stories from sites with paywalls that have workarounds."_

> _" In comments, it's ok to ask how to read an article and to help other > users do so. But please don't post complaints about paywalls. Those are off > topic."_

<comment> dan0- What is the paywall workaround for ft.com?

<comment><USER2> One that works for me is to search for the article title on Twitter and follow a link from there.</comment></comment></comment></comment>


The Nature of Thomas Edison's Genius - <AUTHOR> https://www.newyorker.com/magazine/2019/10/28/the-real-nature-of-thomas-edisons-genius <comment><USER3> I happened to just finish watching the HBO Miniseries _From The Earth To the Moon_ [1] last night. The last episode features a side-plot about the french film _Le Voyage dans la Lune_ by Georges Méliès, which had an interesting tie to Edison I had never heard of before.

Méliès had intended on US distribution for the film, but before he could make that happen, someone working for Edison bribed a theater owner in London for a copy of the film they had, and Edison then made copies which he redistributed in the US. Méliès didn't see a penny of this, and went broke within the next few years.

[1] [https://en.wikipedia.org/wiki/From_the_Earth_to_the_Moon_(mi...](https://en.wikipedia.org/wiki/From_the_Earth_to_the_Moon_\(miniseries\))

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

</comment><comment><USER4> _" Godlike genius.. Godlike nothing! Sticking to it is the genius! I've failed my way to success."_

Thomas Edison

</comment><comment><USER5> > Edison did not actually invent the light bulb, of course.

Of courser he did. He had the concept of a high voltage being applied across a high resistance filament, which turned out to be the key insight to making a lightbulb useful. Other experimenters were stuck on using low resistance, high current filaments, which just couldn't be made into a useful bulb.

<comment><USER6> I read that he has researchers working for him who worked on the bulb. Then there was the DC motor fix which Tesla is said to have done but Edison didn't pay him as promised

<comment><USER5> Many people challenged Edison's lightbulb patent in court, and lost.

<comment><USER7> In a period when the US did not allow non-nationals to take out a US patent. Rather weights the game.

Fred Mullens patented the lightbulb 20 years before Edison, and Joseph Swan a UK patent for essentially the same design Edison got a few months or years before Edison. He was already lighting a theatre with his lamps when Edison got his famous patent IIRC. There are probably a dozen other people from other countries who achieved and patented something before Edison.

Edit: Note, Swan successfully sued Edison in the UK. After which Edison's continued presence in the UK was via a joint venture with Swan.

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

<comment> VvR-Ox As always: Victor dictates history.

Who discovered America?

"Columbus of course!" \- No, wrong! It was some Asian Indians and some vikings who did it hundreds of years before him.

Nevertheless "columbus" ist still the response many people would answer that question with because in the view of the western part of the world the colonization columbus started was the most important event.

You can go on with the invention of the paper press (most will say "Gutenberg") which also happened hundreds of years earlier in China.

I think it's really strange to emphasize this kind of "knowledge" so much in our schools as it just frames the thoughts of people so they think better about their "very important" ancestors. Actually this kind of "knowledge" doesn't get you anywhere besides bragging to be very educated to get some more attention.

And then of course it helps to identify who is "better". Did men invent more than women? Did white people invent more than colored people?

This is irrelevant and I think we should care less about why our ancestors were supposed to be geniuses and take more effort into fixing our education to be a more enlightened civilization that probably can exist without so many wars and destruction.

<comment><USER6> I'll chip in.

Who is the monster of world war 2? We say Hitler, just Hitler. We ignore the killings don't by Stalin and the fact that concentration camps were Churchill's idea in Boar war in Africa and that ethnic superiority was first claimed by American scientists in some European conference, Hitler just implemented what they said and then those scientists denounced Hitler as if they never said anything about ethnic superiority/cleansing.

<comment><USER7> Well actually... They were innovated by the Spanish in the Ten Years War before Churchill was even born. Nor do we or did we ignore Stalin - he was, at best, thought to be a necessary anti Nazi evil.

p.s. Churchill was a war correspondent during the Boer War. No one in the military would have listened even if he had thought them up at that time.

<comment><USER6> Fair enough. I seem to be misinformed.

We also don't talk about how Churchill killed millions of Indians in Bengal famines. It is well documented. He diverted everything to the war and when asked about starving Indians, he reportedly asked, "Why hasn't Gandhi died yet?"

<comment><USER7> It is "well documented" in memes and sources with an axe to grind - well, mainly one well known revisionist source. Read even just the Wikipedia page and he was _clearly_ not solely and singularly responsible. Even the parts he contributed were probably near unavoidable. Purely from memory:

\+ There had been a _series_ of natural disasters coming one after another - <USER2> major hurricane, a flood, a major crop disease that was spreading through the region.

\+ The biggest single cause of famine was the _Indian_ princes of other Indian states closing down trade to Bengal thanks to the fall of Burma. This resulted in _Indian_ merchants profiteering and the price of rice and grain sky rocketing. Due to the vassal nature of the Raj, these were still independent choices. Could they have been persuaded or compelled to change? Merchants profiteering maybe, the Princely states probably not.

\+ Burma had just fallen. Bengal had imported much of their rice from Burma. This was the second major cause. That trade was no longer there, and it was thought likely Bengal might fall. Countless troops and Burmese refugees were flooding into the region - most of whom were ill from the trek through Burmese jungle or injured. Which would have triggered a crisis without any of the rest. Control of the sea and sky in the Bay of Bengal had been lost, and it was expected that the region might fall any moment - it was the new front line. The actions of Japan against any civilians or troops in regions they captured are well known. Had Bengal fallen the famine would have been a trivial side issue as 10x or 100x more would have died, been enslaved or raped. Compare mortality and conditions in Burma and Nanjing under Japan with Bengal.

\+ Mounbatten did request aid, but at that time the UK was barely receiving adequate food and war materiel to continue the war, let alone send food aid half way around the world. The cross-party war cabinet voted not to. Had they done so the losses would probably have been colossal. Could he have turned that decision? Who knows.

\+ Losing Bengal, then likely India would probably have lost the war.

All of the above should be on Wikipedia. So is Gandhi's racism and ongoing feud with Ambdekhar (writer of India's constitution, leader of the Dalits, and probably the most remarkable and influential Indian ever).

Now then. The governor of Bengal certainly made some questionable decisions, one _very_ suspect decision and the little aid that was provided was inadequate - yet they prioritised ensuring Bengal did not fall. No one makes memes of that guy or claims his role is "well documented". Just about no one at all knows who the governor even was. Under Japan it would have been a hundred times worse. There would be memes complaining of Churchill's stupidity sending aid instead of preventing the fall of Bengal that result in hundreds of millions of deaths at the hand of Japan.

There could have been far more local action from the neighbouring Indian states. Perhaps more could have been done to _require_ those vassal states to send aid to Bengal, but I'm not sure that could have been achieved. Perhaps Australia or NZ could have done more, yet as dominions they were voting their own choices...

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I couldn't quite understand the part about Edison printing newspapers on the train. Was he copying newspapers to sell them cheap?

<comment><USER9> It's conceivable that they printed papers on the train to save time. In a similar vein, a relative of mine worked for a company that made a product by pouring the ingredients into a tank truck with a built-in mixer, and letting it mix on the way to the customer's location. It was some kind of simple stuff that really was just a mixture of a few things.

<comment><USER10> Concrete trucks are mixed on route aren't they?

<comment><USER9> Yup. And it leads to an interesting issue. The angular momentum of the rotating barrel causes weird handling issues for the truck driver. If they try to take a turn too quickly, the truck will tip over due to the gyroscope effect.

<comment><USER10> Cool. I didn't know that!

</comment></comment></comment></comment></comment><comment><USER11> Obligatory Oatmeal reference to Tesla being better than Edison. [https://theoatmeal.com/comics/tesla](https://theoatmeal.com/comics/tesla)

<comment><USER12> Don't understand the downvote. for a hacker it seems Tesla is a much more interesting and sympathetic figure than Edison. Also I don't like putting emphasis on individual people ... the genius of Edison is also related to the genius of other people surrounding him and living during the same time. What would Einstein have been without Goedel etc.? We don't know .... we don't understand the influences.

<comment><USER13> > What would Einstein have been without Goedel?

Gödel was a child when the theory of relativity was formalized.

<comment><USER14> > _Gödel was a child when the theory of relativity was formalized_

Relativity does away with the concept of simultaneity. Your statement may be true but unprovable :)

<comment><USER15> Einstein developing general relativity exists in both the past and future light cone of Gödel being a child.

Happy? :)</comment></comment></comment></comment></comment>


Show HN: Collate: Cross platform note taking app based on plain text data format - <AUTHOR> http://collatenotes.com/welcome/ <comment><USER2> _" Sign up for our newsletter below to get a download link [to our beta]"_

No thanks, but I'd be glad to try it and give constructive feedback if you can provide a link without the e-mail requirement.

I like to think of us as a like minded community trying to help each other rather than worrying about harvesting e-mail during a beta cycle. Why not make it optional until you are v1.0?

That said, it looks like you've done some nice work.

Do you have mobile apps in progress?

<comment><AUTHOR> Honestly, before this post went live I had no idea if anybody would be interested in yet another note taking application. I was hoping to use it as a way to gauge if people would consider giving me their email address in exchange for trying the beta. I completely understand where you're coming from though, I myself try to keep my inbox clean!

To skip the mail signup, you can jump straight to the download link here:

[https://goo.gl/8ZBHQx](https://goo.gl/8ZBHQx)

Thanks for the kind words!

No mobile apps yet. I know, this is a huge sore point for myself as well. It's definitely on the road map and I'd like to get the desktop app stable and some more features ironed out before I dive into the mobile app realm.

<comment><USER3> > I had no idea if anybody would be interested in yet another note taking > application

I'm coming to the conclusion that the answer to this is always yes. I wonder if the correct answer is for everyone to have their own note taking app. There's a balance between using an existing tool and having one that does what you want.

I was also surprised by the email signup to try a beta. That made me think I'd have to buy a paid app in a few months. (Not that there's anything wrong with paid apps, but I'm not a fan of trial versions of software.)

</comment></comment></comment><comment><USER4> I've been wanting to create a file format like this for so long. Good job!

The main thing I was thinking of doing differently was zipping the whole thing up, so that it would become a single file that you could pass around, similar in concept to a CBZ.

Edit: Haven't really looked too much at the software, just really excited about the notebook format.

<comment><AUTHOR> Thanks! It's really good to hear that other people wanted something similar!

Zipping is a great idea, I didn't even consider that. I'll definitely look into it.

I've mainly been considering trying to integrate Git into the application for both version control and the remote features. It would auto add, commit, push and pull from remote and allow people to use a git repo they host or an already available service like github or gitlab. It would try to be as seamless and out of the way as possible.

It would be quite a bit of work and I'm interested on hearing what others have to say before I dive into that rabbit hole.

<comment><USER5> I'm not sure what backend you're using, but you might find it simpler to integrate Mercurial, as you can basically access it as a Python library [0].

Though, Mercurial doesn't have a particularly great git-export story, so syncing to GitHub or the like is harder. (Fossil has a better story there, with first-class git export, but a different workflow, and harder integration story (a RESTful JSON API)).

Git tends to be harder to integrate with, as there is sort of an expectation you'll maintain a shell process for it. [1]

As to zipping, with Git, you need to zip the whole repo.

Fossil can zip files upon storage, or you can zip the *.fossil file.

Mercurial can bundle with gzip, to simplify things a bit.

My point being, though git can give you some nice places for users to deploy to, it can be a bit of a pain to work with, and a couple other SCM systems might need to be considered. They might make your life a lot easier.

[0] [https://www.mercurial-scm.org/wiki/MercurialApi](https://www.mercurial- scm.org/wiki/MercurialApi)

[1] [https://git-scm.com/book/be/v2/Embedding-Git-in-your- Applica...](https://git-scm.com/book/be/v2/Embedding-Git-in-your-Applications- Command-line-Git)

<comment><AUTHOR> Hey thanks for the thoughtful answers! The back end is written with Electron, so I have access to plenty of libs on NPM. I was thinking of utilizing libgit2 with some popular thin wrapper out there and giving it a shot and testing it. If it doesn't work out, I'll check out the other SCM systems as well.

Git is appealing to me personally because it's just so ubiquitous and there are plenty of free services out there to use.

</comment></comment></comment></comment><comment><USER6> How's its image handling? If it's just "write Markdown to display the image", that doesn't work so well for me - can't view offline, lose context if the image disappears from the Web, etc.

<comment><AUTHOR> Currently you can attach images to notes but I really want to add a way to attach an image and have it download and save to the attachments folder. Then have an insert button available.

So one would download an image, attach it to the note, and then they could right click on the attachment and click insert into body or something like that.

Another idea was to create a web clipper 'note type' and expand past just simple markdown notes. Note types would be for example, a web clipper note type which would download a webpage for offline consumption as a note. Or a list note type which has check boxes, list items, etc. One could potentially be a gallery or image note type for attaching and viewing image.

I'm still thinking through the idea and implementation but it's one of the features I'd really like to implement. I think it would make note taking way more flexible than just markdown.

<comment><USER7> Maybe embed images as base64 blobs?

<comment><AUTHOR> Yes! It would be cool to compile all assets into a single html file and store that.

</comment></comment></comment></comment><comment><USER8> Have you considered Zim ([http://zim-wiki.org](http://zim-wiki.org))? It seems to check all of your points. I'm using it heavily for all kind of notes that exceed two lines. It has some amazing plugins too (e.g. For organizing Todo items across the entire notebook).

<comment><USER9> Not OP but I've looked into Zim and other Wikis several times but I can't find a good editor for mobile (iOS).

</comment></comment><comment><USER10> I use [http://workflowy.com/](http://workflowy.com/)

In short it's a tree with potentially infinite depth, search, tags (#work) and contacts (@mummy), and the ability to change the root of the tree.

It's also possible to share nodes in read or read/write with other users. It's exportable to Markdown and other formats.

Sadly Collate notes nor Workflowy are free software (as in libre), and I cannot install them on my server :-(

<comment><USER11> Shameless plug: I am currently working on a free (as in libre) Workflowy replacement. [https://github.com/NickBusey/BulletNotes](https://github.com/NickBusey/BulletNotes)

<comment> zaphods-towel Awesome, thanks for sharing!

</comment></comment></comment><comment><USER12> (Shameless plug)

Couple of years ago I made Atea [0], a text-based note taking/TODO/time tracking app for MacOS. Since it stores everything in plain text files, synchronisation can be offloaded to Dropbox etc.

There's no sorting, attachments end everything else Collate offers, but I still use if for tracking time and managing projects.

[0] [https://github.com/pkamenarsky/atea](https://github.com/pkamenarsky/atea)

<comment> zaphods-towel Hi, thanks for your work on this, it looks awesome! I tried to download the precompiled dmg and it appears to be broken. When I try to open it, my computer says the file is damaged and needs to be deleted. I'm not knowledgeable enough to compile it myself and would absolutely love an easy- to-set-up dmg download I could use. I'm running Mac OS 10.11.4 if that makes a difference.

Thanks!

</comment></comment><comment><USER13> I found "Standard Notes" a few days ago, could be of interest for people who're looking for apps like this: [https://standardnotes.org](https://standardnotes.org)

<comment><USER14> I was recently looking for something to replace my Evernote, and this was the list of things I have found during my search:

\- Any text editor + Syncthing [https://syncthing.net/](https://syncthing.net/) \+ TagSpaces [https://www.tagspaces.org/](https://www.tagspaces.org/)

\- QOwnNotes [http://www.qownnotes.org/](http://www.qownnotes.org/)

\- Nimbus Notes [https://nimbus.everhelper.me/note.php](https://nimbus.everhelper.me/note.php)

\- Laverna [https://laverna.cc/](https://laverna.cc/)

\- Turtl [https://turtlapp.com/](https://turtlapp.com/)

\- SimpleNote [https://simplenote.com/](https://simplenote.com/)

\- Wiz [http://www.wiz.cn/](http://www.wiz.cn/)

\- Google Keep [https://keep.google.com](https://keep.google.com)

\- Microsoft OneNote [https://www.onenote.com/](https://www.onenote.com/)

\- Quiver [http://happenapps.com/#quiver](http://happenapps.com/#quiver)

\- Notation [http://getnotation.com/](http://getnotation.com/)

\- FetchNotes [http://www.fetchnotes.com/#/](http://www.fetchnotes.com/#/)

\- ResophNotes [http://www.resoph.com/ResophNotes/Welcome.html](http://www.resoph.com/ResophNotes/Welcome.html)

\- ConnectedText [http://www.connectedtext.com/](http://www.connectedtext.com/)

\- RedNotebook [http://rednotebook.sourceforge.net/](http://rednotebook.sourceforge.net/)

\- Notebooks [http://www.notebooksapp.com/](http://www.notebooksapp.com/)

\- KeepNote [http://keepnote.org/](http://keepnote.org/)

\- CintaNotes [http://cintanotes.com/](http://cintanotes.com/)

\- Paperwork [https://github.com/twostairs/paperwork](https://github.com/twostairs/paperwork)

\- MemPad [http://www.horstmuc.de/wmem.htm](http://www.horstmuc.de/wmem.htm)

\- Zim [http://zim-wiki.org/](http://zim-wiki.org/)

\- StandardNotes [https://standardnotes.org/](https://standardnotes.org/)

Collate seems to hit all the right notes though, so I'll probably switch to that.

<comment><USER15> I went with one not on your list - nvALT, backed by an encrypted Dropbox store. Love the minimal UI.

[http://brettterpstra.com/projects/nvalt/](http://brettterpstra.com/projects/nvalt/)

<comment><USER14> I actually saw it but forgot to add it to the list. To be honest nvAlt and Quiver are my two favorite and make me sad that I am on Windows and can't use them. They really don't have any good equivalent on other OS.

</comment></comment></comment></comment><comment><USER16> For anyone looking, another note-taking app is [http://onemodel.org](http://onemodel.org). (I'm the author).

It starts from a different conception of the nature of atomic knowledge. Details at the web site. Text-only, no mobile support (yet?), bit of a pain to install, but the most efficient I've ever known of and easy to use (I hope). Uses postgresql as the back end. I'd consider hosting the db for users, with discussion.

</comment><comment><USER17> How are conflicts handled?

Let's say I have two devices; both are offline. Now when I make changes to the same file on both devices, what happens when both devices come online? I guess there will be data loss?

<comment><AUTHOR> Currently the user is the one to handle syncing. If you use a service like Dropbox or Google Drive, the sync will be handled however they handle it.

In the future, I'd like to integrate git into the application and have a simplified conflict resolution where a a diff would be shown and you're given a accept this version or this other version.

</comment></comment><comment><USER18> Is this more than a markdown editor with a file explorer built in?

<comment><AUTHOR> Yes, it pretty much is!

It's built off the [Collate data format]([https://github.com/Collateapp/collate-file- format](https://github.com/Collateapp/collate-file-format)) which is just plaintext markdown files with YAML encoded metadata. One of the underlying principals of Collate is that you _should_ be able to traverse your notes in a file browser and edit them in a text editor manually if for whatever reason Collate doesn't work for you. The current iteration of Collate is exactly that, and I'm looking to build on top of that going forward!

<comment><USER19> I see that you allow the inclusion of arbitrary keys, but don't currently do anything with them.

I currently keep notes as Markdown files, with similar key/value pairs at the start of each. I then have a hacky script [1] that extracts all such data from each note with a particular tag, and prints the results as a table. So I have automatically generated tables for my notes on talks (with columns for the date, venue, speaker's name, and talk series), books (title, author, publisher), recipes (title, course, source, whether I've cooked it), etc. without needing any special configuration.

If I were to use Collate, I'd keep notes on talks/books/recipes in separate notebooks, so it would be a useful feature to display a table of all key/value pairs in a particular notebook.

[1]: [https://github.com/jamesscottbrown/nvalt- scripts](https://github.com/jamesscottbrown/nvalt-scripts)

</comment></comment></comment><comment><USER20> Until there is a web clipper that can do as well as Evernote, it's not an option for me. These days, I clip as much useful content as I write my own notes.

<comment><USER14> If you're ok with Google storing your stuff, I have recently switched from Evernote to simply using the Save to Google Drive chrome extension, and it's very good. It doesn't do the whole "remove the fluff" thing but it has the option of storing an image (PNG) of the page, or the html, or a web archive (html + resources) straight into a folder of your google drive. It's not complete, but it's a potential replacement.

<comment><USER20> Thanks for this. Most of what I web-clip are just tech how-tos that occasionally vanish from the web, making bookmarks useless.

</comment></comment></comment><comment> mickael-kerjean Did you consider emacs with org-mode?

It fits all your points but come with agendas, tags, can export into a crazy amount of format and a whole bunch of useful things I use on a daily basis. It's already cross platform (without relying on electron), lightweight and can even work without any Gui installed

<comment><AUTHOR> Yes! I've heard such good things about org-mode but I just couldn't get over the learning curve for emacs. I'm more comfortable with Vim and even tried the vim-orgmode but i just couldn't get into it. I really do need to hop in and try it again one day!

<comment><USER21> You can give Spacemacs or emacs+EVIL mode a try. It's basically emacs+vi keybindings.

</comment></comment></comment><comment><USER22> Is it just me or is the site hijacking scroll? I can't tell if I'm going mad or not.

<comment><USER23> It 100% is, you're probably not going mad.

</comment></comment><comment><USER24> How does it compare with floss [https://leanote.com/](https://leanote.com/) ?</comment>


Who Y Combinator Companies Want - <AUTHOR> http://blog.triplebyte.com/who-y-combinator-companies-want <comment><USER2> I can tell you why there is discrimination against Enterprise programmers. Two reasons: Most people who have worked in an enterprise have had at least one bad experience with an incompetent programmer who was just a seat filler. That means that the enterprise isn't a good filter, and even worse, it means that even if you are good, you're willing to suffer working with incompetence.

The other factor is that enterprise programmers tend to prefer places with a lot of process in place. They want to see a well defined pipeline with tests and approvals and gates and so on. Pushing untested code to production isn't even in their mental space, but sometimes you just gotta do it at a startup when you got a press hit and your traffic just doubled. Basically, they tend to slow things down by demanding doing things right.

Now, for the first problem, that's just wrong -- just because you were in an enterprise doesn't mean you are bad or you are willing to deal with bad people. It's just a cognitive bias.

For the second problem, those people are right, there should be good process and it will be better in the long term. But in the short term it _feels_ like they are slowing things down, because startups generally don't have the luxury of investing more time now for a bigger payoff later, or at least they don't think they do.

<comment><USER3> Interesting observations. As someone who came from an enterprise Java background and moved into a startup shop, it is tremendously dispiriting and disappointing to see so much disdain for people with backgrounds like mine.

I wouldn't trade my enterprise experience for anything. It gave me a deep appreciation for the craft of software development, and an amazing introduction to complex, well-designed systems (not to mention some terrible ones as well). Without that opportunity to learn process and best practices, I would never have been successful elsewhere in my career.

Of course, you'll always find seat-fillers at big companies, but I think that'd be true no matter where you go. Bad hiring decisions are real, but should not discount or destroy the many great people who grow up in enterprise environments and can make meaningful contributions.

With all due respect to the "move fast, break things" evident in many startups, it leaves behind a big technical mess for the people who help transition the company out of startup phases. I'd bet most would do well to incorporate a few more stodgy enterprise devs earlier in the process to help steer the software toward a sustainable path.

<comment><USER2> > With all due respect to the "move fast, break things" evident in many > startups, it leaves behind a big technical mess for the people who help > transition the company out of startup phases. I'd bet most would do well to > incorporate a few more stodgy enterprise devs earlier in the process to help > steer the software toward a sustainable path.

I agree to a point, and tried to address it above. It's a tradeoff -- do it right now for a big payoff later. However, you have to _survive_ to the payoff. So maybe you spend a bunch of time doing it right, and then die when you haven't actually sold anything yet.

I'd rather have a company that made it to the "we have to clean up our technical debt" phase then building something beautiful that never sees the light of day.

<comment><USER4> > I agree to a point, and tried to address it above. It's a tradeoff -- do it > right now for a big payoff later. However, you have to survive to the > payoff. So maybe you spend a bunch of time doing it right, and then die when > you haven't actually sold anything yet.

There's a balance to be had, though. I've said it downthread but I'll only mention it again here because it's relevant - I'm a manager in the "enterprise" (or more accurately, I'm a bit more senior than that, but whatever). My perspective doesn't really fall to either extreme:

Coming out of the gate and addressing the unknown (to keep it reasonably similar to startups), I want to move fast, iterate, fail fast and other cliches. Eventually, though, if we're as smart as we think we are, the unknown shrinks within the scope of the problem we're trying to solve and we move to a more manageable pace - with process, standards and all of that. I don't see burn and churn as a long term strategy for my products or my people.

Say what you will about enterprise, but we can't be total idiots. There is complexity in what we do - many are managing projects or programs that would essentially be a startup's entire product. For every unicorn, there are likely thousands of startups that will not grow as large as a single enterprise product. (talking generally here)

I'm not saying we're better or anything, but I'd hope that an enterprise dev's resume doesn't go into the shredder just because they spent years at a large company. Consider that they're probably getting paid pretty well, probably get stock (or at least the discount on purchase of stock) that is already publicly traded and liquid, weeks of paid time off, all sorts of benefits and little concern about job loss due to insolvency. If an enterprise dev is telling a startup they want to work there, it's very likely that they believe in the product or simply want to work at the faster pace, and they'll have as much to teach you as you have to teach them.

/soapbox :D

</comment></comment></comment></comment><comment><USER5> If you want to work for a YC company apply directly to the YC company you want to work with. Say who you are, what you know and why you like this company. I also recommend not putting too much weight on arbitrary labels (trial and error programmer? child prodigy?)

I've been a happy engineer with a YC company for close to three years now. I have led various teams and contributed to many aspect of the overall product during my tenure. I have also interviewed more than twenty people and I can assure you, there is no one size fit all when it comes to finding candidates that succeed.

I also tried TripleByte a year ago, I figured it would be fun to see how they do things.

I got to the interview section after doing well on the online quizz however failed to go beyond that.

From my experience I can assure you that TripleByte has its own set of standards and values that may not match with you or the company you want to work with. They are overly interested in putting labels and pigeon holing candidates into specific categories that overlooks the fact that every individual is different.

YC is a big family with varied products, teams, and problems. There are no one size fit all formula or set of labels for ideal candidates or ideal company.

Your best route for success is to do the work yourself, find the company that interests you, directly connect with them and see how it goes.

Also if someone can explain to me what is trial and error programmer, or a child prodigy I would be grateful? Can a child prodigy be also an enterprise programmer? Is there any overlap between product programmers, pragmatic programmers?

<comment><USER6> >"I've been a happy engineer with a YC company for close to three years now. I have led various teams and contributed to many aspect of the overall product during my tenure. I have also interviewed more than twenty people and I can assure you, there is no one size fit all when it comes to finding candidates that succeed."

That's refreshing to hear, thanks. Your observations is in stark contrast to their proclamation that:

"If you're a programmer interested in joining a YC startup, apply to Triplebyte and we'll match you with the ones you'd be the best fit for."[1]

[1][http://blog.triplebyte.com/](http://blog.triplebyte.com/)

</comment></comment><comment><USER7> Stockfighter.io ran into similar issues. The candidate that finished the competition we're far above average, but hiring companies still used the same filters and long timing on those candidates as for sketchy unsolicited resumes.

I think the core issue is that hiring a bad programmer is so costly, and there are so many bad programmers in the hiring pool that companies tune their filters to avoid the worst, while thinking they are aiming for the best.

<comment><USER8> How can bad programmers be improved into hirable ones?

<comment><USER7> I've been programing for eighteen years now. In that time, I've seen smart- alec kids turn into great leaders. I've seen stupid teenagers turn into responsible adults. I've seen responsible men turn into angry old guys. But I'm still at zero on seeing a bad programmer turning into a good one.

It certainly feels intuitive that it should happen, but that's not what I've seen.

If you are wanting to improve your own skills, I'd just write programs to solve problems you are interested in. Read the Pragmatic Programer and Code Complete.

</comment></comment></comment><comment><USER9> I've seen quite a bit of 'discrimination' against enterprise devs by startups over the past ten years as a recruiter (and JUG president for 15 years), and the data in this piece regarding Java/C# devs failing more interviews than counterparts is at least a little surprising.

I generally attributed the discrimination to be more about dev culture than tech skills, whereas the enterprise dev maybe with a few years at a bank/insurance/pharma company might be too set in the traditionally slow pace in regulated industries or bureaucracies to adapt to the stereotype of a fast- paced startup. I never felt that startup leaders might actually think of them as lesser-skilled, and it wasn't discussed - the feedback on enterprise candidates would often be simply 'not a good fit' before an interview would even occur. I was always a bit uncomfortable with that reaction, as clearly there are many good enterprise devs of high quality regardless of what tools they use.

<comment><USER10> I'm afraid I'm getting stereotyped as an enterprise dev against my will. I've been on interviews where that was certainly the vibe I got. No matter how much I stress that I'm interviewing while I have a job for the purpose of getting away from that culture, I can't shake that opinion it seems. Trust me I would gladly program in anything other than corporate Java if given a chance.

I think I've got the worst of both worlds too, because before this I was in academia, where I was also bored with the slow pace of things.

<comment><USER2> Your best bet is a side project. Do something fun in a language you enjoy, and talk about that in the interview instead of the work you do. Make it big enough that it warrants an entry on your resume. Or contribute to a well known open source project.

<comment><USER9> This is really good advice, and something I've advised to countless devs over the years. You can overcome some of that stigma by doing a side project in another language or even something outside the realm (like an IoT thing). Many Java devs will go with Scala, but I'd even try to go deeper and perhaps do a couple side projects and shift to something like Python or a Lisp (which often gets 'cred' points from startups).

</comment></comment></comment></comment><comment><USER11> Slightly surprised -- and a little diappointed -- to see "academic programmer" as the least desirable archetype.

Also, not sure these archetypes do a great job of capturing the process- oriented/results-oriented divide that shows up in the opening anecdote (and which I agree is quite real).

<comment><USER12> Which is interesting to me because if you go through the triplebyte process the impression you'll get is that they are looking for a very academic/textbook CS student who can balance a binary tree on a whiteboard while verbally explaining the operational complexity of an unladen swallow.

From my perspective, there is an impedance mismatch between the triplebyte process (heads-down algorithm nerd) and the findings that they are presenting here (product-focused, culturally well rounded hacker, been around the block a few times and has experience in other startups).

<comment> 52-6F-62 I was wondering much the same thing. It seemed inverted. Maybe it's just a filter they use, and they don't actually discriminate against non-academic or highly-technical types if they cannot answer those kinds of questions?

Having not got into programming by pursuing CS in university and instead kind of taking the old "hacker" route, that kind of thing always hangs around my neck when job hunting.

<comment><USER13> I've finished CS at Uni and I can tell you that now a few years down the line, I don't remember stuff. I only remember what I practice everyday, so if I am to pursue changing jobs I'll need to go off and recap what I've done at Uni. Same applies to a friend of mine that has over 15 years of experience, has a Uni degree in CS... and he had to go read Uni stuff that he's done 15 years ago just to go get another gig... his github repo has good projects and 1 project that has been stared for more than 4k times, he has an outstanding stackoverflow account etc but thats not enough... he still goes to companies and ask him to balance binary tries on the whiteboard to prove his worth...

<comment> 52-6F-62 Makes me wonder if I should feel encouraged or not! Thanks for the note.

I'm on a team with somebody who studied CS at the same university where I studied English for a time, and just the same we tend to have a reciprocal knowledge share occuring just the same.

It's getting that initial in where the degree seems to cover a great divide.

</comment></comment></comment></comment></comment><comment><USER14> "but an enterprise programmer who's managed to get shit done in a big corporate environment should be highly valued. Not only can they program, they can also put up with all of the bullshit that it takes to get things through to production. There is something to be said about a programmer who can essentially handle the politics as well" \- These people are gold, will hire them all day long... just did at one of our healthcare startups.

<comment><USER4> Screw you, stop stealing my people :)

Seriously, though, the people that can endure the corporate marathon are uniquely skilled. Imagine that it's not the long hours and breakneck pace that kill you, but the exact opposite. The ones that can see their work through to the end are amazing in their own right.

</comment></comment><comment><USER15> This is not just a problem for evaluating programmers but for ALL job candidates.

My father-in-law made a wise suggestion, as a company, to always be in hiring mode. You don't want to hire someone because you need them at that very moment but always be hiring so you have redundancy.

</comment><comment><USER16> Current enterprise programmer. Former startup employee here.

I agree that it is quite different at startups. The startup environment felt basically a glorified college environment compared to the large company culture. With that said, I would image eventually all startups have to grow up and embrace enterprise-style processes. Facebook is the example that comes to mind. When they first started, the followed the "Move fast and break things" mantra, but as they aged and took on more and more users, they had to change and become a company that valued reliability over new features. I believe their current mantra is "Move Fast With Stable Infra."?

<comment><USER17> Funny, as going by many of their open source projects, I'd say "move slow and break things" could also suit them. ;)

</comment></comment><comment><USER18> Is it just me do the categories seem a little off (as described here: [http://blog.triplebyte.com/a-taxonomy-of- programmers#.i1987v...](http://blog.triplebyte.com/a-taxonomy-of- programmers#.i1987v68j) )

Do you have an anonymous data set of resumes, interviews, and offers that someone could run some clustering against?

While parts of it have self-description bias, it seems like the analysis would be a little more interesting than what you've provided. Possibly you may even uncover what companies really want, rather than what they say they want. Kaggle contest!!!!

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

</comment><comment><USER4> A couple of things that jump out to me. Up front, I've been a little hard on Triplebyte in some threads here, but this article is great, and I think their heads are in the right place and motivated to solve one of the biggest problems we have in the corporate world (and I'm telling you this as an "enterprise" manager, so it is an issue across the board). Also that's one of my best run-on sentences, maybe ever.

> I don't want to be too hard on recruiters. Hiring and interviewing are hard, > shortcuts must be taken to keep the team sane, and there are legitimate > reasons for a company to enforce a specific engineering culture. But from > the point of view of programmers applying for jobs, these company > preferences are mercurial. Companies don't advertise their preferences. > People who don't match simply apply, and are rejected (or often never hear > back).

This is your opportunity, and it's a tough challenge. Tell them what they need and make them believe it. Of course, be right, as well. Never said it'd be easy, but a huge opportunity.

Preferences are mercurial because nobody knows what they actually need, only what they think they want, and truthfully there's a lot of latitude in the factors that lead to success. There's a real opportunity if you can figure this out and get companies on board with your judgment. I'm not suggesting one size fits all, but I am suggesting most companies don't know what size actually fits them, if I'm sticking with the cliche.

> There's more demand for product-focused programmers than there is for > programmers focused on hard technical problems. [...] And the "Academic > Programmer" (hard-problem focused, but without the experience) has half > again the demand.

This is another disconnect presenting an opportunity - minimize the whiteboard interview! That's essentially screening for the academic profile, isn't it? Again, enterprise guy here, so I'm guessing none of these companies would want to hire me based on the data presented, but I don't do whiteboard interviews at all, and I'd probably put my focus on the "product programmer" profile. Actually, I love your profile data, I've learned a lot about my own preferences just by reading this.

> (Almost) everyone dislikes enterprise programmers. We don't agree with this. > We've seen a bunch of great Java programmers. But it's what our data shows.

This is really interesting. Again, enterprise bias here, but an enterprise programmer who's managed to get shit done in a big corporate environment should be highly valued. Not only can they program, they can also put up with all of the bullshit that it takes to get things through to production. There is something to be said about a programmer who can essentially handle the politics as well. But if you don't want 'em, I'll take 'em!

Anyhow, great writeup here by the Triplebyte folks. I hope that companies in particular read and make good use of what you've put together. I plan to share this with my management team.

<comment><USER20> >>This is really interesting. Again, enterprise bias here, but an enterprise programmer who's managed to get shit done in a big corporate environment should be highly valued. Not only can they program, they can also put up with all of the bullshit that it takes to get things through to production. There is something to be said about a programmer who can essentially handle the politics as well.

\--- Very true.

</comment></comment><comment><USER21> I am sorry to be the one telling this. The startup founders (not all) are in no way position to be picky about programmers. Programming is an actual skill that takes significant amount of effort to learn and requires constant learning and improvement. After 5 years of good experience, programmers can see through the fragile nature of startups where everyone else other than them is some form of an executive in title but cannot deliver any value equivalent to writing working code.

It's often the other programmers at startups judging the other programmers. Based on my personal experience, the best kind of programmer is the one that gets along well with others.

</comment><comment><USER22> So the most desirable is the child prodigy who's built actual products in a practical way?

</comment><comment><USER23> This is an old post. Can moderators put 2015 in the title?

<comment><USER4> Yeah but there's good discussion going. Might as well allow it.</comment></comment>


Ask PG: Can you please fix the connection resets and / or explain them? - <AUTHOR>

I see HN refuse connections many times every day without any clear reason on my end, I've asked two other people to test, one had the same problem for the other it worked fine so it is a bit flakey.
It's usually accompanied by HN slowing down and returning a page in 6-10 seconds or so.
My guess is (but I really am poking in the dark here) that it has something to do with the accept queue overflowing and the network stack sending out RST packets (I've seen those using tcpdump so they figure in there somewhere).
Alternatively the 'listen' gets dropped. <comment><USER2> It's because GCs are starting to take a long time now that there is so much stuff to keep in memory. Items are lazily loaded, but they never get unloaded. Eventually (after a day or so) crawlers drag everything into memory, and GCs take excessively long. I plan to fix the problem by starting to dump stuff back out of memory. In the meantime I just restart HN when it's starting to spend too much time GCing, which in effect dumps everything out of memory except the most recent 15k items.

<comment><AUTHOR> How frequently does this happen ?

A surefire way seems to be to load the top 10 submitters history, those are pretty big, since only the last 300 can be used to build pages anyway maybe you can do a digest there and not load the whole thing ?

</comment></comment><comment><USER3> I thought I saw something posted before that this is basically a bug in the ARC code that runs the site, or the underlying server daemon. I filed it in memory (wet) as roughly a memory leak. There is a process that HUP's (something) whenever it happens.

My impression is that it's a known issue, and in the priority queue, but probably still ranks right behind other more pressing issues like deciding what's for dinner.

<comment><AUTHOR> This thread: ?

<http://news.ycombinator.com/item?id=1049859>

I mistook the RSTs for a socket without a listen so I thought the server was restarting, but the overflowing listen queue is more likely, especially in the light of riffers comment there. That means the server is still up but not accepting connections.

iirc the default is something like 5 outstanding connections, that is a thing you could fairly easily remedy.

It's bugging me because I see it happening more and more often.

edit: irony, I had to submit this three times to get through...

<comment><USER3> No, it was a different, much older comment. I think by pg.

I see this about once/day (and I spend WAY too much time refreshing HN). Slightly surprised that you see it frequently enough to comment/inquire, guess it's just random luck :)

<comment><AUTHOR> > and I spend WAY too much time refreshing HN

Errm, yes. I think I do too.

> Slightly surprised that you see it frequently enough to comment/inquire, > guess it's just random luck :)

At least once per hour sometimes many more, at least 10 times per day.

<comment><USER4> I'm curious about your _workflow_ on HN. Are you mostly refreshing /newest and /newcomments?

<comment><AUTHOR> mostly newest, and 'threads'.

<comment><USER3> Heh, me too.

Yet, we seem to have very different experiences.

What browser/OS are you using?

I am on OS X/Firefox.

<comment><AUTHOR> FF on linux.

<comment><USER3> I wonder how many concurrent connections FF/linux opens as opposed to FF/OSX. IE: your architecture may present more strain on the server and contribute to the higher rate of timeouts you encounter.

It's only an uninvestigated theory of mine.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Voronoi Polygonal Map Generation - <AUTHOR> http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

<comment><USER2> I read a lot of fantasy and I've always been bothered by the decidedly bad maps found in the frontispiece of most of them. I wonder if there is a method to go from gross features to a polygonal 'state' and then forward again?

<comment><USER3> You mean to lay out things roughly, then 'fuzz' it to look more natural? Maybe if you hand-draw the original polygons and biomes, then use his noise algorithms from the end of the article.

</comment></comment><comment><USER3> Good stuff about laying out maps/levels; harder to see how it would guide 3D rendering or game mechanics.

<comment><USER4> Here's the 3D demo in Flash: [http://www-cs-students.stanford.edu/~amitp/game- programming/...](http://www-cs-students.stanford.edu/~amitp/game- programming/polygon-map-generation/mapgen2.swf) (click '3D Slopes')

</comment></comment><comment><USER5> that's really neat. as far as i can tell, though, it doesn't describe where people live. that seems like it might be an interesting function of the details already present (access, water, vegetation, climate...)</comment>


MP3 founder, serial entrepreneur Michael Robertson on his new GizmoCall phone service - <AUTHOR> http://www.xconomy.com/san-diego/2008/12/19/michael-robertson-is-calling-but-will-anybody-answer/

<comment><USER2> I think it is important to note that the title should have read "MP3.COM founder"... as my first impression was "the guy who helped invent the mp3 compression algorithm." That would be: Karlheinz Brandenburg.

</comment><comment><USER3> <http://www.michaelrobertson.com/archive.php?minute_id=280>

I wonder why people vote against flash based voip ? Any explaination to this beside that it's trolling ? I'm asking because we do also dig in this direction. :)

</comment><comment><USER4> Using Flash to make phone calls sounds incredibly obvious now with 5 seconds retrospect. This could be big.

<comment><USER3> Try to implement this and you will see that it's not as obvious as you think. It requires lots of reverse-engineering.

PS: please don't tell me about red5.

<comment><USER4> I meant the gist of it sounds obvious, that we now have this plugin on 98% of peoples' computers that can listen to the microphone and open sockets. Obviously the implementation is a very different story.</comment></comment></comment>


Another way to be productive while working - <AUTHOR> http://www.aguapoints.org
Agua Points is an app that rewards users with giftcards for not using their phones in support of the cause to build water wells. Users are rewarded with gift cards to some of their favorite places. Check out the website at www.aguapoints.org So far the app is only on iPhones.
Can you help out by downloading and giving us feedback? It'll be greatly appreciated. <comment><USER2> I think you're missing the part where the money are coming from because that part does not make sense. "Who would donate money to people to not use a phone?"

What are the idea with the video above the fold? It would make more sense to use that section to explain what the app is about!

Just my two cents :)</comment>


Tons Of Amendments Proposed For SOPA - <AUTHOR> http://www.techdirt.com/articles/20111215/01322617096/tons-amendments-proposed-sopa.shtml

<comment><USER2> I have heard and read a lot about the arguments against SOPA but what exactly are its chances of passing either the House or Senate?

<comment><USER3> There's really no way to know until it gets to the floor for its reading and roll call.

</comment></comment><comment><USER4> Don't be pacified into thinking an updated SOPA is not that bad for America. It's a useless bill pushed by the most despicable, law-breaking organizations in media. It's unnecessary in any form.

In practical terms, I hope DNS blocking becomes toothless, and it's specifically called out that this law doesn't expand copyright law, but in theory, organizations and individuals shouldn't stop pushing until this is a dead bill.</comment>


Why Facebook's IPO could be disappointingly weak  - <AUTHOR> http://www.dailyfinance.com/2009/08/19/why-facebooks-ipo-could-be-disappointingly-weak/

<comment><USER2> _The upshot: the people with the best insight into Facebook's valuation voted on what it's truly worth. And those people were heading for the exits._

 _Employees taking part in the buyback could sell stock equal to the lesser of 25 percent of their holdings or $1 million_

I don't really have a good idea how a facebook IPO would go, but I think it's easy to read too much into what the stock buyout says about the IPO prospects of facebook.

Were I a current employee of facebook I'd be happy to lock in 25% of my gains at a $6.5 billion valuation even if I thought, _on average_ , my stock might be worth more at an indeterminate future time.

If the stock did exceptionally well, I'd still get a fortune out of the IPO, with the remaining 75% of my stock, and if the stock did poorly, I'd already have made a lot of money.</comment>


"The Pleasures and Pains of Coffee" - <AUTHOR> http://blissbat.net/balzac.html

<comment><USER2> Amusing article :) -- but in all seriousness I have been subject to many of the effects of caffeine overdose. Some days I might drink over 800 mg (the rough equivalent of 8 cups of coffee), via energy drinks, soda, and/or espresso. My stomach suffered a lot from the acidity, including acid reflux and damage to my stomach lining (mostly from soda - also, inconclusively, I suspect my appendicitis may have been related to this abuse). I would undergo "panic attacks" - i.e. adrenaline rushes, especially after exercising or during the summer and sometimes sweat like crazy in public. My sleep hours became backwards since I was self-employed - I would wake up at night and sleep through the day most of the time. I even tried quitting once for about a month, but could not handle the constant fatigue. All in the name of keep my mental gears turning to be a "better" programmer :)

<comment><USER3> Not sure if you're serious, but that sounds pretty extreme.

In my experience after a week or two off caffeine my energy levels actually improve & are more sustainable (although everyone's metabolism is different; reason why we all need to experiment for ourselves).

Did you try changing/hacking your diet and sleep cycles in the same process? I've found sugar problematic if I'm not on caffeine.

<comment><USER2> Yeah I am serious - I tried a number of things but at least my state is not so extreme anymore. I have quit soda and energy drinks, and only drink 3 shots of espresso (maximum) per day, which is under 300 mg typically (within the "acceptable" range for caffeine intake). I try to minimize my sugar as well and do not put any in my espresso, just milk.

</comment></comment></comment><comment><USER4> For context, the author of this piece died in 1850 at age 51, after years of health troubles... sometimes attributed to his unhealthy work habits and caffeine (ab)use.

<comment><USER5> For more context, I believe the average lifespan of the era was nearer 40.

<comment><USER6> Average lifespan is a pretty useless number because of all the infant deaths, though.

<comment><USER7> Yes. I went looking for life expectancy at 20 in 1830s France but could not find it via casual Googling.

EDIT: Ah, should have gone straight to Wolfram Alpha: The answer is that if you lived to be 20 odds were you'd live to 60. Unless, alas, you were Balzac.

[http://m.wolframalpha.com/input/?i=life+expectancy+at+20+in+...](http://m.wolframalpha.com/input/?i=life+expectancy+at+20+in+France+1830&x=0&y=0)

Alpha is the amateur demographer's dream. Just look at those tasty charts and graphs. Of course I didn't read closely enough to figure out where this data was coming from. ;)

</comment></comment></comment></comment><comment><USER8> Yes, before science made the digestive process and it's effects on the human spirit entirely clear to us, people actually thought their personal experience and sensitivity to particular substances were relevant! Imagine that!

/sarcasm

Nietzsche's _Ecce Homo_ has similarly interesting musings on the subject of diet and exercise.

</comment><comment><USER9> Coffee is a shortcut for me that I have to take. I can do without but it takes me like 2 hours to feel awake when I do. However I can drink a coffee and be rid of the grogginess in 10-15 minutes. I think that were I to truly quit I would need to take some time off and suffer through it.

</comment><comment><USER10> I am seriously considering switching to modafinil as a daily stimulant, caffeine either doesn't work for me in lower dosages, or makes me twitchy when it works.

</comment><comment><USER11> Another fun thing from coffee is caffeine psychosis, or generalized stimulant psychosis similar to those sometimes experience by users of (meth)amphetamines.

</comment><comment><USER12> For some reason, I read it as if it were the writings of Ignatius Reilly.

</comment><comment><USER13> Now that's a black cup of coffee :)

<http://vimeo.com/20253107>

</comment><comment><USER14> They must've had some strong coffee in those days.

<comment><USER15> It's time for the percolator <http://www.youtube.com/watch?v=tMEDZnM_TZE>

</comment></comment><comment><USER16> This article is pre-espresso, pre-percalator, and pre-vac pot even.

I would get a lot of stomach aches, grogginess and coffee burn out from drinking regular drip. Though he is describing some sort of weird tea-like method for drinking coffee, I imagine it's as bad.

Drinking a few espressos does not give me any issues, unless there is an issue with the extraction and I can feel like I've been poisoned. You have to trust your barista.

</comment><comment><USER17> Lovely readability you've got there. Never the less, a good read.</comment>


A word about color - <AUTHOR>

Commenters on the tech blogs are eager to jump on the bandwagon and bash Color's $41 mil investment as a clear sign of a bubble. At first I thought so too. Granted, the app has a two star rating, is not immediately intuitive, and is otherwise only marginally useful. Yet, I disagree with all of you who are saying that this will be a massive flop. The way I see this, is that Color's app is just a red herring which diverts attention from the underlying technology. However, the underlying technology that they've developed is pretty impressive, and has a lot more potential uses than yet another social photo sharing location aware phone app. <comment><USER2> Your claims are based on what?

<comment><AUTHOR> On having used the app and having talked to people who worked with Bill Nguyen.

<comment><USER2> That was worth mentioning then.</comment></comment></comment>


Dataflow/Streaming Concurrency via C++ IOStream-Like Operators - <AUTHOR> https://github.com/RaftLib/RaftLib <comment><USER2> Hi, I didn't intend on this getting posted quite yet. But, looks like somebody liked it...even before I've added more new features. The main project page is [http://raftlib.io](http://raftlib.io). If you're interested there are a few talks on my website: [http://jonathanbeard.io/media](http://jonathanbeard.io/media). This is purely an open source side project for me (Apache License), so...nights/weekends. I continue building it b/c I like it....so, if anyone has any suggestions, pull requests, or you just want to say hello feel free. And to xf00ba7, thanks for posting! I hope you're one of the stars/followers/forkers (hmm, forkees??).</comment>