skysight-inc/HackerNews huggingface dataset:
I'm not a company, but that said I'm using node.js in a few toy applications.

For example I have a HTTP-server in node that accepts POST requests and sends their bodies over to an XMPP server.

For a bigger project http://blogspam.net/ aims to classify blog-comments as spam/ham in real-time, and the entire server is written with node.js. (It really just receives JSON objects, scans them with a series of plugins, and sends back a reply saying "OK" or not. Conceptually simple.)

Finally my email stack is powered by node.js, handling 30ish virtual domains with recipient testing, and anti-spam at SMTP-time. This is built around Haraka, which is a reimplementation of the ideas found in qpsmtpd. (A server I once built a small company around.)

Generally I've chosen node because it was fast to get "a scalable server" up and running with. Both the blogspam service and the mail handler were initially perl, and both received 20-40% speedups for free (well if you don't factor in my developer time).
Calculus sucked more for me because here in Brazil the education system doesn't include it in the high-school curriculum, so unless you're on some top private school, you only first hear about "calculus" in college. In the USA and other places there's exposure to it prior to college, which I believe is sensible.

As a side note, I can't stress enough how bad the education system is in Brazil (in the sense of lack of structure, motivation, etc.), even at college level. Almost everything I know is self-taught (including English). I sometimes hear complaints about public school in the USA, and there's a meme that americans are "dumb", but it seems miles ahead to what I had access to.
These will only be visible for empty history thumbnails on new profiles for new users. There are example mockups here: https://twitter.com/clarkbw/status/433333066514198528
Integrals are the devil's handiwork. Derivatives are almost too easy, and then you get to Calc II and suddenly you're supposed to be able to do it inside out and backwards, with the help of all those dozens of identities you must now memorize. I went from an A+ in Calc I to a C- in Calc II.
The only thing that matters is what his contract contained in the way of the notice. "Two weeks notice" is quite obsolete these days, given how companies treat workers anymore. If it isn't in the contract, then to hell with that and any idea about "treating a company with respect" or some of the naive stuff people are commenting on. Respect runs both ways.

"Two weeks" was de rigueur when I started my career - but I am old and the social environment or relationship between capital and labor has changed dramatically in the 25 years I've been in IT. Companies will do whatever they can get away with, even if it might be illegal-ish, and especially if it is a badly run company run by jackasses. Apple... well, I would never take a paycut just to work at Apple; I understand his enthusiasm, and the chance to get "Apple" on your resume, but if the situation was as intolerable as he says, then I certainly wouldn't say "tough it out"

Also, the logic behind two weeks notice was that payroll, in the old days, was two weeks behind the time you've currently spent on the job. So you had to stick around for two weeks to let that catch up (and wrap up projects, transfer knowledge, etc). Logically, at this point, you'd take your unused vacation. That logic doesn't apply anymore - and also contract workers are different than full time employees, so the rules are different.

But he should have spoken to HR at least, or some other boss, if only to get it down on paper exactly why he was going to leave - at least to prevent them from claiming damages or such due to his unexpected departure.
Did you ever read Calculus Made Easy? If you just want to understand enough calculus to know why a thrown ball follows a parabola, that really isn't hard. The typical university course aims higher than that - it's trying to instill a way of thinking that's required to progress towards a third year course in Generalised Nonsense Theory. That way of thinking is quite unnatural, and makes the calculus course harder than it needs to be.
The point is that in every single topic you touch where there is a more modern way to do it, if you mention that modern way, you do it as an aside; instead of first showing the modern way of doing it, and then mentioning as an aside that there is an insane way of doing it.
Maybe I'm missing something, but you can do this with a type switch: http://play.golang.org/p/jF_bPQdwxk

It just depends on what you're trying to accomplish, but most use-cases can be accomplished without exceptions. The other use-cases often indicate bad design.

As for generics, you can get 90% of the way there with interfaces. The use of `interface{}`--while sometimes necessary--is often an indicator of bad design.

In large code bases, you often don't need (or care) to know what underlying type something is. For example, you shouldn't care whether an `io.Reader` is a TCP socket, file or completely in-memory ala `io.Pipe()`.

There are times when type assertions are the best/only way to get something done, and that's why they're there, but those cases should be relatively infrequent.

Generics would make some things easier (Rust's implementation is quite nice), but it's not significantly impacting my productivity, and I certainly wouldn't consider switching languages just because Go lacks them.

EDIT: Added info about generics
Thanks! Haha, yah... that's a fun story. So, this really big bank bought a wealth management company back in 2005 named Abacus, but post-acquisition had the domain redirect to their corporate domain. Presumably, they'd invested a lot in their brand already :)

So, we LinkedIn stalked a junior IT guy, worked our way up to an IT manager, who then passed us off to someone in legal that after 4 months of continuous follow-up agreed to sell it to us.
You're exactly right.

An alternate theme for this article might be: "What happens when a formal semanticist looks at Perl?"
We might look casual in those photos, but our ambition isn't small, and we're definitely not casual about security :)
This does not mean they care more than someone posting angry anti-nsa comments on reddit. It ain't gonna change a thing
Google teams up with comScore
From The Tramp to The Beatles to Flappy Bird
Advice from RailsConf organizers on talk proposals
That was excellent. One big part was that the kids agreed on the rules together, before they started using them.
We did the best we could, and tried to help on it as much as the law would allow. And still do. But one cannot simply volunteer to help the government do things, as the federal advisory committee act prohibits government from accepting free advice or work (you can infer why).

Not sure what you mean about fundraising though, as we don't raise money (we have received a grant for our operations from the Knight Foundation, but aren't looking to raise any VC money).
The core documentation is not always clear about the difference between lists and arrays--and much credit to the author for identifying the comma operator as an operator--but this is really confused:

By default, the arguments to a procedure are in the array context, which means that the comma operator expects both of its operands to be arrays. It promotes them to single-element arrays if they are scalars. In Perl, comma (,) can mean cons, append, flatten all at once.

I wrote an explanation of context in Perl which is hopefully clearer:

http://modernperlbooks.com/books/modern_perl/chapter_01.html...
I've been hacking around with DOBT's formbuilder.js, and they seem like a great team. Hope the new position suits you well!
Sure.. got a bunch of VMs&machines I can test from.

But first order you could just traceroute with Sixxs[0]. That way you will at least know if the icmp6 packets reach their target unharmed. Your router might still be blocking all incoming connections per default (which is probably a good idea for home networks).

[0]https://www.sixxs.net/tools/traceroute/
Thanks for posting. Next week, we'll launch two new courses, that complement two Coursera courses (one from Mine Cetinkayarundel on Data Analysis and Statistical Inference, and one from Eric Zivot on Computational Finance and Financial Econometrics).
Show HN: Flappy Block
This is so true.

I hated my life for years because I knew if I could have just been more disciplined, then I would have been free from all the horrible, mind numbing, soul crushing stuff I had to do at my corporate job.

It took me years to finally leap into self-employment.
Sure; drop me a mail and I can test from the UK if that's useful.

(Miredo tunnel here at home, or native IPv6 connectivity on my vps provider - Bytemark, in Manchester, UK.)

Though I'm just about to sleep so it'll be ten hours or so ;)
Maybe another take on the idea could be to allow anyone to join who could sign in a with a github account that had had at least one accepted pull request on any repository. Easily hacked I guess, but perhaps that would solve the "just Javascript" problem while still serving to boost the average level of tech cred of submitters/commenters.
Another narrative goes as follows: The world's major governments unlinked their currencies from gold because it proved inconvenient for their regressive redistribution activities - cronyism, military-industrial complex, propping up the banking system, etc (not saying it's a conspiracy, just a natural consequence of authoritarianism). Note that the US unlinked in 1970 and the last year that the GINI coefficient improved was 1973. FDR temporarily unlinked in 1933 and we had the great depression [1].

This narrative is consistent with 1000s of years of history, e.g. Diocletian cutting his gold dinars with silver [2] (and enforcing its fiat trade value), many many examples in small european fiefdoms prior to the dark ages, and again at the end of the renaissance.

At the end of all of these periods, the survivor was gold, because it kept its value and inflation proved to be unsustainable and extremely destabilizing to the society by propping up incompetent economic and political 'winners'.

[1]https://www.youtube.com/watch?v=JUvm9UgJBtg
[2]https://en.wikipedia.org/wiki/Diocletian#Currency_and_inflat...
> In Perl, there are three contexts in which an expression may be evaluated.

> 1. scalar

> 2. array

> 3. void

There's actually no such thing as "array context" in Perl; instead there's "list context". An array is a list that's been stored in a variable (this is a fairly common mistake).

See http://friedo.com/blog/2013/07/arrays-vs-lists-in-perl and http://perlmaven.com/scalar-and-list-context-in-perl for good examples/discussion.

EDIT:

Posted this before I finished the article. Understanding the difference between arrays and lists makes the following potential WTFs a lot clearer:

sub take_two_arrs (\@\@) {
print $_[0], $_[1] ;
}

take_two_arrs @a1, @b1 ; # prints ARRAY(0xAddr) ARRAY(0xAddr)

take_two_arrs ((1,2),(3,4)) ; # error: arrays must be named

The second doesn't work because the prototyped function takes array references, not lists. It would work if you called it like this:

take_two_arrs ([1,2],[3,4])

I'll admit that this is baffling.

sub what_are (++) {
print $_[0], " ", $_[1] ;
}

what_are ((1,2),(3,4)) # prints 2, then 4

(This is part of the reason that Perl programmers don't use prototypes very often.) perlsub warns:

> When using the + prototype, your function must check that the argument is of an acceptable type.

The plus here forces scalar context on the arguments, which are lists (not arrays!), so they return their last elements. This would work how the author probably wants if called like this:

what_are ([1,2],[3,4]); # prints ARRAY(0xAddr), ARRAY(0xAddr)
Apple keeps it very close to the chest, a lot like Google does with their algorithms. If people know what makes rankings rise and fall, they'll inevitably find a way to game the system. The only things I've seen that definitively affect rankings is downloads and ratings. Sales affect the top grossing rankings only.
for the busy: 1999
No, there aren't, but a lot of people are firmly convinced that there are. Feminism and "political correctness" and your alleged "angry emotional mobs" exist as a necessary backlash to the (historically overwhelmingly popular) idea that Man and Woman are as complimentary and irreconcilable as opposite poles of a magnet. These people don't just assert that "boys, on average, prefer trucks to dolls," but that boys shouldn't be allowed to play with dolls, or wear dresses, or cry, or like other boys. It's that gigantic, history-long engine of oppression that we're fighting against.

Yes, some people may occasionally take it too far in the other direction, as humans tend to do. Forcing a boy to play with dolls against his will is just as bad as forcing him not to. But that's nowhere near as large or widespread a problem as traditional gender-enforcement still is today.
Ashton Kutcher Tears Into Corrupt Regulatory Barriers to Businesses Like Uber
That is the obvious implementation workaround, and with such a 'canonical ID' software can do its own malleability-resistant transaction-tracking.

However, the hash over the malleable part is still protocol-significant: which exact incarnation of the isomorphic transaction is being passed around or cemented into blocks. So this new stable ID would be in addition to the older one, and might not even be necessarily expressed inside the protocol: it might just be a convention, and could vary across independent implementations.

The MTGox statement was a plea for the community to converge on such an consensus identifier before MtGox commits to a local fix. But that's not strictly technically necessary, so their stance looks like a strategy for blame-shifting and further delay. The Bitcoin core people don't like to rush into things.
They say you have to report requests in bands of 250, but do they specify that the phase of the bands must be zero? What if everyone phase shifted their bands so the actual number of reports was the minimum number of the band they reported? i.e. if you receive 10 requests, then the bands you use are -240 to 9, 10 to 259, 260 to 510, etc.
As I understand it, this is essentially the fix the exchanges need to implement. The exchange can generate a hash on the address, outputs and amount, and use that to confirm whether or not the money has been sent.
It seems to me that the issue with respect to the .well-known/browserid which he raises is itself an issue with the CA system; the assumptions are a) that the key serving the site is verified by a trusted CA and b) that the key is serving the correct file. In fact, it's quite possible that a trusted CA is compromised, and it's even possible that the key has been misled into serving (and authenticating) the wrong file.

In short, we're entrusting every single CA in the world with the login of every single user in the world.

That doesn't seem terribly good to me.

A better system, IMHO, would involve offline keys for each identity provider; these keys would each sign an online key (or online keys) which would be used to authenticate the users. Each relying party would have to make a decision on how to handle hitherto-unseen keys (TOFUPOP backed up by SSL is, while imperfect, no indefensible).

TOFUPOP would protect against bad-faith CAs, and offline long-term keys would enable key mobility. Note that with a properly-specified certificate calculus, the offline key could authorise its own backups...
The story is that generics for Go is an ongoing research project for the team. We are not going to put them into the language until we are sure that we have a satisfactory way of doing it and that the end result is a net win.
It's not entirely a marshmallow test and I disagree with your blanket categorization of it as such.

During elementary school, a friend and I got a hold of a Math review book meant for college-age folks who didn't really grok Math in High School. We enjoyed competing with each other in learning math, but it resulted in us going into 6th grade knowing everything we would be learning for the next three years. In Math alone. We were falling asleep in class, waking up at the end, and getting perfect-score-plus-bonus on every daily quiz.

We made the choice (not our parents, mind you) to try and skip a grade in Math alone. The school fought against us in this, and we eventually broke through, skipping two grades in math. Because our middle and high schools were next door to each other, we could walk across the street to take more advanced classes. The only downside was that I ran out of Math classes to take after my Sophomore year.

This isn't a brag. Far from it. All that this did was bring us into the level of math we were already prepared for, and which some private schools or wealthier schools already teach at that age-level, without skipping grades. I am grateful for the opportunity to not sit on my hands for two additional years, and to not be artificially disadvantaged by a system that moves too slow for the current standards of college preparation.

I have bumped up against the "Curse of the Gifted" in several places in life. I suspect I am hitting one right now in some aspects of how I produce software. But skipping two grades in lower-level Math was not one of them. In fact, it is now standard at my middle and high school, among the top students, to simply skip ahead at least one year in math. You end up with either more free time, more time for arts/personal pursuits, or more time to load up on AP sciences.

It is not a failed marshmallow test. It is a sign the curriculum is inadequate for the student's needs.
There's one problem with this, at least if you're using the official client: the Bitcoin APIs telling you what transactions you've sent and received don't tell you where the transactions came from, which is what you need to know in order to match them. Indeed, the only way it provides to uniquely identify the transaction is the transaction ID, which can change unexpectedly.
it's interesting how some software problems have garnered many really good solutions while others are still mired in stuff like this.

e.g. no matter what your preferred source control tool is I think we can all agree that there are some pretty good options out there these days. compare that to the insanity that prevails in packaging in every corner.
There's a decent explanation here:

http://www.codinghorror.com/blog/2007/12/the-danger-of-naive...

There's also a more complete story about the online poker exploit here:

http://www.cigital.com/papers/download/developer_gambling.ph...
> Centralized economic solutions work better for some things.

I could also say that 2 and 2 not always is 4. Please give concrete examples.
ChicagoVPS are terrible. If you Google ChicagoVPS the suggest searches are "ChicagoVPS down" and "ChicagoVPS hacked".

There's 10 million threads on Lowendtalk bitching about ChicagoVPS. Here's one from last year.
http://lowendtalk.com/discussion/7668/chicagovps-has-lost-th...
Is it a fact that the rating button was previously located where the Play button is? Or is this speculation? Has someone seen this supposed old version of the app?

It seems to me that a user tricked into going to the App Store is likely to leave a bad review.
Should the mission slide go before or after the up-and-to-the-right graph? :)

Joking aside, the last reason to have a mission is to get funding. The work is not worth the effort if it isn't meaningful. You are always optimizing for life, not money (although money is a part of life of course).
> I'm drawn towards groups that promise an intelligent gathering, but I'm frequently disappointed by what I find once I get there.

Maybe you're looking in the wrong place. I don't think groups promising intelligence are a great place to look for intelligence (unless that "promise" is just your supposition, and not their claim).

Either that, or you're looking for the wrong thing. I'm not sure what you're trying to find there, but I find most people purporting to be intellectuals really just want to spew opinions and not be interrupted.

I enjoy the company of people with passion, more than I do that of "smart" people. Passionate people are experts at something, and they have something to teach me.
Tiny motors controlled inside human cell
Bing practicing Chinese censorship globally
Yes, most will not say that they are for equal rights of men as well. But some have found that a lot of that is just lip service at best.

> I hate that the label itself is gendered and I wish it would be changed, but the principles of "feminism" include "Men's Rights". Breaking "Men's Rights" out as a separate topic only muddies the waters, dilutes the efforts for the same goals, and introduces a divide that shouldn't be there in the first place!

In my opinion and based on my own readings, I think that feminists want to maintain a monopoly on philosophy of gender equality. Yes, I said philosophy; feminism is an ideology. And while there is nothing wrong about ideologies, there can be many ideologies about the same subject. Thankfully for feminists, though, ideologies about gender can be divided into:

- Different feminist paradigms
- Sexists and homophobes

At least as far as most people are concerned. But maybe somebody wants to create a new philosophy of gender, a philosophy that might be in part mutually exclusive w.r.t some feminist "dogmas"? Well, great; now the feminists can readily shoot down these ideologies because they are "sexist", merely because of the fact that some of their views oppose some of the common feminist views. Hey, if it's not feminism, or it contradicts some feminist viewpoints, then it surely must be sexist, since feminism is the perfect incarnation of egalitarianism... right?

It isn't surprising that some women want to have a wider forum for discussing things that pertain to women in particular (that is; people that identify as women). Gender equality or not, most women probably have experiences that are different from men in some regards, and vice versa. So how about men have something like a Men's Right's movement, or whatever you want to call it? Nope, they say; we already have this thing called feminism. You shouldn't need anything else. OK, so say you give up on having a male community, even though women can have their own female communities, and try to assimilate into some feminist community. Now you have to just hope that they accept you as an equal, not just as a male ally.

But yeah, feminism is all you'd ever need. A real swiss knife for tackling anything related to gender...
One long-term project I've been working on (very off and on) is something like the chumby dashboard app system but for apps written in Go that can run on actual old chumby devices (or really any similar ARM device such as RaspPi, etc). Basically you'd end up with a bunch of mini apps that you rotate through with each app doing random things, like providing a clock display, or a short photo slideshow, or whatever.

Ideally the running apps would be sandboxed so they could be served from potentially untrusted sources and not do damage to the underlying OS or cause problems or privacy issues with other little apps that would rotate through running, so a framework like the one used as the basis for the Go playground would be ideal.

This is admittedly a very niche need and can be tackled by other OS-level sandboxing techniques (though at that level the support offered by different combinations of embedded Linux ARM ports and/or ARM CPUs makes things more complicated), but NaCL support in Go/ARM would be very convenient here.

This project aside, though, there were lots of listed plans for Go 1.3 in the presentation that I would prioritize way over ARM/NaCl.
I hope a Canadian Datacenter (preferably westcoast) is in the cards soon!