What killed Haskell, could kill Rust, too - <AUTHOR> https://gist.github.com/graninas/22ab535d2913311e47a742c70f1d2f2b <comment><USER2> Title is trolling

> It's a transcript of the following talk by R. Martin with some substitutions > made (SmallTalk -> Haskell, Ruby -> Rust, and others).

<comment><USER3> That talk is [https://www.youtube.com/watch?v=YX3iRjKj7C0](https://www.youtube.com/watch?v=YX3iRjKj7C0).

Another thread on this article: [https://news.ycombinator.com/item?id=24449927](https://news.ycombinator.com/item?id=24449927)

</comment></comment><comment><USER4> > As one might have guessed, this is not an essay. It's a transcript of the > following talk by R. Martin with some substitutions made (SmallTalk -> > Haskell, Ruby -> Rust, and others). You are free to make any conclusions > from this.

No wonder it felt like the author was living in a different universe.

</comment><comment><USER5> The reason why Haskell still doesn't really break through in the corporate world is not a failure of arrogance, but a marketing failure in the strictest sense of the word 'marketing'—which means prioritizing the right features to target the right market.

A large proportion of the talk linked below is based on the book "Crossing the Chasm".

The book was originally written for startups trying to break into the mainstream, and this talk adopts that book to programming laguage (or tools more generally), particularly regarding Haskell.

Gabriel Gonzalez – How to market Haskell to a mainstream programmer: [https://www.youtube.com/watch?v=fNpsgTIpODA](https://www.youtube.com/watch?v=fNpsgTIpODA)

Gabriel also suggests that in order to "cross the chasm" you have to offer a best-in-class experience in some area, and suggests that Haskellers adapt the language to facilitating building interpreters, which is it particularly well suited for.

So, base on the above, I don't think the OP's emphasis on the emotional analysis of Haskell programmers is anything more than the OP's just-so story, although the notion of parochialism may have some crossover with the concept of marketing.

</comment><comment><USER6> It seems strange to consider Haskell as dead when its motto was "Avoid success at all costs". Haskell wasn't popular in enterprise settings because it didn't want to sacrifice being a good language for being a popular one. Haskell was/is very successful if you base it on it's own terms. Now, that goal can be debated, it could be argued that an unpopular language is never that good _because_ it is unpopular, but that's a different argument.

<comment><USER7> > it didn't want to sacrifice being a good language for being a popular one

I think this is the key. The motto that you mentioned is often clarified/refined as something like "avoid 'success at all costs'".

</comment></comment><comment> non-entity Of all the Haskell programers I've met and interacted with both irl and online not one came off as "arrogant" (there is a programming language who's hardcore fans tend to be a bit more, uh, eccentric, in my experience, but im not going to name it at the time).

<comment><USER8> does it rhyme with crisp?

<comment><USER9> No, it rhymes with crust.

</comment></comment></comment><comment><USER10> I would say tooling is the main reason haskell is not adopted even in personal projects much. The package manager used to be pretty bad, poor editor support is still the biggest obstacle for new-comers. Combine that with the fact that students are taught a procedural-style language in their school and you have small percentage of new-comers looking at it. Rust have an advantage here since it is procedural-ish language.

But these problems require money and expertise and marketing from people who already are in the field, so a bit of chicken-egg problem.

Arrogance is the last thing i would say about haskell community and i have interacted with them on reddit and irc. So not sure about that.

The thing about ignoring enterprise needs is that the enterprises need to invest in the things they want. Those that do contribute are using haskell in enterprises that fit their needs. Otherwise it is primarily a research driven language.

It's not very surprising that Go/Java is doing very well, looking at the investment done by the companies behind it.

<comment><USER11> I think Haskell tooling is pretty good now. VSCode with the Haskell plugins is simple to setup. I used to use Emacs for Haskell, but the VSCode support is now so good that I just take the easy route.

Stack and stackage made package management much easier for me. I am an enthusiastic, but not great Haskell programmer so I like running the 'hlint' linter program for hints on improving my code.

My heart is really with Common Lisp, but Haskell is also a pleasure to use and the tooling seems much better to me than five years ago.

<comment><USER12> I think Haskell versioning is highly bifurcated.

<comment><USER13> You mean like SemVer vs the default whose name I can't remember?

<comment><USER12> I mean like installing and managing multiple versions of the compiler toolchain is painful.

<comment><USER14> I mean, it's all pretty well automated by stack, the only painful part is that it can take a long time and use a lot of storage.

<comment><USER12> Sure it's _pretty_ well automated, but not a great experience.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I'm far from an expert Haskell programmer, but I have written it for money and had the code run on big fleets.

Haskell is really cool, but IMHO is held back from practical adoption by two things, one technical, one cultural:

\- Lazy by default maps weirdly onto von Neumann machines. Laziness is cool but doesn't pull it's weight as the default. Performance in time and space is even harder to reason about than it already is on modern architectures, and debugging is...different.

\- GHC extensions are like crack for the kind of people who overdo it with C++ templates. Pragmatic, legible Haskell in the RWH tradition isn't safe from the type-theory zealots even in a production system. Cool research goes on in GHC, but it's hard to keep everyone's hand out of that cookie jar in prod.

<comment><USER16> I've briefly looked into the implementation details of lazy languages and yeah, while that Spineless, Tagless G-Machine is a pretty neat thing, it results in rather unorthodox code representation.

And yes, reasoning about memory consumption and having each library give you 2 versions (strict and lazy) of their data structures is tiresome. Why can't strictness/lazyness be parameterized away?

</comment></comment><comment><USER12> Whole opinion piece is one long mixed metaphor. The programming styles of Haskell and Rust couldn't be more different. Fails to even mention the generational differences in language design that have occurred since the 1990s. Haskell was inspired by Miranda, Rust has its influence from C++ and Standard ML languages.

</comment><comment><USER13> I've said as much there in the comments already, but this gist doesn't have many useful insights.

The problem is that highly valuing "first-principles thinking" is wrongfully attributed to arrogance and seen as "ignoring truths from the 'dirty' mainstream".

<comment><USER17> After scanning through the linked gist, it looks like the author was trying to discuss your objections in good faith but you kept on trying to provoke him.

That kind of behavior is borderline toxic, and I hope it's not representative of the Haskell community.

<comment><USER13> I was trying to reason with the author in good faith as well. Part of that means questioning large claims with no evidence.

If you're going to accuse me of being toxic, please be explicit with quotes and what specifically was toxic rather than unconstructive allegations.

<comment><USER17> Well, you argued back-and-forth on the gist for a few hours, wrote a comment on HN disparaging the gist, and then begin arguing with another random, unaffiliated commenter about your behavior in the gist. That's far from constructive and, I think, rather close to toxic.

<comment><USER18> Let me rephrase what you wrote: "Someone had a long conversation on the Internet about a topic that good hackers would find interesting, came to a conclusion, and then shared that conclusion with others."

That's not just not toxic, but is the whole purpose of this website.

</comment></comment></comment></comment></comment><comment><USER19> _So what killed Haskell is the parochialism, the inability to address the needs of the Enterprise._

I don't think so. What killed Haskell in mainstream programming is its weird syntax. Rust looks like C so it passed that first sanity check. People hate that something so aesthetically basic could define the success of programming languages, but it seems pretty clear at this point. Languages have to basically look like C in order to be popular.

<comment><USER12> Come to think of it you could take the arguments made here and replace Haskell with Perl, and then also replace Rust with Haskell and it would still make more sense.

<comment><USER20> I worked with a perl backend for years. The frame work was very good but perl was horrible. I hate the syntax and really hate having to reference and dereference. It is not that hard to do but it's just so annoying.

</comment></comment></comment><comment><USER21> >Some of you might remember the Reddit discussions in the mid 2000s. A bunch of people were there. And they were talking about cool math things there. In those talks, they often were snickering about other languages like Go.

Golang was publicly announced at the end of 2009.

</comment><comment><USER22> My personal experience with Haskell hackers went like this:

-I used to hang out at lambda-the-ultimate, in which haskell was considered god sent and c++ a toy language. At the time, I was heavy into writing simulation software, which meant c++ all the way, so I tried to understand haskell and its advantages over c++, but my attempts ended up being mocked. I stopped visiting that site.

-I tried to open some debates about Haskell on reddit, where someone told me they will answer my haskell questions only if I told them a specific mathematical definition on some properties of functions. I didn't know the reply, I was a programmer after all, not a mathematician. Said person left me in the cold.

-again on reddit, I was trying the debate the usefulness of haskell regarding simulation software, which relies heavily on updating variables, but I never got straight answers. To this day, I still do not know if haskell code actually can update variables in place or it only simulates updating of variables. Someone suggested using lens, and although I understand the abstraction, it still has not solved my question if haskell can update variables in place.

Why I was so interested in this aspect, i.e. in place updating? I wrote simulation software and after that game software for a living, and it matters to me because I want to be able to reason about the performance of my program. I don't want to have data be duplicated behind my back.

To cut the long story short, my haskell questions go unanswered to this day, I was very disappointed, and since I have great experience in imperative programming languages, I usually write programs that are correct as soon as they are compiled, which is what the haskell advantage is supposed to be. So I don't see any benefit from haskell, and I won't recommend it to my company or my colleagues.

Am I wrong regarding haskell? perhaps, but I am not interested any more in 'trying out' languages of dubious gains, nor am I interested in dealing with juvenile behaviors. I tried Rust because it had a serious advantage over C++ (namely, object lifetimes), and I will recommend Rust, but my patience for and interest in haskell is virtually non-existent at this point.

<comment><USER23> I personally haven't had the same experience as you (I personally find the Haskell community quite pleasant, especially in the functional-programming slack server), but I'll try and answer (probably in an incomplete way) your question about updates.

Haskell can, in fact, update variables. Mostly through 2 mechanisms:

\- ST (a computation containing local, mutable state, that cannot escape its scope) [1]

\- IORef (mutable, thread-safe variables that only work in IO). [2]

The other (and usually more common way) of doing "mutable" state in Haskell is through State, which technically doesn't update the variable in-place, but simply modifies the variable and passes a copy to the rest of the computation (although, as far as I'm aware, a lot of the time this step gets optimized away).

That said, if your main field of expertise is simulation programs where performance and space efficiency are very important, then Haskell is probably not a great fit (cause not only is it based on a GC, it's also lazy, which can sometimes mess with the performance of your code, not speed-wise but memory usage-wise). Hopefully this could be mitigated in some way in the coming years when Linear types become viable for efficient resource usage (Linear types ideally could grant us some sort of Rust-like resource management)

[1] [https://hackage.haskell.org/package/base-188.8.131.52/docs/Contr...](https://hackage.haskell.org/package/base-184.108.40.206/docs/Control- Monad-ST.html)

[2] [https://hackage.haskell.org/package/base-22.214.171.124/docs/Data-...](https://hackage.haskell.org/package/base-18.104.22.168/docs/Data- IORef.html)

<comment><USER22> From what I read here:

[https://stackoverflow.com/questions/57489844/how-does- readio...](https://stackoverflow.com/questions/57489844/how-does-readioref- work-creates-copy-or-it-does-not)

IORef does not allow a value to mutate, it allows a pointer to a value to mutate.

Am I correct?

Does the ST Monad work in the same way? or does it truly allow values to be updated in place?

<comment><USER24> IORef is a pointer to value that can be changed. IORef holds pointer to a value (boxed value) because most Haskell values are lazy.

Please look at unboxed vectors for another example: [https://hackage.haskell.org/package/vector-0.12.1.2/docs/Dat...](https://hackage.haskell.org/package/vector-0.12.1.2/docs/Data- Vector-Unboxed-Mutable.html)

You can create an unboxed mutable vector and read and update its elements. Vectors are stored as Structure Of Arrays (Vector (a,b) is transformed into (Vector a, Vector b)) and are very efficient in transformations.

Next to them you can find Storable vectors which allow you to store and update any values that have Storable class instance defined. They are for cases when you need Array Of Structures.

Continuing Vector example, ST monad allows you to create a computation that uses mutation internally and looks pure from outside - do new/read/write and then return freezed array. Apply ST monad runner and you get pure freezed array. IO monad allows you to pass that array between computations of different kind.

</comment></comment></comment></comment><comment><USER25> What is killing Haskell, according to this discussion

* marketing failure

* lazy by default

* GHC extensions

* its weird syntax

* its obsession with monad-as-burrito tutorials

* pretty hostile haskell-centric spaces

* not backed by a large company

* bad university classes

* tooling

* average developers are not "smart" enough to learn it

* no payback for learning Haskell skills

</comment><comment><USER26> We actually had a functional programming class in university, where the focus was on Haskell. The main impression that seemed to permeate the class was "Haskell is hard". There was a lot of grumbling. Nowhere near as much as about Prolog in Logical Programming though. They were both thrown into the same pile of "must get through this class" though.

I'm not really sure whether it was because of the way it was taught or whether Haskell is inherently more difficult. I do think that a class like that might've hurt the language's adoption among the students though. (Or maybe my impression is simply biased by my own experience.)

</comment><comment><USER27> Rust will be fine, as long as people continue using it to produce high-quality tools like ripgrep (rg) and xsv

</comment><comment><USER28> I think for a language to gain traction today in the mainstream, it needs to be backed by a large company. If the language is web technologies oriented, it's all the more likely. The reason is because lots of developers nowadays are working in web related stuff. And when it's backed by a big company like Google or Microsoft, kids will at least learn it to try and land a job at one of those companies. Also, these big companies will support many useful apis in that language which will attract mainstream developers as they can start building useful stuff quickly.

I wanted to learn a functional programming language and did a lot of research about which language to start with. Initially I looked at Haskell but ended up going with F# because the tooling was a lot better and the documentation from Microsoft was really good. Also, I read quite a few posts by those who worked fulltime, paid F# jobs. I loved the functional style. I think it's a shame that it's not mainstream. But then when I tried to do something non trivial, like network programming, I had to use OOP C# style types in F#. That was just fugly and made the paradigm look weak because OOP constructs could do it more easily than functional constructs.

Other than the elegance of the functional programming paradigm, it didn't seem to offer much in terms of jobs because I can't really see large numbers of people suddenly picking up functional programming (which isn't easy) and building massive applications specially with the whole cloud based SaaS stuff that's happening right now.

<comment><USER20> I'm learning F# now for similar reasons. I'm guessing that the industry is moving in a more functional direction. I want to learn a functional language to keep up. I also like the claims that you can lower runtime bugs with good functional style.

</comment></comment><comment><USER29> I think comparing Rust to Haskell for their "similar" success is kind of dumb. Everybody wanted to program in Haskell, yet nobody build a proper package management and/or compiler version management solution for Haskell up until very late.

If Haskell was indeed one of those "everybody wants to do it" languages, then making it easy to approach from the infrastructure perspective would be the first thing to do.

</comment><comment><USER30> My theory, based on a lot of experience, is that average developers are not "smart" enough to learn it, beyond simple tutorials. By smart I don't mean IQ, but rather drive, intellectual curiosity and desire for a challenge, that I think is required for learning something so different from mainstream languages.

<comment><USER31> What is lacking is payback.

Having developed Haskell skills, what can one then do with them? Who in the world wants to have any Haskell code written badly enough to offer to pay to have it done?

If Rust dies, it will die just exactly the way almost every language did: its adoption rate was two or more orders of magnitude too slow, and the world moved on.

This is not inevitable: there are many other ways languages have died. Ada had a formal spec, billions of dollars in development contracts backing it, many industrial-grade compilers, thousands employed coding in it. It died because, ultimately, it wasn't enough better than C.

PL/I died. Algol died. All the various Pascals died. Ruby is in sharp decline. Death is the natural course for languages. Overcoming death requires a near- miracle.

COBOL, Fortran, C, C++, Python, Java, and Javascript managed it. It is too early to tell about Go or Rust, but it is not looking good for Rust, just based on the numbers. Rust's originators hoped to displace C, but very few move from C. Most who might have moved on from C did before there was a Rust, and the rest like it for its flaws, the way rock climbers like cliffs.

Rust will take few from C++ because Rust is less expressive, by design. The gap widens with each Standard release.

The languages Rust can practically steal users from do not suffer from the memory-safety problems Rust is promoted as solving. They have other problems it could help with. Go and Java are pathologically weak languages, and Python is pathologically slow and un-parallel.

There are things Rust adherents could do to increase its adoption rate, but they seem, by all indications, supremely and aggressively uninterested in even trying any of them. HN buzz, which Rust fans have run up to stratospheric heights, is very far from enough to sustain a language. So, Rust's prospects are dimming even as its apparent popularity peaks.

<comment><USER13> > Having developed Haskell skills, what can one then do with them? Who in the > world wants to have any Haskell code written badly enough to offer to pay to > have it done?

Are there any languages you can immediately answer these questions for? Are there any popular languages you can't answer these questions for?

I have some ideas, but I want to nail things down a bit more before attempting an answer if you don't mind.

<comment><USER31> About once a week I get a note from another recruiter offering, for C++ coding, north of a half $mil per annum from a certain hedge fund with a reputation for high turnover.

And of course we all get our monthly calls from Google recruitment contractors to come code Google's special subset of C++. Google doesn't offer a half $mil to everyone, but remarkably many do get it. I expect a few even get it for coding Haskell, although one may doubt that is what the req they were hired on called for.

</comment></comment></comment></comment><comment><USER32> > In Go, I can do amazing things with monads.

Can you tho?

</comment><comment><USER33> I've assumed that rust is going to be killed by a "-enforce-no-mutate-single- owner" or similar flag to gcc (or some linter) that restricts C++ code to some subset/style that nails the majority of what rust brings to the table. IMHO, like many other language paradigms, once you understand the core tenents of rust you could write "rust code" in many other languages. The difference being that those other languages don't _yet_ have flags/etc to enforce a rust like style.

<comment><USER34> I wouldn't bet on it. Firstly, rust has value as a "C++ without the cruft" language even without safety as a USP, and secondly rust had to do a huge amount of design work to get the language to work in a way such that the kind of static analysis it does is reasonbaly feasible. C++ would need to adopt more paradigms and then create a subset of itself in order for this to work (there are such designs in the works like 'C++ Core', but they have already had to give up achieving the same level of safety as Rust gives).

</comment></comment><comment><USER35> Though Haskell is nice in many ways, I would choose OCaml for a commercial project over Haskell any day. OCaml is ruthlessly practical and the culture around it is was one eminent pragmatism.

Ocaml is designed to get stuff done, and the tooling and ecosystem strongly reflect that.

If something was going to kill Haskell, it would OCaml, not Javascript or some other language.

I would feel very comfortable running a business on OCaml, Haskell, not so much.

<comment><USER13> > Though Haskell is nice in many ways, I would choose OCaml for a commercial > project over Haskell any day.

As a counter-point I'd say the opposite: I choose Haskell :)

> OCaml is ruthlessly practical and the culture around it is was one eminent > pragmatism.

Is this a plus? Practical and pragmatism seem to be unlaterally considered a positive, but when does "pragmatism" just start to mean "unprincipled"? There's much talk about when being too principled gets in the way of getting things done, but I'm wondering what your position on the opposite is here.

What are your thoughts on 1) Real-world thinking 2) first-principles thining and 3) the balance of each that is ideal in software-engineering?

> Ocaml is designed to get stuff done, and the tooling and ecosystem strongly > reflect that.

Haskell was designed to get stuff done too, just maybe not quite the same way. If you ever had an inkling of "maybe people in industry are outright dismissing research too fast" you might like it.

>> If something was going to kill Haskell, it would OCaml, not Javascript or some other language.

> I would feel very comfortable running a business on OCaml, Haskell, not so > much.

I'd feel comfortable with either. I agree it'd have to be something at least as strongly typed as Ocaml to kill Haskell as well.

<comment><USER35> I think I came off as too pro-Ocaml. I personally think OCaml has a ton of problems, and like you suggest, is unprincipled. Features are added with very little thought, and OCaml code can get very ugly trying to replicate the kind of power Haskell has built in.

But, all in all, I like OCaml more than Haskell. Laziness by default is a mistake and GHC's ever growing list of language variants is kind of stupid. Moreover, Haskell's monad based effect system is a lot less useful than people think it is. In my mind, the main benefit of tracking effects is to enable aggressive compiler optimization, not increased safety.

Haskell's effect system imposes a heavy burden on the developer, with little benefit.

Ocaml imposes almost no burden in doing whatever the hell you want, but the language is messy and full of decades of hacks and eye sores.

I'm one of the rare souls that actually likes OCaml's OO system and I actually think that the language would be a lot better if the standard library and other code leveraged it. As it stands, functors aren't expressive enough for many use cases and function as shitty classes.

Here's what I want from a functional language:

Something that looks like OCaml, but get rid of the functors, cleans up the syntax, supports HKT, supports function polymorphism, supports easy to write macros (ppx is so fucking shitty), and make it have Nim like OO call syntax. Every function that takes a type as it's first argument can be called as a method using the dot syntax.

Also, have the language compile to a native executable, and make the executable and runtime really really small. OCaml gets a lot about performance right, but the 20mb executables (no tree shaking) is unacceptable.

</comment></comment></comment><comment><USER36> What does it have to do with Rust? I mean Rust shows absolutely no sign of problems that Haskell had. It's very practical, learns from everywhere it can find a good idea, tooling is great, marketing is great, community is nice and inclusive.

</comment><comment><USER37> Here's a starting difference between the two:

Rust code uses "unsafe" and doesn't apologize about not being pure. Rust tries to minimize "unsafe" and encapsulate it, but acknowledges that it _must_ exist.

What's the Rust equivalent of "A monad is just a monoid in the category of endofunctors, what's the problem?" I can't really think of one.

Maybe there's something in lifetimes (which can be pretty messy). Maybe: "Quit using doubly linked lists or the borrow checker will beat you senseless."

In addition, there are lots of alternatives to Haskell that are almost as good. That isn't true of Rust. If you need systems programming, you have C, C++, maybe Ada. Rust is trying to drive a fairly difficult wedge into that area, but if it succeeds, the alternatives are scarce.

<comment><USER38> I think you are onto something. I'm a small brained primate.

When I read "A monad is just a monoid in the category of endofunctors, what's the problem?" I feel that someone thinks they are being clever by being confusing and unhelpful.

But when I read "Quit using doubly linked lists or the borrow checker will beat you senseless." I feel like someones trying to be helpful.

<comment><USER39> What's the evidence Haskell has died? It seems to me that a fad has passed. The language is doing well. But the pretentious hipsters have moved on to their next obsession.

Rust? Well, talk about hip and groovy blah blah. About as great as C++. Full of complicated features, all pretty much focused on nitpicking, not expressivity. Could become hipster stuff for small projects. Enterprise? It's missing the point. There's no Machine Learning, no UI tools, no communications abstraction, no nothing. Just storage allocation without garbage collection.

Haskell will remain solid, but used by its aficionados. Rust will die as a niche language, and C/C++, sadly, will continue to dominate the low level coding, for better or for worse. Python and JavaScript will fill the UI centric space of Enterprise, with Python largely owning data centric stuff, and JS owning phone/tablet UX.

<comment><USER37> > Rust? Well, talk about hip and groovy blah blah. About as great as C++.

I _hope_ Rust winds up as "great" as C++ in terms of popularity.

I don't need "web/crud enterprise" (there are a _zillion_ languages for that) with it's infinite tower of abstractions, but I _do_ need "embedded enterprise". And I'm really desperate for a language better than C for that.

<comment><USER40> > And I'm really desperate for a language better than C for that.

I got introduced at it with Turbo C++ 1.0 for MS-DOS in 1993, never cared for C ever since, other than when not given any other alternative to chose from.

</comment></comment></comment></comment></comment><comment><USER41> I don't feel like I can take it seriously when it talks about Haskell devs on Reddit snickering about Go "in the mid 2000s".</comment>


Tsunami advisory in northern Japan after 7.1 magnitude earthquake off coast - <AUTHOR> http://cir.ca/news/fukushima-earthquake-october-2013

<comment><USER2> "A U.S. Pacific tsunami warning center said there was no destructive widespread tsunami threat following the quake."

[http://www.reuters.com/article/2013/10/25/us-japan-quake- idU...](http://www.reuters.com/article/2013/10/25/us-japan-quake- idUSBRE99O0T820131025)

"It was 6.2 miles deep, officials said, and hit at 3:10 a.m. Saturday local time and was felt 300 miles away in Tokyo.

The Japan Meteorological Agency issued a "yellow" warning Saturday morning, meaning a small tsunami could reach the coast at Fukushima, site of the 2011 nuclear power plant disaster.

There were no immediate reports of damage from the temblor, which Japanese authorities classified as a magnitude 6.8, Reuters reported. No irregularities were reported at the Fukushima nuclear plant.

A yellow warning is issued when a tsunami is not expected to exceed three feet, significantly smaller than the tsunami that hit the energy plant in March 2011. Residents in the coastal region of Fukushima Prefecture were being advised to move to higher ground.

No warning for the rest of the Pacific was posted by the U.S. Tsunami Warning Center after the quake."

[http://worldnews.nbcnews.com/_news/2013/10/25/21150222-73-ma...](http://worldnews.nbcnews.com/_news/2013/10/25/21150222-73-magnitude- earthquake-hits-japan-near-fukushima?lite)

</comment><comment><USER3> I got an email about this quake over an hour ago - here is the USGS link if anyone else is interested in setting up similar notifications[1]. You can set up customized magnitude ranges for customized parts of the globe, it's a pretty neat little service. Rule of thumb for context is 7.0+ happen about once a month and 8.0+ happen about once a year... I have it email me about every 7+ on the globe and I think every 3+ within a decent range of my city.

[1][https://sslearthquake.usgs.gov/ens/](https://sslearthquake.usgs.gov/ens/)

<comment><USER4> Isn't the USGS planning to discontinue this service shortly?

<comment><USER5> I helped build the Earthquake Notification Service a few years ago when I was at the USGS. I'd be disappointed if they shut it down...

<comment><USER4> I didn't help build it, and I too, would be disappointed.

</comment></comment></comment></comment><comment><USER6> Can someone help me interpret the data?

<comment><USER7> Circa has pretty a decent synopsis: [http://cir.ca/news/fukushima-earthquake- october-2013](http://cir.ca/news/fukushima-earthquake-october-2013)

</comment></comment><comment><USER8> Here's the USGS report:

[http://earthquake.usgs.gov/earthquakes/eventpage/usc000kn4n#...](http://earthquake.usgs.gov/earthquakes/eventpage/usc000kn4n#summary)

M7.3 , offshore

</comment><comment><USER9> Advisories lifted: [https://twitter.com/HirokoTabuchi/status/393815767059148800](https://twitter.com/HirokoTabuchi/status/393815767059148800)

</comment><comment><USER10> I just arrived in Tokyo last night. Every time I come to Japan there's a major quake within 24 hours. Last time Fukushima, this time this.

<comment> mh- seems a little rude for you to keep visiting then..

</comment></comment><comment><USER11> The oarfish warned us, but did we listen?

<comment><USER12> In the morning?

</comment></comment><comment><USER13> It is interesting that before Fukushima the common knowledge was that _any_ amount of radiation is bad and may cause health issues. We can see how after the Fukushima this morphed into _a little_ radiation may actually mobilize your immune system to protect the body from radiation-related illnesses like cancer.

Another thing is this - and I'm a right wing pig here if you'd like to call me that - USSR as bad as it was it took responsibility for the Charnobyl catastrophe. There was Army and the Government involvement on all levels to clear it up from day 0. In Japan _years_ after the incident the Government is still finger pointing some CEO trying to operate that facility. I hate that because this is precisely one of these things that gives capitalism very bad name. And what is the Japanese Government there for? To come up with lies about how radiation is good for you now? How pathetic!

<comment><USER14> > _USSR as bad as it was it took responsibility for the Charnobyl catastrophe. > There was Army and the Government involvement on all levels to clear it up > from day 0. In Japan years after the incident the Government is still finger > pointing some CEO trying to operate that facility._

To expand on this point, if Fukushima were Chernobyl and Japan the USSR, the Sarcophagus would have been completed on October 27th, of 2011. _Two years ago._

(By no means is that structure a fine piece of engineering, but considering the constraints I find it hard to fault them for that.)

<comment><USER15> If Fukushima were Chernobyl, it would have needed a sarcophagus. However, it was already designed with containment that worked, and as a result, a sarcophagus wouldn't have changed anything. In fact, building a large concrete structure over the reactor core would probably have complicated cleanup efforts by limiting access.

In effect, Fukushima already had a sarcophagus integrated into the structure of the building in 1971, 6 years before Chernobyl even started running.

<comment><USER14> Absolutely; hence _" if Fukushima were Chernobyl"_.

I don't mean to suggest that Japan should build a sarcophagus; I only mean to give an idea of the sort of timescale for significant engineering tasks that the Soviets were working with. They slammed it into high gear pretty rapidly.</comment></comment></comment></comment>


RoR - <AUTHOR>

What website/book is best to learn RoR? <comment><USER2> Why`s Poignant Guide: Classic and rather odd Ruby guide. I especially enjoyed this resource, and the crazy stories really helped make things sink in. <http://mislav.uniqpath.com/poignant-guide/>

Mr. Neighborly's Humble Little Ruby Book: Another Ruby guide. I really recommend this one. The information is laid out really well and I found it very easy to read. <http://humblelittlerubybook.com/book/hlrb.pdf>

Rails for Zombies: This was my first dive into Rails. They are basically instructional videos with interactive labs at the end of each tutorial. I spent a long time doing these tutorials, pausing frequently to google stuff I didn't fully understand. <http://railsforzombies.org/>

Ruby on Rails Tutorials, by Michael Hartl: The most comprehensive of the resources listed so far. Again, I took my time working through this one, and it really paid off. <http://ruby.railstutorial.org/ruby-on-rails-tutorial- book>

Agile Web Development With Rails: But I've only just order it! This is the resource everyone seems to recommend. It's also the only one I've had to spend money on so far. Not finished it yet, but so far so good. [http://www.amazon.ca/Agile-Web-Development-Rails- Ruby/dp/193...](http://www.amazon.ca/Agile-Web-Development-Rails- Ruby/dp/1934356549/ref=sr_1_1?ie=UTF8&qid=1307671166&sr=8-1)

<comment><USER3> I agree with all these. I would however recommend getting Agile Web Development With Rails directly from Pragmatic Press as you can be certain you're using the most up-to-date edition (4th with Rails 3.1) and can purchase solely the ebook if you want to save some money and/or trees.

[http://pragprog.com/book/rails4/agile-web-development- with-r...](http://pragprog.com/book/rails4/agile-web-development-with-rails)

<comment><USER2> Good point!

</comment></comment></comment><comment><USER2> I should also point out that there is this on going debate about whether it is better to learn Ruby before diving into Rails, or just learn them at the same time. Personally I tackled them both, since I could plug what I was learning into a web application project. I learn much better by doing.

Hope this helps!

<comment><USER3> As someone who teaches beginning Ruby and Rails workshops. I often find the limiting factor in getting to where students want to go is comfort with Ruby itself, Rails automates so many of the early details that knowing a little bit more about what Ruby is doing can be phenomenally enabling.

By all means learn both at once, but stay just a little ahead in your Ruby skills.

The Ruby Koans is great for solidifying Ruby concepts glossed over in Rails.

<http://rubykoans.com>

<comment><USER2> Wow, how did I miss this?

Thanks for the heads up.

</comment></comment></comment><comment><USER4> Rails has one of the best documentations for a technical product.

<http://guides.rubyonrails.org/>

</comment><comment><AUTHOR> Thanks for all the help!</comment>


Comcast customers warned to use less bandwidth - <AUTHOR> http://www.nytimes.com/2007/04/14/technology/14online.html?ex=1334203200&en=9e00138d88ad68a6&ei=5090&partner=rssuserland&emc=rss <comment><USER2> Isn't this sort of hyocritical when comcasts internet properties are all flash and involve streaming video. I think they have a part to play too!</comment>


Ode to a Vyukov Queue - <AUTHOR> https://int08h.com/post/ode-to-a-vyukov-queue/ <comment><USER2> That looks like a dangerous misrepresentation.

The original implementation is a bit more involved [1]. Here, the stub entry is not considered at all during the pop.

[1] [http://www.1024cores.net/home/lock-free- algorithms/queues/in...](http://www.1024cores.net/home/lock-free- algorithms/queues/intrusive-mpsc-node-based-queue)

</comment><comment><USER2> Aah. Sorry. The non-intrusive version is different substantially and corresponds to the code shown in the post.

[http://www.1024cores.net/home/lock-free- algorithms/queues/no...](http://www.1024cores.net/home/lock-free- algorithms/queues/non-intrusive-mpsc-node-based-queue)</comment>


Super Mario Opens Firefox - <AUTHOR> http://www.youtube.com/watch?v=8dfGv7ltfB4 Mario on my computer's desktop.  (A proof of concept written in Java.) <comment><USER2> I hope that the source code will be available on that program someday.

<comment><AUTHOR> Most of the things that I thought made it interesting are actually done by Java's Robot API: [http://download.oracle.com/javase/6/docs/api/java/awt/Robot....](http://download.oracle.com/javase/6/docs/api/java/awt/Robot.html) For example, being able to automate double clicking and getting screen captures (for edge-detection).</comment></comment>


Optimized Go gzip/zip packages, 30-50% faster - <AUTHOR> http://blog.klauspost.com/optimized-gzipzip-packages-30-50-faster/ <comment><USER2> Is there any reason you're not approaching the team for inclusion into stdlib (for more than just the crc32 bit)? If it's really drop-in and passes all tests then I can imagine it would be an easy sell.

[https://groups.google.com/forum/#!forum/golang- dev](https://groups.google.com/forum/#!forum/golang-dev)

</comment><comment><USER3> I'm not criticizing the programmer's effort but whenever I see a new project as a "drop in replacement" and/or "50% to 3x faster", the first thing I always look for is the _test data_ to verify that new bugs weren't introduced.

I went to the test subfolder:

[https://github.com/klauspost/compress/tree/master/testdata](https://github.com/klauspost/compress/tree/master/testdata)

I saw 3 files.

The kind of test data I'd like to see for something like a compression library would be:

0 byte files

1 byte files

2,147,483,647 byte file

2,147,483,648 byte file

2,147,483,649 byte file

(to check for bugs around signed 32-bit integers)

4,294,967,295 byte file

4,294,967,296 ...

4,294,967,297 ...

(to check for bugs around unsigned 32-bit integers and see if 64bit was used when necessary for correctness)

Also add files of sizes that straddle the boundary of algorithm's internal block buffers (e.g. 64kb or whatever). Add permutations of the above files filled with all zeros 0x00 and all ones 0xFF. I'm sure I'm forgetting a bunch of other edge cases.

The programmer may have done a wonderful job and all the code may be 100% correct. Unfortunately, I can't trust a library replacement unless I also trust the test bed of data that was used to check for defects. It's very common for performance optimizations to introduce new bugs so there has to be an extensive suite of regression tests to help detect them. Test data for bug detection has a different purpose than benchmark data showing speed improvements.

Those multi-gigabyte files are not git repository friendly so perhaps a compromise would be a small utility program to generate the test files as necessary.

<comment><USER4> I'm in agreement he should use more test cases, but it looks like he used the same as Golang's compression tests [1]. Note he has other test cases in the subdirectories (also the same as Go) [2].

However I believe even better testing would be to fuzz it for a few hours [3].

[1] [http://golang.org/src/compress/testdata/](http://golang.org/src/compress/testdata/)

[2] [https://github.com/klauspost/compress/tree/master/zip/testda...](https://github.com/klauspost/compress/tree/master/zip/testdata)

[3] [https://github.com/dvyukov/go-fuzz](https://github.com/dvyukov/go-fuzz)

</comment></comment><comment><USER5> Don't they really need to compare this with the baseline C implementation and Intel-optimized and CloudFlare-optimized zlib ?

</comment><comment><USER6> curious what flags was the c version compiled with? optimized or non? i guess x86 or 64 bit also?

<comment><USER7> He didn't benchmark any C implementations, just Go.

<comment><USER6> oh i thought it was versus the c implementation

thanks</comment></comment></comment>


Show HN: Book recommendations from the top leaders - <AUTHOR> https://readthistwice.com <comment><USER2> Just another aggregator of Amazon affiliate links (tag readthistwice-20) using photos and content from other sites.</comment>


Study: If aliens exist, they probably want to destroy us - <AUTHOR> http://www.csmonitor.com/Science/2011/0110/Study-If-aliens-exist-they-probably-want-to-destroy-us

<comment><USER2> I'm going to quote from the novel blindsight because I think it sums up the scenarios much better. <http://www.rifters.com/real/Blindsight.htm>

</comment><comment></comment><comment>====

>>Once there were three tribes. The Optimists, whose patron saints were Drake and Sagan, believed in a universe crawling with gentle intelligence—spiritual brethren vaster and more enlightened than we, a great galactic siblinghood into whose ranks we would someday ascend. Surely, said the Optimists, space travel implies enlightenment, for it requires the control of great destructive energies. Any race which can't rise above its own brutal instincts will wipe itself out long before it learns to bridge the interstellar gulf.

>>Across from the Optimists sat the Pessimists, who genuflected before graven images of Saint Fermi and a host of lesser lightweights. The Pessimists envisioned a lonely universe full of dead rocks and prokaryotic slime. The odds are just too low, they insisted. Too many rogues, too much radiation, too much eccentricity in too many orbits. It is a surpassing miracle that even one Earth exists; to hope for many is to abandon reason and embrace religious mania. After all, the universe is fourteen billion years old: if the galaxy were alive with intelligence, wouldn't it be here by now?

>>Equidistant to the other two tribes sat the Historians. They didn't have too many thoughts on the probable prevalence of intelligent, spacefaring extraterrestrials— but if there are any, they said, they're not just going to be smart. They're going to be mean. </comment><comment></comment><comment>==

I really hope Sagan is right, and I'm a little annoyed that these researchers didn't mention the idea.

</comment><comment><USER3> Slow news day :-) But, here:

Think about technological humans coming upon and conquering, say, rain forests. We see resources like land, some top soil, lots of sunlight. So, sometmes we denude the land, chase away all native life, and install cattle (or whatever).

Then later (or simultaneously, elsewhere) we realize what a tragically, stupidly wasteful thing we've just done. The native complexity of the life ... left relatively unmolested ... was of vastly greater value than what we put up instead. A more advanced civilization would have kept a cooler head and pretty much just explored the garden unless it was absolutely necessary destroy it and change the use of the land.

Why would Earth be different to intelligent, space-faring life? Might they not be frugal and greedy and experienced enough to, if they were "here", keep out of site and interfere as little as possible?

<comment><USER4> There is nothing, nothing here on Earth that couldn't be much more easily mined in the outer solar system, or any other solar system for that matter. The idea of Earth having resources that would make it necessary (or even feasible) to go through all the trouble and mine this planet is simply not viable. In fact, it's horribly dangerous for any alien civilization to come here for this purpose. Pretty much every ounce of material on this planet is contaminated with self-replicating organisms that would wreak havoc on any foreign ecosystem.

There are still some nefarious reasons why an outside civilization may attack us, for example to bolster a slavery-based economy or for religious purposes. There are certainly other reasons we can't even think of yet. But resources? No.

Territorial reasons are also void, since we can't project any meaningful power beyond close earth orbit and we couldn't even mount a serious planetary defense come to think of it. Pretty much anyone could just strip mine the entire solar system - including the Moon - without us being able to do anything about it.

<comment><USER5> You're neglecting many reasons extra terrestrial life may pose a threat.

The most obvious is they may want our planet, they want to live here, and if they've managed to travel across the vast void of space, wiping out humanity probably won't be particularly challenging for them.

Also, your second point is invalid, territorial reasons are not void. We may pose no threat now, however a technologically superior civilization may conclude we pose a future threat, and so wipe us out now before we can become one.

Also, the old 'dangerous biology from somewhere else!' is almost entirely null and void, organisms are adapted to their environment, they usually pose negligible risk to any other environment already inhabited by biological organisms. This is why, for instance we don't treat organisms from thermal vents as 'oh noes, biohazard material'.

<comment><USER4> > _You're neglecting many reasons extra terrestrial life may pose a threat._

I'm ignoring the ones that are so far in the realm of speculation with today's knowledge they could go either way. For example the argument "they may want to live here" could be valid, but there is just as much reason to believe that any space-faring civilization bent on aggressive expansion should already have significant terraforming capabilities, thereby making uninhabited worlds an easier target. The second issue with this particular argument is the probability that Earth would be a perfect environment for a given alien species: We simply don't know how many earth-like planets are out there. If there are many, the probability of compatibility would be high, but so would the number of less-problematic alternative planets to choose from. If there are few, chances are our world needs to be terraformed anyway in order to make it habitable, meaning there is no reason to choose it for colonization over many other (uninhabited) candidate planets in the first place.

> _wiping out humanity probably won't be particularly challenging for them_

Nobody said it would be.

> _Also, your second point is invalid, territorial reasons are not void. We > may pose no threat now, however a technologically superior civilization may > conclude we pose a future threat, and so wipe us out now before we can > become one._

That's a misunderstanding. I did categorize reasons like this one as spiritual or "other", because it's not rooted in a concrete need to eliminate us right away. Never mind the categorization: yes, that's a possibility I tried to hint at with the paragraph " _There are still some nefarious reasons why an outside civilization may attack us [...] There are certainly other reasons we can't even think of yet._ "

> _Also, the old 'dangerous biology from somewhere else!' is almost entirely > null and void, organisms are adapted to their environment, they usually pose > negligible risk to any other environment already inhabited by biological > organisms. This is why, for instance we don't treat organisms from thermal > vents as 'oh noes, biohazard material'._

I really dislike your polemic style, so let me answer in kind: the caretakers of countless pacific islands and other isolated places who are currently struggling to protect habitats from invasions of foreign species would probably like to subscribe to your newsletter. Little did they know how unfounded their concerns had been until you came along.

</comment></comment></comment></comment><comment><USER6> I'm sure that after they kill and enslave the vast majority of us, the few remaining survivors will be given crummy reservations where we can live our lives in griding poverty while our alien overlords blame us for not accepting the space zombie god Zork as our lord and saviour.

</comment><comment><USER7> Isn't there another possibility that is inline with #1, that Aliens could exist but that the path from them to us can not be traveled by them due to distance and life support constraints, and not knowing where we are located.

<comment><USER8> That's the boring (and most likely) possibility.

</comment></comment><comment><USER9> I feel like you can come up with any type of wild speculation, and if you base your reasoning on the theory of evolution (even in the most hand-wavy way) people will treat it almost like its a scientifically verified truth.

"Evolution operates predictably" do we know this because scientists have a track record of reliably predicting evolutionary outcomes, or do we think this because evolution seems like it should've been predictable standing in 2011 looking back? Don't a lot of unpredictable things look predictable in hindsight?

Furthermore, I can't think of any practical benefit of having done this study. If aliens don't exist, the study was a waste of time. If aliens exist and intend to kill us, we are probably fucked anyway and hence the study was a waste of time. If aliens exist and are nice, the study was wrong and thus a waste of time.

</comment><comment><USER10> [http://www.projectrho.com/rocket/aliens.php#The_Fermi_Parado...](http://www.projectrho.com/rocket/aliens.php#The_Fermi_Paradox~The_Killing_Star)

I think those three laws state that case pretty well. And I think it's pretty bleak if that case is, in fact, correct.

<comment><USER11> Charlie Stross presents an alternate explanation in the novel 'Accelerando'. Advanced civilizations may evolve at an accelerating pace, so anyone moving away from the central star (and source of energy) won't be able to catch up.

<comment><USER10> Interesting. I'll have to add that to my reading list.

<comment><USER11> There's also the possibility that signals just merge into the background after a few light years. So they are saying that our radio signals have already travelled a few decades, but they also diffuse under the 1/r^2 law. If there were an identical to Earth, how close would it have to be for SETI to pick up the radio chatter?

It's also possible that aliens use higher-bandwidth optical or above signals in order to communicate. Already as the Earth's networks swell with bandwidth, most of it is coming from optical installations rather than radio links. Even radio is relatively low-powered, so it's unlikely a lot of it is visibly leaking into space.

<comment><USER12> theory: background radiation is actually alien messages. The sky is completely filled with it.

The reason we can't read it as a signal is not because it has diffused, but because it's compressed so effectively that, for us, it is indistinguishable from noise.

</comment></comment></comment></comment></comment><comment><USER2> The full text of Simon Conway Morris' article in "Philosophical Transactions in The Royal Society A" is free: [http://rsta.royalsocietypublishing.org/content/369/1936/555....](http://rsta.royalsocietypublishing.org/content/369/1936/555.abstract)

</comment><comment><USER5> I think this article makes a fantastically gross error, the conclusion is fine, however the authors gloss over the fact that any space-faring life has a high probability of being machine-intelligence, not squishy biological life which 'evolved in the same manner as on earth'. (note, this is already the trend with our space exploration)

</comment><comment><USER11> All told, an alien civilization that saw us would probably be millions of years ahead of us and likely not need our planet for expansion. Habitable space becomes very large if you can colonize bare bits of rock or construct your own habitats.

</comment><comment><USER13> Essential Reading:

<http://lesswrong.com/lw/y4/three_worlds_collide_08/></comment>


Revealed: thousands of Britons on benefits across EU – UK news – The Guardian - <AUTHOR> http://www.theguardian.com/uk-news/2015/jan/19/-sp-thousands-britons-claim-benefits-eu?CMP=fb_gu <comment><USER2> Not sure why there is article about it. In EU you get benefits from country of residence, where you paid taxes and contributions. Other countries might provide higher benefits, but they also have higher taxes.</comment>


Core Data Lab, a Full-Featured Core Data Viewer - <AUTHOR> https://betamagic.nl/products/coredatalab.html <comment><AUTHOR> Some additional information: Core Data is the Apple-provided framework to persist your object data when you're developing software on macOS, iOS and friends. It uses SQLite as its underlying database.

I don't have anything to do with the product mentioned. It's just that as an iOS developer, I found Core Data finicky in my past projects. Often I wanted to check whether my object data was correctly saved into the underlying database, or add initial data, or edit data to test some logic. This product seems to be focused on exactly that.</comment>


Google invests $200M in Texas wind farm - <AUTHOR> http://techcrunch.com/2013/01/09/google-makes-200m-equity-investment-in-texas-wind-farm/

<comment><USER2> Just another way that government subsidies help the rich get richer.

AFTER EDIT: Yes, I see the downvote, and I'm willing to discuss the facts with you. Do you seriously think Google or anybody would invest in that wind farm without serious government incentives behind the investment? And if the tax- policy-favored investment is in a high-capital physical plant like a wind farm, isn't that an investment that's not easy to make for investors who have little capital? A big wind farm is inherently linked into the power grid, and doesn't help you or me get off the grid.

Some sources that prompt my curiosity about these policies:

[http://www.nytimes.com/2011/11/12/business/energy- environmen...](http://www.nytimes.com/2011/11/12/business/energy- environment/a-cornucopia-of-help-for-renewable-energy.html)

[http://money.cnn.com/2012/03/07/news/economy/energy- subsidie...](http://money.cnn.com/2012/03/07/news/economy/energy- subsidies/index.htm)

<http://www.economist.com/node/21556904>

<http://www.economist.com/debate/overview/217>

[http://online.wsj.com/article/SB1000087239639044365920457757...](http://online.wsj.com/article/SB10000872396390443659204577575203384685874.html)

[http://online.wsj.com/article/SB1000087239639044403240457800...](http://online.wsj.com/article/SB10000872396390444032404578008183300454400.html)

For balance, critiques of other government subsidies for other industries (surely disfavored by Google):

[http://www.scientificamerican.com/article.cfm?id=making- rene...](http://www.scientificamerican.com/article.cfm?id=making-renewable- energies-competitive)

[http://www.businessweek.com/articles/2012-10-21/when-it- come...](http://www.businessweek.com/articles/2012-10-21/when-it-comes-to- government-subsidies-dirty-energy-still-cleans-up)

<comment><USER3> The subsidies aren't there to make anyone richer/more equal/etc... They are there to get scales of economy developing in Renewable Energy such that the price comes down.

It's been extraordinarily effective in Solar.

The only rational reason to make these investments as a society is if we believe that Petroleum/Coal/Nuclear based energy has externialities (or present-value-risk-adjusted externialities) - I.E. Climate Change, Pollution, Nuclear Disaster, etc... that exceed the cost of these subsidies.

I've often wondered whether the deaths of Solar Panel installers, Visual/Noise polution of Wind Farms, and environmental havoc resulting from hydro electric facilities are factored into these equations when subsidies are being handed out.

</comment></comment><comment><USER4> Motives aside, I'm glad to see more power coming from solar and wind.

</comment><comment><USER5> These guys are really betting against dirty energy.

Google could eventually become the Rockefeller of renewable energy.

<comment><USER6> This is not a bet for / against anything. This is an investment into tax equity. Because Google has large tax liabilities, they can deploy tax equity more efficiently than most investors. That's why they're in this game -- and I'm glad that they are.

<comment><USER5> Then why specifically renewable energy and not, say corn?

<comment><USER6> I'm not sure about investing in corn, but these are the credits that i'm speaking of -- and they apply to renewable energy.

[http://dsireusa.org/incentives/incentive.cfm?Incentive_Code=...](http://dsireusa.org/incentives/incentive.cfm?Incentive_Code=US02F&re=1&ee=1)

[http://dsireusa.org/incentives/incentive.cfm?Incentive_Code=...](http://dsireusa.org/incentives/incentive.cfm?Incentive_Code=US13F&re=1&ee=1)

</comment></comment></comment></comment><comment><USER7> Vertical integration at its finest.

</comment><comment><USER8> Please don't invest money in this hellhole.</comment>


$21tn: hoard hidden from taxman by global elite - <AUTHOR> http://www.guardian.co.uk/business/2012/jul/21/global-elite-tax-offshore-economy

<comment><USER2> "5 points". Figures. Everybody here wants to be part of that elite?

</comment><comment><USER3> While the rest of us tighten our belts...

</comment><comment><USER4> This is a simplification, but many of the same people "screaming" for resources -- and for making public resources private -- in order to "expand" their business, are actually in control of a vast sum of resources (not just "cash", but the control that that cash and ownership represent) that they refuse to use.

It really becomes about risk. Despite all their advantage, they don't want to take the risk.

Or, looked at another way, these are _not_ the so-called risk takers and innovators -- the "job creators" -- they sometimes claim to be.

When they do this latter, I simply experience another round of disgust over the pervasive hypocrisy -- turned into outright lying -- in today's society.</comment>


Baidu rolls out world's first commercial deployment of Marvell ARM server - <AUTHOR> http://www.marvell.com/company/news/pressDetail.do?releaseID=3576

<comment><USER2> This article on El Reg gives a better overview I think, including mention of the 40-bit memory addressing on the Armada XP that has been commented on in here already.

[http://www.theregister.co.uk/2013/02/20/baidu_marvell_arm_se...](http://www.theregister.co.uk/2013/02/20/baidu_marvell_arm_servers/)

</comment><comment><USER3> Interestingly I noted that it supports 16GB DDR3 RAM. Since all current ARM cores are 32bit I wonder if they are doing some sort of bank switching to address all the RAM.

<comment><USER4> I'm a little outside of my area of expertise, but didn't Intel late model 32-bit chips have a form of larger memory addressing? I thought I read somewhere that there was a greater-than-32-bit memory address setup in x86 architectures, but Microsoft products wouldn't take advantage of it, only Linux and other OSs were able to use it.

Even in a modern x86-64 bit architechture, you can do some limited 128 and 256 bit operations. This ARM may have a greater-than 32 bit memory addressing setup, but only support 32 bit opcodes for the main registers.

<comment><USER5> You're thinking of PAE. It allowed the system as a whole to use more than 4Gib, but it still limited a virtual memory space to 4GiB.

</comment></comment></comment><comment><USER6> There's a couple of patently untrue statements inside the press release, like "As the first organization in the world to leverage ARM servers for commercial use...", but the move is another sign of the growth of ARM servers.

To me, the real piece of information is near the bottom, "ower the total cost of ownership by 25 percent, compared with previous x86-based server solutions", this is where Intel's challenge really is.

It's not about performance, or even about Watts consumed, it's about the money spent to operate a service, from the very bottom of the stack where electricity is consumed, through the management of the application layer.

Server hardware is going to cost a lot less in the next couple of years, and Intel are going to have to work out how they can make money in this new environment, whether that's through going all out on low end kit, or moving up the management layer.

</comment><comment><USER7> Is there a way for me to get access to a machine like this if I want to see how well my code runs? If I want to benchmark some code on a crazy i7, I can just fire up an instance on EC2 for a couple of hours.

I'm not aware of anything like that for the newer ARM processors. There's an Ubuntu ARM AMI which lets you ssh straight into an ARM image.. running on QEMU on top of EC2. Not ideal.

</comment><comment><USER8> Intel: Be afraid, be very afraid.</comment>


Theorems that are 'obvious' but hard to prove - <AUTHOR> http://mathoverflow.net/questions/51531/theorems-that-are-obvious-but-hard-to-prove <comment><USER2> > Can anyone suggest other such theorems, in any areas of mathematics?

I vote for the conjecture of the infinity of Mersenne primes, the "Lenstra–Pomerance–Wagstaff conjecture":

[http://en.wikipedia.org/wiki/Mersenne_conjectures#Lenstra.E2...](http://en.wikipedia.org/wiki/Mersenne_conjectures#Lenstra.E2.80.93Pomerance.E2.80.93Wagstaff_conjecture)

The topic is open, we're nowhere near outlining a proof, but their infinity seems likely.

<comment><AUTHOR> So, they're asking for theorems (hence proven) that seem obvious but are hard to prove, and you offer something that is not obvious, and unproven?

<comment><USER2> The Lenstra–Pomerance–Wagstaff conjecture seems obvious, and it's hard to prove. What did I miss?

Given that there are an infinity of primes, then it seems obvious that an infinite subset will be Mersenne primes. To dispute this, one would need to imagine a mechanism that would prevent an infinite set of primes from possessing an infinite subset of Mersenne primes.

But proving this is much harder than stating it.

<comment><AUTHOR>
      > What did I miss?

They're asking for theorems, which means things that have been proven.

      > ... it seems obvious that an infinite subset
      > will be Mersenne primes.

Not to me - I can easily picture these things petering out after a time. For example, it is suggested that there are only finitely many Fermat primes.

<comment><USER2> > They're asking for theorems, which means things that have been proven.

I managed to miss that. My bad.

<comment><AUTHOR> NP.

I, personally, also don't think it's obvious there are infinitely many Mersenne primes.

<comment><USER2> > I, personally, also don't think it's obvious there are infinitely many > Mersenne primes.

If I were a better mathematician, I might agree with you. But I can't think of a compelling reason why some percentage of the infinity of primes would not coincide with the infinity of members of (2^n)-1 , 1 <= n <= ∞, thereby creating an infinite set.

<comment><AUTHOR> Then why not an infinite intersection between the primes and the numbers of the form 2^(2^n)-1? And yet we only know 5 of them.

Let me help your intuition. Take these numbers:

      k(1) = 0
      k(2) = 2
      k(3) = 3
      k(n) = k(n-2)+k(n-3)

For a given _n_ , ask if _n_ divides _k(n)_ You'll find up to 10^5 or so this works if and only if _n_ is prime. Does it work forever?

Consider the primes of the form 4k+1. For the first 10^5 or so of these they turn out to the be sum of two squares. Does it work forever?

Heuristic arguments are all well and good, but at the end of the day, these things need to be proven or disproven before we can be sure.

<comment><USER2> > ... at the end of the day, these things need to be proven or disproven > before we can be sure.

Yes, and in the meantime, we're free to conjecture -- within reason.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Version Control And The Developer - <AUTHOR> http://www.mactech.com/articles/mactech/Vol.14/14.06/VersionControlAndTheDeveloper/ <comment><USER2> dear god, this is from 1998 when CVS was state of the art. Why was this posted?</comment>


Top 20 Most Popular Programming Languages in 2017 - <AUTHOR> http://b2c.news/NAIvCb <comment><USER2> This list is ridiculous. JavaScript is _not_ #7. I'm not sure what Tiobe's methodology is but it's clearly disconnected from the reality of 2017.

<comment><USER3> It's the TIOBE index.

[https://www.tiobe.com/tiobe-index/](https://www.tiobe.com/tiobe-index/)

> The ratings are based on the number of skilled engineers world-wide, courses > and third party vendors. Popular search engines such as Google, Bing, > Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the > ratings.

According to the index Java is 6x more popular than JavaScript.

You are right that doesn't reflect the # of GitHub protects. It's mostly limited to professional avenues.

<comment><USER2> It's more than that.

JavaScript is so ubiquitous for any sort of web programming that it's often not even mentioned in job reqs or courses. Instead of JS, its often Node, React, Angular, or other JS-based stacks that are the focus. If an poll were to be taken of what languages HN (or Reddit or Slashdot or Yahoo or Apple...) visitors programmed in, I would be shocked if JS came in 7th place. Heck, even among my friends who work at Apple, JS isn't that far down the frequently used list.

Do you _honestly_ believe that Visual Basic .NET is a more popular language in 2017 than JavaScript is?

<comment><USER4> It depends how you define popular. TIOBE also note:

> It is important to note that the TIOBE index is not about the best > programming language or the language in which most lines of code have been > written.

Also, you might find it curious that JavaScript has stayed pretty steady in its position on the index, since 2002. That's a healthy dose of "this language is still relevant".

<comment><USER5> There's absolutely no way that VB.Net is more popular than JS, anywhere you go.

It's not because of "liking", simple facts.

</comment></comment></comment></comment></comment><comment><USER6> tl;dr listicle with a restatement of the Tiobe index</comment>


O'Reilly - 50% off on R/Stats/Data Ebooks and Videos - <AUTHOR> http://oreilly.com/data/index.html?imm_mid=07fa97&cmp=em-orm-books-videos-strataconf-celebration-deal

<comment><USER2> Wow nice deal--you can also use the code OPC10 to get 3 for the price of 2 too: <http://shop.oreilly.com/category/customer-service/b2g1f.do>

</comment><comment><USER3> I just got Machine Learning for Hackers, Designing Data Visualizations and Think Stats for $20 - steal of the month!

<comment><USER4> Think Stats is available for free under a Creative Commons License:

<http://greenteapress.com/thinkstats/></comment></comment>


Show HN: Collapse HN Comments - <AUTHOR> https://github.com/Igglyboo/hn_collapse Little chrome extension I made to collapse comments on HN, feel free to use it if you want. <comment><USER3> I've been using this: [http://hckrnews.com/about.html#extensions](http://hckrnews.com/about.html#extensions)

In addition to collapsing threads, it also tastefully identifies new comments: [http://i.imgur.com/qs6FDRU.png](http://i.imgur.com/qs6FDRU.png)

It doesn't mess with the layout beyond that, which I like.

By the way, [http://hckrnews.com/](http://hckrnews.com/) itself is wonderful. It's HN, but in chronological order. That seems like a bad thing, but in fact there are only a few dozen submissions per day, and it's easy to pick out the interesting ones.

<comment><USER4> Nice, I'll try that. Here's my bookmarklet for highlighting recent comments (subtly for <1h old, less subtly for <10m old):

      javascript:var jq=document.createElement("script");jq.src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";document.getElementsByTagName("head")[0].appendChild(jq);window.setTimeout(function(){jQuery.noConflict();jQuery("span.comhead:contains('minutes ago')").parent().parent().css("background","#fdfdf0");jQuery("span.comhead:contains(' 0 minutes ago'), span.comhead:contains(' 1 minutes ago'), span.comhead:contains(' 2 minutes ago'), span.comhead:contains(' 3 minutes ago'), span.comhead:contains(' 4 minutes ago'), span.comhead:contains(' 5 minutes ago'), span.comhead:contains( '6 minutes ago'), span.comhead:contains(' 7 minutes ago'), span.comhead:contains(' 8 minutes ago'), span.comhead:contains(' 9 minutes ago'), span.comhead:contains(' 10 minutes ago') ").parent().parent().css("background","#ffffe9")},500)

<comment><USER5> It may not have been clear from sillysaurus3's comment, but the "hckrnews" extension defines "new" differently. It keeps a database of the last time that you've visited each page, and highlights all the comments that are new since your last visit. I use it as well, and it's great. When I access HN from a browser without it it feels practically unusable. My only issue with it is that I sometimes accidentally click on the "collapse thread" option. Ironically, considering the topic of this thread, I don't use or want that functionality, and would prefer an option to disable it. But highlighting the posts since the last visit is fabulous!

</comment></comment></comment><comment><USER6> I've been using the Hacker News Enhancement Suite extension for Chrome for so long I couldn't imagine using the site with out it.

[https://chrome.google.com/webstore/detail/hacker-news- enhanc...](https://chrome.google.com/webstore/detail/hacker-news- enhancement-s/bappiabcodbpphnojdiaddhnilfnjmpm)

edit: I'll also mention that I use [http://hckrnews.com/](http://hckrnews.com/) as my frontpage for HN.

<comment><USER7> Highly recommended. Of all the Hacker News styles I've tried, this has been the only one that I've used consistently.

Notably, it preserves the compactness of the front page. A lot of other styles tend to space out stories on the front page too much, which makes it harder to read through.

I do wish there was a similar theme for Firefox.

</comment></comment><comment><USER8> I love how every comment here links to a different implementation.

I also made one (for Firefox/Greasemonkey),

[https://github.com/tom-szczarkowski/hn-stuff](https://github.com/tom- szczarkowski/hn-stuff)

<comment><USER9> It almost seems as if it's an essential feature for browsing HN in a sane way.

Naw, everyone replying to the top comment in a post in order to be seen is probably fine.

</comment></comment><comment><USER10> I've also hacked bigger voting buttons (for the sake of Fitt's law [1]) and some indentation marks [0] which I find quite helpful, both included with ~/.js [2].

[0]: [https://i.imgur.com/Bp3ra28.png](https://i.imgur.com/Bp3ra28.png)

[1]: [https://en.wikipedia.org/wiki/Fitts%27s_law](https://en.wikipedia.org/wiki/Fitts%27s_law)

[2]: [https://github.com/defunkt/dotjs](https://github.com/defunkt/dotjs)

        td { vertical-align: top }
        td > img { background: repeating-linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) 38px, rgba(0,0,0,0.3) 38px, rgba(0,0,0,0.3) 40px); margin-top: 4px; height: 12px!important }
        div.votearrow { padding-bottom: 3px; background: url('https://i.imgur.com/UVPQXRX.png') !important; width: 20px!important;}

</comment><comment><USER11> I still don't get why HN is against adding features like this or open links in new windows/tab AS AN OPTION.

I get that some people don't want anything to change on HN - no problem - <USER2> what is the harm in adding features that we individually can turn on that would not effect anyone else? Aka, add the features but have them off by default.

<comment><USER12> I have it on good authority that comment collapse is rolling out at some point in the near future.

<comment><USER13> Yes, I thought that was one of the touted benefits of moving to the new API.

<comment><USER14> they need a new API to manipulate nested DOM elements in the web browser? Maybe they're doing more like making each comment atomic so you can dig deep into nests, but at the surface adding such a toggle would be a very trivial thing to implement via HTML/JS.

I think its ridiculous that something with so much traction gets so little love and people have to create extensions to fix some of the basic site interactions.

<comment><USER15> They needed an API so that third-party tools could stop relying on scraping, and so the HTML could be changed without breaking them.

</comment></comment></comment></comment></comment><comment><USER16> On Firefox I've been using HN Utility Suite.

[https://addons.mozilla.org/en-us/firefox/addon/hn-utility- su...](https://addons.mozilla.org/en-us/firefox/addon/hn-utility-suite/)

</comment><comment><USER17> Cool! For non chrome people, I've been using this bookmarklet since forever

        javascript:(function()%7Bfunction%20getScript(url,success)%7Bvar%20script=document.createElement('script');script.src=url;var%20head=document.getElementsByTagName('head')%5B0%5D,done=false;script.onload=script.onreadystatechange=function()%7Bif(!done&&(!this.readyState%7C%7Cthis.readyState=='loaded'%7C%7Cthis.readyState=='complete'))%7Bdone=true;success();script.onload=script.onreadystatechange=null;head.removeChild(script)%7D%7D;head.appendChild(script)%7DgetScript('//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',function()%7Bif(typeof%20jQuery!=='undefined')%7Bif(!$('body').hasClass('collapsible-comments'))%7B$('body').addClass('collapsible-comments');var%20span_html='%3Cspan%20style=%5C'cursor:pointer;margin-right:10px;%5C'%20class=%5C'expand-handle%5C'%3E%5B-%5D%3C/span%3E';if(window.location.href.indexOf('item?id=')!=-1)%7B$('center%20%3E%20table%20%3E%20tbody%20%3E%20tr:eq(2)%20%3E%20td%20%3E%20table:eq(1)%20span.comhead').prepend(span_html)%7Delse%20if(window.location.href.indexOf('threads?id=')!=-1)%7B$('center%20%3E%20table%20%3E%20tbody%20%3E%20tr%20%3E%20td%20%3E%20table%20span.comhead').prepend(span_html)%7D$('.expand-handle').live('click',function()%7Bcurrent_level_width=parseInt($(this).closest('tr').find('td:eq(0)%20%3E%20img').attr('width'),10);$(this).closest('table').closest('tr').nextAll().each(function(index,el)%7Bvar%20elWidth=parseInt($('tbody%20%3E%20tr%20%3E%20td%20%3E%20img',this).attr('width'),10);if(elWidth%3Ecurrent_level_width)%7Bif(elWidth%3C=inner_level_width)%7Binner_level_width=1000;$(this).hide()%7Dif(inner_level_width==1000&&$('.comment',this).css('display')=='none')%7Binner_level_width=elWidth%7D%7Delse%7Breturn%20false%7D%7D);inner_level_width=1000;$(this).text('%5B+%5D').addClass('expand-handle-collapsed').removeClass('expand-handle');$(this).closest('div').nextAll().hide();$(this).closest('div').parent().prev().hide();$(this).closest('div').css(%7B'margin-left':'18px','margin-bottom':'5px'%7D)%7D);$('.expand-handle-collapsed').live('click',function()%7Bcurrent_level_width=parseInt($(this).closest('tr').find('td%20%3E%20img').attr('width'),10);$(this).closest('table').closest('tr').nextAll().each(function(index,el)%7Bvar%20elWidth=parseInt($('tbody%20%3E%20tr%20%3E%20td%20%3E%20img',this).attr('width'),10);if(elWidth%3Ecurrent_level_width)%7Bif(elWidth%3C=inner_level_width)%7Binner_level_width=1000;$(this).show()%7Dif(inner_level_width==1000&&$('.comment',this).css('display')=='none')%7Binner_level_width=elWidth%7D%7Delse%7Breturn%20false%7D%7D);inner_level_width=1000;$(this).text('%5B-%5D').addClass('expand-handle').removeClass('expand-handle-collapsed');$(this).closest('div').nextAll().show();$(this).closest('div').parent().prev().show();$(this).closest('div').css(%7B'margin-left':'0','margin-bottom':'-10px'%7D)%7D)%7D%7D%7D);var%20current_level_width=0;var%20inner_level_width=1000%7D)();

<comment><USER18> This works great! Firefox users: you can simply drag that text to your bookmarks bar.

</comment></comment><comment><USER19> I built a Chrome Extension to help myself better identify hot content on HN years ago and can't live without it.

[https://chrome.google.com/webstore/detail/social- hotness/aha...](https://chrome.google.com/webstore/detail/social- hotness/ahabkiagphnfbeehielogfcdkfhkonjh)

</comment><comment><USER20> I use, and have been very happy with, the Chrome extention HackerNew [https://chrome.google.com/webstore/detail/hackernew/lgoghlnd...](https://chrome.google.com/webstore/detail/hackernew/lgoghlndihpmbbgmbpjohilcphbfhddd?hl=en)

</comment><comment><USER21> Here's mine: [https://github.com/insin/greasemonkey/blob/master/hncommentt...](https://github.com/insin/greasemonkey/blob/master/hncommenttrees.user.js)

In addition to collapsing, it highlights new comments and shows how many new comments there are on story list pages since you last looked at the full thread.

If you click the "X new" link it adds, it automatically collapses all threads which don't have new comments on page load.

Screenshot of that: [https://twitter.com/jbscript/status/462657449497874432/photo...](https://twitter.com/jbscript/status/462657449497874432/photo/1)

</comment><comment><USER22> I use Hacker News Threadify: [https://github.com/scouttyg/hacker-news- threadify](https://github.com/scouttyg/hacker-news-threadify) available as bookmarklet or Grease Monkey script.

<comment><USER23> Small world, this is my repo! It actually originally was created by [https://github.com/giu/hacker-news-threadify](https://github.com/giu/hacker- news-threadify) \-- I forked it, made some fixes, and submitted it back to him ([https://github.com/giu/hacker-news- threadify/commit/cfd57f58...](https://github.com/giu/hacker-news- threadify/commit/cfd57f588df66c8e188cf88908393af9c4b9dc0f)).

</comment></comment><comment><AUTHOR> Little chrome extension I made for personal use, feel free to use it if you want.

It will allow you to collapse comment trees on HN.

<comment><USER24> On HN Most discussions are stolen by remotely related comments.. This extension helps to dig them for me. Thanks.

</comment></comment><comment><USER25> All I'd like is to be able to click on the left margin of a post to skip under it. Sometimes it's just that the first comment has too many replies and I'd like to jump past it easily.

<comment><USER26> I have also wanted this for a long time. I think you'd have to go back to the top of the parent, or else you'd wind up jumping way past the end of that thread.

</comment></comment><comment><USER27> I've been using "Reddit-Style Comments for Hacker News" [1] for years, works great.

1: [https://github.com/andrewheins/HN-Comment- Hider](https://github.com/andrewheins/HN-Comment-Hider)

edit: This has the collapse button between the voting arrows and username, just like reddit. Seems like something minor, but it's a big detail. (1) I'm used to that location from reddit, and (2) it doesn't move, which isn't the case with many other extensions that have it on the end.

</comment><comment><USER28> HN will integrate it natively some day.

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

</comment><comment><USER29> Dropped the .crx onto the Extensions page.

[http://i.imgur.com/t46u0C5.png](http://i.imgur.com/t46u0C5.png)

Thanks Chrome!

<comment><USER30> On your Chrome's Extension page there should be a "Developer mode" checkbox on the top-left.

Check that and you should be presented with a "Load unpacked extension" that you can use to install extensions locally.

</comment></comment><comment><USER31> See line 17, [https://github.com/Igglyboo/hn_collapse/blob/master/collapse...](https://github.com/Igglyboo/hn_collapse/blob/master/collapse.js)

var currentRow = comment.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling;

Lotta parentNodes!

</comment><comment><USER32> Can anyone recommend an extension for firefox?

<comment><USER33> Works great: [https://addons.mozilla.org/en-us/firefox/addon/hn-utility- su...](https://addons.mozilla.org/en-us/firefox/addon/hn-utility-suite/)

</comment></comment><comment><USER34> Collapsed by default HN (bookmarklet):

[http://sagargv.blogspot.in/2014/06/flat-hacker- news.html](http://sagargv.blogspot.in/2014/06/flat-hacker-news.html)

</comment><comment><USER35> Despite there being a whole bunch of implementations out there, I had also written one a while ago: [https://github.com/thebrokencube/yahnes](https://github.com/thebrokencube/yahnes) . It does need some updating, but seems to work well enough for my use (plus, I just wanted to scratch my own itch).

Probably best to sort of consolidate some of these into a few really good ones, but we'll see.

</comment><comment><USER36> I've just ported the addon for Firefox

[https://github.com/AbdullahDiaa/hn- collapse](https://github.com/AbdullahDiaa/hn-collapse)

[https://github.com/AbdullahDiaa/hn- collapse/blob/master/hn-c...](https://github.com/AbdullahDiaa/hn- collapse/blob/master/hn-collapse.xpi)

Hope that helps.

</comment><comment><USER37> I've been using Hacker News Collapsible Comments [0], since I enjoy the default look of HN, but wanted to collapse the comments.

[0] [https://chrome.google.com/webstore/detail/hacker-news- collap...](https://chrome.google.com/webstore/detail/hacker-news- collapsible-c/hockhafcdegocajmjhafgjncjpodihkd)

<comment><USER38> I use HN Special [0]. Personally, I'm not a huge fan of the default look of Hacker News and I also couldn't live without features like infinite scrolling, showing which link you just returned from and more accurate domain names .

[0] [http://gabrielecirulli.github.io/hn- special/](http://gabrielecirulli.github.io/hn-special/)

</comment></comment><comment><USER39> [http://hackbook.club](http://hackbook.club), a Chrome extension.

Follow other HN users, notifications when replied to, notifications when your karma changes, notifications when followed, comment viewing while on article/video/page, and chat.

</comment><comment><USER40> Quick gif with LICEcap ([http://www.cockos.com/licecap/](http://www.cockos.com/licecap/)) would do wonders to show how awesome this is...

would be a nice-to-have on the README

</comment><comment><USER41> [http://hn.premii.com/](http://hn.premii.com/)

\- You can collapse threads (children and parents).

\- Use keyboard shortcuts (j-next / k-prev / x-collapse+next)

\- Light/Dark Theme

<comment><USER42> Thanks for this website! I use it all the time. I love the way comments collapse under the mouse so that the next parent is at the same position the cursor was at. Lets me skim through threads super fast

</comment></comment><comment><USER43> I've been using this one: [http://gabrielecirulli.github.io/hn- special/](http://gabrielecirulli.github.io/hn-special/)

</comment><comment><USER44> Maybe Ycombinator should just stop trying to maintain hacker news and move to a subreddit, and thereby get all the benefits of reddit's features and ecosystem.

</comment><comment><USER45> Great!

Is there a extension to highlight messages since last visit?

The tree is not really good on longer discussions, you did not find the new messages.</comment>


The Rise and Fall of the Biggest Pot Dealer in New York City History - <AUTHOR> http://www.nytimes.com/2014/09/07/nyregion/the-rise-and-fall-of-the-biggest-pot-dealer-in-new-york-city-history.html

<comment><USER2> An okay story. But it seems like it's just some douche upon whom the government blew 10 million dollars (give or take) to put in a cage. I'm pretty sure those Indians can keep snowmobiling across the border with their bales of marijuana. I'm pretty sure there are still Hell's Angels who have trucking jobs.

If weed is fully legalized, maybe they'll invent some more interesting Al Capone-types to romanticize the era.

<comment><USER3> The drug war is clearly a farce because of the focus on dealers. If there was a serious desire to reduce usage we know full well from history what "works." You very severely punish anybody caught with stuff, regardless of "intent to distribute."

<comment><USER4> You're right that the drug war is a farce, but your reasoning is wrong. Altering consciousness is never going away, even with steep penalties. All that accomplishes is making the externalities of drug law enforcement even more severe.

<comment><USER3> You're ignoring the externalities of drug usage. The question becomes whether the externalities of prohibition exceed those of junkie fuckups in your extended family and community. I'm pretty libertarian overall about this stuff but you have to be in denial to fail to notice that a large fraction of the population cannot handle their drugs and alcohol. Drug users frequently ruin families and neighborhoods.

Consider, for example, that both Trayvon and Michael Brown were high on marijuana when they made decisions that lead to their deaths and ensuing hugely expensive social disturbances. If you care to step out of your upper middle class bubble, it is not at all crazy to suggest that cannabis does in fact have huge negative externalities.

<comment><USER5> I'm all for considering externalities, your examples are terrible, especially Trayvon. It's arguable whether he did anything wrong, and it's also quite possible he wasn't high at the time[0]. Even if he was high and was aggressive once Zimmerman started following him, there are more important factors in the disturbance than how Trayvon acted.

0 - [http://en.wikipedia.org/wiki/Shooting_of_Trayvon_Martin#Coun...](http://en.wikipedia.org/wiki/Shooting_of_Trayvon_Martin#County_medical_examiner.27s_autopsy_report)</comment></comment></comment></comment></comment>