skysight-inc/HackerNews huggingface dataset:
Hi Mike,

I replied via email to you as well, but it's worth stating the same publicly for the record, and so others know.

There are really two cases we need to handle here when a user wants to delete his/her account:

1) the user knows his/her Inky user id and password
2) the user doesn't know one or the other of these

In the first case, we can give users the ability to permanently delete their accounts by adding a control in the settings panel. We haven't done this yet, simply because it's dangerous, and we want to make sure we get it right (both in implementation and design) so users don't accidentally delete their accounts — or worse, introduce bugs where Inky corrupts our database and deletes or damages some else's account. We'll put this capability in at some point; we just haven't done it yet. (We were not really intending to launch yet; that sort of happened without our expecting it, because we got a bunch of press that we weren't looking for yet — which is good in some ways, but bad for things like this where we frankly aren't quite ready.)

The second case is trickier. If the user doesn't know his/her Inky user id or password, we have the security issue of needing to verify the person's identity when they ask us to delete the account. Ultimately we'd like to use two-factor authentication for this, but that costs money (for the associated text messages to/from the user's phone) and involves some implementation work as well.

In either case, we could try to manually modify our database and remove the user's account. But we don't have a process around this yet, and my worry is that it could potentially damage the database when someone makes a mistake.

What we're telling users now is that if you remove all your email accounts, you leave a shell Inky account that has no sensitive information left in. Our hope is that this is sufficient until we figure out the right long term solutions here. (Note, too, that we can't reset your account password if you forget it, because it's encrypted with your Inky login password, which, by design, we can't get access to.)

We know this isn't ideal, and we're going to work on fixing it. But we're really not trying to be nefarious here. In fact, unlike virtually all other companies offering consumer internet communications tools, we've made privacy and security one of our three primary principles — it's part of the "safe" in our "smart, simple, safe" motto.

EDIT: we'll make this a FAQ on our site as well.
USE FAMO.US
The average age for COBOL doesn't seem right. I would expect it to be higher.
I wonder if that's because there are lots of younger folks who have to maintain old COBOL projects, and are looking for help on SO.
Well said @huhtenberg we certainly hope to serve your lazy ass ;)

We do remote control sockets today. Not elegant but at $10-15 a piece best priced laziness available.

We are cooking up something for IR controlled heating/cooling.
> The frequency and intensity of extreme weather incidents is on an upward (and exponential) track.

I am not one who claims there is no evidence for climate change (I would point to this year's record arctic ice minimum, for instance) but I remain unconvinced that this is true. For example, there is absolutely no positive trend in US F3+ tornadoes[1], or in major US hurricane strikes per decade[2]. I know that's just the US, although the US does have the most tornadoes, but those are just two examples of things that seem like they're becoming more frequent/intense but actually aren't - not even linearly over the past century, much less exponentially.

[1]http://www1.ncdc.noaa.gov/pub/data/cmb/images/tornado/clim/E...
[2]http://www.nhc.noaa.gov/pastdec.shtml
Sandy was a big deal was because it landed in a highly overdeveloped area that should not have houses. Building your residence on a sandbar (or on a flood plane or below sea level or under an active volcano) is not exactly the brightest long term thinking.

While global warming is going to make weather more unpredictable, hubris will always be the leading cause of damage.
I was really skeptical of this article, but turns out that this is actually a really interesting list. A lot of them are still up-in-the-air as far as end-results and I'd expect at least a couple of them to fall through in the end, but still a really neat collection.
This is nothing more than the reinvention of Roman confession; the fallacy that you're operating in the guise of secrecy when in fact everyone who could ruin you is listening.
It's more complicated than that. Please see my comments on security elsewhere in the thread. We store a password verifier object -- that's akin to a secure hash, but our authentication model offers better guarantees about protection from man-in-the-middle attacks.
I don't care about the signal towers or how old the system is. The point is that the technology for identifying the location and speed of a few hundred giant hunks of metal moving around on fixed tracks is trivial and does not need to interact with the old system (or humans) at all. Just tag each train with a few RFID's, and stick in a few hundred miles of wiring into the tunnels.

I mean, are you telling me for a 100 million dollars this couldn't be done?
http://www.cic.gc.ca/english/work/special-business.asp

"Business visitors

A business visitor is someone who comes to Canada to engage in international business activities without directly entering the Canadian labour market. Business visitors usually stay in Canada for a few days or a few weeks but are able to stay for up to 6 months. A business visitor is a separate category with separate requirements. Business visitors do not require a work permit. For more information, see information for business visitors."

That might work as a freelancer.

And this wording is interesting:

"Business people covered by NAFTA do not need a labour market opinion (LMO) from Human Resources and Skills Development Canada (HRSDC). This means that Canadian employers do not need to have a job offer approved by HRSDC to hire an American or a Mexican business person, as set out in NAFTA."

I am not a lawyer and definitely not particularly familiar with Canadian law. Just found this page that seemed that it might have some answers to part of your question.

Frank
When you get over the learning curve, which is quite large, the mess doesn't exist. I've never seen an issue with hibernate which isn't caused by poor understanding. You really do have to know your shit before you start - you can't just waltz in django-style and write code. You have to think about session management strategies and architecture.
I can only say that, as a matter of company culture, we are committed to being trustworthy. That's the part of the rationale for "safe" in our "smart, simple, safe" motto. We hope to earn your trust over the coming months.
I have never (in twenty years) seen a non-trivial database that is solely accessed by a single application. Given the ORM anti-pattern, many of these databases had no constraints ("we'll do it in the model!") or had only partially defined schema ("it's faster when we don't have to migrate!"), meaning that anyone who just wanted the data had to either load all the application garbage, or reverse engineer the schema.

If you start with your tables, and let the database engine do its job (of course, this is predicated on using a database and not, say, MySQL), querying data becomes a one-banana operation. Of course, there are downsides to this approach, but at scale, all quick and dirty hacks become nightmarish tarasques. DO FEWER HACKS.
Programming is about learning enough about a problem domain to model it with code. My last job involved women's fashion, which I (and my unfashionable male coworkers) don't give a crap about. My current job involves delivering local news to middle aged female suburbanites, which I (and most of my brooklyn hipster colleagues) are similarly uninterested in.

My lack of interest in school closings in long island doesn't prevent me from making postgres reject articles without a title.

If a developer can't ask questions and figure out enough about football to model the data reasonably well, he/she is a solid NO HIRE.

(I'm also curious what you mean by "gender and ethnicity biases". Are hispanics/women incapable of understanding sports or something?)
The Return of the Stylus
Evil is a BS theological notion. I wish people would stop perpetuating it.

People act. Sometimes they do things that hurt other people.

But they are not "evil". Including serial killers: they can be mentally ill (physiologically), or have severe psychological problems because of childhood abuse and such.

Hitler, for example, was the elected leader of a huge country, with a grassroots following for years. Millions of people agreed with his actions, and thousands in upper echelons helped him execute his ideas. From the persecution of the Jews to the invasion to other countries, all of those ideas were quite popular in German thinking and public dialogue for decades before Hitler. It's not as if he was some evil creature emerged from nowhere and fooled everybody.

More to the point, nobody calls the leaders of the allies evil, despite they having done equally abominable actions, like killing 250.000 civillians (men, women, elderly, children, babies, kittens et al) with two nuclear bombs, or bombing hundreds of thousands of civillians in Dresden to shreds. But they are not called "evil", because they were on "our" side, and because they won and so official history (never far away from state sponsoring) accepted their justifications.

How about the bloodshed that was the colonial era? European powers killed, enslaved and exploited a BILLION people, in their countries that they invaded and conquerer. Were they "evil"? That would make every leader of those countries at the time to be equal to Hitler * 10.

Not to mention socially established wrong-doing, like people in the South having millions of blacks as slaves, abducted from their villages in Africa. Were the thousands of South slave owners "evil"?

Stalin and Mao are another kind of thing. Their rule led to millions of deaths, but it's not like they enjoyed killing people (as is probably the understanding of naive people calling them 'evil'). Part of the massacres were result of the inevitable power plays in huge countries with hundreds of millions population under a revolution (or regime change) -- the same way that 50.000 people were executed in the French Revolution.
I am excluding the compiler. Yes it should be limited.
In other words, classes are a namespacing mechanism.
One possibility is that Facebook stops existing. Now, I won't speculate what the probability is or isn't - but none the less, it's a possiblity.

On the other hand, there's also possiblities such as; Facebook losing or deleting the content, Bram Cohen deleting the content or his account.
"No bare selectors may occur in the LESS rules."

I don't like this. It would require me to come up with a name for every single element I would like to style.
apart from all the other comments here, you seem to be confusing natural and surrogate keys. the "identity" of the quote (the quote number) is a natural key. the "identity" of the quotelines table is a surrogate key - the equivalent in the class model would be the address of an instance (the thing to which the pointer in the quote points).

there's nothing significant in the class model only having the one identity; it's just a natural consequence of what's implicit and explicit in the two technologies.
Enlighten me then, when was golden age of human history then in your opinion?

I have a problem with you new age romantics, bitching about issues of current civilization without providing alternatives or even realizing what "reversing" current state of affairs would really mean.
"development for development's sake"? Development doesn't happen for its own sake. It's about improving the quality of human life and alleviating suffering. If you had to carry water a few miles each day, or gather firewood to keep you warm in the winter or were infected by tuberculosis, you might welcome a little development.

And sure, with great power comes great responsibility. But we've managed to avoid catastrophe so far, and with a global population of 7 billion, we're further from extinction than ever. This is truly a golden age.
You're getting a little emotional, I guess.

> If you're having 3 different codes reading the same DB you're doing something wrong

Consider your average web app where the database is manipulated by a public-facing app, an API and a background worker, possibly written in different languages by different companies.

> non existing value in Mongo may be a NULL in SQL

An empty value is a lot healthier in any code than an undefined variable/key to reference, isn't it? In NoSQL you have three states: non-existing, NULL or set. There are no guarantees which one a specific value will be in. SQL promises the value will not be missing, and it can ensure it is not left to NULL either.

> you can't go to the grocery store by plane.

Maybe maintaining databases in production is not about `visiting the grocery store by plane' in the first place. When the system has built-in guarantees, of course you'll move slower, and that is rarely a bad thing in production.
Let me weigh in with my experience with msgpack. I'm a long-time nodejs core contributor and have been designing browser libraries for many years. I discovered msgpack almost three years ago and was sad at the lack of javascript support.

Since then I've written and maintain a javascript codec with two optimized versions. One is for [node.js][] and uses node's Buffer methods to do the fast byte to number conversions. The other is for the [browser][] using typed arrays.

I use these libraries in production at various places (the cloud9 IDE backend used them to great effect)

While the native JSON.parse and JSON.stringify is slightly faster than mine with string heavy payloads (and the msgpack is only marginally smaller in that case anyway), when the data is array and number heavy, my codec is much faster than JSON and the data on the wire is a lot smaller.

Also don't underestimate the value of having a binary data type. In my libraries, I extended the format slightly to also encode undefined (as well as null). I also have a string type and a buffer type. In node.js the buffer type is a instance of a node Buffer. In the browser, the buffer is an ArrayBuffer instance (typed array type). So the practical effect is if you put a JS string in, it's encoded as UTF-8 on the wire and comes out the other end as a JS string. If you put a binary buffer in, it comes out the other end as a buffer.

I've contacted the authors of some of the other codecs and when they extend the format, we agree to extend in compatible ways.

My biggest production use of msgpack was as the transport format of my [smith][] rpc system. In smith, an rpc call is done as an array. The first value is the function to call, and the rest are the args. If you're calling an anonymous function, then the identifier is a number. In this usage, the payload tends to be array and number heavy and thus very fast and efficient.

(Edited to add in missing links)

[node.js]: https://github.com/creationix/msgpack-js
[browser]: https://github.com/creationix/msgpack-js-browser
[smith]: https://github.com/c9/smith
Top most promising Estonian startups for 2013 selected
>Why does facebook make you hate people you know?

When you go to a party or social gathering, you expect that you will need to behave in a social way. Because you expect it, you are not harmed by this in any way and you open your arms and ideas to those around you.

Facebook hits you in the face every second with every flaw of a person. You see a father torn down by his daughter. You see a friend cheating or being too flirty with a married so-and-so... etc.

The party is temporary. Facebook lingers. "Fish and house guests stink after three days," and on Facebook everyone is always hanging around. They never leave!
Brain Anatomy and the Difficulty of Writing
This made me think about procedurally generated / data feed based game music.. how about never ending background music that's never (almost) the same than before?
You can talk to protobufs without code generation. I'd implement something zeromq style instead however with a higher level payload abstraction I.e. BSON.

Lex, yacc and antlr are pretty primitive tools to be honest. Ive written NFA->DFA parser engines which have no code generation step. The parser state and model are just data as per any other piece of functionality. To boot, they are safer than the numerous holes that bison etc leave open through their templating approach.

I've written a couple of fairly extensive compilers so please don't assume I'm ignorant of the problem domain.
Aspects of Building a Node.js Application
The causes of the problem as I see it.

1. A female who is a geek doubles her hotness to other geeks.
2. The guys in question are in the US, which has a shortage of hot women (which is hotly debated) and an even bigger shortage of geeks in general, and therefore of women who are also geeks.
Venture Capital 2012: A Year in Review
Note that this is not just a statistic of people using COBOL, it is a statistic of people having questions about COBOL and asking them on SO.
It's not only about being able to serve lots of users. It's also about availability and geographical distribution. Even if you don't have millions of users, they will gladly benefit from you being split across several datacenters (serve everyone's requests from a location near to them).
That was what I was looking for - php and node.js seem most popular with younger people, but not by much. What is surprising is that game development is much more popular with younger people than web development.
By my definition, I'd avoid it. The pitfalls, additional abstraction and debugging complexity just aren't worth it.
It's cool, although you could have easily done without saying that yours is more interesting.
> When and if you need it, you can basically make your own type system, tailored to your application.

When you do decide you need to think about and enforce types though, it helps a lot to have a clean, well-thought-out formally-specified framework to do this in. I hear there's some work on an optional type system for Clojure which might help with this.

Brings to mind the flip-side of that old chestnut about any sufficiently complicated C program containing an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

Any sufficiently complicated Lisp program contains an ad hoc, informally-specified, bug-ridden, slow implementation of a type system...
Does Your Startup Work Hard But Not Gain Momentum?
I tested under native, but you raise an important point—IIRC I was testing with FreeBSD 7.1, and seeing as 9.0 is out it's definitely worth a retest.
I moved from San Francisco to Toronto this year. My move was very easy because my new employer sponsored me for a work visa, but my understanding is that it is fairly straightforward process even without an employer.
Can the French civilize Twitter? Should they try?
Check Out The Six Top Smartphones Of Year 2012
What if the application doesn't require consistency or enforces it itself? Don't write consistency off straight away as a requirement. Look at how banks work for an example.

As for security, that belongs in your application layer/domain model or facade if you have one, not inside your storage engine. It won't scale in there.
Please fix your website so there aren't things moving in the background while I try to read what appeared to be some well-written text. I lasted about 5 seconds, and it's a shame.
Relational systems use multiple indexes for queries, though I'm not aware of an implementation that uses multiple indexes for a single table.

Remembering that a query in Mongo is basically a query on a single table it's acting in the same way a relational db does - ie, check statistics, choose best index, perform lookups.
UK.gov: Don’t trust us with your ID? It’s off to private sector
In Praise of Dangerous Toys
A WebRTC library (clientside JS and NodeJS server) for developing P2P Web Apps
How is it binary unfriendly? It's designed to be super easy to parse using C. The lengths and types are in the first byte(s) and most conversions can be done using typecasts. And as far as human readable binary format, it's not that bad. I can usually read a hex dump of msgpack if I've been working with it all day.
So you can be objectively 'ill' but not 'evil'? Sounds like you're handling your own pile of BS. 'severe psychological problems' that cause people to deeply hurt others for their own happiness is within spitting distance of a definition of evil.

Also I'm not going to get deep into your halfassed retelling of history but (per capita) genocide is worse than murder is worse than bombing cities is worse than bombing armies is worse than enslaving people is worse than exploiting people. So stop trying to fucking godwin with incomparable numbers. Some of those people were evil but I am not going to go point-by-point with that mess.
The article addresses some valid issues, but tackles some of them in a manner which is likely to affect maintenance in a different, and not always positive, way.

The article illustrates LESS and Sass in a sort of magic bullet fashion, but the reality is that such pre-processors are likely to cause many side effects and unwanted behaviour when coming back to maintain a site when used in the fashion suggested.

The author complains about the cascade and such issues, instead of embracing those same features and utilising them to their power.

I've written an article covering methods for writing scalable CSS utilising the cascade, preprocessors, and practices I have found invaluable in assisting with scalable sites / apps:

http://themousepotatowebsite.co.za/simple-methods-for-writin...
Paranoid much? I'm about as anti-facebook as it gets and this post strikes me as way over the top.

Simply install ghostery and adblock, delete your fb account and call it a day.

Facebook will not be selling of the information he suggests they've got on you to insurance companies within 5 years. Not of they want to continue to exist in some form.

You can't tell whether someone is an alcoholic by looking at their pictures, most alcoholics are pretty quiet about it and manage to get away with it for decades right under the noses of friends and family (son of an ex (deceased) alcoholic here).

Facebook won't know you're sick before you and your doctor know about it. Doctors have a hard enough time to figure out what you've got and if you've got something when you're in front of them.

Facebook does not know how many sexual parters you've had, most spouses don't even know how many sexual partners their significant other has had (I'll give you that they might think they know).

They couldn't care less about your menstrual cycle, assuming they could detect that you have one.

In fact, facebook finds it next to impossible to get rid of fake accounts, can't deal with real names, has to accept pseudonyms (thanks .de!) and so on.
The best choice always depends on your data and the quality of the implementations for the language you use. We tested many serializers recently for our backend (Perl, but we wanted something more open to other languages than Storable) and found msgpack slightly faster and 20-25% smaller than JSON at encoding, but only half as fast at decoding, so we chose JSON.

The most surprising result was that JSON was 2x (decoding) to 3x (encoding) faster than Storable. The downside is that it sets the utf-8 flag ...
Is Sugar the Next Tobacco?
Do show them sockets. A photo/render and a spec if you have them.

The IR controlled heating/cooling ... IR? How is that supposed to work?
To be fair, the created 8 minute ago makes sense if his account was banned.