In Event of Moon Disaster (1969) - <AUTHOR> http://www.lettersofnote.com/2010/11/in-event-of-moon-disaster.html <comment><USER2> The possibility of giving that speech scared the hell out of Nixon and helped shape some of his later decisions on follow-up Apollo missions and NASA in general. I've referenced the book on here before, but John Logsdon's _After Apollo?: Richard Nixon and the American Space Program_ is a great book on the subject. It makes mention of this letter, and how those fears impacted the White House's budget battles with NASA.

<comment><USER3> Thanks for the book suggestion. They weren't wrong; Challenger was an absolute disaster for NASA, especially considering the teacher on board.

<comment><USER4> Another good one is _Safe is Not an Option_ by Rand E Simberg, with a forward by Ed Lu. It gets into the nitty gritty of why exploring space is dangerous and why we as humans should care little about that, and more about exploring it. No different than the explorers who sailed across the seas. Some humans died, knowing that they signed up for that before embarking. Exploring space should be seen no differently, however NASA and the government are only concerned with safety. Getting the opinion of ex astronauts on these issues is great perspective.

<comment><USER5> These days we can explore new (to us) places without putting human lives at risk. That wasn't an option until merely a few decades ago.

<comment><USER6> Sure, if you count sending robots as exploring, or assume that any human life is ever _not_ at risk.

<comment><USER7> > if you count sending robots as exploring

Why would you not? With >>99% probability, _you_ are never going into space. What difference does it make if your surrogates are robots or other humans?

> assume that any human life is ever not at risk

The problem is not so much the risk per se as the cost of mitigating the risk. Sending humans into space is orders of magnitude more expensive than sending robots into space. Does sending humans produce orders of magnitude more value?

</comment></comment></comment></comment></comment></comment><comment><USER8> The big question was the rocket that had to fire to return the LEM to the orbiter. It was packed in next to the retrorocket that was used to descend. It was vibrated and jolted by the landing, then sat for three days, and then it had work perfectly to get them off of the moon. There was no possibility of any redundancy or the ability to test it under realistic conditions.

I saw a quote by Buzz Aldrin once where he gave the rocket a 50/50 chance of working properly.

<comment><USER9> The Moon Machines documentary series states the rocket used to get off the moon could never be test fired to make sure that particular rocket engine worked due to the propellant used - the engine had to be rebuilt after each firing, so it was one use only for space vehicles. They compensated for this by using the simplest design possible with self igniting propellant (separate fuel and oxidizer sources).

<comment><USER10> There's a five-minute video specifically about the chemistry of that rocket here:

[https://www.youtube.com/watch?v=JLCrZGgKD-k](https://www.youtube.com/watch?v=JLCrZGgKD-k)

</comment></comment></comment><comment><USER11> _> they will be mourned by a Mother Earth that dared send two of her sons into the unknown._

This is such a subtly _eerie_ line.

Reminds me of the mood in certain sci-fi or fantasy stories where a group of people sends reluctant incursions into a mythical, hostile region, or fragile havens surrounded by a bleak landscape.

An infinitesimal point of light on a backdrop of blackness.

On one hand, humans have so much internal strife and self-defeating bureaucracy that prevents us from discovering the truths about the Universe and realizing our place in it. Strife that is mostly in our heads (politics, religion) and doesn't make a difference to anything at large, and would probably look very ridiculous to other intelligences.

On the other hand, we would probably go insane from the infinite loneliness – and indifference – of the cosmos if we didn't have all these pointless distractions..

</comment><comment><USER12> I wonder, when it says "at the point when NASA ends communication with the men", why did it say that ? Wouldn't it be possible to maintain communication until long after they would have died ? Would they cut it off beforehand ? Was there something like a movie to alleviate the boredom while the oxygen ran out ? Which one ?

Additionally isn't there more analysis ? What are some scenarios ? I mean crashing after a failed launch attempt on the moon would perhaps be less disastrous than on earth, but can you realistically hope to survive a fall of several kilometers ?

<comment><USER13> From what I've heard, they would plan to deliberately cut off communication, so that the entire world would not listen to two men slowly dying.

<comment><USER14> I had always assumed they brought cyanide pills with them just in case of disaster. I know that if I was stranded on the moon with no hope of escape, I wouldn't want to sit there for 2 or 3 days until dying of starvation. I'd rather just eat a pill and be done with it.

<comment><USER15> they could probably have just depressurized their suits and would have lost consciousness extremely quickly.

<comment><USER16> This.

Whenever asked about cyanide, the astronauts always laughed, because if they wanted to kill themselves, there were about a million ways to do so. They didn't need cyanide.

</comment></comment></comment></comment></comment><comment><USER17> The Onion has a slightly different version of the speech:

[http://www.clickhole.com/article/speech-was-written- presiden...](http://www.clickhole.com/article/speech-was-written-president- nixon-deliver-if-astr-3908)

</comment><comment><USER18> This makes the rounds every once in awhile, and yet I still end up reading it every time. It's a little spooky. Does anyone know of other, similar "just in case" speeches?

<comment><USER19> There's a whole list here - The greatest doomsday speeches never made.

[https://foreignpolicy.com/2013/08/01/the-greatest- doomsday-s...](https://foreignpolicy.com/2013/08/01/the-greatest-doomsday- speeches-never-made/)

<comment><USER18> Thanks! These are really something.

</comment></comment></comment><comment><USER20> I always wondered if astronauts were given some informal information how to end their lives quickly, in case there is no hope for their recovery. I know I wouldn't like sitting on the moon waiting for oxygen to slowly run out...

<comment><USER21> Apparently, Carl Sagan was under the impression that astronauts were given cyanide pills, but NASA and actual astronauts have denied this, pointing out that poison is unnecessary when you can just open the hatch and depressurize your spacecraft.

[https://en.wikipedia.org/wiki/Contact_(1997_American_film)#N...](https://en.wikipedia.org/wiki/Contact_\(1997_American_film\)#NASA)

</comment></comment><comment><USER22> Ironically, you wonder had the first mission failed. If the space fever of the 60s would have stayed far longer or not. In other words, did the public just took it for granted that how difficult of feat it was and lost interest after a few successful (Apollo 13 the exception) moon landings?

<comment><USER23> Well, there was the Apollo 1 accident in 1967, which though gruesome did not stop Apollo 11. [1] Add to that many near disasters in the space program as well as the countless fatalities in the development of manned flight and you have to wonder what it would have actually taken to stop the space program.

Humans have accepted incredible risks to explore the unknown. It gives one hope for the species.

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

</comment></comment><comment><USER24> Eyes welled up a little in this one. Reminds you what a risk they took.

</comment><comment><USER25> > AT THE POINT WHEN NASA ENDS COMMUNICATIONS WITH THE MEN

Jesus. It sounds like they'd tell the wives their husbands are going to die, and then pull the plug; why not let the men say their goodbyes themselves, and (at least) give them the dignity to end the communications of their own volition?

They'd probably survive for hours, if not days, wouldn't they?!

<comment><USER26> That completely depends on the nature of the failure. This speech was written for a broad range of possible causes.

Capsule explodes on takeoff from the moon? No last words. Discover that nobody remembered to refill the rocket fuel? Sure, they have quite a few days of life support.

Though I expect that, like the story of the doomed cosmonaut Vladimir Komarov (who was allowed to say goodbye to his wife privately as his capsule burned up as it careened, parachuteless, through the atmosphere) their last words might not be something that NASA or Nixon would want to broadcast.

<comment><USER27> From Wikipedia:

"as Komarov sped towards his death, U.S. listening posts in Turkey picked up transmissions of him crying in rage, 'cursing the people who had put him inside a botched spaceship.'[26]"

</comment></comment></comment><comment><USER28> "I had a hand in the first sign to be placed by earthlings on another celestial body, and it contains a glaring grammatical error."

Safire's admission.

</comment><comment><USER29> Touching and relevant. A nice reminder of "mankind's most noble goal."

</comment><comment><USER30> This sounds significantly better in my head read with Kennedy's voice.

<comment><USER31> [https://en.wikipedia.org/wiki/Richard_Nixon](https://en.wikipedia.org/wiki/Richard_Nixon)

Was president back then.

</comment></comment><comment><USER32> Obligatory xkcd [https://xkcd.com/1484/](https://xkcd.com/1484/)

<comment><USER33> One of the very few XKCDs I do not like. It seems rather ungracious and too political.

Unwhimsical.

Un-XKCDish

<comment><USER34> A speech written in case the mission returned with extra unknown passengers, not whimsical?

</comment></comment></comment><comment><USER35> Lucky everything went just fine.

</comment><comment><USER36> Shroedinger's astronaut

</comment><comment><USER37> Curious droid YouTube ??

</comment><comment><USER38> Every 6 months this gets reposted. Congrats!

</comment><comment><USER39> Interesting bit about the clergyman going to "commend their souls to the deepest of the deep". It sounds like they weren't expecting them to go to heaven.

<comment><USER40> It's a nautical reference. When someone dies at sea, you can't bury them, and you can't burn them, so you commend their souls to the deepness of the water. Spacefaring borrows a lot of traditions from seafaring; the deepest ocean is the one above us.

<comment><USER41> > the deepest ocean is the one above us.

Poetic.</comment></comment></comment>


Bitbucket subject to a Denial of Service attack - <AUTHOR> http://blog.bitbucket.org/2011/06/06/denial-of-service-attack/

<comment><USER2> is there any reasonable explanation for this attack, other than pure vandalism?</comment>


OOPS and The Platypus Effect - <AUTHOR> http://www.advogato.org/article/83.html

<comment><USER2> The writer makes some good points. OOP sometimes encourages a mindset that certain problems (maintainability, modularity, etc.) can be ignored simply because a developer is composing objects. But without proper design up-front and close attention paid to the quality of the code being written, refactoring can double when things go awry.

That being said, most of the complaints are related to undisciplined/unskilled developers for whom advanced OOP design is a minefield.

<comment><AUTHOR> The reason I posted this is because the article reflects some of the doubts I'm beginning to have about the OOP paradigm. I've gotten more productive output in C++ coding over the last 3 years than Java, which I worked on for 6 years before that.

And I'm starting to discover that I am more productive in C than C++ which started me wondering about OOPs and what I believed to be established wisdom. This article sort of reflects the doubts I have so any specific criticisms would be great.

I mean, isn't the point of OOPS that it isn't _supposed_ to be a minefield?

</comment></comment><comment><USER3> While the author makes several good points, I think he/she has been too heavily influenced by C++'s brand of OO to be making broad generalizations about the entire paradigm.</comment>


Xiki: The shell console reimagined  - <AUTHOR> http://xiki.org

<comment><USER2> What if you just used emacs?

All right there are some interesting features, but nothing that cannot be implemented in emacs in a couple of hours. I wonder how much time he spent to replicate it...</comment>


Ask HN: Inexpensive large scale (100's of TB) storage options? - <AUTHOR>

Typical solutions for backup, log files, email servers, databases all seem to cost $5K to $8K a TB over a 3 year period, including "support". Anyone with production experience with large scale disk storage that breaks the $1K/TB price point (raid'd)? <comment><AUTHOR> @latch - Yes, we saw it - would be a fun project, but we are software hackers :-) There are also concerns about heat, vibration, hot swapping, etc. I would happily spend $78K for that same storage instead of $7.8K if it was reliable and was shipped as a complete package.

Closest company doing something like this is CORAID, which might be an option, but they have a number of proprietary interfaces/systems to buy in to.

<comment><USER2> (You don't need to write @latch here. You can reply directly to a thread)

</comment></comment><comment><AUTHOR> Thanks for the replies -

Need disk storage, would like to use 7200rpm for real-time access to logs, 15k for database/email apps

Would be a lot of fun to roll our own, but we are resource constrained, and while money is not an issue for us, I don't like complicated/expensive solutions, I like simple/inexpensive

Looking at NetApp for example, but having a hard time accepting the price point.

</comment><comment> daniel-cussen Tape is the cheapest. <http://en.wikipedia.org/wiki/Magnetic_tape_data_storage>

Prices don't show here, but in general it's 15 times cheaper and 200 times less energy to use tape.

</comment><comment><USER3> obligatory _have you read about the backblaze pod design?_ comment:

[http://blog.backblaze.com/2009/09/01/petabytes-on-a- budget-h...](http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how- to-build-cheap-cloud-storage/)

</comment><comment><USER4> Roll your own JBOD setup?</comment>


Has Physics Made Philosophy and Religion Obsolete?  - <AUTHOR> http://www.theatlantic.com/technology/archive/2012/04/has-physics-made-philosophy-and-religion-obsolete/256203/

<comment><USER2> Religion was created to answer three questions. Why are we here? How are we here? How should we carry ourselves? Its secular cousin philosophy was designed to answer the bookending two.

Empirical science answers the middle question, but it leaves the other two untouched. I'm personally a nihilist, but even if you do not believe we are here due to some divine plan or goal, it is certainly possible to rationalize (and not in a negative sense) a purpose for humanity, such as the pursuit of happiness. As for the latter, although most discussions of the role of religion in general society tend to be negative, the Crusades, Islamic, Christian, and Jewish Extremism, pedophile clergy, etc., to name a few (Western) examples, that religion is the fundamental basis for our morality is lost in the shuffle. Sure the edges can get quite frayed, especially when religions bump into each other, but the basic framework of the way we live was codified and enforced by religion, and without it humanity would have had and would have a much rougher existence. Philosophy has attempted to replace it as a secular approach, but they really are doing one and the same.

So the answer is no. Physics has (thankfully, in my book) replaced one of religion and philosophy's three founding bases, but the other two remained untouched. And now you can say you've come across a nihilistic atheist who loves organized religion...

<comment><USER3> I would argue that the three questions are "Why are we here?", "What do we do while we're here?", and "What happens to us when we're no longer here?".

Philosophy isn't likely to answer #3, although science has a chance of making up a new answer.

</comment></comment><comment><USER4> The precise definitions of "science," "religion" and "philosophy" change over time. If you described the activities of modern scientists to someone from the 17th century or earlier, they'd say, "Mine own time doth have the selfsame _scientists_ of which thou speakest! We callest them _Natural Philosophers_!"

What we call "science" today was considered a subdiscipline of philosophy for thousands of years.

</comment><comment><USER4> The answer to the headline's question is "No, and it never will."

There's a branch of philosophy, the philosophy of science, that deals with analyzing the scientific method.

Discussing the scientific method is a sort of meta-analysis that will continue to be useful as long as we do science, _even if_ every other application of religion and philosophy is eventually overturned by science and technology.

</comment><comment><USER5> Can we ever stop the media from writing sensationalist, meaningless headlines?

<comment><USER3> Betteridge's law applies to your question as much as it does to those headlines.

</comment></comment><comment><USER6> Sort of. I'd say that large parts of philosophy and religion are made obsolete by various branches of biology, mainly evolutionary theory and neuroscience.

<comment><USER7> I've yet to see a coherent version of this. Replaced in theory, perhaps. Replaced in actuality, such as can be lived as religion and philosophy are, no.

</comment></comment><comment><USER3> Betteridge's Law of Headlines strikes again.</comment>


Catching Up with Intel's Python and AI Work at PyCon [audio] - <AUTHOR> https://talkpython.fm/episodes/show/113/dedicated-ai-chips-and-running-old-python-faster-at-intel <comment><USER2> Intel Distribution for Python is really cool. Free speed up of code, without the need to do anything: [https://software.intel.com/en-us/distribution-for- python/fea...](https://software.intel.com/en-us/distribution-for- python/features)

<comment><USER3> Is this an alternative to the cpython interpreter, or is it just a bundle with numpy-backed MKL? Not that it wouldn't be handy, but anaconda python does provide this too.

<comment><USER4> It's still CPython but many of the scientific software stack pieces (NumPy/SciPy/SKLearn) have been re-written to call Intel optimized libraries (MKL/DAAL mainly).

<comment><USER3> Sounds interesting, I'll have to give it a shot then!</comment></comment></comment></comment>


Pterodactyl – An Open-Source Game Server Management Panel - <AUTHOR> http://github.com/Pterodactyl/Panel <comment><USER2> The bad part is I would have deployed this years ago when I wasn't so PHP fobic. I'd hesitate to deploy this today as I am not up to date on PHP security and pretty much that'd be my first thing to review is the code.

Tests are beyond basic it looks like the templates to just verify it boots...

No i'm not some Go god; or Rust nuthouse... just bad experience with php and security

<comment><AUTHOR> The tests are happening in another branch, but you're right, they do not exist on the main develop branch yet. I've seen people run this in containers as well, and theres no reason it wouldn't. But if you don't like PHP, then unfortunately theres nothing I can really do about that. :)

<comment><USER3> > But if you don't like PHP, then unfortunately theres nothing I can really do > about that. :)

This is the correct point of view for a project maintainer. Well said.

<comment><USER2> That's like saying the customer is never right. Having said that hardened and PHP isn't something that comes hand in hand.

Containers or not; I hope they stay on top of security issues or that hardened statement is going to be very underrated.

<comment><USER3> No, it's not.

Changing a core basis of a project/product because of one person's bad past experience is insane.

Would you stop using wooden doors because you got a splinter, or because a forest fire burnt down your house?

Would you stop using glass windows because you got sand in your pants at the beach?

Would you stop drinking water because you saw some guy drowned once?

</comment></comment></comment></comment></comment><comment><USER4> Screenshots here: [https://pterodactyl.io/#gallery](https://pterodactyl.io/#gallery)

(one of the first things I always look for, so figure there may be others who do the same)

<comment><AUTHOR> We also have a bunch in our documentation: [https://docs.pterodactyl.io/docs/administrative- tour](https://docs.pterodactyl.io/docs/administrative-tour)

<comment><USER5> Oh lord, my friend, please don't force non-mobile users to click-drag those pictures. Put some arrows on that gallery for the love of UX! :)

<comment><AUTHOR> That would be readme.io doing that, unfortunately I can't control that :(

<comment><USER6> There's no such thing as "can't control that" in computing - it's always the matter of how much effort you want to put in hacking around the problem ;).

</comment></comment></comment></comment></comment><comment><USER7> The server requirements [0] state that Linux is the only OS supported. Is it possible to launch an instance of a windows game?

[0] [https://docs.pterodactyl.io/docs/server- requirements](https://docs.pterodactyl.io/docs/server-requirements)

<comment><USER8> As we are using docker that is not possible at the moment. We are working on a new daemon which _may_ support running servers outside of containers and on Windows servers at some point in the not so near future.

<comment><USER7> That's disappointing, but thanks for getting back to me.

</comment></comment></comment><comment><USER9> "Pterodactyl Panel is the free, open-source, game agnostic, self-hosted control panel for users, networks, and game service providers" \-- I'm sorry I still don't understand what it does.

I play mostly single player games, but I'm familiar with LAN games: One guy becomes "host" and the rest "join" him. This setup happens inside the game UI. Where does a "Game Server Management" software fit?

<comment><USER10> It's made for administrating dedicated servers, where the host does not actively participate in the game. This has several major advantages.

* Performance: The server does not need to render the UI, and is often completely headless (hence the use of this software).

* Fairness: The host in your scenario has zero latency, giving them a competitive advantage over players with tens or hundreds of milliseconds of network delay.

* Availability: Some games provide a persistent world with the ability to drop in and out at any time (e.g. Minecraft). No single player is present for the entire session.

</comment></comment><comment><USER11> I've been working on a game that will use dedicated servers, and contemplating the best way to manage them. This is timely and definitely worth consideration as a solution. Thanks!

<comment><USER12> I'm working for Nitrado (Europe's largest gameserver provider), and we happen to have lots of experience in building and scaling indie game server infrastructures :)

</comment></comment><comment><USER13> Wow hadn't found this yet, time to spin up another LXC.

</comment><comment><USER14> Shouldn't this be a Show HN since it's his own project?

</comment><comment><USER15> Can't stop reading it as Pee teridactyl</comment>


Scala Native v0.1 - <AUTHOR> https://www.scala-lang.org/blog/2017/03/14/scala-native-0.1-is-here.html <comment><USER4> I would love for there to be a similarly thorough project with Clojure. It really bothers me there's no good native compiler. Apart from anything else, it means that Clojure lives and dies by the languages it compiles to, and while Java is used everywhere still, it probably isn't the thing the kids are learning these days. Besides, without going into any further rational arguments for why using the JVM (or another VM) isn't always great, something about it feels a bit icky to me. On an aesthetic level.

<comment><USER5> Forgive my ignorance, but wouldn't one of the existing Schemes be a better or as good option?

I thought the benefit/raison d'etre to Clojure is the JVM ecosystem.

<comment><USER6> JVM is the benefit, but great immutable collections data structures and respective functions are also very very nice.

</comment></comment></comment><comment><USER7> This will be huge for getting Scala running on AWS Lambda. The cold-start times for JVM apps is just ridiculous and makes Lambda/API gateway essentially unusable for anything written on the JVM.

<comment><USER8> Actually, there are people using Scala.js to run Scala on AWS lambda, precisely for that reason.

* [https://github.com/tptodorov/aws-lambda-scalajs](https://github.com/tptodorov/aws-lambda-scalajs)

* [http://underscore.io/blog/posts/2016/03/21/serverless-scale-...](http://underscore.io/blog/posts/2016/03/21/serverless-scale-summit.html)

<comment><USER9> Sure, but it'd be nice not to have everything in the known universe depend on JavaScript.

<comment><USER10> I disagree. Having a common language in many places has led to huge improvements over the board in the JS ecosystem, it's become the "C" of the modern era, and you can build a lot of stuff on the foundations that others have laid.

I still hate JS though.

<comment><USER11> Which is anything but positive, as it also shares C's style of unsafety due to its semantics.

<comment><USER12> Javascript performs unchecked memory accesses? Or are you alluding to their both being weakly typed?

<comment><USER11> No,but implicit conversions, including from operators into numeric values isn't much better.

The amount of page differences between "JavaScript the good parts" and the actual language reference speaks for itself.

<comment><USER13> That book was created before many alternatives came out; now if you are working in a team project you should look at JavaScript the same way you look at assembler, you know it will be the final thing but you shouldn't be creating it directly, but instead "compiling" from TypeScript, ELM, etc. (langs with no implicit conversions, strong typing, etc)

<comment><USER11> Those alternatives are nice in startup land, in enterprise consulting land, we get to use what the customer IT department sanctions as allowed programming languages and tools installed on computers for external consultants.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> It seems to me like Scala's biggest benefit and biggest downside are two sides of the same coin: easy interop with the JVM and Java code. Scala Native just seems like you're paying all the price of that for none of the benefit.

<comment><USER15> Well, this is just targeting a different VM, LLVM instead of the JVM. You get easy interop with all LLVM languages with this, including C.

<comment><USER16> You should really check your facts before posting a statement like this.

While the VM in LLVM historically was short for Virtual Machine, it really has nothing to do with that. It's a compiler backend used by Clang (C++ compiler) and Rust.

<comment><USER17> My understanding is that IR is designed as though there were a VM to run it, but in practice, IR is immediately used to generate code for a target architecture.

<comment><USER18> That might have been true originally, but I don't think anyone uses LLVM like a JVM/CLR-esque VM any more. As the parent states, the original Low-Level Virtual Machine initialism was even retracted, meaning the project's name is just the "arbitrary" sequence of letters LLVM, with no particular meaning assigned to them.

</comment></comment></comment></comment></comment><comment><USER19> That's a great news ! We are exclusively using scala at work for back end and I wonder if it could be interesting to switch new projects to scala native.

Did you test scala native against well known and massive open source scala project ? Did the performance improved or regress ? Did you wrote a brand new scala compiler for native code ?

<comment><USER20> Never touch a running system ;) Scala on JVM is much more tested than the new shiny thing. Also don't expect improved performance... many people think that the JVM is bloated and makes programs slower (this is mostly not true). The downsides of the JVM are more memory consumption/footprint (when you have e.g. small servers or micro instances) and the cold startup time of the JVM itself (which is not relevant on a server in comparison to desktop Java apps). Would be interested to hear if any backend Scala projects like e.g. Play work on Scala Native.

<comment><USER21> > the cold startup time of the JVM itself (which is not relevant on a server > in comparison to desktop Java apps).

I disagree somewhat with this.

We found that when we started writing microservices in languages that are not java, the short startup time changed how we did some error handling.

For errors where we say lose connection to the database, or rabbitmq, we much rather have the nodejs-process die and restart, than try to construct reconnect logic.

The problem with reconnect-logic is that it is code that (may) be tested very rarely. This in turn means it's easy to get strange long term problems there like very slow memory leak due to some listener being added to a connection object once the connection is initiated.

We did a 180 on reconnect-logic in our nodejs-processes and let the exceptions just bubble unhandled and take the entire vm down. With automatic restart script, the process will be back in seconds anyway, and with docker having built in back-off timers for auto restart, we don't necessarily overload the shared resources.

<comment><USER22> > For errors where we say lose connection to the database, or rabbitmq, we > much rather have the nodejs-process die and restart, than try to construct > reconnect logic.

This sounds like a very Erlang-ish way to handle the problem. Another advantage is that if the server/process is in some weird state that's causing problems, killing and restarting it lets you clear out the broken state, and get back into the state that it's most likely been tested under.

<comment><USER21> Yes. We're almost now risking it going the other way, that some bad programming goes unchecked for a long time, because overall, the process sort of does what it should. Even if it restarts like 10 times a day.

<comment><USER22> Well, you do still want good reporting, so you know when failures are happening and can capture a stack trace.

</comment></comment></comment></comment></comment></comment><comment><USER23> Scala is a language I desperately wanted to like - high level, statically typed pure OO language. But in practice I found it almost unusable. The type signatures were unreadable and I distinctly recall writing a 100 line or so program where the type declarations crashed the compiler. And the tools themselves were huge memory hogs - sbt was a particularly bad offender (though otherwise quite pleasant).

I also did not get on well with the community, which seemed to have a lot of people with the attitude - "they won't let me use haskell at work so I'll make do with this shit". They didn't seem to understand or be interested in OO at all, and were very fanatical about driving application logic with types, purity, and the like.

Regardless, a native variant would be something well worth investigating if it ever reaches "production ready".

<comment><USER24> It looks like you dislike the haskell like usage of Scala, I wonder how could you then produce types so complicated/weird that you crashed the compiler in 100 lines (In 4 years I have seen it crash only once in an unreleased version of pickling a long time ago).

<comment><USER23> I never claimed my criticism was fair or consistent :P I think I was more interested in Haskell-like type driven programming at the time though. I honestly can't remember what it was.

And it's not so much that I hate type driven programming or purity. I just view them as tools in my toolbox, not as methodologies or worse - religions. I still think objects are an amazing concept if you look at them through the smalltalk lens. Or if you take a moment to step back and realise that an anonymous function is very similar to an object with an "apply" method, or that a constructor for an immutable object is like a functor that partially applies many related functions at once.

<comment><USER24> In my opinion you are mostly describing Scala. Mutability and impurity is trivially easy to do in Scala. You may see that as a positive or a negative. Local mutability is definitely easier. Complexity of Scala comes from mixing OO and FP worlds and I think it's an amazing engineering feat. It will undoubtedly look ugly after you do Haskell though.

</comment></comment></comment></comment><comment><USER25> As a Scala guy on a Scala team, I'd think this would be most immediately useful on smaller fill-the-gaps sub-projects where we have to integrate with native code.

<comment><USER26> Looks like a good fit for the CLI we have been planning for our API bases on a Scala backend.

</comment></comment><comment><USER27> This is extremely exciting. I can't wait to try this out.

On the other hand, I wonder why such an effort was never carried out with Java itself? Or maybe it was but just never took off?

<comment><USER28> It was. Several times.

It didn't take off for two reasons.

Firstly, it's not really any faster than a good JIT, and Java has very good JITs. The startup time is better, but the startup time of a JVM itself is actually pretty small ('time java -cp . HelloWorld' prints 'real 0m0.112s' on my machine), and for the uses Java is usually put to, irrelevant. I'd be very interested to see some benchmarks for Scala Native.

Secondly, there's enough dynamic code in the Java ecosystem - <USER3> weaving, dynamic proxy generation, plugin classloading, etc - that in practice, your AOT-compiled application need to have an interpreter along for the ride anyway. That means you don't even save the space overhead and distribution complexity of deploying a JVM.

<comment><USER29> > Secondly, there's enough dynamic code in the Java ecosystem - <USER3> > weaving, dynamic proxy generation, plugin classloading, etc - that in > practice, your AOT-compiled application need to have an interpreter along > for the ride anyway. That means you don't even save the space overhead and > distribution complexity of deploying a JVM.

The key advantage of Scala in general is that these things are rarely necessary - the fancy type system and generally expressive language make it much easier to address the use cases with "vanilla" Scala instead. So Scala Native will hopefully be able to bypass this issue.

</comment></comment></comment><comment> pale-hands Will macros work with Scala Native, as they do with ScalaJs? (I believe that compile-time metaprogramming is the way forward, especially if the target doesn't support reflection or dynamic code loading).

<comment><USER30> "We support the whole language including the more advanced features such as method dispatch via structural types and even macros."

<comment> pale-hands D'oh, thanks! Can't believe I missed that.

</comment></comment></comment><comment><USER31> This is _amazing_. Scala is one of my favorite languages to work with, and getting it native-code support will finally help make it fast enough to justify using it _everywhere_.

</comment><comment><USER32> Somewhat relevant: [https://blog.plan99.net/kotlin- native-310ffac94af2#.ijzik0jx...](https://blog.plan99.net/kotlin- native-310ffac94af2#.ijzik0jxx)

Title says Kotlin, but it is about JVM languages going native, in general. Or should they?

<comment><USER33> They should. The article basically throws in some FUD to convince people that they don't want what they think they want. Except, we do want it! The JVM ecosystem's general aversion to native code and native system integration is what gave C# the opportunity to take over as the closest thing we have to a WORA language. If I want to write code in a higher-level language than C++ that can run on any mobile device or desktop OS, I do it in C#, not Java.

The Java ecosystem is playing huge catch up here, and I don't think it's a bad thing that people are exploring alternatives, whether that's Avian, the now defunct RoboVM, or LLVM-based backends.

<comment><USER11> The JVM eco-system is full of options to compile Java into native code.

The only thing is that most ignore there is a JVM world outside OpenJDK.

And even those that know that world aren't willing to pay for commercial JVMs.

Thus propagating the myth that Java doesn't support AOT.

Which in a way is also understandable, given Sun's political decision that AOT compilation was tabu.

Luckily Oracle isn't Sun and has heard the industry. So if all goes as planned, by Java 10, those that don't want to pay for AOT compilers, will have one in OpenJDK.

</comment></comment></comment><comment><USER34> I can't get hello_world to work, something about a unresolved dependency: org.scala-native#sbt-Scalia-native;0.1.0: not found

I'm not a regular Scala user.

<comment><USER35> Please drop by our gitter chatroom [1] and we'll try to debug the issue together. It's likely some sort of environment misconfiguration.

[1] [https://gitter.im/scala-native/scala-native](https://gitter.im/scala- native/scala-native)

</comment></comment><comment><USER36> Great! Any benchmarks on whether the Scala compiler runs faster when compiled to native?

<comment><USER35> We're looking into that, but nothing to report yet.

</comment></comment><comment><USER37> Nice work, I hope this will eventually be a serious alternative to the JVM route.

Quick question: does this compile down to DOT before going to LLVM? Or has DOT not yet arrived in Scala Native?

<comment><USER35> DOT [1] is a theoretical calculus that is used as a foundation for our latest front-end compiler called dotty [2]. Scala Native is mostly a middle-end technology that bridges front-end compiler and LLVM. We plan to support dotty as a front-end in the future. 0.1 release is based on older Scala 2.11 front- end.

[1] [http://www.scala-lang.org/blog/2016/02/03/essence-of- scala.h...](http://www.scala-lang.org/blog/2016/02/03/essence-of-scala.html)

[2] [https://github.com/lampepfl/dotty](https://github.com/lampepfl/dotty)

<comment><USER38> Just what I hoped to hear, thanks!

</comment></comment></comment><comment><USER39> Question: what kind of frameworks can be practically migrated to Scala Native?

<comment><USER29> In Scala it's very normal to write libraries or frameworks in "pure" Scala (i.e. not using reflection, annotations, proxies or anything like that), and all of those should be fine to cross-build for Scala Native (assuming their upstream dependencies do first). The state of libraries for Scala.js should be a good indication - anything that's cross-compatible with that is likely to work just as well for Scala Native.

</comment></comment><comment><USER40> Does anyone have any example binaries compiled with this? What are the sizes that you could expect?

They say one of their targets is using this for command-line tools (I'm guessing for startup speed and needing to be small in memory footprint) but it's not of much value if an "echo" or "grep" implementation takes up 15 to 30MB on the drive.

<comment><USER41> > _but it 's not of much value if an "echo" or "grep" implementation takes up > 15 to 30MB on the drive_

In this day & age? It _might_ be of value if an echo or grep takes ~20MB and a full-blown HTTP REST server with DB access takes ~25-30MB. Why do I care again exactly whether there is a fixed portion of bootstrap/runtime core code in the binary, as long as I'm not writing echo or grep?

(Any helloworld app not written in asm (or lib-less C) will consist largely of "non-helloworld code" in terms of "bytes occupied in the binary", right?)

Dunno might be of concern eg with embedded/raspberry and such, but for code to be "moved from a jvm-kinda flair to a go-kinda flair" I'm not seeing the issue .. yet ;)

<comment><USER42> When you are writing that full-blown HTTP REST server with DB access you would probably be served better on the JVM. Scala native is just as garbage collected as Scala JVM and garbage collection is where the JVM shines brightly.

In my eyes, the main value proposition of Scala native will be "you don't have to learn a new language if you need to write an echo or a grep", with "you don't need to learn a new language if you need to run some of your code on a platform that does not have a reasonably good JVM" a distant second. The former would suffer a lot from oversized binaries, the latter depending on the specifics of the target environment.

<comment><USER43> A major value proposition is also "I want to run my code with predictable latency". This opens Scala to embedded and realtime development.

The LLVM AOT optimizations are also likely to be a lot stronger than JVM JIT optimizations - granted it's good to compile on the exact target architecture. Also granted that sometimes dynamic optimization helps a lot.

Nice handle BTW. lol

<comment><USER42> But how much predictability can you get in presence of garbage collection? Granted, the JIT can also be an element of surprise that is out of the picture with AOT and the statically linked GC can never be configured differently from what you expect, but it's still garbage collection and not Rust or a C.

<comment><USER40> There's a lot of examples of GC in realtime systems. It's just a different set of concerns. Rather then the programmer worrying about memory constantly, the compiler engineers are worrying about memory constantly.

This is a very fun read: [http://www.flownet.com/gat/jpl- lisp.html](http://www.flownet.com/gat/jpl-lisp.html)

</comment></comment></comment></comment></comment></comment><comment> c-smile I've created once custom barebone JavaVM with binary size of around 100k. It was made as an executable jsmile.exe that was capable to read bytecodes cat'ed to the executable itself : [http://www.terrainformatica.com/org/j-smile/index.htm](http://www.terrainformatica.com/org/j-smile/index.htm)

The goal was to create JVM suitable for standalone GUI applications. Project was abandoned when Sun/MS Java wars started in favor of the Sciter ([https://sciter.com](https://sciter.com)).

As of NativeScala ... I think that approach (binary with nano JVM + attached class files) may work better and with less effort. Scala needs JVM infrastructure, GC, etc. as far as I understand.

</comment><comment><USER44> How do the compilation times compare to targeting the JVM?

<comment><USER35> There is roughly 1-2s (after sbt warm-up) penalty to perform compilation to native on iMac (Retina 5K, 27-inch, Late 2015) with 4 GHz Intel Core i7. The linker is highly parallel so you can throw more hardware at it as your project grows bigger. Barebones project includes nearly 1000 classes and 2000 methods in transitive dependencies that are being compiled due to closed-world nature of the toolchain.

</comment></comment><comment><USER45> so dream comes true!

P.S. I think this is related to rust, in a sense before Rust there was no serious competitor to C/C++, but after seeing what Rust doing to C/C++ I think there will be more native language to compete with in low level area.

<comment><USER42> Between the "scripty" GC agility of Golang and all the impressive low level benefits that Rust is enjoying from folding memory management into the type system, I suspect that Scala native will be a difficult sell.

On the other hand, the new targets (js and native) might make Scala more interesting to Java pragmatists who don't care much about going functional but would not mind writing Java in a more streamlined syntax.

<comment><USER43> Golang is pretty deficient as languages go, really. I find Scala to be far more appealing.

</comment></comment></comment><comment><USER46> At first glance of this article's title, I thought it would be a terrible idea to use Scala to write native mobile applications. Imagine using Scala.JS to write a NativeScript/React Native app. _shutters_

<comment><USER8> > Imagine using Scala.JS to write a NativeScript/React Native app.

People do [1], and are very happy with it.

[1] [https://github.com/chandu0101/sri](https://github.com/chandu0101/sri)

</comment></comment><comment><USER47> It seems like that would open up a nice way of using Scala on iOS also.

</comment><comment><USER48> > This opens the door for Scala to be used in environments where full-blown > virtual machine is usually an overkill

Not sure if I get this, don't Java VMs support this use case (J2ME) ?

</comment><comment><USER49> Important bit: "The project has reached a point of feature completeness in terms of the coverage of the Scala language. We support the whole language including the more advanced features such as method dispatch via structural types and even macros."

It must be frustrating to work on a project like this, see areas where the language can be improved, but only be able to do the work to make it purely compatible. Hopefully some good comes out in the form of some good SIPs.

<comment><USER17> Or inspiring! I guess it depends on your outlook.

</comment></comment><comment><USER50> The generated binary for simple Hello World is 3.45 MB which is quite a lot for printing one line of text but it can be compressed to 326K using UPX.

<comment><USER51> Rust's is almost the exact same size (3.46 MB). It's probably just that the libraries that are statically linked by default (jemalloc, std, etc.).

<comment><USER35> That's correct. We statically link all of the transitive Scala dependencies.

</comment></comment></comment><comment><USER28> This is certainly an impressive piece of work. However, i think it's worth paying attention to the limitations, and the use cases they imply; overall, this looks less like "compile your existing Scala app to native code!" and more like "use Scala to interface with existing native libraries!".

On the other hand, it's also worth bearing in mind that this is version 0.1.0; over time, some of these limitations will lift. What i don't know is whether Scala Native will develop into a complete version of Scala which compiles to native code, or evolve into a variant of Scala more tightly adapted to a niche of talking to native libraries.

Anyway ...

(1) No threading [1]:

 _Scala Native doesn't yet provide libraries for parallel multi-threaded programming and assumes single-threaded execution by default. It's possible to use C libraries to get access to multi-threading and synchronization primitives but this is not officially supported at the moment._

So forget about using Akka for now.

(2) NullPointerExceptions are replaced with segfaults (hopefully) [1]:

 _A number of error conditions which are well-defined on JVM are undefined behavior: Dereferencing null. Division by zero. Stack overflows. Those typically crash application with a segfault on the supported architectures._

That's not so bad; where Java apps might let nulls flow around and rely on catching NullPointerExceptions to recover from them, Scala apps are much more likely to use Optional consistently.

(3) If you do want to talk to a native library, and you need to allocate memory to do it, you're on your own [2]:

 _Unlike standard Scala objects that are managed automatically by the underlying runtime system, one has to manage native pointers manually._

 _Scala Native provides a built-in way to perform stack allocations of unmanaged memory using native.stackalloc function: [...] When using stack allocated memory one has to be careful not to capture this memory beyond the lifetime of the method. Dereferencing stack allocated memory after the method's execution has completed is undefined behaviour._

 _Scala Native's library contains a bindings for a subset of the standard libc functionality. This includes the trio of malloc, realloc and free functions_

Java's traditional JNI is a verbose, slow, pain in the stdout, but it was designed pretty carefully to avoid problems like this.

(a) Intermission! Check out how they do type-level numbers [1]:

 _Natural numbers are types that are composed of base naturals Nat._0, ... Nat._9 and an additional Nat.Digit constructor._

That's a new one on me!

(4) Incomplete JDK libraries [3]:

 _Scala Native supports a subset of the JDK core libraries reimplemented in Scala. Here is the list of currently available classes: [...] This is an ongoing effort, some of the classes listed here might be partially implemented._

The list has most of the fundamental stuff - a good chunk of java.io and NIO, the collections, java.lang, atomics. But no java.text, java.net, concurrency, regexp, date and time, JDBC, reflection, XML, etc.

They don't mention how much of the Scala libraries they support. I would imagine that they can build anything that's in pure Scala and depends only on JDK classes in that list, so you'll get the core language stuff and the collections. Not sure.

[1] [http://www.scala-native.org/en/latest/user/lang.html](http://www.scala- native.org/en/latest/user/lang.html)

[2] [http://www.scala- native.org/en/latest/user/interop.html](http://www.scala- native.org/en/latest/user/interop.html)

[3] [http://www.scala-native.org/en/latest/lib/javalib.html](http://www.scala- native.org/en/latest/lib/javalib.html)

</comment><comment><USER52> I wonder if Akka will be a part of scala native? It's sort of considered stdlib? When our team spiked on Akka, we liked it and got our near-reality proof of concept to work. It'd be awesome to have such a high level library like Akka compile to a binary.

</comment><comment><USER53> Nice job, thanks! Seems that right now you had implemented some wrappers for libc and some java classes ported to scala. What plans do you have to further evolve API? Will you focus on reimplementing java.* or create your own set of classes?

</comment><comment><USER54> Is Scala Native GCed?

<comment><USER55> Should be, because Scala doesn't have strong vs weak reference distinction.

</comment></comment><comment><USER56> Does this mean the future of Scala is off the JVM? I ask because the post calls the JVM impl. a "reference implementation".

<comment><USER8> IMO the future of the JVM is highly multi-platform: JVM, native and JS.

</comment></comment><comment><USER57> Does this provide a garbage collector?

<comment><USER30> Yeah it uses the Boehm garbage collector.

</comment></comment><comment><USER58> Any Windows pre-built binary to try?

I imagine building this stuff on Windows will be challenging :/

</comment><comment><USER59> Will this mean that we can get rid of type erasure when running native code?

<comment><USER60> Why is type erasure necessary anyway? Surely this can be worked around somehow. You could manually do what you do with array length in C - pass the information along manually. Why can't the compiler do this in a transparent manner for us? Is it speed?

</comment></comment><comment><USER61> Will language support destructors for manual memory management ?

<comment><USER35> Please file a feature request on [http://github.com/scala-native/scala- native](http://github.com/scala-native/scala-native), we can discuss the details over there.

</comment></comment><comment><USER62> good idea!

</comment><comment><USER63> Most things called native are not.

</comment><comment><USER64> Unfortunately, this requires an existing Scala compiler to build, so it won't be useful as a bootstrap compiler for Scala on the JVM. Does anyone here know of an alternative implementation of Scala that could be used to build the libraries and tools of the reference implementation from source?

It is a problem that many compilers cannot be bootstrapped from source without a trusted binary of a previous release.

<comment><USER65> It's a universal truism that _all_ compilers cannot be bootstrapped from source without a trusted binary. It's true that in the world of standardized languages (which mostly means "C" in practice) there are compilers (mostly just gcc and clang) that can bootstrap themselves with a trusted binary of a previous release of some other compiler.

Is that such a big deal?

<comment><USER64> I wrote "a trusted binary of a previous release" not just "a trusted binary". There is obviously a difference between having a small set of trusted binaries to bootstrap and having a bootstrap binary for every language or build system.

There are several compiler implementations that enable bootstrapping from alternative implementations, which shifts the problem to a simpler language, which may already have a bootstrap path.

See also [http://bootstrappable.org/best- practises.html](http://bootstrappable.org/best-practises.html)</comment></comment></comment>


Eliud Kipchoge Breaks Two-Hour Marathon Barrier - <AUTHOR> https://www.nytimes.com/2019/10/12/sports/eliud-kipchoge-marathon-record.html <comment><USER2> Given that "[i]t will not be recognised as the official marathon world record because it was not in open competition and he used a team of rotating pacemakers," Mr. Kipchoge's attitude represents the best of sport:

"Now I've done it, I am expecting more people to do it after me... This shows the positivity of sport. I want to make it a clean and interesting sport. Together when we run, we can make it a beautiful world."

An amazing boundary to breach.

<comment><USER3> For the non-initiated among us, what does it mean to "use a team of pacemakers"?

Why are those pacemakers that important?

<comment><USER4> When Roger Bannister broke the 4 minute mile, he also had pacers.

<comment><USER5> The rule for pacers is that they must start the race at the same time and be able to keep up with the runner being paced, though they don't have to finish it. Swapping fresh legs in mid-race isn't allowed.

In a college indoor track 5K, one of my teammates was being lapped by another teammate competing for a podium spot. The guy being lapped started sprinting to help the guy near the front of the race finish strong. That was ruled illegal pacing and they were both disqualified. It was a similar sort of situation — in order to legally pace you must be able to keep up with the runner your pacing.

<comment><USER6> It varies by event. Personal pacers in the marathon are uncommon to begin with. In ultramarathons they are specifically not allowed until late in the race. That a track event would rule that way had become an unfortunate expectation.

<comment><USER5> Pacers in ultras largely serve a different purpose. They're there for safety, especially once it gets dark. In events 50 miles and shorter, pacers usually aren't allowed. Sure, the elite runners could get some actual pacing at the end but that's a very small portion of pacing in ultras.

</comment></comment></comment></comment></comment></comment><comment><USER7> Link to full video in case you didn't watch it live (in which case, what's wrong with you?):

[https://youtu.be/k-XgKRJUEgQ](https://youtu.be/k-XgKRJUEgQ)

This is an extraordinary achievement. It was just last September that Kipchoge set the W.R. time of 2:01:39[1]. It's only a matter of time (no pun intended) till sub-2 is broken in competition. Probably at Berlin. Just knowing it's possible is a huge barrier to break through.

I've run over two dozen marathons and it took me more than a decade of running (I started running in my 30s) before I was able to qualify for Boston. But once I did so, I was able to easily do so many times thereafter. Much of that was finally getting into proper physical conditioning, but knowing something is possible cannot be discounted. (My next goal is sub-3.)

Kipchoge's next goal is surely a second Olympic marathon gold at Tokyo 2020. At that point he'll be 35. He'll have a few more years of prime marathon running after that at best, so I'm not sure he can run a sub-2 in competition but only he knows how much is in him. He's the most accomplished marathoner of our time, but still, in 2013 the W.R. was lowered at Berlin by Kipsang. We'll see.

1\. [https://www.runnersworld.com/news/a23279362/eliud- kipchoge-m...](https://www.runnersworld.com/news/a23279362/eliud-kipchoge- marathon-world-record/)

<comment><USER8> "At that point he'll be 35..."

A well-known secret in running circles - many Ethiopian and Kenyan runners have dubious official birth years including Eliud Kipchoge.

from [https://runningmagazine.ca/the-scene/zane-robertson- swears-k...](https://runningmagazine.ca/the-scene/zane-robertson-swears- kipchoge-is-over-40/)

(Zane Robertson, one of two identical twin brothers from NZ who live & train in Kenya and ran 2:08:19 for the marathon):

"That's when Robertson got involved, commenting that Kipchoge is over 40. When challenged on this, Robertson claims "There [sic] passport ages are all fake so they can cheat Jr's and get contracts," and claiming authority on the subject because he lives and trains in Kenya, along with his brother."

Jr's refers to races for men & women under 20 years old.

It's much easier to do well against non-African teenagers if you're several years older and have trained for that much longer.

<comment><USER9> If he is really 40, which I don't believe, that would make this record even more remarkable.

<comment><USER10> That was my initial reaction, too. Or is long distance running much less of a "young person sport" than others?

<comment><USER11> Ultra-marathons and ultra-endurance events are very much less of a young person sport, and we are still trying to figure out exactly why performance can keep increasing into the 40s and even early 50s. Marathoning is a considerably younger peak though, usually thought to be 20-35, so depends on whether you think that is "young" or not :)

</comment></comment></comment></comment></comment><comment><USER12> Reminds me of this post on HN from 5 years ago: what will it take to run a 2 hour marathon?

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

Unfortunately the linked article seems to have disappeared.

I wonder if today's record was run with those special Nike shoes with the blades inside... The ones that supposedly give you a 1 percent boost or something similar... If you have shoes that give you such a boost, is it doping?

Edit: thank you web Archive: [http://web.archive.org/web/20141010142108/http://rw.runnersw...](http://web.archive.org/web/20141010142108/http://rw.runnersworld.com/sub-2/)

<comment><USER13> I remembered this article also, thanks for digging it up again.

Its predictions were pretty spot-on:

\- Predicted in November, actual mid-October

\- Predicted in Debno, actual in Vienna, but both are very flat courses (I can't find if Debno is flatter)

\- "The pacemakers will form a human wall" \- yes, pacemaker strategy seemed critical here.

\- "Mindblowing pay-day" \- No clue, no articles seem to mention it.

\- "Kenyans who dominate world marathon lists generally do little, if any, weight training, which may represent an untapped source of improvement." \- "To his normal preparations he added workouts focused on core strength" (though unclear if weights were a focus).

\- "5' 6" and [120lb]" \- Kipchoge is 5'5" and 125lb.

\- "access to [technology] we can't imagine" \- the shoes I guess - I don't know how big an advance these are - compared to his last attempt the pacemakers and location seem more relevant.

\- "early 20s" \- complete miss.

\- "I'm saying the year is...2075" and two generations late.

Interestingly, it predicts very precisely the characteristics of the run and the runner, except for time - both the runner's age, and the time until it would happen.

<comment><USER14> > the shoes I guess - I don't know how big an advance these are

The pacers wore Vaporfly, Kipchoge wore a prototype. The Vaporfly have been shown to actually make a difference of around 4%.

[https://www.nytimes.com/interactive/2018/07/18/upshot/nike-v...](https://www.nytimes.com/interactive/2018/07/18/upshot/nike- vaporfly-shoe-strava.html)

<comment><USER15> No way. That was advertisement. You can check the results on strava or elsewhere. Nobody had 4% decrease in time after switching to this shoes.

<comment><USER14> NY Times used data from Strava to write the article, and there are other sources as well. Like this study from 2017:

A Comparison of the Energetic Cost of Running in Marathon Racing Shoes

> Conclusion

> The prototype shoes lowered the energetic cost of running by 4% on average. > We predict that with these shoes, top athletes could run substantially > faster and achieve the first sub-2-hour marathon.

[https://link.springer.com/article/10.1007/s40279-017-0811-2](https://link.springer.com/article/10.1007/s40279-017-0811-2)

<comment><USER15> Not that easy. NYT data shows not only 4% increase for VaporFly, but also 3% increase for Streak. Springer is harder. Though 18 male aren't enough to prove anything, the data is quite consistent. But 4% equals to 5 min in marathon. That means that a lot of athletes from 2013-14 could break 2 hours in that shoes easily. Probably 5 min on a treadmill at 18 km/h has little in common with 2 hours at 21 km/h.

</comment></comment></comment></comment></comment></comment><comment><USER16> So Kipchoge had rotating teams of pacemakers running _before_ him, throughout the race. Each team was able to outrun Kipchoge for a short amount of time, but of course Kipchoge himself had to keep the same pace throughout the race.

This reminded me of an episode from Terry Pratchett's _Small Gods_. This is mostly from memory, but he describes an invasion of the country Ephebe where the invasion force comes from the side of a desert considered impassable, because no expeditionary force could carry enough provisions to make it through the desert. The trick is that a number of expeditions have preceded the invasion whose function was to leave caches of provisions for the actual invasion force to use. Each expedition only has to carry enough provisions to make it to a cache location and back and of course multiple expeditions can deposit provisions to the same cache location, until it is sufficiently stocked for the invading force.

It's a slow and costly process, but it gets the job done and it made me wonder if there are algorithms like that, that can compute results otherwise uncomputable. I'm pretty sure there are- in fact I'm pretty sure it's something blindingly obvious that I'm missing because I'm thinking of it in terms of runners and soldiers crossing deserts... Maybe divide and conquer strategies, or dynamic programming?

<comment><USER17> I don't know for sure but I strongly suspect that Pratchett was heavily influenced by Operation Black Buck: [https://en.wikipedia.org/wiki/Operation_Black_Buck](https://en.wikipedia.org/wiki/Operation_Black_Buck)

In particular, this diagram from that page makes the process clear: [https://en.wikipedia.org/wiki/Operation_Black_Buck#/media/Fi...](https://en.wikipedia.org/wiki/Operation_Black_Buck#/media/File:Refuelling.plan.black.buck.svg)

Hopefully the name of the original mission is enough to help you find a link to some relevant mathematics :-)

<comment><USER18> That diagram is anything but "clear".

<comment><USER19> I find it fairly clear.

\- each vertical line is the flight of an airplane

\- each horizontal/diagonal line is a refueling operation

So, planes take of from Ascension Island at the bottom, only one reaches the Falkland Islands.

Ignoring the gray vertical lines (they are for 'insurance', in case other planes would have hit a problem), we have:

\- 6 Victors taking of

\- 3 of them refueling the other 3 after a short while (presumably because taking of and getting to flight height uses more fuel than steady flight), immediately returning to base afterwards.

\- the bomber taking off

\- a seventh Victor taking off, refueling the bomber twice, and then returning to base

\- one of the 3 Victors of the first wave refuels the bomber twice, then refuels another of the three before returning to base

\- that second one refuels the third one and returns to base

Etc.

</comment></comment></comment></comment><comment><USER20> I can't sprint that fast nowadays. When I was in the Marines 20 years ago, my 3-mile pace was slower than that, and I still had a class "A" run time. This is amazing.

<comment><USER21> He's literally the fastest distance runner in the world. It's not surprising you were slower than him. (I am too!)

<comment><USER22> It's still amazing to point out that the pace he runs over 26 miles is a pace that most people wouldn't be able to maintain for one lap around the track at their local high school.

</comment></comment></comment><comment><USER23> His pace was an incredibly consistent 2:50/km which to someone who casually runs with a workout tracker and runs far less distance than a marathon is absurd. I know his official race time is barely slower and this was about shaving a few seconds per km off that, but that pace is just insane.

<comment><USER24> Here is a short (45s) video showing side by side comparison of 4-hour, 3-hour and 2-hour pace.

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

<comment><USER25> Austin has a nice and popular trail where many runners train along town lake so back when I was jogging, I would occasionally gets passed by a really great runner (like our local Gilbert Tuhabonye[1]). It's really awe inspiring to be right there--like the difference between only watching Andy Roddick serve at 150+ mph and what I imagine its like trying to return it.

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

</comment></comment></comment><comment><USER26> That's running 42km at 21km/h… Anybody who already tried to run a sub20 5km (5km at 15km/h) knows how crazy this is.

<comment><USER27> Exactly, I was a middle distance runner back in high school and nowadays focus on half and full marathons. I'm far from being an elite runner, but I do alright at local events.

I can barely keep Kipchoge's pace for 1km.

<comment><USER28> It's crazy that he runs 1km under 2:50s, and he does it 42 times straight!

</comment></comment></comment><comment><USER24> Interesting image showing the reversed-V formation of the pace maker runners, tested in a wind tunnel. (inverse of what birds do).

[https://pbs.twimg.com/media/EGqIhcSXUAca387?format=jpg&name=...](https://pbs.twimg.com/media/EGqIhcSXUAca387?format=jpg&name=large)

From [https://twitter.com/BertBlocken/status/1182907965306748929](https://twitter.com/BertBlocken/status/1182907965306748929)

<comment><USER22> Birds are optimizing for max efficiency gains across the flock, as opposed to the pace runners, who are optimizing for a single member of the group

</comment></comment><comment><USER29> Here's the fantastic documentary on his previous try: [https://www.youtube.com/watch?v=DLSRitGNAjY](https://www.youtube.com/watch?v=DLSRitGNAjY)

It shows how big this achievement is and how precisely it was organized.

<comment><USER30> Really great watch, thanks for the link.

</comment></comment><comment><USER31> What makes this even more perfect is that Kipchoge seems like such a great guy.

Been waiting for this. Marathons have always been my favourite distance. This got me inspired. Will go out and test my old and broken knees tonight!

</comment><comment><USER32> For those of us who have only ever run shorter distance, this is an average mile time over the whole course of about 4:33.84 minutes.

The current world record for a single mile is 3:43.13, which would shave about 22 minutes off the two hours, for a hypothetical 1:38:00 minimum time if we assume perfectly linear extrapolation of human physiology given the proper training techniques (seems unlikely, given that you would need 26 pacers that could all run at world record pace or something like that). Said another way this would allow one to run about 6 additional miles in the same time if you could sustain the pace for the duration rather than the distance.

</comment><comment><USER33> For the non-imperial unit folks amongst HN, he ran his last km in pace 2m40s. That's very fast after 41km.

<comment><USER31> That's basically the speed of the 10k WR.

</comment></comment><comment><USER34> The LetsRun thread on this is pretty great, starting with a heated debate about his shoes. Were they too springy?

[https://www.letsrun.com/forum/flat_read.php?thread=9640871](https://www.letsrun.com/forum/flat_read.php?thread=9640871)

<comment><USER35> Wow, that was not heated but toxic. I had to nope out of that after reading the first 2 pages.

<comment><USER36> Not toxic, just informed. When people follow a sport closely ("passionately") they're more likely to be offended by and call out bullshit. The shoes provide a significant mechanical advantage that most consider unfair. Others claim they're just shoes, but then you might as well claim that rollerblades are shoes.

This comes on the heels of US anti doping handing a 4 year ban to the coach of Nike's elite running team. People who follow that side of the sport have little faith that athletics (or cycling, or any other sport) is any cleaner now than in past decades, which is to say, every successful endurance athlete is on some kind of gear.

<comment><USER37> Informed? Did you see the guy with a full on explanation on how basic physics work got shat on by people who claim the shoe 'rebound 2 or 3 times higher than other shoes'. You literally can't communicate with toxic people like that.

</comment></comment></comment></comment><comment><USER38> With sports performance a lot of the barriers are psychological. Even though this wasn't a real sanctioned race, Mr. Kipchoge showed it's possible for the human body so now I expect he or someone else will do it in a race within a few years.

<comment><USER39> The recent Salazar scandal proves otherwise, i.e. that a lot of today's athletics-related performances are reached based on same old drug cheating. Too bad, athletics as a competitive sport used to be an event that genuinely filled up big stadiums (like in 1993 in Stuttgart or in 1999 in Sevilla), nowadays we're left wondering which results will be wiped out in 5 years' time, while the recent 100-meter World Champs final only attracted 8,000 people in Doha.

<comment><USER38> While Kipchoge is sponsored by Nike, he was never part of Salazar's Nike Oregon Project and has never failed a doping test.

Doha is a rather terrible site for an athletics meet. Plus Qatar is under a travel ban from Saudi Arabia and other neighboring countries. So the low attendance attendence doesn't necessarily mean much.

<comment><USER40> Armstrong never failed a doping test either.

</comment></comment></comment></comment><comment><USER41> It should be noted there are, at least 3 things here that make this quite a bit different than a normal marathon:

* questionable shoes, but personally I'm fine with this, its just better shoes!

* the pace car is too close providing large aerodynamic advantage

* the pace makers aren't in the race from the start, might as well just let the car get even closer and dispense with the charade entirely

The last two points make it kind of silly, like top speed bicycle records where you are behind a vehicle and go over 100mph.

It is still fun, of course! But it isn't a story of physical achievement as much as basic engineering and clever showmanship. Other than, of course, you need a human who can run 2:03 without a car to draft to start with, which is insane.

<comment><USER38> I watched the video. The pace car was too far in front to provide any real aerodynamic advantage at that speed.

</comment></comment><comment><USER42> I wonder how much of a factor the pace car drawing the optimal path on the street with a laser was. In races you might wobble a bit on the road and add extra steps to your run. In a pack side-pathing is inevitable. Not everyone can be the optimal path.

</comment><comment><USER28> Here is a list of all current best results in marathon for reference: [http://www.alltime-athletics.com/mmaraok.htm](http://www.alltime- athletics.com/mmaraok.htm)

</comment><comment><USER43> Factor of 4 difference between Eliud and the average human male. Factor of 4!

<comment><USER44> Citation needed ?

> _He ran behind a timing car driving 4:34 per mile_

I think most men could pull 12 minute miles (26 in a row, that is), so _maybe_ a factor of 3?

<comment><USER45> Define "could", my intuition is that there is a vast population of men who couldn't complete a one mile run (right now with no training)

<comment><USER46> Interesting. Your intution bascially says that vast population of man could not walk a single mile. Because factor of 3 means walking, not running.

<comment><USER45> Well a brisk walk (from memory) is about 15 minutes a mile.

So people under the age of 10 and over 60 probably start having a non- negligible numbers of people who can't complete a mile in 15 mins.

And then you have an obesity + overweight rating of 57.6% in the USA according to Wikipedia (and this may not cover people who are not overweight but physically fit) and you can start seeing how maybe not _everyone_ can do even a 15 minute mile walk.

For the record I know BMI is a bit of a weak metric for covering obesity given that anyone "swole" will have a very high BMI...

</comment></comment></comment></comment></comment><comment><USER47> This was done with: \- full on pack drafting (draft benefit of a pack is 70% in cycling, so probably at least in the 20% range at running speeds \- laser- guided least distance path \- all nutrition and liquids delivered by rotating cast of drafters

I've also seen no details on the drug controls, which even with biological passport are weak. The liklihood this record didn't involve EPO microdosing at a minimum is very unlikely.

Distance records took a massive hammering as EPO became prevalent (it could not be tested initially and still is very difficult to detect using microdosing), and the records are still falling.

Such was the drop in times from EPO use that there is little chance a bunch of training techniques were invented to compensate for its effects.

People are still on it using microdosing and other drugs. There was a british journalist that willingly went on EPO microdosing with biological passport to personally test if he would have been caught.

Answer: nope.

There has also been a cycling magazine writer that went on HGH, steroids, and EPO to test each of them out. EPO was a ludicrous advantage.

But... news headline justifies everything.

</comment><comment><USER48> Anyone have estimated of how many calories he burned during this run? I wonder how much he ate before starting and when? Are they allowed calorie dense drinks during these runs?

I do not do runs, walking sure, so I am just really curious how much it takes for the human body to do this type of run

<comment><USER38> Kipchoge probably burned about 2500 kcal according to online calculators. Maybe slightly less in reality due to drafting off his pacers and having an exceptionally efficient running form.

Runners can drink anything they want as long as it doesn't violate doping rules. The elites all have customized carbohydrate mixes.

<comment><USER49> Probably much less. It is not just running form that makes elite runners efficient. Due to both genetics and training, their bodies use fuel more efficiently, too.

<comment><USER50> Probably not much less. Physics is physics. I'd be super sceptical of any claim about efficiency of something like running being much different from person to person (happy to see any quality research that proves my scepticism to be unfounded though). People like this are just monstrously fit compared to your average person, they still have the same thermodynamic considerations.

</comment></comment></comment></comment><comment> u-dissolve What, specifically, made this attempt (and the Breaking2 attempt) not eligible for a world record? Pacemakers are allowed under IAAF criteria:

[https://en.wikipedia.org/wiki/List_of_world_records_in_athle...](https://en.wikipedia.org/wiki/List_of_world_records_in_athletics#Criteria)

[https://en.wikipedia.org/wiki/Marathon_world_record_progress...](https://en.wikipedia.org/wiki/Marathon_world_record_progression#Criteria_for_record_eligibility)

<comment><USER51> The article mentions "Not open conditions". Other words, this course was chosen for the record.

Also, per the linked Wiki reference "and meet other criteria that rule out artificially fast times produced on courses aided by downhill slope or tailwind.[8] The criteria include:

"The start and finish points of a course, measured along a theoretical straight line between them, shall not be further apart than 50% of the race distance."[6] "The decrease in elevation between the start and finish shall not exceed an average of one in a thousand, i.e. 1m per km."[6]

<comment> u-dissolve I don't think the course itself breaks any criteria. It was just a big loop, so any slopes or tailwind would not help the runner. "Each lap of the course featured two 4.3-kilometre (2.7-mile) out-and-back stretches... There is only 2.4 metres (7.9 feet) of incline over the entire route."

[https://en.wikipedia.org/wiki/INEOS_1%3A59_Challenge](https://en.wikipedia.org/wiki/INEOS_1%3A59_Challenge)

</comment></comment></comment><comment><USER52> In this documentary he had said "I think it is possible" after failing to break the 2 hours. Highly recommended.

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

</comment><comment><USER53> For anyone curious about just how fast this pace would be for other distances: [https://pace.ninja/marathon-in-1h59m40s](https://pace.ninja/marathon- in-1h59m40s)

</comment><comment><USER54> This documentary of the first attempt a couple years ago gives some background: [https://youtu.be/sVPeK39lNp8](https://youtu.be/sVPeK39lNp8)

</comment><comment><USER55> 4.6 minute miles, dang that is cooking.

</comment><comment><USER56> At this pace he would beat lots of amateurs ON A BIKE!

<comment><USER36> Maybe a tourist cruising down the beach path would go slower. But this guy went 13.1 mph which, on a bike, is actually a bit less cardiac output than a 3mph walk.

<comment><USER57> I biked to work on a dirt bike for many years and never hit this speed. Later I learned you are supposed to use an easy gear and pedal at a cadence of 60-90 rpm, instead of a hard gear and pushing hard with each stroke, and hit it easily.

</comment></comment></comment><comment><USER58> again, not a barrier.

</comment><comment><USER59> While an amazing achievement, this seems quite artificial. A team of human pacemakers and following a car going at just the right speed.

Non paywalled link with photo of laser-guiding pace-car: [https://edition.cnn.com/2019/10/12/sport/eliud-kipchoge- mara...](https://edition.cnn.com/2019/10/12/sport/eliud-kipchoge-marathon- vienna-intl/index.html)

I can't find anything about anyone doing it on a treadmill before this, though. Maybe that's harder for some reason?

Eliud Kipchoge's world record is 2:01:39, which was 1:18 better than the record before (just 4 years earlier), so it seems pretty likely that <2 hours will happen in competition too, soon.

<comment><USER60> Well the first 4-minute mile was achieved in a similar manner and for some reason it is well known in the popular imagination. To be honest I think these arbitrary marks of achievement are all very artificial and more about good PR more than anything else. Personally I think the 2 hour marathon is slightly less arbitrary than the 4-minute mile but breaking it was only a matter of time.

<comment><USER61> No, it was a genuine race (the 'pacemakers' were also competing, were not lapped, and had to finish the race).

<comment><USER62> They completed the race (not hard to do when it is only a mile) but please do not try to suggest that Chataway or Brasher were in that race as anything other than designated pacesetters and windbreaks for Bannister.

<comment><USER61> Sure. But to pace Bannister on e.g. lap 3, his pacemaker had to run those 3 laps at wr pace. And Bannister had to run the final lap alone.

</comment></comment></comment></comment></comment><comment><USER63> Can we please stop posting news from sites that you need an account for? I'm sure this article has been posted on several more user friendly websites.

</comment><comment><USER64> Count it! Cuz in everyone's mind, we do! We don't care about the technicalities, we care what a human was capable of doing. The crowd was a huge help in getting him there. Nike's course was sterile, this one specifically had crowds to help.

<comment><USER65> Nobody denies that this is a tremendous achievement, but there are rules to world records which have to apply to everyone, if they apply at all.

I'm sure even people at IAAF who decided not to accept this as an official record are happy for Eliud. But the rules are the rules.

In my mind, it's not detracting from what Eliud has achieved in the slightest.</comment></comment>


Show HN: HTMLify - Turn code snippets into HTML, for tech bloggers - <AUTHOR> http://www.htmlify.net/

<comment><USER2> Was expecting full html markup with colours etc like in most IDEs. maybe add that as a optional feature? <http://qbnz.com/highlighter/> or similar library might help there.

This seems like a slightly extended htmlentities(nl2br($input)) (if done in php). handy in those times you need stuff converted so it'll output the same way as what you are pasting in.

<comment><USER3> Pygments (<http://pygments.org/>) is the best Python library for this. (op is using Django)

It's pretty configurable, and outputs something like this (both the pastebin and linked paste make use of it):

[https://paste.buttscicl.es/u/877a8d68d88239985e6bb39a4ccaa81...](https://paste.buttscicl.es/u/877a8d68d88239985e6bb39a4ccaa818/)

</comment></comment><comment><USER4> no colors?

I would just prefer to wrap my code with

 instead of using a whitespace generator which makes pain in the ass to make modifications on the code.

<comment><USER5>
 doesn't help with HTML escaping though.

</comment></comment><comment><USER6> Great, but I'd like to see a preview of the output on that page.

<comment><AUTHOR> What do you mean? It shows the output in the bottom text area.

Edit: you mean, show a rendering of the output in the page?

<comment><USER6> That's right: I meant a rendering.

Edit: actually, never mind. The UI is fine for its intended use.

<comment><AUTHOR> Got a preview rendering to work. Check it out again. Thanks for the suggestion!

<comment><USER6> Awesome, that's some quick turnaround!

</comment></comment></comment></comment></comment><comment><USER7> Export your font-locked (colored) emacs buffer to html:

<http://www.emacswiki.org/emacs/Htmlize>

or

<http://www.emacswiki.org/emacs/HtmlFontify>

<comment><USER8> I can definitely recommend using org-mode for tech blogging.

With the #+BEGIN_SRC tag you can automatically get an export of code set by the emacs-mode for that language, in addition to markup for other text.

</comment></comment><comment><USER9> I would recommend you to write a javascript version to render on the fly. So that you can keep your code being saved without any modification.

</comment><comment><USER10> If you write blog posts in markdown, it's useless.

<comment><AUTHOR> I blog with tumblr (<http://blog.amir.rachum.com>) and HTML is the only viable option I see there. Yeah, I probably need to change my venue :) In any case, this project (as stated in the footer) is more of an experience for me. I don't expect this to revolutionize anything. Just a nice tool which I personally need.

<comment><USER11> You can switch to the Markdown editor on your settings page; <https://www.tumblr.com/settings>

</comment></comment></comment><comment><USER12> Does it just wrap your code in pre and code tags or am I missing something?

<comment><AUTHOR> It also maintains whitespaces and escapes special html symbols (&, <, >). I know it doesn't do much. As I said, it's only a convenience.

</comment></comment><comment><USER13> this can be done easily with a script as it simply wrap the tex with a pre tag. i don't see the need for this kind of thing. tech bloggers usually got enough knowledge for this kind of stuff.

<comment><AUTHOR> It also escapes html tags and such.</comment></comment>


Mysterious GPS outages are wracking the shipping industry - <AUTHOR> https://fortune.com/longform/gps-outages-maritime-shipping-industry/ <comment><USER2> [https://archive.is/ZqeYl](https://archive.is/ZqeYl)

</comment><comment> cbm-vic-20 Anyway, how's that GLONASS going?</comment>


The Chattering Classes are now the Twittering Classes - <AUTHOR> http://uk.techcrunch.com/2009/06/07/the-chattering-classes-are-now-the-twittering-classes/?awesm=tcrn.ch_3JP&utm_campaign=techcrunch&utm_content=techcrunch-autopost&utm_medium=tcrn.ch-twitter&utm_source=direct-tcrn.ch

<comment><USER2> > This showed that some 80 percent of Twitter accounts have fewer than 10 > follower

I think this distribution is a sign that more normal (mainstream) people are joining Twitter. From a brief scan of the public trend line, it looks like more people are just talking about their life with their friends than trying too hard to tweet(*) something of significance.

Why is it on Twitter that some celebrities try to come across as normal people and some normal people (in the guise of social media experts) try to come across as experts/gurus?

<http://tweetingtoohard.com>

</comment><comment><USER3> A particularly amusing example ripped from today's headlines...your tax dollars at work:

"Pres Obama you got nerve while u sightseeing in Paris to tell us 'time to deliver' on health care. We still on skedul/even workinWKEND."

More at: [http://voices.washingtonpost.com/44/2009/06/07/irked_grassle...](http://voices.washingtonpost.com/44/2009/06/07/irked_grassley_tweets_vacation.html?wprss=44) /background: [http://www.politico.com/blogs/anneschroeder/0309/Grassley_th...](http://www.politico.com/blogs/anneschroeder/0309/Grassley_the_Twitterer.html)

</comment><comment><USER4> From wikipedia: "As such, the notion of 'chattering classes' can be seen as an antonym to the older idea of an unrepresented Silent Majority"

Well anybody can chime in on Twitter, so no excuses for being unrepresented.</comment>


Ask HN - what interesting books did you read this year (including non tech)? - <AUTHOR>

<comment><USER2> "Predictable Irrationality" - This is a pretty good book

"Influence: The Psychology of Persuasion" - Similar to Predictable Irrationality, they overlap somewhat but they're different enough

"How to Master the Art of Selling" - Not as useful as the others, but I'm not selling anything right now. It has influenced how I perceive people trying to sell me things, however.

"How to Win Friends and Influence People" - I can definitely see why it's a classic.

I just started reading "Immunity to Change," and should have that done by the time I get back from holiday. I'm not far enough along to give an opinion but from the person who recommended it to me made it sound interesting.

</comment><comment><USER3> "Just Let the Kids Play" by Bob Bigelow who describes what is going wrong with much of youth sports and has a concrete philosophy about how to improve the situation. It provided me with a lot of relevant perspective as my involvement with youth sports became greater over the past year.

[[http://www.amazon.com/Just-Let-Kids-Play- Ruining/dp/15587492...](http://www.amazon.com/Just-Let-Kids-Play- Ruining/dp/1558749276/ref=sr_1_1?s=books&ie=UTF8&qid=1324498313&sr=1-1)]

<http://www.bobbigelow.com/book.html>]

</comment><comment><USER4> After watching the first season of "Game of Thrones" I wanted to read the book and see how it compared. I was amazed and enthralled. Then I read the rest of them and couldn't really do anything else until I'd finished them. Enjoyed how the HBO series was more or less true to the book: Rather than taking a 900+ pg book and trying to do it all in 2.5hrs they had about 11 hours for the whole season, and it was, in places, almost verbatim. Pumped for the next seasons (and the last two books). Highly recommend "A Song of Ice and Fire" series by George RR Martin

</comment><comment><USER5> Shop Class as Soulcraft - Matthew B. Crawford

This will resonate well with people who enjoy working with their hands. It also has some pretty entertaining anecdotes from the author's personal life, but it's not overly autobiographical. I personally found this one interesting because I've had some similar experiences in life-working on (and driving) an old Volkswagen as a first car, working in the trades, going to college, getting a desk job, and now, thinking perhaps that a desk job isn't for me, as he realized.

</comment><comment><USER6> Free: The Future of a Radical Price by Chris Anderson A really interesting book which explains how companies can make money by offering stuff for free. Many examples from various internet-based companies. A must-read especially if you want to start your business online.

</comment><comment><USER7> David Mitchell - The Thousand Autumns of Jacob de Zoet. Historical fiction, set in Japan later 1790s - early 1800s, in a Dutch trading post.

</comment><comment><USER8> Just reading Ikigai by Sebastian Marshall. Very interesting philosophies around life and business.

</comment><comment><USER9> I know this is pretty generic and typical, but the Steve Jobs book was a very interesting read.

</comment><comment><USER10> I tend to read "Think and Grow Rich" at least once a year!

<comment><AUTHOR> just curious - does it help? I mean, everybody knows the power of positive thinking etc, the theory is easy, it is practicing that is difficult, no?

<comment><USER10> personally speaking, it helped me a lot. at the end of the day, it's not a magic pill that works, as it requires a lot of work and effort to be put in by the person but i find it very motivational and helpful for me.

i made my list of goals and how i wanted to acheive them with a set timeline. it requires you to review it every night before bed and every morning. this is the hard part to actually wake up 10 minutes early every morning and do this! althought i didn't meet my goal in that timeframe, it did help me get on the right path and eventually did accomplish it.so it requires lots of discipline.

</comment></comment></comment><comment><USER11> "Way of the Superior Man by David Deida"</comment>


What ubiquity looks like - <AUTHOR> http://www.wired.com/geekdad/2009/09/mcdonalds-yes-they-really-are-everywhere/

<comment><AUTHOR> A map of the United States showing distance from the nearest McDonald's.</comment>


Learning a single-variable polynomial, or the power of adaptive queries - <AUTHOR> http://jeremykun.com/2014/11/18/learning-a-single-variable-polynomial-or-the-power-of-adaptive-queries/

<comment><USER2> great read, surprising result! Id be interested to see what happens when coefficients are in the reals</comment>


State of surveillance. "What's a criminal look like?" - <AUTHOR> https://medium.com/@spencenow/bulk-surveillance-goes-mainstream-in-the-us-and-inhumane-tech-is-forthcoming-e871f5961c93#.qfoc9vm0z <comment><AUTHOR> Author here. The first submission of this essay ( [https://news.ycombinator.com/item?id=11919921](https://news.ycombinator.com/item?id=11919921) ) met with the following response: >It seemed to me to be a re-hash of a number of well covered topics. It didn't appear to have anything new or present from a different perspective. > Having said that, I could have missed the interesting bits. It is quite long. If there's stuff in there that you think is insightful, I'd be interested in you pointing it out

So I've decided to repost with an outline of the high-level findings: 1) Parallel construction, over classification, gag orders, proactive suing of municipalities, and more hide surveillance from public scrutiny. 2) Surveillance tech is being deployed unevenly in America, largely against low income neighborhoods (from Stingrays to license plate readers). The aforementioned secrecy makes it hard for the EFF, ProPublica, ACLU, etc to study the deployment of such tech. 3) The federal government is, through "anti-terror grants", funding surveillance for local police, but the EFF/ACLU have found the surveillance tech is used to crack down on non-terror crimes. 4) The FBI and local police are pushing for more surveillance that doesn't involve the judicial system (warrantless surveillance), with the FBI's latest push to broaden NSLs to include personal browsing history and session information. 5) We've passed an inflection point, where law enforcement does not fear pushback from American people on civil liberties, as many Americans have become inured to the new normal.</comment>