skysight-inc/HackerNews huggingface dataset:
unlike most people I think that HN is pretty great. Sure the site has some problems with being overly basic and not having anything that helps foster/grow good discussion[1] but overall it's good. The problem HN has is just like every other social site: people. People change; everyone is different. HN is shaped by the people here and as they evolve so does the site. What HN needs is:

1. Proper guidelines about what is and what isn't appropriate here. Types of content, subject matters and how to approach commenting. Systems to support how much HN is growing, (eg: subreddit style system for show hn, ask hn, jobs, new content types as they arise, like recently the blog posts responding to another HN blog post)

2. Active and transparent moderation. Submissions that don't meet the guidelines should be removed, as should comments, but it should be done transparently so that the community can see what is and what isn't acceptable. If a comment doesn't provide value to a thread it should be removed and if someone is consistently posting poor quality comments or comments that don't fit with the guidelines they should be removed.

HN is becoming diluted, but with a proper structure that is well enforced the site will be able to handle it. It's hard to force a social site to remain the same forever, but it's possible and in the case of HN I think it would be the right choice.

The most important thing to remember: you can't solve people problems with programming.

[1] To address this problem I would have a reddit style notifications system and the ability to subscribe to favourite users.
Well, I found this overview from the Swedish prosecutor to be very helpful:

http://www.aklagare.se/In-English/Media/The-Assange-Matter/T...

Obviously this is "biased" -- but I've not been able to spot any "overt" errors here. I've been looking at Norwegian and Swedish media in addition to the (pretty fact starved) international media coverage -- and I was also under the impression that Assange wasn't considered a suspect -- he is.

I have no idea why apparently no media source has managed to get this right -- as presented it has appeared that Assange has been wanted extradited to testify -- which makes absolutely no (legal) sense. It would appear that's not what has happened.

My (personal, IANAL etc) interpretation of the events is that a complaint was filed against Assange -- the prosecutor that handled the case found no reason to prosecute. Then (probably due to political pressure -- although I have no evidence of this) -- the head prosecutor picks up the case again, and an arrest warrant is issued.

The whole affair dovetails a little to nicely with CIA procedure for discrediting inconvenient persons, eg:

http://en.wikipedia.org/wiki/Gary_Webb
http://en.wikipedia.org/wiki/COINTELPRO

That being said, it's not inconceivable that Assange is a misogynistic pig -- he certainly appear to have a bit of an ego -- and I don't think anyone would be against him being sentenced in a fair trial.

However, the political pressure involved in this case seems rather extreme -- I do think there's a real danger of Assange disappearing into a black bag at some point -- after all if the US wants him, it would be for espionage -- and kidnapping a single individual is nothing compared to drone strike assassinations.

It is of course inconvenient that this dissident is white, articulate and currently in a country that has a working government.

A Swedish English language media source I discovered recently might also be of interest:

http://www.thelocal.se/42424/20120804/
The "reverse engineering" clause of the DMCA protects reverse engineering, rather than forbidding it. Take a look at 17 USC §1201(f) (http://www.law.cornell.edu/uscode/text/17/1201#f). The DMCA only applies in the first place if a "technological measure" "in the ordinary course of its operation" "effectively controls access to a work", which needn't always be the case for reverse engineering. The idea that the DMCA expressly forbids reverse engineering is a misconception.

Microsoft eventually changed its position on Kinect and never filed a lawsuit over the reverse engineering. So, we don't have a court decision suggesting that there was anything legally improper in any way about the Kinect reverse engineering.

Hackers should be upset about §1201 and speak out against it, but not be gratuitously scared off from doing things!
Yep, happens in open wheel and drafting with teammates in stock car (although that isn't even totally true). It seems like it is much more prevalent where one sponsor sponsors multiple cars.
In Ruby, I always use "map" instead of "collect", partially because it's four fewer letters and partially because its intent is a little more obvious.
"1. Apparently there is a two-stage interview process in Sweden with criminal investigations. A first interview, which Assange has done, and a second that is equivalent to being charged. Is this true?"

According to the English courts, he has already been the equivalent of "charged": ""there can be no doubt that if what Mr Assange had done had been done in England and Wales, he would have been charged" (§153 of http://www.bailii.org/ew/cases/EWHC/Admin/2011/2849.html)
K&R eventually did, even if they didn't at the very beginning. I also don't teach everything right away. But, if I'm going to teach the concept of looping, I'm going to teach the one that's easiest to grasp and fully know. That's a for-loop, not a .each method dispatch.
Tips are explicitly taxed as income to the recipient. They are not regarded as gifts by any taxing authority in the U.S.
I'm not sure if it's a real trend, but I do seem to be hearing more stories of companies worried about employees not taking enough vacation, whereas the traditional concern is the opposite. I'm not 100% sure of the motivation, either. Some could be what this suggests, that employees who take some time off are happier and more productive. Some could be trying to minimize actual burn-out (which is different from just lower productivity). Perhaps other reasons, though. One possibility is that if nobody in a group is taking time off, that may be a proxy for something else, possibly management problems (e.g. a particular group creating a culture of fear), so worth looking into as a kind of institutional debugging. And some could be recruiting, trying to project an image that not only do we give you N weeks of vacation on paper, but we really mean it and expect you to take it.
This series is nice in that it shows working with databases (and schema migrations!), using the ring http abstraction, and hooking the two together. That said, I think that clojure is one of the worst platforms you could choose for building a blog (at least if you did it the way described in this article rather than the approach taken by things like jekyll).

I understand the choice to build a blog was arbitrary, but as a clojure dev looking at this it just looks an immensely painful process for something that should be one of the simplest things to do on the web.

I've found clojure to be a fantastic language for managing data transformations (we're using it for continuous delivery stuff at work and it's been remarkable). For static content like a blog it just seems remarkably burdensome.

There is probably a reason most clojure developers don't use blogs written in clojure.
people are hardwired to try and exert dominance

I don't agree, and I think this is a canard promulgated by those who benefit from it: those who are taught or inclined to believe that domination is a good way to get around in life.
The book is actually done and being revised, so the fact that you didn't know that even though it's in the first sentence says a lot about your reading comprehension skills.
You're right but drawing the wrong conclusion.

The heat that's produced as the battery charges is a byproduct of the resistance of the chemistry. So when you get a more efficient chemistry it increases both cycle life and charge rate, they're two symptoms of the same property. Its a win/win not a tradeoff (although you can still chose to tradeoff one for the other in your product design).
The idea behind "The Hard Way" is that it's hard because you have to do all the legwork the book prescribes in order to get much out of it. It really has nothing to do with being hard because the concepts it teaches are difficult to grok.
He's completely failing at his job if and only if his entire job is to ensure that the 1:1s occur, which would be just as bad as being "Steve" in the meeting described in the article.
Stories should be able to be tagged using an arbitrary set of tags similar to stack overflow. Possibly only people with a certain karma should be able to tag stories. Then let people filter stories by the tags it has. This would alleviate the concern of "too many YC posts" because they can be all tagged 'YC' and I can filter those out.
Possibly helpful: http://blog.grayproductions.net/articles/the_evils_of_the_fo...

and HN discussion: http://news.ycombinator.com/item?id=565528
Before I learned Ruby, I knew C, Obj-C, C++, Java...all languages that have and use "for" extensively. Coming to Ruby and learning "each" was an eye opening experience for me. Suddenly, the whole notion of iterators become clear to me. (While I had used them in the past, I had only marginally understood them.) After using "each" for a while, I came to realize that I was programming in a functional style without even knowing it.

Earlier today I read through Rich Hickey's posts explaining reducers and actually used them to get crazy performance gains from some Clojure code I was writing...but I highly doubt I would've gotten there without Ruby's "each".

I've seen Zed argue on this point before, and I've always been dubious of his "concern". The one point he makes here, though, that makes me side with him is that "for" is easier to teach than "each". Yes. A hundred times: yes!

The point I will disagree with him on is that "for" and "each" are interchangeable. Semantically, yes. Performance-wise, probably. But stylistically, "each" is a gateway drug to functional programming, and that should not be taken for granted.

(Edit: Where this all breaks down, and where I think Zed is experiencing frustration, is that while some people might have had a good reason for using "each", over time it became a social more. Now people teach and even enforce the use of "each" without being able to explain why. That doesn't mean one should avoid teaching "use each, not for", but it does mean that one should go and find out why.)

Start with "for". Teach "each".

...then go learn Clojure because hot DAMN reducers are going to revolutionize the way we program (but that's another topic for another day).
It's only a sign because the community adopted it as an arbitrary social norm. There's not really any technical reason to choose one over the other.

In fact, don't take my word for it, here's Dave Thomas questioning the .each requirement:

http://video2012.scotlandonrails.com/D2_ML_07-Ruby1280_b.mp4
I suspect that the true audience for this blog post is smaller than it thinks it is.
"In Swedish law, rape can mean something quite different than it does in the states. They both consented to sex, there was a contraception miscommunication, and afterward they decided it would be a good idea to have Assange tested for an STD to be safe. In Swedish law, rape can mean a disagreement over contraception."

Actually no, that's not what he's been 'charged' with. Read the appeal to the extradition ( http://www.bailii.org/ew/cases/EWHC/Admin/2011/2849.html ). He's been 'charged' with:

• "Unlawful coercion" - Holding down a woman with his body and forcing her to have sex.
• "Sexual molestation" - Having sex with someone without a condom when they said they would only have with a condom (this would be illegal in the UK aswell BTW).
• "Sexual molestation" - "deliberately molested the injured party by acting in a manner designed to violate her sexual integrity i.e. lying next to her and pressing his naked, erect penis to her body."
• "Rape" - Having sex with someone who was asleep.

I'm pretty sure having sex with someone who's asleep is illegal in the USA as well. Various countries (incl. UK) have the "I'll have sex with you only if you use a condom", and then taking off a condom later, would count as sex without consent.
Very few people go out of their way to advertise how cool their rapists are

Sure they do. "Oh he's a good man really, he doesn't mean to beat me, it's just that he gets angry sometime"
Obviously the library authors make this happen and I mean no slight to them. They rock. But this thread is about Github so I focus my comments on how they add value.

Github made it easier to share code and created a community. Now more people share. Github standardized project formats (which dougws points out below). It's easier to figure out what's in a library.

This makes it easier for me to build complex apps. It saves my company gob loads of time & money. I fucking love Github and I fucking love people who use it to share high quality code that I don't have to recreate.
I'd compare the two most popular web development platforms for those languages and try building similar apps in each.

For haskell, that's http://www.yesodweb.com/ and for clojure it's http://www.webnoir.org/

What trade-offs you encounter are going to be unique given what problem you are trying to solve with your web app, but the best way to see which suits you is just to take some time and try them out!
How about we improve this post by making it "Ask HN:" :) Not sure why this is linking to branch
Newbies take on JavaScript Prototypal Inheritance
Django Dash 2012 - 70 teams & 5684 commits so far
"Looping over a collection object requires some knowledge of its internal state (length in the case of a simple linear structure like Array). In most cases where we use for loops, that information isn't really relevant. There is no need to expose it to the outside world and break encapsulation."

The examples from the article don't make me think I need length or any other internal knowledge to use the for..in loop as opposed to each.
Oh no, normally the governments and police just ignore the rape. "She was probabaly asking for it" is a common way to brush it under the carpet.

The one thing that's very fishy about this is how determined they are to prosecute this rape case.
I consider the following quote from Assange as contextual when examining how in the world an organization so well-versed in protecting secrets would fail so miserably at basic security...

"Well, they're informants, so if they get killed, they've got it coming to them. They deserve it."

Of course, that bring to my mind as much conjecture as that which I would rally against.
Those aren't mutually exclusive. It's actually quite easy to get this stuff wrong (and I'd argue almost guaranteed that some part of it is wrong, although hopefully not a part that makes the whole thing fall apart).

To build something like iMessage, there's basically three discrete levels (this is a little "handwave-y", but I think conceptually accurate):

You have the underlying cryptographic primitives. This is what people spend hours arguing about on the internet, but is actually probably the least of what you should be worried about when designing a system that uses cryptography.

Any good system should be using sound primitives, but the primitives don't by themselves really do very much, so you need to combine them into something useable (and by you, I mean whoever wrote the library you're using, which hopefully is one that's been through a lot of analysis).

So now you've got a cryptographic system (which is composed of usually several primitives, hopefully all of which are sound); but even this system doesn't actually do what you need it to do, it's usually just a function you call to perform some operation as part of the larger thing you're building.

So for something like iMessage to be sound, Apple had to do the following (either explicitly, or implicitly based on what libraries they chose):

1.) Pick a bunch of primitives (which isn't hard, and if there turn out to be problems, a lot more things are screwed than just your application)

2.) Pick a library (which is a little more difficult, and security problems with libraries still get discovered all the time, but let's also assume that they did their homework and both chose and implemented sound ones)

3.) Write the actual application to be secure (which is surprisingly difficult to do right, even when you work for a company with a mountain of cash)

They most likely actually started with number 2 (which would have dictated number 1).

I would argue that the likelihood of vulnerabilities in number 3 is astronomically high (but again, hopefully not ones so severe as to render the system pointless), moderately high in number 2 (just look at how many vulnerabilities are still discovered in OpenSSL for example), and probably low in number 1 (which is the part they probably didn't even pick, as it's generally determined by the library).

iMessage isn't the most complicated piece of software ever written, but there's still a decent amount of functionality it provides, and you'd be surprised how easy it is to screw up systems that use certificates (again, not because of problems with the primitives).
I've always wondered if there are multiple levels of this.

We know of at least two: one reaches public court records. The other level we know about, for sure, is NSA level stuff, which remains secret forever as a matter of national security. Do others exist? For example it's possible an agency could use the information to gather internal investigation evidence, and keep that evidence dark only using it for further gathering of more traditional evidence. That way their techniques would remain secret.

Anyway, the technique of discovering government agency abilities through court records seems to be a vital part of our civilian rights that I don't see enough information about. If anyone knows anything about it and reads this, please share some info!
> All of the above, and if so, where do I find time for it all, while advancing my career?

As the cliche goes, if you don't find time for it now, you'll pay for it later.

Walking with bare feet and/or walking on uneven ground +1

http://www.ori.org/Media/pressreleases/release01_05_04.html

Art +1

"For Healthy Aging, a Late Act in the Footlights"

http://opinionator.blogs.nytimes.com/2012/08/15/for-healthy-...
Looking at your own linked definition I think you're wrong:

1 : of, relating to, or conforming to idiom

2 : peculiar to a particular group, individual, or style

That again says it's a local construct that isn't a clear universal usage. If you want to be clear in your writing then you avoid idiomatic speech.

This also doesn't disprove my point that the way these supposed "idioms" cause derision and overreaction says they are now social mores.
If you are genuinely interested in humans as humans, who they are, their personal stories, their touching, impressive, positive specifities and in them not as means for x,y,z, you'll be rich! (doesn't mean only with money)
Oracle Abandoning MySQL Developers?
Exactly what you heard. Some VC's wanted the entire eng team to move to SV (not trivial if it's more than just you and cofounder) but we managed to not go there.

If you have an existing company that's been around for a bit you may want to look into L1 visas.

Plan on moving here for a while as a founder.
App Store Fraud: Using other developers' source code
Actually no, the courts in England investigated it and decided that what he did would count as crimes in England aswell. He has also been 'charged' with having sex with someone who was asleep. Lots of places have that as a crime.
37 signals is best known for Basecamp, a piece of immensely popular project management software. They also make Campfire which is team chat software, and Highrise, a CRM system for small companies. All of these products have been extremely successful.

They've also written a couple of books on their approach to work. About open source: 37 signals' products is not open source. But David Hansson, one of the co-founders, built the Ruby on Rails framework, which is.

They really aren't all-talk, no-walk kind of guys.
My bad, sorry. The 'for..in' construct does not require you to expose the length of the structure.

However, the other argument still holds true: In case of a user-defined collection object, 'for..in' will not work since the underlying collection will be hidden.
The 5D mark II for which it was originally developed could hardly be considered low end. The official firmware at the time was just extremely lacking for film makers. (it's only very lacking these days).

Unrelated: Trammell Hudson, the guy who started Magic Lantern has done a lot of other interesting stuff - such as open source helicopter control software.
Well remember, I'm not against .each at all. I'm against it as a first looping construct for beginners. I even start people off in my book by sneaking in functional programming, again because it's easier to teach. They even write a game that is basically one giant sequence of mostly tail calls without knowing it.
It's not clear that this proposal is actually coming from NASA. That would be great news nonetheless.
I think the reason why for-loops are rejected in Ruby is because of it's Smalltalk heritage.

In smalltalk there are no loops and no ifs... just methods that are executed on a condition. So 'each:' isn't any more complicated than a 'whileTrue:'.

Just take a look at this Smalltalk examples[1]:
-----
[ condition ] whileFalse: [ statements ]
[ condition ] ifTrue: [ statements ]

aCollection do: [ :var1 :var2 | statements ]
----

[1] http://www.cincomsmalltalk.com/tutorials/version7/tutorial1/...
Outside of the last point about the each method not being a good first exposure to looping, the article was mainly just debating the definition of idiom. That's irrelevant because definitions of English words are overloaded in different fields such as CS all the time.

Nevertheless, this use of idiom does seem consistent with its normal usage. In the context of natural languages, an idiom can mean a phrase of arbitrary origin that has come to have a specific meaning in specific dialects (this is referred to as an idiomatic expression), but the adjective idiomatic can also be used in the sense of "what sounds most conventional to a native speaker" [1]. Likewise, in programming languages, I think of something as being "idiomatic" if it follows either formal conventions [2] or is a commonly used construct.

As for the author's negative opinion of having idioms in a language, I'd imagine most programmers advocate conventions in order to keep code somewhat consistent across programmers. If you didn't have them at all and if every programmer used different constructs to do the same thing, programmers wouldn't be able to use pattern recognition to read others' code and all code written by multiple people would be even harder to decipher than poorly written Perl since there would be infinitely many ways to do it. TWBIMWTDI? :)

[1] I don't want to say what sounds "right" (hence my use of "conventional") since that would necessitate a lengthy discussion about grammatical prescriptivism, but just note that colloquial expressions like "the people who I gave the ball to" can be considered just as idiomatic (under this definition) as formal expressions like "the persons to whom I gave the ball", even if prescriptivists would define only the latter as "correct".

[2] Unlike natural languages whose syntax is naturally occurring, prescriptivism in programming languages makes sense since they're invented by humans to make writers, readers, and/or revisers of code more productive.
Yes, you avoid idioms in writing if you want it to be clear. If you're going for style, as in fiction writing or for artistic purposes, then do whatever you want.