skysight-inc/HackerNews huggingface dataset:
Well, I vehemently disagree with this:

> Defending freedom of speech feels - and should feel - very painful.

It doesn't feel painful to me at all. I choose freedom, not just for myself but for my fellow man, and I accept that the price of freedom is putting up with people making choices and doing things that I would not choose to do, that annoy the hell out of me, and that do not make the world a better place. But I am completely at peace with my choice. And I understand how a not-entirely-unreasonable person might make a different choice.

But the only reason that this choice should be "painful" is if you don't really want freedom. You might want some abstracted utopian notion of freedom, a freedom without cost or consequences. But this freedom only exists in your imagination, not the real world. Real freedom is messy and inconvenient and a pain in the ass, and I'll take it over oppression any day of the week with no hesitation and no regrets, and certainly no pain.
Either I don't understand the quote, or it's way off.

The road to hell is paved with good intentions.

By 'beginning', you'd think you want to stop a criminal from becoming a criminal (general: a problem from becoming a problem) in the first place. Laws never do this, and the quote used "and", as if that is what a law does.
Ruby is like Disco. It was fun for a while, but now it is old news.

I was forced to learn Ruby while at Aardvark, as well as the Rails and the Agile process.

It was true today as it was then; Ruby, Rails, and Agile are absolutely useless for real data science and machine learning, and this is what companies need to move forward.
Indeed, to bring machine learning tech to the Aardvark team, I had to fight tooth and nail against the Rails consultants and the Agile process guys.

Ruby is a useful gateway language for learning other modern scripting languages such as python, lua, and scala

I agree that Ruby is now legacy technology.
Let me be clear; I use it all the time. It is useful to build stable projects based on solid ideas, and I use it for dev ops, for crawling the web, and for making simple DSLs. Chef is very good (compared to, say, Ansible) , and the Bundler deployment system is quite nice. It is easy to build web endpoints in Sinatra, and the Nokogiri gem is a pleasure to work with compared to, say, java JSoup.

But Ruby is not moving the needle forward. It does not even have a decent NumPy-like module, which makes it completely useless for modern back end work in data science, machine learning, and the real things companies need to generate revenue

Rails is a good example of being overspecialized. They are so good at web programing circa 2007 that the future passed them by.

Python. Lua. Scala. Closure. These are the future.
I think the question is a false dichotomy. Winter solstice festivals predate (and have run in parallel to) to christianity. See saturnalia, yuletide, etc.

It's fine for an atheist to enjoy decorated trees, family, and eggnog, without supporting the "bronze-age creation mythology" stuff of xmas and hanukka.
Honestly Rap Genius isn't that appealing of a site and the design is pretty terrible. It's incredibly difficult to read anything on the page (azlyrics is actually better at this).

I really hope someone new comes along and makes a better site with the same premise (annotating lyrics).
Oh, a friend of mine is just like that. He is very smart, but very rarely codes (he likes to let his friends do the coding for him :-)). And by the way, he is of Syrian descent as well!

I think he just made his first couple of millions working for the Samwer brothers.
Take note people.
But, google do have a choice? This is human stuff here, not an algorithm. I'm not going to argue about whether Google should have or not, but saying they "had no choice" isn't correct IMO.
All was quiet on the Western Front when the kickabouts started
Celebrating this Christmas the good 'ol Subgenius way.

PRAISE "Bob"!!!!
I transferred to the Motorola division so I kind of have both perspectives while being at Google.

In some regard, a lot of Googlers don't even know how good they have it. What Google manages to do pretty well is pick the right people for 'the company' and then acclimatize them extremely fast to everything: process, tools, lifestyle and sometimes koolaid.

In doing so are we infants? Perhaps. But fundamentally this is no different than what all children go through (acclimatization to their environment).

I'm not sure working for some crummy company, or a startup means one life is better than the other - they are different. And if you're lucky enough to be able to choose that then that is awesome.
3D Fingerprint Phantoms
> I normally search "<song name> rapgenius". Now, it is no longer on the first few pages.

It's not an answer to whether Google is giving users what they want, but you can just create search engines in Chrome[0] for the sites you search frequently. Make sure you set a custom shortcut for it that's only one or two letters. When I want to search Rap Genius, I type 'rg ' (note the space) and I get this: http://i.imgur.com/At9KxBr.png

I have this for at least 20 different sites, so I almost never use Google if I know what site I want to search, a prominent exception being if the site's search really sucks, like reddit. In those cases, I have custom search engines set up that will search Google without whatever I searched, plus "site:example.com" appended to it.

You can also hack this functionality to set up shortcuts for frequently visited sites ('hn' for Hacker News, 'gm' for Gmail, etc.) by creating a search engine without a '%s' (which is where whatever you search is substituted in). So I type 'hn', hit Enter, and it takes me to http://news.ycombinator.com

0: https://support.google.com/chrome/answer/95653?hl=en
No need to pick between the two. Google does both.
Yup, not a valid reason for me to stop a service. Like you said, the rules often favor those alreayd in power
Take a look at http://vertx.io/ . It's basically the Java community's answer to modern, fast, straight forward technologies like NodeJS. Just by the performance improvements alone I've been hearing people tout you can often justify it in big business jobs.
You realise that the state isn't dictating what people can or can't see - these filters are optional? And that for existing customers they default to opt-in?

It's frustrating that the reason the government forced ISP filtering is because i) no-one uses parental filtering and ii) parental filtering is hopeless.
Show HN: My nodejs-supervisor like tool, written in Go
I dont know the answer.

But as a former physics major, I think those problems happen when underlying models have subtle differences from the real world. In this case, the model assumes infinitely compressible fluid. The model may work out well in some earlier applications. But the model breaks down due to air is not "infinitely compressible" in the real world.

The good thing for mathematics and computations is both are rigorous so they are perfectly well suited for spotting bad assumptions in models. And this is the reason we need well crafted experiments to hold theories against the real world.
Even if your advice is sound for many bullied individuals in many situations (and I think it is), most organizations have an interest in minimizing bullying, or at least directing it so as to achieve organizational goals. You can be sure that bullies do not have the organization's goals in mind when they're doing their thing. If the bullying is institutionalized so as to make the average person stronger or more effective (as the military and many sports teams would argue) it might be defensible, but that doesn't happen by chance.
That's a good question. Rather than promoting 4 different apps, what I really want to do is throw these 4 fishing rods in the ocean and see what bites. Once I figure out which one I think has the most potential, I really want to spend more time on it, and spend time marketing and promoting.
Your perfected the art of shipping.
Where will we live? (UK)
Hacker News Christmas Theme
Rubinius is releasing so often these days it really just isn't a big deal.
Deploying full fledged flask app in production
RG's techniques were not honest and were costing other sites that were using legitimate techniques and playing by the rules their ranking in Google's search results (and maybe even revenue).
I hope you don't mean physically fighting, because we adults can earn an assault charge real quick. Likewise, the bully wants the victim to respond over the top because it cements their power over them.

Even the 8 year old in the playground is at a disadvantage. The mentality of the bully is to quietly dominate the weaker out of authority and regulatory sight. They want the victim to blow your top publicly, because all the trouble falls upon said victim.

The alternative is reporting behavior problems to the proper authorities, which depends greatly on how serious they treat the problem. If they are lax or ineffective, then there isn't any recourse for the victim except to remove themselves from the entire organization or field.

This becomes greatly compounded when the bully is in a position of power over the victim. Reporting the behavior might put the victim's job in jeopardy.

Raising awareness of the problem allows other victims, and their allies, to realize they aren't alone in their struggle. It also allows organizations to evaluate their reporting mechanisms to see if they are effective in responding to intimidating behavior. Is awareness effective? Unfortunately not always. However we should encourage strong reporting mechanisms in our institutions to allow the victims some recourse.
I find this interesting enough to submit but also find it curious that Meek doesn't emphasize how hard it is for anyone to build anything in Britain: http://www.buzzfeed.com/dlknowles/britains-dysfunctional-pro... .
I heartily agree. Spring often brings a higher cost in incidental complexity than it removes from the inherent complexity.
I really like the "Do Something" app - I think that one will do well. Good job! I'm aspiring to this level of productivity.
writers (a.k.a the anonymous person who wrote your favorite songs) make their living writing those lyrics & deserve to be paid for their work
Google Destroys Rap Genius’ Search Result Rankings As Punishment For SEO Spam
Google's revenue depends on providing the best results it can to searchers, within limits of result pollution they do themselves (clearly demarked advertising at present). If they allow cynical SEO then the results get worse for everyone and people will look for alternatives.

I'm glad they have a proactive slap-down policy. Let's not go back to the late 90s and the likes of altavista, when you might have got one hit in ten pages of spam, SEO link farms.
I think this is totally OK. Pay me 10 dollars a minute, and I will surely understand when I will be let go because I am not fully adequate for your current purpose anymore.
I don't disagree with what Google did at all, and I don't agree with what Rap Genius did.

What I'm saying is that when there isn't a lot of competition in the search space, businesses will use underhanded tactics to game a certain search engine. Having so much depend on a single entity is antithetical to the web and good, competitive business practices.
This post is too abstract and neither offers a good explanation of a problem nor suggests an alternative solution.

The task of dependency injection appears right after the decomposition of a problem: you cannot avoid it, so you either do it manually by constructing and wiring all necessary objects (self-managed singleton anti-pattern is quite common here, let his fathers burn in hell) or using a DI container. Unless you want to invent your own bicycle with poker and curvy girls (which may make sense in very specific cases, but not in general), you will use Spring, Guice or CDI.

How to choose the right solution? It always depends on requirements, not on generic concepts from theory of OOD. In small project you can follow KISS principle by sacrificing decoupling and wiring objects manually. In bigger one you always need to look at the other libraries and environment you are going to use. If it's a JEE container (a modern one, compatible with latest specs), your choice can be CDI. If you are going to work with GWT, it's Guice (it's the best for programmatic configuration, but lacks some features). In all other cases Spring 4 is the best option.

What's wrong with the talk about reuse vs decoupling? The author addresses the problem of sustainability of a system to changes by rejecting the core concept of OOD - the reuse - and avoiding the use of DI, just to avoid some hypothetic bug in implementation module. However, our industry developed a lot of tools and best practices to address such problems when writing reusable code: unit tests, SOLID (SRP is my favorite one), incremental compilers and smart IDEs. Avoiding reuse is like not using electricity if you afraid of fire.
Yeah. I know a guy who takes the same stance. It's tough being an artist.

> Pirating isn't that radical since studios pay artists scraps anyway. If you really like an artist, you attend their gigs and buy the merch. That's where the artists really make their money.
How long will this last? Rap Genius is a fantastic asset to the world, I hope this isn't permanent.
That's how signing works. The signer generates a hash of the content being signed, and then encrypts that hash with their own private key. Then anyone with the public key can decrypt the hash, and then compare the decrypted hash against the hash of the content that they generate themselves.
Google will not answer to British court over UK privacy claim
Google giveth, and Google taketh away.

This looks like a -50 penalty. This is both good and bad for Rap Genius.

Good in that it will be temporary: specifically 30 days. This is better than a fundamental algorithm change like Panda or Penguin because there's no coming back from those.

The bad is that -50 penalties effectively destroy 90+ percent of your traffic. It's a very harsh lesson to be taught. You also don't want to have it happen again because the 2nd time is 60 days, and the 3rd time is permanent.

I don't think RapGenius will be doing something like this again.

From RG's perspective it's also frustrating because they'll see competitors do scammy things and get away with it. But that's the dual edged sword of such public personas. With RG getting called out so publicly Google had to do something about it. It's also good for Google that this penalty is getting a lot of publicity since it's proving an example to everyone else.
I don't think people think that it's objectively too expensive, considering the time it saves for developers.

But without any pricing guidelines published on http://www.viva64.com/en/order/, it could be anywhere between $1k to $100k, and people assume without even asking that they cannot afford it.
Stop blaming the victim. Victim-blaming puts the onus on the victim to prevent something that is neither their fault nor their responsibility. You don't get bullied because you haven't been singled out by a bully, not because you "exhibit mutual respect" or for anything else you do.

Awareness — which is essentially getting people to admit bullying is possible in their environment — makes it easier for victims to come forward and leverage what structures are in place to end (not "fight") bullying. It makes it possible for victims to (1) be believed instead of dismissed, (2) not be treated as responsible for the bullying themselves, and (3) taken seriously as to the extent and damage of the bullying they experience.

Even in the schoolyard situations you allude to, bullying isn't a matter of either "ignore them and they'll leave you alone" or "even if you don't win, once you fight they'll leave you alone for a softer target." Whether a bully gives up on a victim is entirely up to the bully and the power structure in the environment, not the victim. The philosophy you describe actually makes the power structure unavailable to the victim — which all but guarantees bullying continues.
This is like xkcd in essay form. Thanks for posting!
25 days of Angular |  ng-book is complete and our new D3 on Angular book
You could do it with the sugru itself, no? Have one side with indentations, make the other side align with those indentations. You don't need it to resist forceful rotation so much as casual bumps. Or just include a small pin or dowel with one side that sticks into the other side. You can attach more than just magnets.
mlyang: It is absolutely a bizarre first reaction to imply that the reporter should feel culpable for the harm that RapGenius caused themselves.

If RapGenius is ruined that easily, RG didn't have a real business to begin with. Their scheme was something that would've certainly triggered Google's ban-hammer sooner or later; the only question was timing. My bet is that RG will reexamine and improve their distribution playbook. I say this because I don't think a16z would invest in a company whose distribution plans consisted solely of SEO.

But you could be correct. Maybe RG is such a fragile company that this nearly inevitable setback is enough to kill them.

p.s. just an FYI: it's generally considered bad form to delete a post that has already garnered responses, especially if those responses are critical.
I agree. Fight or flight is our instinct. But we teach children flight and tattle instead. So why is it a surprise when they grow up and can't handle any problems for themselves without guidance? Why are we perpetually fighting our instinct as humans? Our baser nature can be brutal sometimes, but if we completely suppress it when it does come out it is far far far worse.

At some point, you need to say "no, I will not stand for this" and face your antagonist. In my experience once you do that, they either shrink away and cower forever or become a great ally.
I've never configured DI after deployment. Can you show a use case when it makes sense?
Quite frankly not showing me rapgenius results when that's one of the search terms is idiotic. I guess now I have to remember to go straight to their site whenever I'm looking up lyrics. I'm glad I at least know about them and I feel bad for the people that are now going to be trapped in craplyrics.com hell.

I understand and agree with google's desire to punish spammers but their effort should not have such a major impact on users who obviously know what they are looking for.
Or there's a curve so you fit each letter to 10% of participants. Generally it's a bell curve though so most people end up in C, since that's "average" or "satisfactory".

I had a few classes in college, where in a very 1984-esque fashion, failing (<60% correct) was passing. You just had to fail less than everyone else.
I think bluthru meant that one company can decide what the rules are and basically remove sites from the internet from a normal person's point of view.

"RG clearly broke the rules and forced google's hand here"

One company's rules not some standard organization. Its Google's site, but they wield more power than Microsoft ever dreamed of.
Even Googling just "rap genius" doesn't get me their site in the top 10 (just their Twitter).
fyi I grapped a rank report from a few days ago from some of their popular kwds. Looks like they are down 4-6 pages on average:

http://cdn.elite-strategies.com/wp-content/uploads/2013/12/r...
I no longer believe in A/B/C players. It's an excuse, as many have mentioned, of poorly managing a dysfunctional team.

Are there people at companies that shouldn't have been hired, or should be fired? Sure, but that doesn't mean you can't take a team of differing skill-set individuals and make great products.

When your product is iterating rapidly, you may suddenly find that your crack team of javascript developers suddenly needs to analyze an sql execution plan. The best guy on the team for the job probably isn't the smartest guy, it's the one whose dealt with these sorts of issues before.

A team learns from each other.
"I don't bully anyone and I don't get bullied because I believe in mutual respect among human beings."

Are you for real? Did you just blame every victim of bullying for failing to "believe in mutual respect among human beings"?
Greatly helped me understanding huffman.

The thing I find most interesting about rosetta code, is not the quantity of languages, but the actual algorithms which are used. There are many great algorithms out there who can be done in very short bits of code, which are great for educational purposes.
If it's a library, not an app, it's better not to rely on DI at all, leaving the choice of container to user. As a library designer you can implement reasonable manual auto-wiring of default configuration.

For small applications (both server-side and client-side) Spring 4 is as easy to use as Guice.
Show HN : Manage your shell environments like a pro!
I am not sure whether this is literally possible or not, but it doesn't make a lot of sense. Sending an encrypted message with the decryption key right along side or otherwise in public view?

The common use case is to _sign_ with a private key and _verify_ with the public key. If you need the contents of the message to be secret, you can use other methods. The signature proves something about the authorship of the original message.

For example, if someone wished to make a prediction about the future, they might write down the prediction, sign it with a private key, but then only publish the signature. Later, when the prediction turns out to be true (or false), they publish the original text. The public key can then verify that the precise text of the original prediction created the previously published signature.

edit: in this case, zobzu might have created a one-use private key, encrypted a prediction about DNSNMC with the corresponding public key, and will later publish that private key. Or it might be the output of /dev/urandom
Introducing itch.io: a marketplace for hosting indie games
Reverse engineering software and jailbreaking was done for freedom, the argument being there should not be any restrictions on the software/hardware we buy. Ironically we have come to a point where the jailbreaking code comes obfuscated. The whole community laps it up purely for their technical prowess rather than the political statement. Do the jailbreakers have a claim to the moral high ground any more?
> Once you make your lights magnetic, you might wonder why all lights aren’t like this.

You lose the ability to adjust the beam up or down. That's probably why all lights aren't like this.
Sure, Finland too)

Do you shudder when you think about democratic USA invading Iraq in order to prevent Saddam from passing WMD to terrorists sometime in the future?

I'm afraid right now it is you who is creating an external enemy (out of modern Russia). Can't argue about 'thieving' part, though ;)

How big is your 'lots' compared to a single Nazi concentration camp? Anyway, giving up the buffer countries on the western border after a devasting war had just ended would've been stupid from the strategic point of view.
That may be right given a certain definition of "full node," but without all the data, you cannot validate transactions all the way back.

In other words, you really only "need" to know all the unspent outputs; those are the only bitcoins that can be spent validly. But how do you _know_ that your list of unspent outputs is correct? You would only know by validating all the way back to the beginning of the blockchain. Otherwise, you are going off "trust" at some point in the past.

You may know a lot more than I do, so fill me in if I'm missing something here.
> This just makes Google less useful.

In the short term. In the long term, this move probably has prevented a lot of black hat SEO and spam from happening on the web.
It's worth noting that Rap Genius was not penalized on Bing. (and Yahoo which uses Bing).

RG may want to consider a hedge bet on search engines.
Google penalized Chrome, their own product? Source?