skysight-inc/HackerNews huggingface dataset:
Exploit for PHP Objection Injection vulnerability in WordPress 3.5.1 released
I think the parent means that you can't distinguish a biased RNG from an unbiased one if the bias is designed to look random. In a similar fashion, it's not possible to distinguish cipher text from noise - this impossibility presumably means detecting a biased RNG (i.e. output from an encryption algorithm with known key) is also impossible.
People explain why one would NEED more female programmers. Is it because you want a pair of tits to look at while you work or because females have some sort of magical ability to write code that no other gender can?
It doesn't really assume that at all. You can maliciously generate the result of RDRAND according to the instructions that are going to use it - that doesn't prevent that value being used later.

The way a CPU works internally, intermediate results are written to registers, and the registers specified by the machine code are rewritten onto a larger set of real registers. The CPU knows at the instruction decode stage which results are going to be used by which instructions, so that it can schedule them for out of order execution. It also knows when it can throw away the result of a real register because the machine code register it represents has been overwritten with another value. So if the result is used by a second instruction, that doesn't matter

Yes, if you wrote the result of RDRAND to main memory and read it in again, you would destroy that knowledge, but I would bet that the random number generator doesn't do that.
I agree that it's not at the same level, but there certainly are developments.
Nice! I love Node for these kind of asynchronous handling of data, it fits perfectly. Keep in mind you can go down the stream route. Instead of:

ps.stdout.on 'data', (data) -> ws.send data.toString()
ws.on 'message', (data) -> ps.stdin.write data.toString()

Just do:

ps.stdout.pipe ws
ws.pipe ps.stdin

I started using Node before Streams and I often forget piping too!

I still have a question for Node.js experts... would the 'close' events had to be handled then? Streams handle and propagate the 'end' event just fine, but should the underlying resource be closed? I guess killing `ps` is mandatory since ending `stdout` won't kill the process (or will it?), but is closing `ws` still mandatory too?
> The programmer didn’t follow basic, well known development practices. Multithreaded programs seem harder or more complex to write because two or more concurrent threads working incorrectly make a much bigger mess a whole lot faster than a single thread can.

Actually, I prefer to think that the reason multi-threaded programs are harder to write is because it's harder to compose components together. If I have a regular old function and another regular old function and compose them, I get a regular old function and I know that it works how I expect it. With two multi-threaded functions, then I have no guarantees anymore. If I cannot take simple components and combine them into more complex ones, how am I suppose to write correct code? Sorry, but I'm just not good enough.
No, I'm both a lazy and fallible human being who hasn't gotten around to fixing it. I'm not exempting myself from my own critique.
Are you saying that Friday was her MVP/v1.0 and Saturday is her v2.0? She and her team are iterating towards success?

(I haven't heard either of her songs, but I did enjoy the reaction to that music video of hers a while back.)
Every product you see is specifically tailored to your IP address and the IP address of all your Facebook Friends except the 100 friends you speak to least. And every time you click 'Shuffle' 0.00000000000000034 Bitcoins are mined and donated to the Church that's closest to your IP address.

No - right now it's a random generation of products from the gift sections of John Lewis, Selfridges and Urban Outfitters (and the socks section of ASOS). 83,203 lines was just to add a little HN xmas fun into the mix.
Even with that tradition in mind, you can still understand why it calls the eye.

Filed under "unintentional gallows humor".
Microsoft confirms Windows 7 sales have ended, but Windows 7 PCs can still sell
Fountain of youth [video]
Google Data centers
I do not like upgrades either so I really hope Debian will manage to shorten their freezes of Testing. Otherwise I might move to Arch too.
I think (s)he strongly implied that. I'd simply flat-out say it, the best way to learn how to program in an imperative multi-threaded environment is to clock enough time in Erlang, Haskell, or perhaps Clojure (with as much immutability as possible) that you can get real work done (not merely finish a couple of tutorials) that you are forced to learn how to program in a minimal-sharing style, then if you go back to something like Go or something, it's really not that hard.

I think you can learn how to program multithreaded code well without that, but you'll learn a great deal faster if you use a language that kicks you in the face every time you do something stupid (or simply doesn't let you do it). As in, potentially an order of magnitude faster. Fast feedback is non-linearly better than slow feedback.

Though this does assume you get to greenfield the multithreaded code. Woe betide ye who have to retrofit existing poor multithreaded code. I don't even know what to tell you, except you have my pity.
It's like the jokes about hitting a women. Once you actually had done it they are no longer even remotely funny.
I'd say after some point it starts being black humour instead of just humour. Even more if the ones doing it are precisely the ones fucking with us. Some people might like it, some won't.
current_random = <something unpredictable>
fake_random = RDRAND()
new_random = current_random XOR fake_random

Surprise! new_random is predictable, because the malicious CPU peeked ahead at the XOR operation and adjusted the RDRAND operation accordingly.
Yeah - we need to make that clearer. If you choose your filters and then click 'Shuffle' you'll be on your way.

Men / Women switch is top right hand corner of the filter page.

http://shufflehub.com is our main site (where the filters are from) and the Men / Women choice is right at the start.
I know, that's why I wrote "forward secrecy is helped", it's not something that you get out of the box with bitmessage

moreover, since the keypair and the BM identity is one-and-the-same the key exchange and management comes for free, once you got the first message sent to your recipient... changing identity is much easier than creating a new gpg keypair and sending it to the other guy, and on top of that you'll get some added anonimity
Also to note that programing is harder now, in the sense is everything more complex. I have learned foxpro, and could fit all of it in my mind (I read all the official documentation, and the sourcecode available in the tool).

And that let you do a end-to-end app with just fox/visual foxpro. Now, I html+js+(angular/jquery/...)+css(less?sass?)+nosql,postgressql,obj-c,sqlite,functional, declarative, reactive, imperative, *nix, windows, osx, and that is just a small sample of what I'm doing now...
How is it that he was able to get out of jail and head straight to a multimillion dollar mansion? Was he not sued for everything he was worth? It doesn't really seem fair if crime does pay and you just have to do a few years in jail. I doubt the movie will really address the aftermath.

Kind of weird to think of Jonah Hill and Leo playing real people that had real lives. They must fucking love watching a movie that portrays them as such badasses.
This coming from a BSD distribution that ships binary blob device drivers.
Isn't that what is happening, though? I have yet to RTFA, but I for one welcome our world-devouring octopus overlords.
Firefox 26 is released
A Holiday Gift That Helps Kids Navigate an Electronic World
10 Steps To A Productive Mentor-Mentee Experience
The Pirate Bay Changes Their URL...
IMO the problem with threads is the 'all-or-nothing' approach to shared data. If you want to make use of multiple CPUs, you either use threads, in which case all of your process data is shared, or you use multiple processes, where none of the data is shared. It is the over-sharing that trips people up with threads.

Ideally, we need an API that allows selective data sharing, so you greatly reduce the chance of one thread trampling over bits of another. Right now, the common way to do that is with multiple processes and shared memory regions, but it is cumbersome to set up and requires the programmer to treat the shared data very differently (e.g. one process can't just malloc data for a string, say, and then let the other process access it.

The other route is through message-passing, but again you have to write your code in a totally different way. Someone please invent multi-threading with selective sharing!
It is still difficult to say. IMHO C at scale requires often trading performance for architectural simplicity. E.g. relying on function pointers for indirection (or switch) or passing things by value / deep copy to simplify memory management are techniques which would often degrade performance than boost it, relative to Java. In real big code, you have to do some higher-level abstractions or your project is going to be unmaintainable spaghetti mess, and it is arguable if C lets you build them in the most performant manner.
I know of jQuery Supersized, but don't know details about it.

My app tries to balance landscape and portrait photographs by centering them in the viewport.

Portrait photographs will look great full screen on a phone for instance when viewing in portrait mode, but not so great on desktops where the view is landscape.
This is probably a life-long pursuit, but in the short-term:

1. My wife is very supportive of my ambitions while not letting me be consumed by them. The vulnerability and accountability are key here.

2. Regular time doing wholly non-constructive things: video games, reading, guitar, etc. This took some time to acclimate to, but now I can play a game or the like and lose track of time, as well as not feel guilty.

3. Killed my Twitter account, which was sort of the symbol of my personal brand. Not sure what I'm going to do there.

4. Pulled back from open source work for now, as it got too close into the realm of 'being someone' in a particular community.

5. Meditation and prayer is huge. Admitting I have a problem is still hard but there's a huge relief that comes from being honest with yourself.

6. I work at a lifestyle company, which is fairly unheard of on the East Coast. This helps a bunch with being flexible about when and where I work.

I still make time to do side projects and such, but the effort is mainly directed towards learning and fun over developing my personal brand. I'm still strategic about it, as I'd love to do more Clojure in the future, esp. professionally.

Hope this helps.
It does look menacing and ominous, but it's only supposed to be used against them. Whether you agree with it or not, it's the premise widely shared by Americans and those in the intelligence agencies and in the military. It renders your following implication inaccurate: "It implies the agency is insular, unaccountable, and has an aggressive, secret agenda it cares about more than anything else, certainly more than your privacy or the consequences of its actions."

No, what it implies is that those who intend to do evil against America cannot hide anywhere in the world. It's consistent with Roosevelt's Big Stick, which is something Americans have always embraced: http://en.wikipedia.org/wiki/Big_Stick_ideology. The idea is that we're free at home, but militarily unchallengable on the world stage.

> The kicker is a comment that juxtaposes the logo with a warning illustration saying "Know your communist enemy" with a nearly-identical logo, presumably implying an evil enemy from the Cold War, which we have become.

Could we declare a moratorium on false equivalency for like just a week? Last time I checked, we still have elections and aren't sending political prisoners to siberia. Not to mention that we haven't killed tens of millions of our own people. There is that too.
Watch The World Grow Older*, In 4 GIFs
Oh look click bait on HN. It's a neat little hack, but saying something about how many lines of R it took to make this happen just left me looking for something more interesting, of which this is not.
"...No, no, no. If you are writing multithreaded programs, you _will_ have locks, period. The question is whether you explicitly use them or if they are hidden somewhere in your libraries, frameworks, etc...."

That is not true. Lock-free data structures exist and are applicable to many multi-threading use cases. For a super primer see https://en.wikipedia.org/wiki/Non-blocking_algorithm and if you are really interested, read about Transactional memory - http://dl.acm.org/citation.cfm?id=165164, and then "The Art of Multiprocessor Programming" (it is a text book) by Herlihy and Shavit.
Where does one get the dataset of email id's of Adobe users ?
Making this argument agrees with my general point: that high-level programming languages ought to count as humans do.
Show HN: Write the best headline for your content with this simple app
This was inspired by Upworthy's advice [0] that for you to discover the best headline for your content, you must force yourself to write 25 of them and the best will jump out at you.

So yeah, you can do this in a text editor, or a spreadsheet, or whatever, but I had a spare evening and I wanted to cut my teeth on Facebook's React JS library. I picked a simple example and set to work. The end result is this little app. I like the idea of distraction-free writing, and a simple list-style app with no visual clutter seemed like a nice environment to write headlines.

I got a jump-start by looking at the React TodoMVC example [1], then creating a simple build process with grunt & browserify (which I've now extracted into a starter project for others to use [2]). I have to say I really like React and a lot of the design decisions it's made, although writing in the pseudo-JS syntax (JSX) took a little getting used to, but was made easier with a code highlighting plugin for Sublime.

Have a play, and let me know what you think!

http://colin-gourlay.com/25headlines/

[0]: http://www.slideshare.net/Upworthy/upworthy-10-ways-to-win-the-internets

[1]: http://todomvc.com/labs/architecture-examples/react/

[2]: https://github.com/colingourlay/grunt-init-browserify-react-stylus
What's your fortune?
It is often self-inflicted, which makes it difficult to get over. But the culture reinforces it subtly as well.
Thanks for the article. When I have free time I will look into the various tools that modern languages provide to solve problems that are usually handled with threads.

I would have appreciated an article on the various "libaries" we should be using instead.
Show HN: Fitwatchr - mobile Fitbit calorie and activity tracker
No mention of Djikstra's argument for counting from zero (EWD831)?
>And now we're just supposed to throw all of that away?

Or just dont throw your old console in the garbage
CoD is not a shooter on rails despite being mocked as such. In rails shooters you have literally no control over movement.

I agree that levels are more linear, but at expense of other gameplay elements. Also CoD franchise is getting sucked dry. If that happened to some other game it would get criticized more as well.

Take a look at Half-Life 1 & 2 one the best games of all time. They are pretty linear[0]. And they also have keys and doors, which have the form of scientists, switches and valves, but they are there.

[0]:http://i.imgur.com/sg1TN.jpg ( large image )
Non-link-baity titles don't get as much love:

https://news.ycombinator.com/item?id=6866472
Clickable link: http://colin-gourlay.com/25headlines/
What a feeble attempt at reform.

In particular, the sentence copied below makes it sound like just another summer new story that will soon fade into insignificance:

"But this summer’s revelations highlighted the urgent need to reform government surveillance practices worldwide"
Hey All,

Another co-founder of Triage here. We wanted one app that housed all our work alerts and activity. Email/HipChat grew frustrating and weren't quite working for us, so we built Triage.

Would love to hear what you think.

Thanks!
Show HN: Startupery — curating startup best-pracitices
Hadoop – 100x Faster. How we did it
Except it's more like 2/3rds. Or 3/3rds with a 4th and 5th part added as content expansions. Doom 2 was pretty much that; same engine, more levels.
Yes. We are the baddies. Have been for a while.
That skit is hilarious.

That said, it also just goes and forgets pretty much anything about what happens when you tell a bunch of men to live together so that they can go kill other men.

It also skims over the history of that particular emblem. The death's head has been used by 'elite' Prussian and Germany military units back to the 19th century. Obviously the point is to incite a little fear, and obviously the point is that they're breaking taboos. That's the whole point is being in an army.

And finally, in this particular case, humour stripped of its context always has the possibility to offend. While you're typically expected to take that into account while making your jokes ("political correctness" / "minimize backlash"), there is definitely a tradition of ignoring such considerations. Typically in military combat arms, but often extending to related situations (this might extend to the black humour of paramedics for example).

So the point is that "Are we the baddies" is hilarious, but its not very useful to think of life in that context - well, at least the just 'evaluating your badness by your symbols' part.
And what is it you suppose this satellite is tasked with?

http://en.wikipedia.org/wiki/List_of_NRO_Launches

This is an intelligence mission, it's just one of the least sinister of all the intelligence missions that can be performed from space. We are performing those missions - just not on this launch.
Hi all - creator here. Fitwatchr was built using PhoneGap Build and Kendo UI Mobile. Happy to answer questions about how it works or using PhoneGap to write apps. Thanks.
How to deal with Pirates
Interfacing with C is more verbose than typical Rust code. The author of this post also chose not to make use of Rust's type inference, which means that what is typically written as:

let ret = base;

...was instead written as:

let ret: uint = base;

...with all the additional verbosity that entails.
Just a heads up, be careful when going over the border into Canada. I've had many friends rejected at the border because they were going to play a 'concert'. Even DIY ones will get you bounced back to the US. Don't say you're playing a concert or anything. That is unless if you've gotten the requisite paperwork then your'e okay.
looks like a nash equilibrium to me!
Can somebody please tell me what elementary OS is based on? Ubuntu?
I don't want Linux sampling my microphone randomly. Other things are fair game.
> There is _no way out_. If you are writing concurrent apps, you have understand what's happening.

Actually, there is a number of best practices that help you avoiding problems. For example, it helps to have a strict ordering of locks - i.e. everyone who locks on objects A and B, must do so first on object A. As a corollary, you should not call a callback or notify a listener while holding a lock - because you don't know what it will do. These two simple rules together already help a lot - even without understanding every possible state.
I agree with "hard to reason about and get right" because of the state-space explosion. If you do five atomic things in a single-threaded program, you have six total states to deal with. If you do those same five things in five threads, you have over 200. That's true regardless of whether you're using a naive "locks and blocks" model or a sophisticated functional/CSP/actor model, and splattering that state across multiple stacks/continuations doesn't exactly make debugging easier. People who have done this for a while do apply good programming practices to reduce the number of states and the dependencies between them, but the fundamental problem still remains. Every new state represents a new potential for error, and code that has many error cases is simply harder to write/debug/verify than code that has few.
I've been wondering the same thing. We used to use this image to portray our enemies...

https://pbs.twimg.com/media/Ba42Z0lCMAAfkzM.jpg

http://iranpoliticsclub.net/politics/IRI-problem/images/Iran...

http://streetsofsalem.files.wordpress.com/2013/01/octopus-ge...

http://streetsofsalem.files.wordpress.com/2013/01/octopus-ma...
'Volcker rule' to curb banks set for vote by regulators
In theory, Intel could be under some kind of directive or warrant to do this and it would be illegal for them to even disclose its existence, let alone protest against it.
Definitely sound advice. I think I'll just be going to Canada to see a concert ;)
Hey, this looks like something which could be really useful. I would suggest putting labels or hover text over the icons for the services you're supporting though. I can only actually recognise 5 or 6 of them
This is very fitting since I started reading "Masters of DOOM" book just a couple days ago. Haven't been able to put it down. Great read about the two Johns and the story of id Software.

http://www.amazon.com/Masters-Doom-Created-Transformed-Cultu...
"The reality is that multi-threaded is hard because it is hard to reason about "

I think that's key.

The primitives of multithreading aren't difficult, nor are the basic concepts. What is hard for most people is thinking about it in a meaningful way.

The mental model for single-threaded programming is challenging for many - you essentially run the program or subset of the program in your head (at least, if you're any good). This includes all branching and jumping, and effectively requires maintaining one or more stacks among other things.[1]

To fully conceptualize multi-threaded programming, programmers need to be able to expand their mental model of the executing application. Not holding one stack, but N. Awareness that each may (and likely will) differ slightly. Awareness of other actors. Awareness of exactly what is shared, and what paths lead to its modification. Being able to visualize (for lack of a better word) which others may interact with the shared data, and under what circumstances. All of this comes into play when you add just a second thread executing the same code - it gets considerably more complex from there. The closest analogy that comes to mind is the shift from thinking in three dimensions from two, or four from three.

It is not impossible to reason about, nor is it impossible to build such a mental model. But it is hard. And it does take practice.

[1] And even this basic ability seems unfortunately uncommon.
EFF Asks Supreme Court to Expand Fee Shifting in Patent Cases
I think Science articles are free one year after they're published.
Is this somehow more notable than other distro + desktop releases?
And if both threads are doing a blocking read waiting for their message? Blocking locks, deadlocks, endless fun...

But wait, you don't use blocking-IO, you poll the sockets to see if there is data available, right? Do you realize what you are polling? (hint, it is global and mutable)