skysight-inc/HackerNews huggingface dataset:
Here's a link about harvesting likes from private messages:
http://blogs.wsj.com/digits/2012/10/03/how-private-are-your-...

and subsequently a class action suit was brought against them over it:
https://gigaom.com/2014/01/02/facebook-reads-private-message...

another suit brought over false likes:
https://gigaom.com/2014/01/10/facebook-hit-with-lawsuit-over...

facebook recycling "likes" under guise of promoting "related stories" users didn't endorse:
http://www.forbes.com/sites/anthonykosner/2013/01/21/faceboo...

The autofriending thing is less publicized and I don't think they've ever been sued over it, so it probably hasn't been in the headlines. If you search Facebook's /help/community/ pages, you'll find a lot of users reporting it. It's happened to me. It's happened to my wife. I've had friends tell me similar stories. In every case, it seems like something algorithmic, like Facebook thinks the person is someone you should be friends with because of mutual connections or something like that. It isn't a spammy thing as much as it is...creepy, like you, as a user, don't have your own agency. It's weird and off putting to see an accepted friend request you didn't make, from someone you expressly don't want to have any contact whatsoever with, let alone be "friends."
It's just a bluetooth keyboard. And if it has, say, an ARM controller, then it likely has about 10 times more processing power than the 4Mhz Z80 ZX-Spectrum had.

It's comical that you need an additional iOS/Android device with about 1000 times the computing power of the Spectrum to run games with a keyboard that's (likely) 10 times more powerful than the original thing.
This has been posted before. A moderator might want to add (2012) to the title.
Any specifics for the unoriented?
NoSql, startups and validation
Follow your bliss...to the poorhouse.

Not all work is created equal. What we have in reality is an information space where allocation is firmly in the center (financial industry at the center of the overall economy; IT at the center of each and every business). People who make a living allocating money are happy people because they literally do nothing but pick from their options. And yet somehow these pickers (investors, bankers, executives) are some of the best remunerated people in our society. Note that the startup scene itself is just a high risk/reward set of options from which those same people get to pick.

(The crazy thing is that in a growing economy the "allocation class" domination is self-reinforcing because it's impossible to pick wrong.)

Meanwhile as children we're taught "follow your passion" and exposed to arts, crafts, stories, and other things that have nothing to do with allocation. Meanwhile the allocation class is dominated by a social structure defined primarily by college admission boards. "Legacy" students have an edge, this implies that our brand of capitalism is at least loosely hereditary. They are offered jobs on graduation that most of the nation doesn't even know exist.
I was a bit resentful of the ideas behind urban design and architecture, then two weeks ago I found this on imgur (http://imgur.com/gallery/4FuyX/comment/373343373):

http://www.youtube.com/watch?v=4AYE3w5TWHs (skip to the second half)

It seems a creative, yet more balanced environmentally and humanly, way to conceive buildings (and in the large, cities).
Developer Tools for Startups
> that because men are hard wired to protect that area

It amazes me how fast my body can respond to a nut shot whereas I can't even catch half the time. Anytime someone's gone for my groin, (and it's only ever been women) my thigh has moved to deflect the foot/knee without my even noticing.
Switching to the mobile version s/www/m/ also does the trick
It looks like it is there to stay.

The reporter claims they were ripped out hours after he asked the USPS LE arm about them.
I have these on display at my desk. I've always wanted to know how to encourage cultural adoption? What are the arguments against these rules? There must be some.

My reasoning about these rules is that they derive from the idea that as teams of programmers, we're professionally motivated (and being paid) to produce the highest possible quality results. To that end, these rules compensate for human biases and faults to maximize quality.

Many of the practices you've read about some companies enforcing, such as "there are no bad ideas" or "no stupid questions" can be related back to these rules under the same reasoning. None of us do a perfect job of compensating for our human faults and biases, so some rules help to improve our performance.

My dad also passed away very early, soon after I finished college, and I credit him for making these rules so easy to follow.
Very amusing to re-read after a long time.

But still I haven't done with frameworks, mostly because when I build a house and I have nothing to start with, I could very well use a factory factory factory, which could provide me with factories, than to run to a shop every time I need something.

Say for example, what I need is a url routing system, I could very well use a routing framework than to write one myself. A user authentication system is such a common task that I'd rather generate one with a factory than to run myself to a shop to buy one.

Frameworks have their place in my toolkit. Using them only at the right time with the right purpose is what will make the difference.
Shoot the rocks beside the glacier?
It was cheap and had Jay Miner's chips in it. It was my road to programming, but I do agree, typing was a major hassle. I later had some problems with my fingertips.
Nice joke site, I like it!

Couple comments on improvements:

The '404' img src is relative so it does not work deeper than the top level. Example: http://status.pizza/broken/404

It would also be cool if someone savvy enough to find http://status.pizza/images/ could just get a directory index and look through them all at their leisure.
That's how plan9 does it. Ssl is a wrapper around whatever connection.
One reason is of your very slow FPGA is slower than the very slow FPGA programmed to be conventional hardware.

If that happened, I would figure out why before spending $$ on that ASIC.
The best part of this list is that with some tweaks, the commandments can pretty much apply to any field of personal and professional pursuit.

One rule I might add (and one that is also easy to apply elsewhere): Remember that far more time will be spent reading your code than writing it.

Grokking this not only has practical implications for how you write code (suddenly, the importance of style guides becomes clearer), but it makes you realize that this is how projects get built: programmers re-using libraries that contain encapsulated, clear functionality. Realizing that someone has to read your code -- even if that someone is mostly just you -- requires a modicum of empathy...and more often than not, this aids in the design process.

A common complaint about learning via something like Codecademy is that you might learn the syntax and how to solve problems...but you don't get much guidance on how to apply that knowledge to real projects. I think part of this is because with Codecademy, you're only writing code for the auto-checker to compile and test. Once you start writing code for humans to comprehend and re-use, it becomes easier to see how code becomes a real-world project.
REAL Grey Alien Caught on Tape in Swamp
At least it is an often beautiful cemetery.
That's a really neat hack, love it.
I did enjoy HPMOR, but there's many reasons why people wouldn't.

Take one in common with the Harry Potter franchise — consider that "J.K." Rowling's publisher asked her to hide her gender. [1] Obviously there's many absurdities in such a system. Unicorns and horcruxes are perfectly fine — but god forbid you have a lead character who's (say) a black girl. Whites and males can't be expected to empathize with her!

I can enjoy a product while acutely aware of such things, since our backwards culture leaves little else to conveniently enjoy otherwise. But decided not to go to the local Wrap Party, given: the sort of people most likely to know about HPMOR, lesswrong.com posts, and what I researched of the local organizers. Better things to do with my day.

[1] http://www.harrypotterspage.com/2010/10/03/transcript-of-opr...
Unless you've a nozzle on your knob, you won't achieve the laminar flow required to have an uninterrupted stream to carry the electricity from electrode to knob.

QED via Mythbusters
> One optimization that's been lost to history is optimizing subscript checking.

Depends upon how you look at it. Most JIT compilers do this.
Hard work is the foundation of success. The best people I know are all hard workers. They love their jobs, they are competitive, and they work hard.

It is a privilege to be able to work in such an environment as it is so rare.
My only strategy to working is just to sit there and fucking work. It's not very difficult. You sort of just tell yourself you're going to do something and then you do it. Boom, saved this entire community a blog post.
Seriously, it's uncanny.
While I think the line you were fed about its premise was incorrect, I don't think you read as far as chapter 28, did you?

The thing is... HPMOR isn't about the scientific method. It's about rationality. It's not a story about distilling a universal theory of magic or triumphing over death; it's a story about a kid who's had a rationalist education fumbling his way through a world that refuses to actually make sense.
Note that because of the Mill's unique architecture... if given the choice between a thread-based model and a fiber-based model, you should probably use the Fiber One.
Usually have a ballpoint on me too. Gets awkward when I don't. There must be a socially-acceptable way out of that corner...
Quite. "Why Information Goods and Markets are a Poor Match"

https://www.reddit.com/r/dredmorbius/comments/2vm2da/why_inf...

BTW, your droplr link is 404.

And ... Grasswire would be a _lot_ more compelling if it didn't throw up a registration roadblock.
interesting given FB keeps chat history forever
Too bad they don't explain how it works. True real time jamming is impossible, but you can jam in pseudo real time by delaying everyone's audio by an entire measure. It's been done before by Justin Frankel: http://www.cockos.com/ninjam/. Actually I've always had dreams of recreating it as a web app... would be cool if that's what they did here.
10-15 years ago it was Microsoft.

Except the were called "columns" back then.
I was just reading about gumbo parser yesterday! h/t @nostrademons

Very nice hack... its just fun to do something like this.

Reminds me when I used to fiddle w/ "phreaking" when it was really easy. I didn't think about ethical implications - just got a really big thrill when I got a free call.
I got to the end and I think he doesn't actually get better than what you see there :)
I once read a story about tunneling IP over DNS.
Something about free Internet/DNS for Microsoft-Update.
But I can't find it.
> It is in the sense that they couldn't get compilers that produced good enough code for it (well, they could, just not compilers that ran fast).

Can you elaborate on that? My last update is from 2002, from an Intel guy who was working on it and said they couldn't. I was under the impression that no much has changed since - but perhaps I am wrong? (and perhaps I misunderstood him in 2002)?
I'll be happy as long as the Mill CPU can grind through a lot of computational kernels quickly.
I made a bookmarklet that allows text selection on most websites which prevent it. Please give it a try: https://alanhogan.com/code/text-selection-bookmarklet
You are thinking of iodine.

http://code.kryo.se/iodine/
Instead of "common sense", it's more like "popular opinion". Reason, logic, and sensibility all remain the same regardless.
Well, Harry did stop giving mini-lectures on rationalist concepts. :P At least, out loud.
He put at least qmail in the public domain in 2007.

https://lwn.net/Articles/260481/

Further explained at http://cr.yp.to/publicdomain.html which IIRC has been linked many times here.
A brief history of rhyme in rap
Is there evidence that the migration to Wikidata is half-hearted? This was just announced in December.

Not sure this is evidence of a "sad demise". Wikidata is non-commercial project managed by a foundation. Freebase/Metaweb was always a commercial project. Seems like this is a move towards openness if anything.

Full Freebase data dumps have long been available.

https://developers.google.com/freebase/data
I don't know the details, because I don't use the Facebook mobile app or an iPhone, but the feature is advertised as "opt-in." In my wife's case (who uses an Android) she just noticed it start working one day and was surprised by it.

This is the official announcement of the feature. They emphasize it being "optional" and "opt-in" so, it appears it is off by default, and/or at least toggling that control is more clearly delineated in iOS, etc.

http://newsroom.fb.com/news/2014/05/a-new-optional-way-to-sh...
I wonder if they have any flood protection...

Also HTTPS packets should be quite safe.
The linked article has been posted before, I can't find the old HN thread.. But it was certainly worth a re-read :)

I wonder has scalyr reached their expected 100GB/s yet?
Candidoza vaginala TRATAMENTE NATURISTE
Weekly sprint planning. 30 min over Monday lunch.

I'm happy to eat on company time if you like, but if I'm working it doesn't come out of my lunch break :)
Yes! While this seems like one neat and creative hack, DNS tunneling can be used much more broadly: ever stumbled upon "public" hot-spot needing login/payment for actual Internet access? Practically all of them still provide unrestricted DNS access, which is all you need to tunnel anything you want over it (as pointed out: iodine is your best friend).
It was what your comment implied to me - that is some one with a low level of English reading comprehension who needs short simple sentence structure.
I've been wondering if something like this could be helpful to breach the great firewall.

Find some high traffic site in China and smuggle in content via various site features such as chat, messaging, forums, etc.

The content could be obfuscated to appear benign while embedding hidden data in text, images, or binary attachments.
Hard work is one foundation of success that most successful people exhibit. However, I think we can agree that it's possible to be successful without working hard (let's stick to one definition of success: monetary) and it's possible to unsuccessful while working hard. The fact that the "best" people you know are all hard workers is selection bias at work: the people you're classifying as "best" are people who are already "successful" enough to be in your group of people.
It seems to me this list, while having positive ideas, reeks of condescendence. it's mostly about how you are "much better than everybody, that's why you have to play cool with everybody"

What is missing is a healthy dose of "why do you think your ideas are better than everybody else's?"

Readability is mostly subjective. Code quality, maintainability, etc, are mostly subjective as well.

So don't give me that BS "I'm just trying to get the best code possible" when it's your opinion

Sure, I'm not saying that something like xx = strinvcatpfr(yy * zky_eng) can't be improved, but beyond a certain point it's mostly about taste and endless nitpicking
Which is also smart.
So, this didn't work. Signed up. No tweet.
I agree, but I think "with a clear vision" is the rub here. That is possibly the real impediment in all these cases.
Happy Pi Second of the Century - Catch It Again at 9:26:53 PM
There have been many different VMs implemented on top of JavaScript VM, and it is to be able to run codes written in different languages on JavaScript VM without porting effort. It is useful since there are systems only running JavaScript programs, such as web browsers. I guess the purpose of this project may be justified similarly as Go started off from frustration with JavaScript and Go enthusiasts are dreaming that it would replace JavaScript (or get a spot in every browser) in the future.
The official homepage is here http://thecapitalcairo.com/index.html
Yes, it does. It's called Gemnasium.
https://en.wikipedia.org/wiki/General_Mills
> Critique code instead of people – be kind to the coder, not to the code

A fellow co-worker taught me by example to try to always phrase each code review comment as a question.

Instead of

> This loop never terminates

Write

> Does this loop terminate?

Instead of

> There's no test for this condition

write

> Is there supposed to be a test for this condition?

I'm probably not thinking of good examples but for some reason, more often than not, the direct comments came across as "you screwed up!" where as the questions instead made it feel like I was discovering my own mistakes rather than have someone tell me I made one.

It's probably subtle and maybe some people will think it's dumb but I really appreciated it. It felt like it went a long way toward me feeling like saw my own mistake and fixed it before I checked it in instead of the direct approach which made me feel stupid and embarrassed.

I've tried to adopt that approach (though it's a struggle to remember to apply it).
It was posted 17 hours ago by the same guy and a different url: https://news.ycombinator.com/item?id=9201444
It's actually much easier to just use the host language's memory model. Writing a GC is much harder.
No, what I read was from the 90s. But the guy probably did what iodine does.
CSS Sans – A pure CSS font
With a built-in encryption layer (on top of eventual HTTPS) it could be a useful "hack" for the kinds of situations mentioned in the readme. I wonder how facebook and the telecos will feel about this. All in all, a cool concept but unlikely to work in practice if either facebook or the telecos do not want to.
Events vs. Threads
Thanks! I'm glad to see it used for things...when I wrote it (and decided to open-source it), it was very much a "Well, I have one immediate need for this, but it seems like people could do a lot with a robust HTML5 parser with a simple API."
I'm wondering if this will be published as a physical book. I prefer reading more than a few pages on normal paper.
I don't know the specifics about how the surveilance is implemented, but embedding encrypted payload in benign files is a neat idea to bypass internet censorship, at least in principle.
Just wanted to note that this was posted to the CSCareerQuestions subreddit[1] 6 days ago, and there's a bit of discussion there that may interest people as well.

[1] https://www.reddit.com/r/cscareerquestions/comments/2yb11f/i...
I happen to use one-goal-a-day in my own career. It's amazing. There's so many things you could do, but would not really move any needles. If you pick the one thing you know will move the needle, and focus just on that, and be happy if you can accomplish it, you'll ultimately be so much more productive, even if it doesn't really feel like it. You can decouple the feeling of being productive from your activities without losing real productivity, if you can do that, you can be amazing.
Serious question: what would you recommend, instead of empiricism?
Where is `{:=02}` documented? I've never seen this before and it's pretty awesome.
> C is the wrong language to dynamically allocate everything. The probability to forget to free it, including in every error path, is much higher in my eyes.

There's a trick you can use to make remembering to free it more likely. Some people call it "RAII in C", I like to think of it as "nested allocations and errors": When you allocate something, or do something else which one, can fail, and two, must be undone (freed, closed, etc.), do the allocation and deallocation in properly nested pairs, and use gotos to jump to the code which undoes the last successful allocation if some allocation goes wrong. Basically, you arrange your code in a stack, where the most recent successful allocation is undone first, so you can neatly jump down to the code which undoes all successful allocations and doesn't try to undo the unsuccessful ones.

For example:

int foo(void)
{
int ret = 0; /* Variable we return to indicate
success or failure. Defaults to 0,
which is success. */

FILE *inf;
FILE *outf;

if ((inf = fopen("foo", "rb")) == NULL) {
ret = -1;
goto inf_fail;
}

if ((outf = fopen("bar", "wb")) == NULL) {
ret = -2;
goto outf_fail;
}

/* Do the actual work, now that you know you have
all the resources you need. */

fclose(outf);

outf_fail:
fclose(inf); /* If we jump here, we know we
successfully opened inf,
but not outf. */

inf_fail: /* If we jump here, we didn't actually
open squat, so all we can do is return
the status variable we set above. */
return ret;
}

C++ does basically this automatically, which is called RAII, but in C you have to do it by hand.
It'd be more interesting if this was done over Google's chat, since Chrome trusts the Google Internet Authority cert...
> the same architecture

It's not, though! It's over 2000 years of architecture, and there are a lot of different things that have happened in that time. Granted, like anywhere, certain kinds of architecture are more represented than others, but still, there's a lot going on there.

I don't particularly like Rome as a city - it's too big, noisy, chaotic and loud for my tastes - but as a tourist destination... you could spend a year there and not see half of what it has to offer. (And not just because of strikes, inconvenient hours, or 'temporarily closed for rennovations'!)
You're right. I was thrown off by them putting the exceptional condition as the first part of the ternary operation. Chalk this to overly clever code.

if (fd != -1)
{
s = fd;
}
else
{
s = socket(ss->ss_family, SOCK_STREAM, IPPROTO_TCP);
if (s == -1)
{
goto bad;
}
}

or in rewriting the ternary function for clarity:
// If we have a socket, use it, otherwise, try to get one
s = (fd != -1) ? fd : socket(ss->ss_family, SOCK_STREAM, IPPROTO_TCP);
if ( s == -1 ) // we still don't have a socket, error out
goto bad;

Ternary operators should, in my opinion, be put to the 3 am test. If you think you'd get confused at looking at code that uses one at 3 am, then you've not written it properly and should clarify.
Thanks. Apparently droplr wants me to pay to use my archived screenshots. One more reason I'm glad I moved to monosnap.

And it's that way for a really good reason currently. Will be open soon.
At work, we run stud in a freebsd jail to handle SSL termination. It uses the haproxy proxy protocol (v1) to send the client IP to the http daemon.

Downsides include:
Three sockets per client connection (this gets problematic around 1M client connections). Lack of information about the SSL negotiation in the http context. Stud doesn't have the typical graceful restart options that are typical with web servers.

On the plus side, stud is a lot less code than an http server, so its easier to modify things if you need to. I added sha-1/sha-2 cert switching for example. Would have been doable in an https server too, but a lot more to avoid.
Venice actually does feel a bit more monotonous to me, even though you can clearly see different period styles. Most of Venice's history happened in a relatively shorter time frame than many Italian cities. Here in Padova there are everything from Roman ruins (and they've dug up even older stuff) to modern buildings. Venice has none of the Roman architecture because it got its start much later.
Almasry Alyoum and al dostour aren't as good as they used to be, they run the same crap the others do.

The new kid on the block is mada masr http://www.madamasr.com/, much more credible than the old opposition media these days.

The key is following the writers, the outlets are easier to change than people.
JavaScript is a language made by philosophers, for philosophers
The trouble with egoless programming is that you don't get promoted.