skysight-inc/HackerNews huggingface dataset:
We're using an internally developed ORM in Go and it saves us a lot of time.

Pros:

- Less typing, which means less bugs.

- Type-checked queries, although this is technically not part of the ORM. We have a custom tool which statically examines the code creating ORM queries, checks the types of the output and lets you know of potential errors (e.g. the field you're querying on does not exist anymore). Writing the same tool for SQL would be incredibly difficult.

- No need for long ugly SQL strings in code (well, except for the ORM implementation itself).

- Easier refactoring. If we make changes to a model, the ORM makes the schema modifications for us (with some limitations - e.g. if you rename a field you have to tell the ORM the old name, so it renames the field in the table instead of creating a new one). Coupled with type-checking this is god-send.

- Complete SQL database abstraction (database/sql does not provide that - placeholders, quotes, etc... vary by database driver).

- SQL / NoSQL / KV-store / whatever transparency. We have SQL drivers for sqlite, postgres and mysql, as well as drivers for mongodb, the GAE datastore and redis. Of course, some drivers have limitations, like the NoSQL ones can't perform JOINs, but we still get incredible flexibility. We had one app running on GAE with a data model which was a good fit for the datastore. Some months later, a few requirements were added and moving to a relation database was the best solution. So we spun off a Google Cloud SQL instance, migrated the data and started using JOINs for the new features, while the previous code continued to work unchanged.

- App Engine / vanilla Go cross platform (well, you'd also need our full web framework for that, but the ORM is one of the key components). We have some applications running in GAE. If they ever get too costly to run on GAE we can just execute three of commands and deploy it to our own servers (and by "three" I mean the exact number: one command to move the ORM data from the datastore to the new database, another one to move the stored blobs from the GAE blobstore to S3/GCS/filesystem and another one to deploy the app to the new server).

Cons:

- Overhead. Negligible in most cases, but when it matters we can drop down to raw queries.

At the end of the day, I think using an ORM or raw database queries is just an engineering decision you have to make depending on your project constraints, not on the language you're using.
Door/desks are some of the best. My old desk in High School was a door and some concrete blocks. All the cords ran through the hole the handle was supposed to occupy.
Its like how you're asked to restart your computer everytime you call the support with an issue.
If iOS is Betamax to Android's VHS, then we should expect a competitor to come with a less elegant, more open experience at half the cost and corner the market. Never would've expected Amazon, but maybe the sponsored data model will be enough to get the costs down for mass adoption.
This is not necessarily true. Bankruptcy proceedings are complicated, but some creditors may have a legal preference - that means they get paid their debt in full, and everybody else then evenly shares what is left.

The government is usually entitled to this sort of treatment - the company's tax bill and fines will likely have to be paid in full before everything else is shared out. But this is being conducted under the bankruptcy laws of Japan, which I know nothing about. Ask a lawyer if you want to know.
I would buy you hacker news gold for this rant. So true.
The Wikipedia page for TopoJSON (by Mike Bostock of D3.js fame) has been deleted
The fact that you are getting so many "erhm, I don't think so" probably indicates that it wasn't a good comment that promotes discussion.

"Clearly X is better than Y" don't do anything except incite flame wars. You can remedy the situation by explaining and showing in what areas it is better or explain what your experience of seeing the benefits are. Just leaving at "X is better than Y obviously..." that usually doesn't end well.

That is why I asked you why it was better, even thought you already answered it 3 times, because it was another chance to explain why it was better.
My solution to this for my Android phone (Galaxy Nexus) was to switch to the Opera browser. Opera is one of few browsers that still supports text reflow, meaning that I can easily zoom in and have the content nicely reformatted to fit the screen. Works like a charm on HN.
Codebabes
I'm not sure if it will help learning, yet it definitely won't help with any sexism in tech discussion.
CAcert.org – A community-driven Certificate Authority issuing free certificates
Can someone explain why this expiration thing is happening like I'm 5? Even the most basic PHP tutorial app doesn't have this problem so I don't understand people saying it's inevitable.
Turnica
Anyone tried deskless workstations (sitting on floor)?
Is it a "proper" service though? The delivery guy always turns up in a rented van, makes me think they're just outsourcing it to a man in a van or something.
So ... is this a bug or a feature?

Is the internal activity causing this unpopular behavior supposed to do this, in the first place? If the site is indeed behaving exactly as its designers want it to, then that's a rather separate debate as opposed to simply ways and means.

I'm not saying I agree with the behavior; I'm just trying to see what should be debated to start with.
Are you insinuating that the key to dissuading the wrong kind of people is to make Hacker News difficult to use? The notion that good users will "power through" a bad design is dubious at best.

I hope that you're not involved in product design. This thought process is not good for anyone.
Should karma be an ephemeral thing? Should it age off in a week or so?

There could be a downside to the early entrants benefit. Sure, you can explore new territory and carve out a huge position, but you become a "Land Barron" in a sense, and no friend of later "squatters." (Relatedly, Bitcoin)

("sure I've got 20000 points, but they guy just climbing from 100 to 200 is a repwhore")
Moderators can ask someone from the SE community team to look into it, and they can see individual votes and invalidate votes between certain users. The only cases where this actually happens are users using sock puppets to upvote themselves, colleagues/friends/family going through every post and upvoting everything or users targeting a specific user with a large number of downvotes.

The one thing they all have in common is a larger pattern of votes. SE does not act on individual votes, and emailing them about those is a waste of time.
The bug was apparently fixed on April 17. I was unable to reproduce the problem on my updated Ubuntu 14.04 installation.
US still has the occupation forces on German soil since WW2
Devil's advocate: what if MS, Google et al had all the US persons' email and files stored in Canada or Germany...on purpose? You type your email in Washington DC and then it is stored in a server somewhere in Germany. No can do says Microsoft.
SpaceX to land first stage on Cape Canaveral by the end of the year.
I'll try to respond to everything in one comment.

kogir and I talked recently about getting rid of "unknown or expired link". It's on our list. There are a lot of things on the list; we don't know yet when we'll get to it.

There's work ongoing to make HN more usable on mobile. This will likely roll out sooner than the above. We intend to roll it out incrementally, starting with the front page. We'll give people lots of notice so anyone running scrapers that are affected (like me!) will have time to change.

The look and feel of HN is unlikely to change much. We can argue about that one till the cows come home. I'm tempted to—my opinions are as strong as many of yours—but that doesn't seem like the best idea right now.

Feature requests should go to https://news.ycombinator.com/item?id=363. Software bugs should go to https://github.com/HackerNews/HN/issues. That would have been the appropriate destination for the OP, and indeed this issue has been posted about there.

Threads like the current one get lots of upvotes and comments, but they've never been on topic for HN. I'm going to bury this one now.
Yeah, Rust tries to integrate method syntax into the language more than OCaml (whose object system is kind of separate) and Haskell (which doesn't have an object system). It's a different approach from Scala, though: we don't have inheritance or virtual methods outside of traits (which are like interfaces).
I'm sorry you feel that way, but I think you're overreacting. I never intended to invoke such feelings, but don't worry, I'm going to leave this whole topic alone now.
Show HN: My automated video discovery project hacked up in 3 days
After kids ate up our spare bedrooms, my home office is a desk in the corner of the master bedroom with my MacBook Pro. I mounted a monitor on the wall with a swivel arm to clear a little desk space. A few hard drives for backups in the corner. Too much clutter on the top of the desk.

I often work from a chair in the living room or the dining room table as well. Or I go out to libraries, a hackerspace, McDonalds, sports bar, Barnes and Noble, etc. to work.

I do have a low-power, mini server stack out in the family room, next to the big TV. A Raspberry Pi, two Pogoplugs, a DDWRT router, a pile of hard drives.
There are two math sites, Math Overflow is for professional mathematicians (and started outside the SE network). Math SE is for everyone with math questions.
I think it's more correct to say that Go is a better C (or perhaps: Pascal) than Python (or Ruby).

A lot of the rewrites I've seen done in Go, could probably have been done in C. The thing is, for lots of problems, Go is a better C than C. You can bolt on lots of safety features on top of C, and I think you could probably be very productive and safe in C if you forgot a lot of the dangerous features that C turns "on by default". It is for example possible to use Pascal strings in C.

I don't think the comparison with Vala (or Nimrod) is too far off -- but the Go team has lots of experience with language and system design -- and I think that really helps Go be a productive tool.
The fnid is a CSRF token, just with an disadvantageous implementation that leads to a far too short expiry time.

I don't know much about the internals of Arc, but maybe it would be possible to serialise the continuation data, combine it with a reasonable expiry time, apply some form of authenticated encryption to this, and supply that as the fnid? And reverse the process - with appropriate integrity checks - when the fnid is submitted. Then you have your state distributed at the client-side instead of all being kept on the server, so it can scale more effectively.

EDIT: Nevermind, just realised that this very suggestion is addressed here, and it's more difficult than I anticipated https://github.com/HackerNews/HN/issues/11#issuecomment-3215...
There are some things built into the DNA of the system. Dowvnotes are there and an early blog post addresses that - http://blog.stackoverflow.com/2009/03/the-value-of-downvotin...

Note that down votes are a key part of what drives a number of automatic scripts that clean up things.

* People who waste too much of the communities time (asking poor questions that get closed and down voted ) get question banned - driven strongly impart by down votes.

* Closed questions that have a negative score and no answers with a positive score get deleted after a bit over a week. (If people complain about how much crud there is, one should look at how much crud gets automatically deleted).

* A down voted question helps signal to people reading to not waste their time reading it because its not useful. When you've got 8000 questions/day, someone saying "don't bother with this" can save you a bit of time reading it.

For smaller communities where a person who wastes your time can get addressed through individual moderator attention. Where there are 8k questions per day asked by a similar number of people, you can't have every moderator address each poor question and time wasting troll. It is for this that simple down votes can help drive the automated system when there is enough signal that the person is wasting everyone's time without involving moderators.

Update:
So, because of how the system was designed, it isn't something that one can easily go back to and change (and remove down votes). Its part of the software and the culture of the group and the two are inseparable - the technological and social part of the community is tightly interwoven. Further reading on this at http://www.shirky.com/writings/group_enemy.html
> I'm pretty sure that the HN community likes to read thoughtful, thoroughly
> researched comments that are somewhat longer than one-liners.

Could not agree more and this is a great side effect of the time out. It
gives the commenter yet another reason to compose their comment in a real
editor. Personally I find the comment text box is too small to do a decent
job of assessing and editing my comment. A real editor also makes it easy
to format the above blockquote[^1] or to insert[^2] logical and consistent
footnotes.[^3]

[^1]: http://www.nicemice.net/par/

[^2]: http://jblevins.org/projects/markdown-mode/

[^3]: I just wish markdown-mode would renumber the footnotes if I go back and
insert a new footnote. As it is I have to pipe the output through pandoc
I find the over zealous moderators as annoying as anyone else (I imagine), but its wrong to say that they have been ruined. Stack overflow and Server Fault are still damn useful sites, even with the moderators.
Reinstalling Ubuntu 13.10 and greater will wipe your Windows partition
The resemblance is superficial -- they are discussing something else altogether in TFA.
They would respond "We ordered the CEO of the local subsidiary to give us the data, and he refused, because that would be illegal in the country the subsidiary is based in. We then fired the CEO, now he's suing the subsidiary and we had to close it down. We made $50M loss this year because of the lawsuit. Thank you, honourable judge."
Does XMPP support inline photo and video? Last I checked, it didn't. So why deal with the external dependency when you can re-write it yourself with additional features?
On the surface, that sounds reasonable. However, the Go platform has been very stable since 2012. Since Go documentation is standardized, learning how to write the language and use a few simple libraries (which a book from 2012 should do) should enable you to work with anything thrown your way.
Smart 14.1 mare All Rounder Wprcester
Still it reminds me of open source, help chans on IRC, wikipedia...

- At the beginning it is fun and new you are a pioneer (phase discovery)
- Then you understand the concept and experiments its power (fun) and you have grown a culture with your alpha wave of compadres you become a native of the place;
- then it has success in a brutal fashion triggering a new massive phase of «new comers» (proportion of new might be bigger than the one of old), it is the mass immigration/colonization phase
- then there is a «cultural conflict» between the old and the new regarding the way to use the tool/to be part of community. This part can last a long time and I call it the Babel tower effect.

(I vaguely map the state machine described as a chronological effect)

Every community big enough and successful will suffer it. However in the process the «native» ideas are often killed, and the original success can be lost. Plus there is never a consensus, so some people will be feeling unwelcomed.

It can be seen optimistically as stochastic improvements (the pioneers will seed somewhere else and help discover new territories), or as a process of the mass integration the pioneers back into the crowd// normalization/colonization.

Internet may have many virtues but when it comes to human beings it does not change the eternal problem of «doing something together».

Every time you take part in improving the world and try to propose a worthfull alternative, there is a chance the culture will evolve in something different then what you help to build.

My advice is to fight the tendency for bitterness and leave these communities the same way Odysseus left Nausicaa.
Actually the US GDP is the same as the EU GDP -- almost 18% of the world's. [1] That's a little above China's. About the same as Japan + India + Brazil + Russia.

Currently non-US economies represent 82% of the world. Non-US Internet users represent 90%. Non-US people are 95% of the world.

And the US is not growing its share of world GDP, Internet usage, nor population.

[1] http://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)#...
I know, I was demonstrating why that given explanation couldn't be true.
With this rule in mind, I wonder if a textures / notes area would be a good feature to include in the web browser itself (including mobile browsers) ...
Type I and type II errors
24"'s

They are Dell 2412M's.
> The core component of the method seems to be search statistics for the name of each language followed by the word "programming," for example, "Java programming."

I don't believe I've ever searched for "[language] programming". Most of my programming-related searches don't even have the language's name on them, much less "programming". They're usually much more specific, like "guava base64" instead of "base64 encoding with guava for Java programming".
Question: How does your office look like [Microsoft's]
Answer: Because we [employed the same interior decorator].

Question: How does your office look?
Answer: It looks nice.

Question: What does your office look like?
Answer: It uses XYZ colour scheme and has lots of tables and chairs.

Question: What does your [ideal] office look like?
Answer: I wish it had....

[For background: I am not big into being pedantic about 'correct' grammar, but areas where small mistakes do create hours worth of confusion, sometimes magnitudes of effect more (particularly within global collaborative environments).]
Scientists need to be extraordinarily careful about this kind of vague, "might be", "coulda been" kind of speculation. Finding the "spark of life" would be amazing, but speculating about how it might have formed without actual evidence shows a lack of skepticism that runs counter to the whole ethos of science and ultimately undermines it. When the public sees scientists hoping and wishing that they can find the "spark of life," and raising up hands of praise when some vague suggestion of how it might have happened is proffered, they're bound to gain suspicions that this part of science, anyway, is nearer to a religion that a cold, surgical pursuit of verifiable truth.

If you don't see the handwaving speculative wishfulness of the article, note this sentence: "A related issue is that the reactions observed so far only go in one direction; from complex sugars to simpler molecules like pyruvate." Ah, so when you heat up sugars they decompose into simpler molecules? Amazing! Must have created life! God is dead; long live Nature! Praise be!
But isn't everyone's question "advanced"? Who's gonna self-identify as "novice"?
Yes, it's been frustrating to me as well: https://news.ycombinator.com/item?id=5032739. Just an unfortunate consequence of starting out as a prototype.
What do you mean by "nobody is actually on those sites"? It seems to have quite a bit of activity to me, with some quite detailed replies. It's not hundreds of posts a day, but high-quality posts appear at a rate of a few to a few dozen per day (depending on the day), which is about the right volume for a high S:N ratio community (good mailing lists tend to top out around there as well).
Looks like most other people in this thread got the picture. This is overly pedantic.
This is exactly wrong for the majority of systems. Your application is ephemeral. The data the application works with might last until after you're dead.
Why, oh why, is this on HN with 12 points? Is it tied to someone here? It just seems like your every day, run of the mill announcement.
Python App Deployment with Native Packages
They built Limbo just about the time Java got out. Limbo is a predecessor of Go and it's by far the language Go is closest to. Unfortunately Limbo (and Inferno) didn't have the success they hoped. It's really a shame.
A CSRF token doesn't have to be stored in memory on the server like these fnids, you only need a way to verify it like a secret for decoding it. This is a solved problem for many other servers so they could just look at some other implementation of CSRF, or start by getting rid of the many uses of fnid which are not required anyway (they are also used on GET requests).

I don't think they should try to serialise fnids, but just get rid of them completely. What state is required for a posted reply other than the three things outlined above + CSRF protection?
There is something I don't really understand. If the subsidiary said no, it would have followed the local law, the parent company can explain the order was refused by the subsidary with reason and it can't do anything more (the employees don't fall under the same juridiction), and technically everything would be OK.

Am I missing anything apart MS not wanting to piss the US government and throwing their subsidy under the bus instead ?
Really lovely view!
> It doesn't sound like you are a systems programmer

> it seems that you need to read about Rust

Please keep personal slights out of HN comments. This comment would be much better without the first and last sentences.
Verizon's mobile advertising will now use your desktop browsing habits
The non-alcoholic Erdinger Weissbier is probably the best non-alcoholic beer I've tasted.

You need to get "into" it a little before you realize it actually does taste like beer, except without the alcohol, and how much part of the flavour alcohol actually is (even with the relatively low 5% ABV that most beers are).

Also, and this may differ per regulations where you are, but many "non-alcoholic" beers do in fact contain up to 0.5% alcohol (including the Erdinger Weizener). So you'd have to drink 10 of them to feel the buzz of one normal beer, but I'd expect by that time you'd be feeling something else, over the buzz from a single beer :-P
It sounds like you're doing it. Blogging really helps. I also agree that exploring around the standard library, creating your own projects is a must.

Read code. Explore code. Pair program. See how others would solve a similar coding challenge.

I run a Python training course called Real Python (http://www.realpython.com) and that's exactly the question that we've been pondering. How do we take people to the next level? More importantly: Can we take people to the next level.

I'd love to talk more about this. Email me - michael (at) realpython (dot) com.
There is of course a big practical difference. Deniability is far easier if something the US government wants is outside the US. Searches in the US are, in practical terms, comprehensive - take everything that isn't nailed down, especially every electronic thing, never mind the wording of the IVth or the warrant. Having something outside the US naturally enforces the condition that the thing be described, and only that thing be produced.