Risk, probability, and how our brains are easily misled - <AUTHOR> http://arstechnica.com/science/news/2011/06/risk-probability-and-how-our-brains-are-easily-misled.ars <comment><USER2> It's interesting that they mention the Monty Hall problem. I've found that most of the misunderstanding for it comes from the lack of separation of stages in the problem. People confuse choosing a single strategy versus given probability in stages. It seems much easier to understand when that distinction is made.

On a tangent, the part about Africa really ties in well with hypnotism. I'm not sure how many of you have studied it, but hypnotism is full of subtle suggestions like what was mentioned. In fact, it's really just a bunch of suggestions that we have no reason to think critically about. Off the tangent: Considering this makes me wonder how many studies are heavily biased. What a fascinating subject.

<comment><USER3> The part about Africa is about "priming" the subjects, a well-studied psychological effect.

</comment></comment><comment><USER4> I read Mlodinow's book (The Drunkard's Walk) last year and really enjoyed it.

Somewhat ironically, I seem to have become anchored around Kahneman & Tversky in terms of this line of research. Can someone recommend a good counterpoint? I'm looking into Gigerenzer now

<comment><USER5> I enjoyed Gigerenzer's _Gut Feelings_ quite a bit. I was afraid from the title that it would be Gladwell-ized into mush, but came away quite happy that it wasn't. As a counterpoint to K&T it's very good, less because of any disagreement in their findings, and more for the difference in perspective on the whole subject.

</comment></comment><comment><USER6> Anchoring is but one of the many reasons that fixed point estimates are fraught. Intervals are much more useful, and the discussion that results from trying to elicit them is often more valuable than the estimate.

</comment><comment><USER7> First paragraph doesn't make since - if there are 5 flips, there are 2^5=32 possible outcomes. If the "odds are low that even one person in the audience guessed it" then I'd expect less than 16 people to be in the audience. However, "about a dozen people" did guess it, implying that the audience is in the hundreds (there are >10 "random" looking sequences of the 32).

<comment><USER8> It's possible. A distribution might have counts of 12,11,8,6,5,5,4,2,1,1,1,1,1,1,1. Odds of someone picking it are under 50%.

</comment></comment><comment><USER9> Love the implicit dualism in the title. How come is it that our brains are misled? As if we or our "minds" were somehow less susceptible.

<comment><USER2> As I mentioned above, it's one of the two major functions in hypnotism: delivering suggestive material to elude critical thinking. When someone asks you a harmless question, we don't tend to ask ourselves whether he/she is lying. However, here, we introduce a benchmark for any further opinions that the brain needs to check against - which serves as an effective suggestion.

You'll see similar suggestions through tone changes (down for commands when asking questions for example), and stories. It's quite fascinating!

</comment></comment><comment><USER3> These are the reasons behind the Daubert motion, like the one that Google is filing against Oracle.

</comment><comment><USER10> If interested in reading more, I highly recommend Dan Gardner's "Risk: The Science and Politics of Fear". (Also named "Science of Fear" in some markets.) It's a very good examination of risk perception and the cognitive faults we fall into.</comment>


Ask HN: Rust or Haskell which is(or will be) used more in industry - <AUTHOR> I understand that these two languages have a completely different design philosophy and can't be compared apple to apple. But purely from an industry adoption point of view which one is more likely to be the winner ? <comment><USER2> Rust has two _huge_ things going for it:

1\. C-based lineage

2\. Designed for industry use

Haskell has become the "nights and weekends" language. People are using it on pet projects outside of work and they're arguably becoming better programmers for having done so. Rust though is in the C family of languages, for which nearly every developer has familiarity, and was designed for larger project teams to collaborate and maintain large projects. Add in Rust's memory management strategy and it's not requiring a VM (unlike Java/C#) so it runs fast in a Docker container and you have a winner.

To me a more interesting question to ask, because the answer isn't nearly as clear-cut, is whether Rust or Go will be used more in industry?

<comment><USER3> Go is a language that is built in a way that makes it impossible to write generic code. This has been done on purpose, to make sure that the language stays simple (['Less is exponentially more']([https://commandcenter.blogspot.nl/2012/06/less-is- exponentia...](https://commandcenter.blogspot.nl/2012/06/less-is- exponentially-more.html\))), so that it can be easily understood and used and maintained by large teams.

However, I personally am against the idea that it is a good idea to solve your problems by giving a restrictive tool to large groups of mediocre programmers. Rather, I like the smaller, smart teams approach, which is what both Rust and Haskell fit much better.

If by 'used more' you mean that more people will use it, then Go will undoubtedly win because it has a much lower learning curve because there is just not a lot to learn. However, I do not think that Go will allow as innovative solutions to be created as Rust or Haskell do.

</comment></comment><comment><USER4> Oh, look there, my crystal ball's on the blink again...

My guess: Rust.

Why you should believe my guess: Rust seems to be growing faster than Haskell.

Why you should _not_ believe my guess: I'm primarily in the embedded space, where Rust fits well with the problems I'm used to having to solve. Haskell? Not so much. This makes Rust appear much more generally useful to me, when it may only be more useful in my specific area.

</comment><comment> just-for-fun I think that no one of them. They both are too complicated for average developers.

</comment><comment><USER5> That's hard to say. The biggest risk for Rust is that it'll get beaten by something better. The biggest for Haskell is that nobody wants to use it because lazy evaluation is bad.

</comment><comment><USER6> Of the two, I could bet a fortune on Rust and sleep easy about it.</comment>


The legacy of Pieter Hintjens - <AUTHOR> https://zombiecodekill.com/2016/10/06/the-legacy-of-pieter-hintjens/ <comment><USER2> Pieter Hintjens is a huge inspiration to me, even though I've never met him in person. I have yet to find a statement of his that I don't agree with. He writes technical documentation in a no-bullshit way that is very easy to read and understand. You really feel smarter after going through his writings.

His life-long accomplishments in building open source community and ZeroMQ legacy is impressive.

It was really painful to read his blogs for last few months, especially the Fighting Cancer piece ([http://hintjens.com/blog:123](http://hintjens.com/blog:123)). I'm sad to see him gone.

<comment><USER3> I used to not understand this tip from [http://cultureandempire.com](http://cultureandempire.com):

There is. «TIP: When there is something that people are asking for, and you don't know how to do it yourself, announce publicly that it is impossible." Or, propose a solution that is so awkward hopeless that it annoys real experts into stepping up.»

<comment><USER4> Sounds like Cunningham's Law: [https://meta.wikimedia.org/wiki/Cunningham%27s_Law](https://meta.wikimedia.org/wiki/Cunningham%27s_Law)

</comment></comment></comment><comment><USER5> "people before code" is something that my younger self could just not grok. Thankfully I'm growing out of it now, having followed the progress of several projects over time.

</comment><comment><USER6> Thank you for this, it was an interesting read. I did not know of him until some days ago, close to his death but I am going to check out some of his presentations. May he RIP.

<comment><USER7> I too never heard of him until his final tweet showed up on HN, but his Stallmanism religion ( [http://stallmanism.wikidot.com/](http://stallmanism.wikidot.com/) ) religion page is great. I'm going to read much more of his stuff.

</comment></comment><comment><USER8> I wish I could ignore death without having to ignore people I love who pass. I didn't know him, but when I heard about his story it moved me. His story and others like his make the worlds unbearable aspects worth it to me.</comment>


China is now blocking all encrypted HTTPS traffic that uses TLS 1.3 and ESNI - <AUTHOR> https://www.zdnet.com/article/china-is-now-blocking-all-encrypted-https-traffic-using-tls-1-3-and-esni/ <comment><USER2> Duplicate [https://news.ycombinator.com/item?id=24093932](https://news.ycombinator.com/item?id=24093932)

</comment><comment><USER3> any known links to test?</comment>


U.S. Warns Apple, Publishers on E-Book Pricing - <AUTHOR> http://online.wsj.com/article/SB10001424052970203961204577267831767489216.html?mod=djemalertTECH <comment><USER2> Publishers are right to fear Amazon, but a much better solution for mitigating it seems obvious to me: Sell DRM-free books. Amazon is getting an unassailable lockin on avid readers because they can never again use a device that amazon doesn't approve. If the books are DRM-free, then the distributor is the one who gets commoditized, rather than the publisher.

That said, I'm not entirely confident that DRM is as unnecessary for books as it is for music. Starting to read a book is much more of an investment, and also much more likely to be based on a recommendation from a friend who certainly has the book (and there's a long social history of legal lending.) So I guess it comes down to which they are more scared of, being disintermediated by Amazon, or disintermediated by their customers.

<comment><USER3> I don't represent the normal user, but I want to provide a datapoint.

I pirate music and movies a lot. I also go to the movies and buy the CDs of my favorite bands, but I only do so for content which is worth it. The biggest problem with movies is that you can't tell much about their quality from a trailer. And I also find the music industry to be disgusting lately, so I'm grateful to a couple of bands that kept their genre and that aren't subject to the latest trends.

For books I have a different behavior. The thing with my Kindle is that I can always download a couple of chapters to see if I actually like the author's style and if it's what I really want. Also I don't read more than 2-3 books per month, so I don't go on buying sprees, this reading habit of mine being actually cheap.

Therefore I only pirated one or two books for my Kindle at first, before I discovered the convenience of buying them straight from Amazon. It takes less time and reading the reviews of other people makes it valuable to visit the store first, then from there downloading a sample or buying it is just one click away.

So I do not believe that DRM-free books will be bad for authors. It's in fact quite the opposite for me, because when reading a book I end up being really grateful in case I like it, so I have this extreme urge to reward the author. And this happens for every book I read, because the selection process is extremely efficient, as I said, which makes paying for books a no-brainer.

</comment></comment><comment><USER4> I'm having a hard time understanding exactly what actions are under suspicion. The actual price of the books isn't being established by either the agency or the wholesale model.

A little googling at the DOJ indicates that the Sherman act prohibits adoption of "a standard formula for computing prices". In the case of the agency model it would seem like a standard formula is being established for the distribution services (but not the actual book prices). Is this the problem?

Any anti-trust lawyers out there?

<comment><USER5> IANAL, but the problem is when Apple says that publishers must prevent Apple's rivals from selling the books for less. Without that, the agency model is fine, but when Apple and the publishers conspire to prevent undercutting, that's tantamount to conspiring to raise prices.

<comment><USER6> Amazon does the same thing.

[http://bits.blogs.nytimes.com/2010/02/26/when-it-comes-to- co...](http://bits.blogs.nytimes.com/2010/02/26/when-it-comes-to-content- amazons-kindle-wont-be-undersold/)

<comment><USER5> Interesting. Maybe the problem is with the fact that the books tend to cost more on Apple's setup combined with the MFN clause? I don't think that the government could sue Amazon for conspiring to raise prices since it has a public and prolific history of trying to reduce them. It's also telling that Amazon tried to force publishers to do things they _don't_ want to do, which is not like a conspiracy, whereas Apple is giving them what they want, which is.

But in the end, IANAL so I can't give you a definitive answer. I'm just speculating, same as everyone else on this thread. ;)

</comment></comment></comment></comment><comment><USER7> I understand that industry collusion in necessity goods (food/gas/medicine) is bad for the consumer but why can't book publishers and wholesalers act together to raise the price of books 100x if they so wish? Let the market decide if that is a good decision or not. In fact, if they raise prices on certain category of books (e.g. educational books), it will only hurt them because it will encourage students to buy used older versions from secondary market, regardless of what version is supposed to be used in class.

Also, why are e-books any different from paper books? Let them price them however they want. If Hollywood and theaters want to sell movie tickets at $50/person, why shouldn't they be allowed to?

<comment><USER8> The problem is that that's not actually how it works. For things like textbooks, people don't really have a choice on whether or not to buy it - when everyone colludes to price it very high, the people who need them have no recourse other than to buy them.

You nonchalantly say that students can just buy older versions, but that is often impossible. Homework problems are regularly taken from the textbook, and those problems are regularly changed from version to version. Additionally, when publishing companies are coming out with a new version every couple years, there's not a lot of availability for used books either.

<comment><USER9> _Nowhere_ is price gouging so clear as in the case of textbooks. You have almost perfectly inelastic demand, and a single supplier. You don't need to be an economist to figure out how that one's going to work out.

This semester, my econometrics professor had a professional publisher 'compile' his seminar notes into a 'reader'. This basically meant printing out the pdfs and putting them in cheap binding, the kind that you might get at Staples for a negligible sum. He was shocked when they ended up costing almost $100 per copy for the student, since there was no copyright/licensing in question - they were _his own class notes_.

If a college student told me that they spent over $1000 per semester in textbooks, I would have no trouble believing it at all. Used books are not always available or viable. Workbooks are less common, but now publisher have 'access keys' that they are using to force students to buy the new books. My professors have always been understanding when I refuse to do the online exercises that require the access keys (unless they send me unlocked copies), but I can imagine not all students are so lucky.

I'm also fortunate that my classes (CS, statistics, economics) tend to have one textbook per course, and they usually aren't so dependent on the in-book homework problems. For CS in particular, you can often use online books/tutorials in case of the text, depending on the class.

But for my friends in humanities-based classes, with perhaps ten overpriced books for a course? I pity the fools - or rather, I pity their empty wallets!

</comment></comment></comment><comment><USER10> What's sad is that ebooks should have been revolutionary way to get books into people's hand for very little money, while allowing publishers and authors to still make the same amount of money, but publisher greed has fucked that away.

</comment><comment><USER11> Given the wide availability of pirate books, publishers may be shooting themselves in the foot by making their titles overly expensive.

</comment><comment><USER12> First paragraph: "... according to people familiar with the matter"

Good thing they didn't report what people unfamiliar with the matter said.

<comment><USER5> It's the standard euphemism for anonymous sources. It seems fine to me. What is your problem with it?

<comment><USER13> [http://www.cliffsnotes.com/study_guide/Euphemisms.topicArtic...](http://www.cliffsnotes.com/study_guide/Euphemisms.topicArticleId-251364,articleId-251360.html)

[http://clear-writing-with-mr- clarity.blogspot.com/2011/05/ge...](http://clear-writing-with-mr- clarity.blogspot.com/2011/05/george-carlin-on-euphemisms-1.html)

</comment></comment></comment><comment><USER14> I have mixed feelings about this. Apple certainly brought competition to the market. Amazon was reputedly leveraging it's other profits to sell books at a loss in an attempt to corner the market. Seems pretty anti-competitive to me.

However Apple's "most favored nation" clause is something I find extremely distasteful. That seems to me to be a hinderance to the whole concept of free markets.

</comment><comment><USER15> "Apple warns US on poor financial management"

How exactly does the US government have the moral authority to warn anyone of anything, considering it is bankrupt?

<comment><USER16> It can't be bankrupt - all it has to do is print more money. As Dick Cheney said, deficits don't matter.

Of course, the resulting inflation might drive YOU into bankruptcy (if you're a US citizen). But at least Dick Cheney will be ok.</comment></comment>


Hacker News new logo concept - <AUTHOR> http://dribbble.com/shots/797096-Hacker-News-logo-concept

<comment><USER2> That's very good.

<comment><USER3> Would you consider implementing a logo like this on HN?

<comment><USER2> The YC logo on HN is not the site's logo; it's a very small banner ad.

</comment></comment></comment><comment><USER4> Not sure how much you can judge if a logo looks good or not in that picture. I think it only looks good because he placed it in front of huge orange block. Scale it down, remove the huge orange background and it will look very different. Logos are not independent items, they have to be seen in context to be judged.

<comment><USER5> Yea, this 'HN' logo doesn't scale down well in a favicon. I like the idea of the 'Y' because its two lines being combined into one.

<comment><AUTHOR> The funny thing is, I designed it at about 30px x 30px, and then scaled it up and recreated it in illustrator.

The proportions need a tiny bit of tweaking, but it doesn't really look too bad as a favicon. Here's the favicon version: <http://cl.ly/Kd16>

<comment><USER5> Great, it is much better result than when I tried with 32x32. I am having a lot of problems lately with logo's that don't work well when scaled down or as favicons.. so after recently learning this lesson I guess I am a bit preoccupied with how they work on small scale.

<comment><AUTHOR> haha, well it IS a good point. So often designs are created that aren't scalable. That's one of my pet peeves actually.

</comment></comment></comment></comment></comment><comment><USER6> I don't get what the big deal is. It's the same log but with different letters. It sticks to the same structure as the current one with the same palette.

<comment><USER7> Design is subtle. Good design seems obvious.

I say that only somewhat tongue-in-cheek. The precise spacing, kerning, proportions, typeface, line width, other ratios, etc do matter.

The look is simple, timeless, and iconic.

That said, it does seem rather too "obvious."

I often struggle with whether to praise design that is so stupidly simple. Companies spend millions to end up with such simple things.

<comment><USER6> True, true. I defended Microsoft's new branding. It does take effort to come to a decision between seemingly similar designs. This one just seems like it should have been done earlier, I just feel like it's getting disproportionate praise (not to bag the designer), maybe just because pg said it's good.

</comment></comment></comment><comment><USER8> Why would HN need a new logo? This is just the same like the current logo, just with changed letters. I don't think that a change is necessary.

</comment><comment><USER9> The existing logo is quite good, however, it could be spiced up using a more beautiful font ;-)

[http://www.michielovertoom.com/pictures/y-combinator- shirt.j...](http://www.michielovertoom.com/pictures/y-combinator-shirt.jpg)

</comment><comment><USER10> That really rocks! The Hacker News site could really use a make over

<comment><USER11> Why is that? It's _very_ effective at what it does now.

<comment><USER12> The complaint most people have is that the interface sucks on mobile phones. There is no way to expand/collapse threads and hitting the up/down vote arrow is impossible.

However, I exclusively use <http://ihackernews.com> on my phone which solves both problems.

<comment><USER13> Seems to me like the CSS would just need a minor tweak to support phones/tablets, using media queries. It's not a particularly complicated layout.

<comment><USER14> HN does not use CSS for layout.

<comment><USER6> I find it interesting (not in a snarky bad way mind you) that HN is the source of many great startups pushing the envelope with what can be done with websites and yet here we are on a site that uses tables for layout, perfectly functional and in use.

</comment></comment></comment></comment></comment></comment><comment><USER3> Beautiful, wish I had a Dribbble account too so I could rebound this babe.

Does HN need a redesign? Not really in my opinion, but a subtle facelift would be alright.

</comment><comment><USER15> Does anyone know what font this is?

<comment><USER16> I believe it's Bebas. <http://typedia.com/explore/typeface/bebas>

_Edit: "Typeface is custom, but based on proportions in Blanch."_ [1]

[1] <http://www.losttype.com/font/?name=blanch>

</comment></comment><comment><USER17> I wish I had a dribbble account, I'd rebound this.

</comment><comment><USER18> Interesting. I'd assumed the [Y] stayed intentionally. I'm even more shocked to see pg praising it, though I suppose it's not up in the corner. Between the current styling and the approach towards reboots, I got the impression that the classic look is classic for a reason.

<comment><USER19> I too assumed the "lack of branding" was to keep the site from attracting the wrong kind of attention.

<comment><USER18> The word on the tip of my tongue is "homey".

</comment></comment></comment><comment><USER20> Unless your getting paid, or you think you'll be getting mad referrals from it, why do an HN logo? Why not do your own stuff?

At least get pg to pay you for it. Seriously. He has the money, he should pay for it.

<comment><AUTHOR> Well if you read my comments on the dribbble shot, this was simply done as part of a Windows8 demo app in collaboration with MS for the Build conference. Our CEO demo'd an app we created just to show off the ease of which you can build apps with HTML, CSS and JS for the Windows8 app store.

Just thought it would be fun to slightly re-imagine the Hacker News logo, esp since it doesn't really have it's own. It just uses the Y-Combinator logo.

Also, as a creative, taking on projects for fun often is a terrific "creative release" where you can do whatever you want in the realm of creativity because there are not actual client requirements.

And FTR, I do plenty of my own stuff. Just check out my other dribbble shots, or my site (<http://joelglovier.com>).</comment></comment>


Show HN: Furan – build and push Docker images from GitHub to target - <AUTHOR> https://github.com/dollarshaveclub/furan <comment><USER2> On a related note: I absolutely love that GitLab has this built in (including the image registry and shared task runners). It made setting up deployments rather pleasant.</comment>


Show HN: Embed Reddit/HN threads on your website - <AUTHOR> https://github.com/tgallant/embedd <comment><USER2> This is great. Thank you</comment>


The first all-electric American supercar - <AUTHOR> http://renovomotors.com/the-coupe/

<comment><USER2> As a huge car enthusiast, I'll chime in here and say that I really like the idea of this and the direction you're taking it in.

A couple things that concern me:

What was the reasoning behind the Daytona coupe over the Cobra roadster body?

Why use a real CSX chassis when you could drive costs down with a high-quality reproduction chassis such as a Superformance?

Additional thoughts:

I image a "drop-in" electric solution that fits a standard 289 mounts/bay would be very popular among the kit guys, and would open you up to the millions of cars fitted with these engines(all mustangs until 1995, mercuries, thunderbirds, alpines, etc)

I live in silicon valley, where can I see/drive one?

<comment><USER3> I know a little bit about this project so I can do my best to answer. I think they prefer the Coupe style aesthetically but there's also more room to stash batteries.

It is actually a chassis custom built to their specs by Superformance.

The car is a real product but it's also platform for technology development, I think you'll be hearing a lot more from these guys in the future.

Well, they're showing the car in Pebble Beach today :) But if you drop me an email (in profile) I can get you in touch with their marketing guy. Now that they're out of stealth mode they will be doing more events.

</comment></comment><comment><USER4> It doesn't include this stat on the website, but it's on the official Twitter feed: range is 100 miles.

<comment><USER5> THANK YOU!

I couldn't figure out what it was on the main page. Seems very silly to omit it.

</comment></comment><comment><USER6> Nice looking car, although I'm not sure I would consider it a 'supercar' like the Bugatti Veyron, Lamborhini Aventador, etc. This looks like a nice electrified Shelby coupe kit car.

<comment><USER5> Supercar is often used to describe the technological advances in the car but it does have various different definitions depending on who you ask.

In this case, it's a super car in the sense of the fast and all electric dual- engine pushing the car from 0 to 60 in 3.4 seconds.

<comment><USER7> 3.4 sec is quite respectable, but nothing boasting about a top speed of "over 120mph" can possibly qualify as a supercar.

<comment><USER3> I'd consider that number a vague handwavy number because they haven't had time to do thorough high speed performance testing yet. I know those guys, and they are very thorough and professional...

</comment></comment></comment></comment><comment><USER3> By the way, if there are any software developers around the south bay who are interested in working on this project, get in touch with me (email in profile).</comment>


PeerLibrary – Highlight and annotate academic publications - <AUTHOR> https://peerlibrary.org/

<comment><USER2> I'm seeing continuous reload of the site with cookies disabled. At least a 'cookies required' error page would help.

<comment><USER3> That's probably the bug in Meteor: "Fix bug in reload-safetybelt package that resulted in reload loops in Chrome with cookies disabled." [https://github.com/meteor/meteor/blob/devel/History.md](https://github.com/meteor/meteor/blob/devel/History.md) PeerLibrary is not yet using version with the fix.

<comment><USER2> I was using Firefox 24.0.2 ESR.</comment></comment></comment>


US Bars Entry to International Criminal Court Investigators - <AUTHOR> https://apnews.com/08e538e370914f6e8243e237dbde50b5 <comment><USER2> The Secretary of State sees fit to make a public announcement about how ICC investigators won't be granted US visas, but when a Saudi national commits a fatal hit-and-run on US soil, he can be flown out by his government under the cover of night, no problem [1]. Here's what the attorney for the family of the victim said:

"While we appreciate Secretary Pompeo's condolences, what we need is a commitment by this administration to act: to negotiate with the King of Saudi Arabia for the return of Mr Noorah. We understand that while 'the law enforcement options are limited', the Department of State options are not so limited."

It is beyond parody that a government undertaking multiple military campaigns abroad, including helping Saudi Arabia foment a humanitarian crisis in Yemen, is claiming to be powerless to act because Saudi Arabia doesn't have a bilateral extradition treaty with the US. As if there aren't billions in arms deals and military aid that the US could use as leverage if they wanted to.

Pompeo clearly has far bigger priorities. Like making sure ICC investigators looking into Israel's settlements also can't set foot in the US either.

[1][https://www.bbc.com/news/world-us- canada-47377888](https://www.bbc.com/news/world-us-canada-47377888)

<comment><USER3> I think the US makes its stance abundantly clear: it's fine with crimes committed by governments, government officials, or in the name of a government. It's not fine with persecuting those crimes.

There's honestly no other way to read this as far as I can tell.

</comment></comment><comment><USER4> I was just reading about this guy today who was a German citizen who was kidnapped from Macedonia and sent to a blacksite in Afghanistan and tortured for months:

[https://en.wikipedia.org/wiki/Khalid_El- Masri](https://en.wikipedia.org/wiki/Khalid_El-Masri)

Why? His name was one-letter away from another suspect:

        Khalid El-Masri
        Khalid Al-Masri [1]

And the famous female CIA "queen of torture" decided on a hunch he could be the same guy, apparently against the wishes of her subordinates, and had him kidnapped.

I'm not a fan of ICC as a solution to this problem. But it's interesting that the people behind very obvious torture/kidnapping are going unpunished.

[1] [https://en.wikipedia.org/wiki/Khalid_al- Masri](https://en.wikipedia.org/wiki/Khalid_al-Masri)

<comment><USER5> A really tragic case.

The CIA dropped him, dirty and in ragged clothes, on some country road in Albania. Where he was detained again, because he looked like a terrorist. (!)

He's obviously broken. After returning to Germany he committed violent crimes and was sentenced to prison.

No idea why the court did not send him to a psychiatric clinic.

<comment><USER6> And it's quite unsatisfying that the questions about what the German government knew when and did about it never got useful answers or consequences.

<comment><USER4> Or Macedonia.

Which may be an equally a relevant point to this topic.

</comment></comment></comment></comment><comment><USER7> For what it's worth, Chomsky has been saying "If the Nuremberg laws were applied, then every post-war American president would have been hanged." since the 90s.

[https://chomsky.info/1990____-2/](https://chomsky.info/1990____-2/)

<comment><USER8> To be fair, I think a similar point was made about the Allies at the time.

History, and laws are written by the victors it seems.

<comment><USER9> Allies bombed the shit out of citizens(Hamburg, Dresden, Tokyo, not to mention Hiroshima/Nagasaki). I don't think there's any debate that war crimes were committed there.

<comment><USER7> I mean forget the bombs, people actually know about them. More Germans died from starvation than victims of Nagasaki AFTER the 1918 armistice when UK insisted on keeping the blockade for almost another year after the Germans surrendered [1]. It's not like anyone involved are going to end up in court.

Hell, we're even celebrating Madeleine Albright today as a strong feminist or something despite her saying it was worth starving more Iraqi children than Hiroshima+Nagasaki combined [2] during the first gulf war blockades. But ya, let's get all warm and tingly inside instead because W gave Michelle a candy or something.

[1] [https://en.wikipedia.org/wiki/Blockade_of_Germany#After_armi...](https://en.wikipedia.org/wiki/Blockade_of_Germany#After_armistice) [2] [https://www.theguardian.com/theguardian/2000/mar/04/weekend7...](https://www.theguardian.com/theguardian/2000/mar/04/weekend7.weekend9)

</comment></comment></comment></comment><comment><USER10> Look up what is nicknamed the "Hague Invasion Act" (thanks, John Bolton). The US is extremely hostile to foreign accountability.

<comment><USER11> Every country should be hostile to foreign accountability. They are sovereign nations and only accountable to their own citizens.

Do you really want powerful authoritarian countries to take over international organizations and hold democracies "accountable".

Hell no.

<comment><USER12> I would point out that in the case of the ICC, there are no "powerful authoritarian countries" which are members. See the graphic on [https://en.wikipedia.org/wiki/Rome_Statute_of_the_Internatio...](https://en.wikipedia.org/wiki/Rome_Statute_of_the_International_Criminal_Court). It's basically just the Commonwealth, the EU, and the Nordic countries.

<comment><USER13> No powerful authoritarian countries except for former authoritarian european colonial powers and their former slave colonies?

You act like "just the commonwealth, the EU and nordic" is anything good. The history of the british empire ( aka the commonwealth ) is as horrible as any in human history. Not anything humanity should be aspiring to. And the ICC represents western european domination of the world. That's something I as an american abhor and reject.

The US should be prosecuting our own war criminals. Unfortunately, we haven't been doing a good job of it. But lets not pretend the ICC or the EU is any better. How many EU war criminals have the EU or ICC prosecuted? None.

Most of humanity ( 70% I think ) has rejected the ICC. The world has spoken regardless of what europeans think or want.

<comment><USER14> > The US should be prosecuting our own war criminals. Unfortunately, we > haven't been doing a good job of it.

That's reason enough to want ICC intervention. You can't just denounce the ICC and then declare in the same post that alternatives aren't going to work. "Nobody holds the US accountable" isn't really an acceptable scenario.

<comment><USER15> > "Nobody holds the US accountable" isn't really an acceptable scenario.

Get used to disappointment. That is what it means to be on top.

You could rearrange the world so that there was another power to hold the US accountable, but you might then have difficulty holding _them_ accountable.

</comment></comment></comment></comment></comment></comment><comment><USER16> As embarrassing as this is from the US side of things, it actually gives credibility to the ICC that the Department of State feels it necessary to push back against them.

</comment><comment><USER17> From the ICC's standpoint, a simple counter to this would be to have member countries deny entry to any US citizen on the ICC's "needs investigation" list. That includes heads-of-state and their representatives.

Not that I'm advocating for that, but it seems like a solution that would be pretty simple to implement.

</comment><comment><USER18> This isn't news. At all.

The United States does not, and never has, recognized the International Criminal Court. To the point that they will not bat an eye and declare war on the Netherlands in case a American soldier will be held in jail in The Hague for questioning and appearing before the Court.

And this actually is nothing new and predates the Trump presidency FOR YEARS (17 to be exact):

The "Hague Invasion Act" like Pizza mentioned below or "American Service- Members' Protection Act" which is its official name was signed into law by W on August 2, 2002 and upheld ever since -- yes, even throughout the Obama era.

[https://en.wikipedia.org/wiki/American_Service- Members'_Prot...](https://en.wikipedia.org/wiki/American_Service- Members'_Protection_Act)

EDIT: -1 for facts? That's new.

<comment><USER19> As it should be. It's not appropriate to unilaterally exert power over people who have not consented to it through the establishment of a constitution, legislative controls, and shared ideals that hold that power as authoritative. The idea that anyone would just come into our country and demand that we consent to their understanding of justice, rights, etc. is absurd.

Now, switching topics entirely, are you guys all on board with this American- led push for the opposition leader in Venezuela? Also, how are things in Syria and Yemen these days? Libya? Iraq? Afghanistan? Just curious.

<comment><USER3> _> As it should be. It's not appropriate to unilaterally exert power over people who have not consented to it through the establishment of a constitution, legislative controls, and shared ideals that hold that power as authoritative._

The US should not multilaterally accept the prosecution of war crimes because it's not appropriate to unilaterally exert power over people? That makes no sense.

On top of that, the US doesn't even agree with your position, because the US was the primary driver behind the Nuremberg trials to prosecute German war criminals after WW2, despite Germany not having consented to it through the establishment of a constitution, legislative controls or shared ideals.

</comment></comment></comment><comment><USER20> Did Serbia issue any visas to any ICC members? That's the question. So no matter what ICC can track crimes committed by any party I suppose.

<comment><USER21> Well, the Serbia of Radovan Karadžić and Slobodan Milošević had been militarily defeated and collapsed by internal revolution. They could then be arrested. I dread to think what the equivalent process would look like in the US.

</comment></comment><comment><USER22> I donate monthly to the ACLU specifically because whenever something like this comes to light, they're always mentioned as having already begun taking action against it.</comment>


Ask HN: JavaScript Dev Tools - <AUTHOR> I'm an experienced developer who is really interested in JavaScript frameworks such as Node.js, Backbone, and client side stuff such as Sencha.
However, I'm struggling with them, which I think is because I haven't found the right tooling or a setup that suits my workflow.
On my Java, Rails and C++ projects, I'm equally as happy in emacs as I am in a richer IDE, but this combination of loosely typed JavaScript and poorly documented framework APIs based around massively nested maps means I can barely get a page of moderately complexity to even parse.
When I get past that, my debugger consists of alert().
What am I missing in order to be able to effectively work with JavaScript?  Would you recommend any particular APIs, Frameworks, Articles etc to get started? <comment><USER2> Like dangrossman said, use console.log.

Check out these videos from Paul Irish on using console effectively:

<http://www.youtube.com/watch?v=4mf_yNLlgic>

<http://www.youtube.com/watch?v=nOEw9iiopwI>

Since you are an emacs user, you may want to try mooz's community fork of Yegge's js2-mode <https://github.com/mooz/js2-mode>

Haven't tried it myself, but you may also want to look at Moz Repl in emacs. <http://www.emacswiki.org/emacs/MozRepl>

Finally, check out Christian Johansen's and Magnar Sveens .emacs.d for some ideas on how to set up your emacs for javascript.

<https://github.com/magnars/.emacs.d>

<https://github.com/cjohansen/.emacs.d>

For TDD, you 3 main options worth checking out are: Buster.js looks really promising and does both server-side and client-side testing.

If you don't like buster.js for whatever reason, Mocha is a popular node.js server-side testing option and Jasmine is a popular client-side testing option.

<comment> jarek-foksa I would add one very useful hint which was not mentioned in Paul's videos: place the word "debugger" (without quotes) anywhere in your script to set a breakpoint.

<comment><USER3> I'm always surprised more people don't know this. I haven't seen it any books and only occasionally in tutorials.

I use it dozens of times a day -- it's critical for writing and understanding JS.

<comment><USER4> Breakpoints, yes. But many folks (myself included) set the breakpoints in the debugger itself--you don't have to put that line into your code to set a breakpoint.

Since some folks write JS that has to go through a "build" process, it's easier to set a breakpoint in the debugger than to go back, modify the code, and "re-build" to get a breakpoint.

<comment> jarek-foksa It would be even easier if you could just fix the build system.

If you are worried to modify your code because of the long build process then the build system probably needs rethinking - make sure that only the files that were modified are rebuilt, configure your text editor so that it runs build script on file save.

<comment><USER4> It's not that it's long, it's that it has to be done at all. Even without a build process (or one like ours that takes at most 5-10 seconds) it still takes longer than finding the line of code you're concerned about and setting a breakpoint within the debugger itself.

To each there own as to how setting breakpoints works best for them in their workflow--my only reason for commenting was to let people know there were other ways to set breakpoints than adding "debugger" lines all over their code.

</comment></comment></comment></comment></comment></comment><comment><USER5> Chrome Developer Tools is a powerful and often underutilized toolbox. <http://code.google.com/chrome/devtools/docs/overview.html>

Inspect the DOM and set modification and event listener breakpoints: <http://code.google.com/chrome/devtools/docs/elements.html>

Assets, Cookies, Databases: <http://code.google.com/chrome/devtools/docs/resources.html>

Network timings: <http://code.google.com/chrome/devtools/docs/network.html>

JavaScript debugger, breakpoints, watch expressions: <http://code.google.com/chrome/devtools/docs/scripts.html>

Profile everything, network, scripts, styles, layout, painting, garbage collection: <http://code.google.com/chrome/devtools/docs/timeline.html>

JavaScript CPU and Heap profiling: <http://code.google.com/chrome/devtools/docs/profiles.html>

JavaScript console, see errors, execute code, inspect breakpoint scope: <http://code.google.com/chrome/devtools/docs/console.html>

<comment><USER6> I've found firebug to be superior to CDT in every way

<comment><USER7> I've found that it chews through memory and drags down the whole browser, even when I'm not actively using it.

<comment><USER8> That was true a year or two ago, but I've found it much improved as of late. Fb 1.7 is very good.

<comment><USER9> Are you using firefox 3.6? Current firebug version is 1.9 and it has some cool new features <http://hacks.mozilla.org/2012/01/firebug-1-9-new-features/>

<comment><USER8> I meant "from 1.7", sorry.

</comment></comment></comment></comment></comment></comment><comment><USER10> JSHint [1] - don't fall prey to JSLint's dictatorship UglifyJS [2] for compression

For debugging: get used to webkit inspector and Firebug. console.log is the best thing since sliced bread (object inspection, etc). Use a `debugger;` statement to insert breakpoints [3].

node.js: get started with Express [4] and mocha [5]. Make the jump to coffeescript after you're comfortable, it's a great fit on the server. Read howtonode's articles to get an introduction to various aspects of node [6].

[1] jshint.com

[2] <https://github.com/mishoo/UglifyJS>

[3] <https://developer.mozilla.org/En/Debugging>

[4] <http://expressjs.com>

[5] <http://visionmedia.github.com/mocha/>

[6] <http://howtonode.org/>

<comment><USER11> If you are seeing JSLint as a dictatorship, you are probably seeing those tools from the wrong way. Those tools helps you spot potential mistake and help your code be a little better. What they give you is advice, you will find that from time to time the advice they give you aren't that great and you are always free to ignore them in those cases.

<comment><USER4> The problem is that JSLint goes further than static analysis and suggests what could be considered simply "stylistic" changes to match the way Crockford thinks javascript should be written.

For example, doing comparisons (x == null) or (x != null) is a well known shortcut for checking vs null or undefined. There's nothing inherently "bad" about using that shortcut.

<comment><USER12> It sounds to me like what you need isn't an escape from JSLint, but rather a better JSLint config file that skips the stylistic checks you dislike. JSLint at its strictest can definitely be a little too strict.

(of course, there's really no reason to be using JSLint over JSHint anyway)

<comment><USER4> Well that was actually my point; JSHint is effectively a highly configurable version of JSLint.

<comment><USER8> JSLint is _already_ a highly configurable version of JSLint. JSHint is a leniently configured JSLint.

</comment></comment></comment></comment></comment></comment><comment><USER13> First, learn vanilla JavaScript. Don't bother with all those libraries and frameworks as they try really hard to iron out JavaScript's particularities. When you know how to deal with scope, the prototype chain and a reasonable amount of DOM stuff you can choose tools to make your life simpler or realize that all the snippets you have accumulated are, in fact, your own framework.

Two, forget your traditional OOP roots, JavaScript is loosely typed, it doesn't have classes… it's very different. You simply won't be able to use it like Java.

Three, Eclipse (and probably other IDEs, too) is perfectly capable of debugging your JavaScript without using `window.alert();`. When testing your code in the browser you can use its own dev tools to inspect values at breakpoints and so on. Webkit's dev tools are my favorite.

Four, install a CLI interpreter with a REPL if you don't have one already. `jsc` is standard on Mac OS X but there are a lot to choose from, including `rhino`, `spidermonkey`… Your browser's dev tools has a REPL, too, if you like it more. Either way, a REPL is very handy when you need to try out a few things without messing anything.

Five, you might want to force your code to comply with loosely defined and not even widely accepted code standards. Installing a `jslint` variant on your system may help.

Six, keep in mind that JavaScript's development is definetely not centralized. While there is a standard body officially responsible for its elaboration, __nothing is written in stone __. New frameworks/ideas are poping every week only to be replaced by a "better" alternative the week after. It's all vey exciting but also very chaotic. Focusing on the basics first will help you keep your head above the water.

</comment><comment><USER14> I found the WebStorm IDE from JetBrains to be excellent. It has very good JS support and is very extensible. Many of my collegues use TextMate.

Never use alerts to output debug info - the alert itself may interfere with the events you are trying to debug

console.log is _mostly_ reliable - but sometimes the value of a variable will not be what you think due to firebug weirdness (or hoisting?) - use break points instead.

If you are required to make stuff work in IE the JS debugger that comes with IE8+ is actually rather good (and more stable than Firebug).

JS Lint your code but don't use an overly zealous settings. JS is flexible - no need to constrain yourself.

The only book worth reading IMO if you really want to learn the details is "JavaScript - The Definitive Guide" by David Flanagan (ISBN 0596805527).

Crockfords good parts is mostly about his general preferences for programming style. Definitely don't read it like the bible.

If you want to focus on UI learn how to use events properly - this means not using frameworks but doing it from scratch yourself.

Read up on event driven programming and asynchronous behaviors

Learn JS first - then jQuery, Prototype, whatever second.

<comment><USER15> I found WebStorm useful too. Only problem is how slow it feels to be (after using visual studio for other development). Listing members of an object by typing a "." (dot) takes for ever. Also, it takes so much of RAM :(.

<comment><USER14> True - it does take a lot of RAM but it doesn't seem to be too sluggish. Currently I'm working on my laptop (old Dell D830 4GB RAM) with 4 rather big projects open and I don't have any problems.

BTW Using PHPStorm on Win7 64

</comment></comment></comment><comment><USER16> <http://addyosmani.com/blog/> has a lot of good info on working with javascript. The recommended reading in the side bar, particularly javascript garden and principals of idiomatic javascirpt have useful notes about the language and testing suites. I really like Sublime Text 2, there are some great packages for web development and javascript specifically available for it. Plus SFTP and GIT plugins. The Yahoo theater stuff, and crockford's lectures are good. But I would start with Addy Osmani's site and the stuff he recommends.

</comment><comment><USER17> My team at work uses Webstorm. It's a bit of a memory hog, but it works pretty well. The integrated debugger is great, and you get immediate feedback if your JS doesn't parse. The main weakness is the autocomplete could be a little smarter, but it's not useless. The editor regularly goes on sale for $40.

If you're looking for something free, you might check out the cloud9 editor. You can try the hosted version and install it locally.

Also, a tool like JSHint (less opinionated than lint) is a practical necessity.

</comment><comment><USER18> As someone who is doing much more CoffeeScript and JavaScript than before, one things helps a lot: unit tests.

I'm using Jasmine (and Guard) for that.

It helps to get a better understanding of the language/platform in my opinion.

<comment><USER19> Agreed. Unit tests are the one saving grace of Javascript, for me. I use Jasmine and CoffeeScript as well. The unit tests seem to only help me for the backend parts of my projects. In Javascript right now for me this is games, so there's a great deal of code that I haven't figured out how to unit test effectively-- specifically graphical stuff drawing on canvas. But CoffeeScript + Jasmine is truly wonderful. Fast, fun, it feels like I'm blasting out work faster than I ever have before in any other combination. It took a little while to figure out how to get Jasmine to test async things.

</comment></comment><comment><USER20> There's a very nice Javascript tags generator created by Mozilla called DoctorJS (formerly jsctags). It does a bunch of static analysis that makes up for Javascript's weak typing. I've made a blogpost about it here:

[http://discontinuously.com/2011/03/vim-support-javascript- ta...](http://discontinuously.com/2011/03/vim-support-javascript-taglist- plus/)

I've written a Vim plugin that wraps DoctorJS, but I reckon that there should be equivalents for Emacs.

</comment><comment><USER21> As far as IDE's I have found JSLint in jsfiddle.net (<http://jsfiddle.net/shaydoc/geQvz/>) handy, else I've just got reacquainted with the javascript way and been developing in notepad. Google Chrome has fantastic developer tools as already mentioned! debugging is a sinch and console.log is brilliant!

Framework wise, I am loving <http://Knockoutjs.com>, its an MVVM design style, similar to the pattern frequently used for Silverlight development, and its got great tutorial and support on the site. I particularly like the Knockout mapping plugin as it will automatically map JSON into a ViewModel, sweet!

Checkout the author Steve Sanderson's blog also, well worth reading : <http://blog.stevensanderson.com/>

I have been getting familiar with <http://amplifyjs.com> which simplifies ajax request management and client side storage, as well as a publish/subscribe messaging.

Also recently stumbled upon <http://xuijs.com/> which I intend to get more familiar with!

Good luck with your ventures in javascript!

</comment><comment><USER22> Use console.log() instead of alert. In Firebug you can do this with any object and inspect it. But be aware that those objects are "live" - if they change at some poing later in your code, the console object will update. If I need to inspect an object in isolation, I throw an exception right after console.log()

<comment><USER23> I shortened console.log() with a function I use in development called c()

        function c(x){
            console.log(x || "!");
        }

It's pretty helpful, I can quickly throw the line c(); anywhere just to log if it happens when/if it should. And it stays out of your way, unlike alert() which is terrible and should be deprecated.

</comment></comment><comment><USER24> Learn only one thing at a time, and console.log instead of alert. I like Chrome's JS console. I code in a generic text editor with highlighting but no code completion. If you can't get your code to even parse correctly then it's a problem with writing too much code between runs, not the tools.

<comment><USER25> I really like Chrome's JS console as well. It's my little sandbox where I can try out some JavaScript until I get it just right.

For editing, I use Sublime Text 2, which just introduced code completion in the last version. It's awesome.

<comment><USER26> When I saw this post on HN, the first thing I did was to search for "completion" in the page. I have been looking for this feature since I started to write my first JavaScript.

Based on your recommendation, I tried Sublime Text 2. It looks good but the code completion is partial; just like it is in the Chrome console or Visual Studio.

For example, if you type: var req = new XMLHttpRequest(); req.

the methods available for req (instance of XMLHttpRequest) do not show up.

<comment><USER25> Yea that is true. That's when I would normally open the Chrome console, set a break point, and click through the local variable to see what might work for me, then try it out in the console until I get what I want, then paste it into sublime.

Sublime's auto completion just helps me a lot when I have to repeat things or if I have to change lots of text in different places all at once (tip: hold down command when clicking when you have your cursor somewhere else on the page)

<comment><USER26> I just found out that Eclipse was able to provide code completion on JavaScript file! You have to create a JavaScript project.

</comment></comment></comment></comment></comment><comment><USER27> I think that most people share your pain, even if they have been doing mainly JavaScript for awhile. I know I do.

Didn't see anyone mention Cloud9 which I think will debug Node.js stuff on the server. People did mention console.log which honestly I end up relying on way too much. There is also the debugger in Chrome or Firebug.

Also there is TDD/BDD like Vows (vows-bdd) or Jasmine etc., which if you actually get into doing that (honestly I have tried but I usually don't) that would mean usually writing smaller amounts of code and testing them more immediately (unit or integration tests) which would mean that typos and other bugs are easier to isolate and correct.

I think people mentioned jslint. CoffeeScript makes JavaScript overall easier and less typo-prone I think.

</comment><comment><USER28> For debugging client-side JavaScript, some things you can try for size in Firebug:

\- Breakpoints in Firebug script debugger

\- Find state of variables by assigning them to global vars temporarily, e.g.:

var debugState; // Delete me once you've finished debugging

function someFunction() { var state = 'interesting value I want to inspect'; .... do some work on 'state' debugState = state; }

Then access debugState in the Firebug console. The console allows you to use JavaScript to interact with your page.

\- Using console.log(msg, ...) in your scripts. You can pass multiple variables and these will all get output to the console, e.g.:

console.log('The Carousel:', carousel, 'Foo:', bar, ...)

</comment><comment><USER29> Related question... what do you do when the execution of your script just aborts without an error?

This happens sometimes to me, especially when I bundle all my JS resources together into one file. JSLint doesn't help, as some 3rd party libraries don't pass JSLint tests.

What I end up doing is adding console.log/alert statements all the way through the scripts to narrow down where the script aborts. There must be a better way?!?

<comment><USER30> Try Closure Compiler instead of JSLint. It will catch your syntax errors without being so opinionated.

If you don't need Closure's minified output, don't use it; the error messages are still nice.

If you don't want to drop Closure into your app's JS build chain, use a Makefile for quick syntax checks: <http://pastebin.com/raw.php?i=cqX165iD>

</comment></comment><comment><USER31> Using jslint has saved me a lot of time (I lint everything on write in vim using syntastic). Syntax errors can pass silently leading to difficult to find bugs. Using strict mode helps with this as well. I have also started to prefer Chrome for client-side JavaScript development, it seems to let less slide than Firefox, although Firebug is pretty dang nice.

</comment><comment><USER32> For the last 6 months I've been using eclipse+chrome plugin to debug my node.js app. It works well and in combination with nodeunit it's been very productive.

Here's the link that I used to get started:

[https://github.com/joyent/node/wiki/Using-Eclipse-as-Node- Ap...](https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications- Debugger)

</comment><comment><USER33> Everybody here's given pretty good advice.

Browser projects often have pretty complex build requirements - concatenation, minification, etc. A lot of people end up writing a ton of shell script spaghetti, or using a js-specific framework (jake, cake, etc.), but I've found that unless you need something super fancy, plain old Make is just fine.

</comment><comment><USER6> First off, Sencha Designer 2 just came out (beta) and will support graphical layout plus code editing. U shud try that.

Or consider eclipse plus the spkt extension, which offer code completion for extjs.

If you aren't using sencha stuff, then ms visual studio has pretty good javascript support.

Use firefox w firebug, and try jasmine for unit testing

</comment><comment><USER34> This won't be relevant to you right now, but once you start dealing with a large code base, jsgrep is a tool that I wrote to enable easily searching and modifying certain code patterns:

<https://github.com/facebook/jsgrep>

</comment><comment><USER35> Node inspector and Chrome Developer Tools seem pretty nice.

<https://www.youtube.com/watch?v=AOnK3NVnxL8>

<https://github.com/dannycoates/node-inspector>

</comment><comment><USER36> TDD with Jasmine will help you maintain control as your codebases get larger.

</comment><comment><USER37> VJET JS plugin for eclipse ide is fine alternative it has good text editor for JS and in association with ebay nodejs,jquery and json templates provides features like auto assist.

</comment><comment><USER9> [http://hacks.mozilla.org/2011/11/firefox-tons-of-tools- for-w...](http://hacks.mozilla.org/2011/11/firefox-tons-of-tools-for-web- developers/)

</comment><comment><USER38> <http://jsbeautifier.org/> for pretty printing. I'm using this for minified scripts and JSON strings.

<comment><USER39> <http://jsonlint.com> is good for just JSON-verification and pretty-printing. I've used it a lot with API outputs to make them readable.

</comment></comment><comment><USER40> Jetbrains WebStorm or Visual Studio with Resharper. And of course Firebug and the tools in Safari/Chrome.

</comment><comment><USER41> i find sites like jsFiddle and jsbin extremly useful when programming in javascript or tools like jsLint

</comment><comment><USER42> Coffeescript

</comment><comment><USER43> console.dir is really useful. It give you variable structure in console.

</comment><comment><USER44> You are missing firebug, chrome dev tools</comment>