skysight-inc/HackerNews huggingface dataset:
Porting 2 -> 3 isn't that terrible.

Writing code that is compatible with both 2 and 3 is difficult, and this is what the OP was talking about. There are things you can do to make it easier (like using the `six` library or ignoring Python 3.{0,1,2}), but the burden of writing that subset of language that works on both still lies with the programmer.

I've done it and it's not fun. It's also been a source of bugs.

The other snafu here is your dependencies. If you depend on a large project that isn't Python 2/3 compatible, then you're basically shit-out-of-luck.
It doesn't make sense that a company would expire data, it's not illegal, and users are not the customers to companies like Facebook, and Google. Users are the product to advertising.

A more concrete solution would be to own our own data for these kinds of services, and pay for the active development & hosting. I'm all for this, and hope to see business like this in the future, I would definitely pay for Facebook if it were possible.

Some issues I could see with allowing the free market to yield, is allowing interoperability with existing services. Is it illegal to plug Diaspora into Facebook and redirect friends to my service? I'm sure it's against their ToS, and I bet Facebook will do everything in it's power to protect it's product.

Also, credit card fees make it difficult to implement micro transactions. If I charge someone $1, 32.9% will go to fees [1]. I like fiat currencies, but the government should really step in and clean up the infrastructure. Credit card companies are centralized services for our transactions, held in power by the government. Paying with cash is amazingly decentralized, and crypto currencies accomplish the same effect on the internet. If our government designed a better currency for the internet, it would give more power to the free market.

[1] https://stripe.com/us/pricing
That's also true of humans.
Usually the person parsing the CSV data doesn't have control over the way the data gets written. If he did, he would probably prefer something like protocol buffers. CSV is the lowest common denominator, so it's a useful format for exchanging data between different organizations that are producing and consuming the data.

https://github.com/dbro/csvquote is a small and fast script that can replace ambiguous separators (commas and newlines, for example) inside quoted fields, so that other text tools can work with a simple grammar. After that work is done, the ambiguous commas inside quoted fields get restored. I wrote it to use unix shell tools like cut, awk, ... with CSV files containing millions of records.
Orchestral music over the years has probably been worse.

There are plenty of celebrated female rappers, whereas Last Night Of The Proms had their first ever female conductor only last year and they've been going since 1895.
I'd argue C++ is doing it really well. They took their shitty awful C++03 base that made developers around the globe cry at night, and tried appending on top of that mess less terrible concepts.

And now, modern C++11/14 doesn't look anything like C++03. Which is a blessing and a curse - they effectively depreciated a huge swathe of old practices for better new ones (refs over pointers, smart constructs over raw new / delete, lambdas and auto over void* function pointers, soon were going to have concepts and static if instead of preprocessor ifdefs).

But that comes with a price. The price is that C++ is huge, the compilers are slow due to the complexity, and it is really analogous to per project technical debt.

D exists because C++ was too slow. Walter (and Andre) saw this huge shortfall in standard C++03 and this entire class of functionality that should be there, because it doesn't have a performance overhead, but wasn't. Maybe they also saw how C# and Java were useful and popular, but they put this massive VM under them to simplify the implementation and standardization.

Go exists because C++ was too big - for its purpose, of web server development, you wanted native performance with natural asynchrony and multi processing. It still doesn't have generics because it is pretty much a domain language, I think.

Rust exists because C++, in the wake of C++11, is still a complicated mess of syntax. And in order to maintain backwards compatibility, C++ is terribly unsafe and every line of code can destroy your program. I think Rust is as close to the future of native languages, because it does the C++ thing - a general purpose language, where everything is deterministic and predictable because it is direct binary translation between language constructs and assembler with limited magic - and does that backwards compatibility break to fix the significant flaws.

I still don't like the Rust syntax much, but it might one day grow on me. I don't think its really approachable though, I'd definitely be interested in trying a "pythonic" static typed language that emphasizes safety and productivity while maintaining the poster C++ ideology of providing reasonable abstractions that don't hide the details, but let the expert more intuitively interact with them.
Downvoted. Here's why: this comment doesn't add anything to the discussion. It informs us of an irrelevant personal opinion, by adding the marginal extra information that there has been additional bad publicity. A comment actually worth anything would at least have linked to that, explained the stories or explained how they are relevant to this story. It only functions to bask the author in the relative bit of light that appears by casting a shadow on the subject of the discussion.

The suggested motivation is disingenuous: someone actually interested in Rap Genius would at least have to admit that they have something pretty unique: there is no other place where a community actually sensibly annotates lyrics and texts. If you are interested in that, they are interesting to you. If you are not interested in that, the stories about them are irrelevant.
The first bullet-point ("People often take aggressive postures that lead to mutually bad outcomes even though mutual cooperation is mutually preferable.") is not backed up by the source, is incorrect, and if it was correct it would be a finding from psychology not game theory.

I believe (not an expert) it is more important to minimize losses that to maximize wins in game theory (cold war roots). Viewed in that light most game theory results are, in fact, extremely intuitive.
Yeah. He has blamed some of his behavior on a brain tumor:

http://www.dailymail.co.uk/news/article-2507360/Rap-Genius-M...
sudo hard-coded, and an intolerably stupid name. Next.
NOT ALL RAP
Will the personalities of the RapGenius founders lead to their downfall? (2013)
It will print (not run) the command unless you type 'gitjk -f'

When I run 'rm -r' on my machine it warns me about every file in the .git directory.
Terrible comment, but for an industry built on fringe ideas and people it seems the guillotine of public or consensus opinion seems to act quicker and quick with extreme finality. I don't endorse what he said, and agree that he has down some clown'ish things in the past, but the 98% perfect of the non-offensive stuff he does gave Rap Genius a brand in a hyper competitive space and helped establish a brand.

I don't know much about the internal situation at RG and can only imagine he was on thin ice if he was cut so fast, but this trend of public hanging really doesnt give much confidence in unpopular ideas being discussed in public forums.
Uh... if you want to undo a git add shouldn't you be doing git reset?
I'm a huge Python fan, and the main reason I'm a huge python fan is that it has solid libraries and bindings for just about everything. Python without its libraries is just another language, and honestly not really better than many other languages out there. Python without its libraries is python without its number one killer feature.
Changing the phrasing from "Source" to "Learn more" would increase the credibility of your work substantially. Not citing a source is better than fabricating one and citing yourself.
> studded with evidence of psychopathy

Very curious - what are the stylistic signatures of psycopathy?
> And in fact Couch DB would have been close to perfect … if I could have run a Couch DB server on the client, which would is an insane thing to contemplate.

Couchbase Lite (http://developer.couchbase.com/mobile/develop/guides/couchba...) does exactly this - except it's not an actual Couch instance, but rather an SQLite database, and a client that speaks the necessary Couch protocols for sync/replication. Not so insane, and (as far as I've seen so far..besides git!) the only tool that really handles sync well across platforms.

edit: Ah, CBL (and Datomic) are mentioned in part 3 of the article. All is well :)
Perl 6 isn't stifling Perl 5, at least not anymore. Since Perl 5.10, the releases have been fast and contain many new features.
Neither site tells me anything at all about what the issue is.
These are also related to "Integral Images" or "Summed Area Tables" [1] which are used in computer vision and graphics (resp.) for many purposes (most prominently in the Viola-Jones face detector). The benefit is that taking the sum of any axis-aligned rectangle becomes a constant time operation:

sum = bottom right - top right - bottom left + top left

(if numbering starts from top-left). You can also compute variances in constant time this way by summing squares of numbers, etc.

[1] http://en.wikipedia.org/wiki/Integral_image
This is also the best implementation. I think there's some stuff lost in translation when done on the web. Dollars to doughnuts these UI patterns don't have a speed function in them to adjust for intent.
It does rely on history? Well, it won't work for me then — in my history there's only frequently-used commands.
And _that_ is why Maboo stepped down. Tom Lehmen is a much more personable guy, who doesn't have at all the same personality Mahbod does. This one incident was really the straw that broke the camels back.
There was a lot of confused attention surrounding the Dorner incident, in which a disgruntled former LAPD officer rationalized his carefully-planned stalking and murder of the daughter of an LAPD captain who had been partially responsible for his termination.

Part of that attention was due to a Rambo narrative that accompanied Dorner due to his military experience and the fashion in which he was (briefly) believed to be engaging Southern California police officers (no doubt this narrative was abetted by the 24/7 news cycle). Part of it was due to the style in which he wrote his manifesto. And certainly part of it was the fact that his grievances confirmed a lot of the (probably accurate) biases people have about the LAPD.

All that is a prelude to the argument that the annotations on the Dorner "manifesto" do not in fact show RG at its best. Like the Rodgers incident, the Dorner incident is tremendously sad. It was not an armed struggled between a wronged former officer and the police establishment; it was a manhunt that followed the cold-blooded murder of an innocent woman and her fiance. But you might not get that impression from clicking through the animated GIFs, lyrical references, and amplified exposition of Dorner's complaints in the annotations on the site.

Again, I think this isn't so much a problem with reading and studying the output of the mentally ill, but instead with the idea of doing that on a site that encourages random anonymous people to riff off of and respond to that output. It has the effect of turning an artifact of illness and tragedy into popular culture, which to me demeans the site almost as much as the victims.
I did not "deliver pronouncements about the unsuitability of Python 3". I did only say, that it is not trivial to have both versions on one installation.

And who are you, something like the "Python purity police"?

I will ask you something, that you did not work with till now -- and when you give a wrong or incomplete answer, I will also say "how dare you"!
Absolutely agreed. At this point, I don't care if Rap Genius somehow comes up with a cure for cancer. I won't support them and I will never use their service.
>There was an ad for the new Pixies album. This was the one ad that was well targeted; I love the Pixies. I got the torrent right away.

I laughed very hard on this!

In all, an excellent article. I disagree with blind faith in technology to solve all our problems and not create new ones

People often forget that technology is tools (and not always neutral tools, as is another naive belief: some inventions have larger inherent "harm potential"), and that policy matters as much, or even more, as does the kind of cultural landscape we guide our use of the tools.

(Remember the classic xkcd comic: http://xkcd.com/538/ ).
Had to shorten the title from "Will the personalities of the RapGenius founders lead to their eventual downfall?" due to 80-char limit.

Also interesting is that Maboo upvoted this question. Screenshot from his profile: http://i.imgur.com/b0EA1Mu.png (http://www.quora.com/Mahbod-Moghadam)
Etree – an easy-to-use XML processing package for go
well it could be named git-unfuck (1)
All of the examination of costs in the comments assume a zero cost of enforcement. Free courts, free police, free jailing or fine enforcement of any violators.

Without that free enforcement, these $5-$50 items would not be worth fighting over.

I don't believe that police protection should be a fee-for-service business, but are there no checks and balances on the use of public services for private gain?
They would simply not get insurance because of the high risk of expensive injuries.
Eyeball: CLI utility for color-cycling terminal output based on time interval
Do another skim read through the diary and notice all the times he unabashedly confirms his belief that other human beings in his life exist to serve his interests. It's practically a motif. He doesn't merely seem upset that women won't acknowledge him, but rather that anyone he interacts with has any agency at all --- his father, his mother, his friends, his roommates.
Yann LeCun's answers from the Reddit AMA
At various points, the author describes in detail how he wanted to torture and murder any loving couple because it offended him so much. Along with his bizarre descriptions of a sexless utopia where all women are enslaved and forced to be artificially inseminated to procreate.
"My guess: his sister is smokin' hot" is not really "discussing an idea".

Plus it's a private company. They don't owe you or anybody tenure.
Partially agree, but you still have rap/hip-hop club-bangers with misogynistic undertones that hit the mainstream every so often by the likes of Weezy, Lil' John, Flo' Rida, A$AP, Snoop, etc.
Except going by the examples it actually just makes things worse by providing bad advice.
Even if we stipulate that every paragraph in the diary should be taken at face value, psychopathy is not defined simply as the absence of empathy.
Calling that offensive is a real stretch, IMO.

I am fascinated that it warranted a firin'
Glad that you brought up the critical rendering path, because SPDY uses single connection for all requests, once a packet loss/re-transmission happens, the entire connection's congestion window will be cut, which will affect all requests, so most definitely it'll hurt requests on the critical rendering path. Actually the good old HTTP1.1 doesn't suffer from this because if multiple connections are used, and only one connection suffers packet loss, only the request using that connection will suffer(assuming pipelining is not enabled), the other requests using other connections won't. This actually reduces the chance of resources on critical rendering path suffer from packet loss.
Obviously I don't know the specifics of the data you are going to be modelling but I would suggest thinking of many tags 'properties' as part of the topology of the graph.

For instance (warning contrived example ahead) if you wanted to say "Give me all people that live in Germany" then Germany would be a node (and Lives_In a relationship) rather than a property on each individual person node.

Graph databases are optimised for thinking about data in this way. So you might start your query at the node with the label Country and the name property Germany, then return all connected lives in relationships. This obviously considers far fewer nodes than if you loop through all nodes with the label Person.
Twisted is mostly ported, and you can install via pip and pypi. Some of the more ancient parts remain to be finished however.

gevent is ported, but not in an official release.

There is a mysql alternative module.

mechanize is ported, but not in official branch

nltk alpha3 for python 3 is available

There are python3 thrift ports, but the maintainers are slow.
I don't know, elevating to root was always recommended in Linux :-)
Yes. Next question, please.
You are missing the point here. While you can use any C98 libraries in C99 and C11, the same is not true for Python2 and Python3.
Show HN: A simple Youtube downloader without ads
Can you explain why you think that it's a stretch to call that offensive?

I guess I would describe it as insensitive and unconstructive (to the service and the document in general)
somehow when I was testing it, I thought I needed to use rm -r --cached to remove a previously untracked file. It should do git reset in most cases.

Edit: now recommends git reset unless you did "git add ." or something like that.
I once talked to a scientist who worked on cat litter for a major corporation. It was surprisingly interesting to hear about the chemistry and geology and supply chain management of such a mundane substance. I guess the DOE scientists running this project were not aware of these subtle issues of chemistry and geology.
Twisted and gevent are available for python 3.
It's kind of nice that this just gives suggestions by default rather than running potentially breaking commands.

But as someone else here mentioned, you really want to understand the reflog in git. Everyone screws up at some point or another, and it's much easier to work through things when you can rely on the reflog to act as a safety net and an anchor of sanity.
This is more-or-less a duplicate of this thread:

https://news.ycombinator.com/item?id=7801028
> python3 is not the default python.

The post I was responding to talked about books on Python for students, presumably students studying programming. Python 3 doesn't need to be the default python for students studying programming to use it; it just needs to be available. If the post had been talking about, say, sysadmins, that would be a different story.
I actually enjoyed these series of articles:

http://rapgenius.com/James-somers-herokus-ugly-secret-annota...
I occasionally wish git had an undo-whatever-I-just-did command, and I've been using it for years.

The git fixup page comes in quite handy. https://sethrobertson.github.io/GitFixUm/fixup.html
Pyipa – a lib and an executable for parsing IPA files
From personal observation I'd say that for every person writing major applications in python you have at least 20 using it for glue code. And having written a major application in python, I'm not really convinced it's a good language for it.
Actually, I do tell them that.

The reason is that if you are building a very dynamic web application in which the user's input or existing database values are used, for example, to determine a column name, table name, or even a database name, very strong whitelisting is required.

For the other cases, paramaterization can take care of it.
That is a tired, cheap, superficial point that is beneath this site. If you want to build a case against valley startup culture --- and there sure are cases to be made --- try to do it without creating a caricature of everyone else who has concerns as well.
That's not true if faster than light travel is possible (e.g. wormholes, warpdrives, any form of time travel, etc.) And even so, it doesn't make a lot of sense to redefine time that way. It would be like a pre-electricity civilization declaring that things outside their mail-cone (how fast mail can travel) haven't actually happened yet.
>let the free market converse its way towards a compromise.

There's no "free market" that's an ideology (a made-up idea of how the world is that obscures one's thinking).

With government: I have more money than you, and I have friends in Washington. I'll use it to push things my way.

(And lest somebody suggest: "sure, the problem is government", here's the government less version:)

Without government: I have more money and/or power than you, and I have you beat to a pulp, and also spend it to make people go along with my propositions. I'll use it to push things my way.

Usually is a mix of 1 and 2. E.g most Latin American countries, for example, there's not much of a "free market" with regards to their exports/materials because stronger countries force them (with military might, diplomatic pressure, juntas, putting friendly lackeys in power, briding, etc) to go with their way. A powerful country can spend tens of millions of dollars just to promote a favorable candidate in power in a smaller countries (easily recouperated in a day's worth of profits from resource and trade agreements).

And of course with things as a patent system, intellectual property, etc, there's no free market also. The IP owner sets the terms, and you cannot offer the same thing for a reduced price even if you can.
There's a world of difference between patriarchy and misogyny.
YES ALL INDIE POP
If you name it "git-jk" rather than "gitjk", you can invoke it as

git jk
Relevant: http://valleywag.gawker.com/rap-genius-frontman-blames-brain... (2013)

I'm especially liking the title's wording.
It's tangential but I want to point out to those who doesn't follow the rooting community closely that Samsung doesn't lock the bootloaders of phones unless it's requested by the carrier. International editions, Play store editions, and contract phones from carriers which doesn't request locking are unlocked by default. You can install whatever you want on it. Even if it has Knox. Knox doesn't mean locked bootloader, its relation to rooting is that it voids the warranty when it detects rooting, it doesn't lock the bootloader or prevent rooting.

Corollary: I'm aware of the fact that it is not always possible, but buy your phones off contract when possible. Life is too short for fiddling with those nonsense, and also vote with your wallet.
Show HN: The Most Open Letter Ever
Your intention was to imply the risk was the same. This is not true.
Your argument applies to theft of any low value item. If a shopkeeper presses charges against a shoplifter, are they using public services for private gain? Should there be checks in place to stop shopkeepers from reporting too many thieves?