skysight-inc/HackerNews huggingface dataset:
In addition to kansface's point, I'd observe it's a very recent addition. We made it a long way without it.

There's a quote referenced so often it has become a cliche: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." by Antoine de Saint-Exupery. I think it's sometimes over-applied, but in the case of crypto software, it really fits. In a sense, the heartbeat code got unlucky and hit the mega-anti-jackpot, disproportional to its "actual" risk... but there was risk in adding it, and even before we know the outcome it would have, somebody really should have been asking hard questions about whether the reward justified the risk. I imagine there's a lot of other bits of the code where the risk/reward tradeoff suggests removal. You can look at much of what has already been trashed from that point of view. For instance, if you have no real need to support a particular defunct architecture, why carry around its code? It has no benefit, but non-zero risk; toast it.
> Fortunately, this case is much more about Charlie Shrem and his penchant for violating laws than Bitcoin itself. I think this guy - who now refers to himself as "Charlie van Bitcoin" - just doesn't get it. There are laws out there, and he doesn't seem to want to follow them.

I would argue that his aversion to laws was what led him to Bitcoin in the first place. Which is not to say that Bitcoin users are inherently prone to illegal activities, but it should not be surprising that those already prone to breaking the law would flock to a system designed to evade central regulation.
Freelancer.com acquires Warrior Forum
What about 08:08? Or won't the clock show the first 0 then?
This is being presented as a good thing? I'm sorry, I take no pride in having humans replace robots for repetitive manual labor.

The story is either a weird marketing ploy, or it's misreporting, or it's downright stupid. You do not need to replace robots with humans to improve manufacturing processes.

Perhaps the reality is that they're simply hiring more manufacturing and operations experts to oversee continuous process improvements and this hiring is being misinterpreted?
Really clean UI, maybe add a repeat button or integrate hotkeys likes soundcloud
How to Hack Fitness, Optimize Health, and Simplify Your Life
Unfortunately it's going to be difficult to have much confidence in a huge edit of OpenSSL since OpenSSL is almost devoid of meaningful tests. It would be very easy for one of these "resolve merge conflicts" changelists to contain an error of the goto fail; goto fail; variety.
I totally agree. The definition of "wealthy" really depends who you are talking to (subjective). This is why I used the Forbes definition because I am not sure if your definition matches mine.

The term also varies internationally as well (emerging vs developed countries). Like having a car, hot water, etc.
The linked discussion is far more informative that the cvsweb page it links to.
There is one other Kazhakh female hunting with eagles, Makpal Abdrazakova, and she also started at age 13. She's in her 20s at present.
> I just don't see this situation as being a dangerous precedent in this context.

The OKCupid action by itself is a dangerous precedent though. People calling for Eich's head is one thing, that would have happened even if he were pure as the driven snow. But a company taking action against the users of a different company? Because that company chose the wrong CEO?

If that doesn't flip the WTF-o-meter I can't figure out what would?
The original link - http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/ssl... provides less context than the lobste.rs link.
U.S. Billionaires Lost $15 Billion During Global Tech Sell-off
You need to be thinking more macro: energy production via oil rather than, say, coal...China switching from bicycle s to gas scooters...etc
Why is the assumption "governments are rational" more reasonable than "governments are irrational"? Both seem equally possible to me, given the fact that we don't have the information to tell, either way.

In any case, that's a false dichotomy. Governments are not uniform entities, and there's no point talking about them as if they are. Governments, like people, do some rational and some irrational things.
Microsoft deprecates Hotmail-based custom domain e-mail service
That's foolish, and doesn't take into account how software updates are actually rolled out in the real world.

Many vendors will not just simply compile a new version of a library from upstream source and just throw it on their machines. They depend on a tested release from their distribution maintainer, or something along those lines.

Also many vendors aren't prepared to do a simple upgrade: some may have customization they need to forward-port and test. Or perhaps they'd prefer to backport the fix to their older version.

So basically, your "everyone gets info at once" means that blackhats can get the information and exploit it almost immediately, while the good guys scramble to -- much more slowly -- patch their systems.
An expert's hindsight is 20/20. (Mehta's team had the bug 17+ days, and he still tweeted his reassurance on 4/8 with "#dontpanic".)

The challenge result instantly convinced a lot of people who still had doubts, because of the mixed messages elsewhere. The sideshow drama, much like the catchy name 'heartbleed' before it, worked perfectly for its intended purpose.
There is a parameter to enable keyboard events that's turned off in our demo. You can check out our documentation on GitHub.

The repeat button is on our dev list. Should be out in a week or so.
You can return out references and still get dangling pointers with const values. For example, you can return an iterator outside the scope it lives in and dereference that iterator for undefined behavior (use-after-free, possibly exploitable as above).

Besides, isn't "C++ is memory safe if you don't use mutation" (even if it were true—which it isn't) an extremely uninteresting statement? That's a very crippled subset of the language.
Or maybe only gray-haired curmudgeons are working on this... CVS is quite a high entry barrier for young trendy Githubbers!
Non-compete is wrong, too. I have a lot of respect for California's courts for ruling against them and making them unenforceable there.
I know it's unusual, but in this case I thought it was justified because the original BSD CVS link offers little context of what's going on unless you parse the changelog, whereas the lobster thread has a good summary by jcs.
Is this fork a vote of no confidence in the OpenSSL team? Is it guaranteed that this fork will be used in OpenBSD? Could this fork be used in Linux? Will they be cooperating with OpenSSL by sending them bug reports etc?
i'm in my 30s and i am in total agreement with you: the modern helicopter parents are so preoccupied with "bullying" that the next generation of kids are going to be soft-minded nitwits on the average. catching a beatdown on the playground now and again made me who i am today and i would never have had it any other way.

having the balls or wisdom to walk away from a situation where you're being bullied, whether literally or figuratively, is becoming rarer nowadays.
Ask HN: Have there ever been any CPU clones?
I heard that various companies in China are copying Bitcoin ASIC chips by splicing them in half basically and re-creating the chip.

Has this ever been done with general purpose CPUs?

They are quite expensive products and incredibly small with relatively cheap material compared to their retail value. I would think this is the target market for counterfeiters, no?
I used to espouse this "finer control" argument but I've come to realize it was more typical nerd desire for hyperconfiguration than practical need. Yes, things make noises at different volumes and some are too loud and some are too quiet and they force you to jump and adjust the volume when this happens. But it's not generally predictable, so you're not going to set it just right ahead of time, and having N volume controls to go paging through to find the one that needs adjusting is a hell of a lot more difficult than just having a hardware control, always right there, that adjusts everything immediately. The number of times I've wanted to actually listen to multiple audio sources at once and carefully set their relative volumes is almost certainly in the single digits over my entire lifetime. Unless we're talking about doing mixing for an audio project, which of course we're not.

Every media player on every web page could set its volume permanently to 100% and I really would never even notice.
Hoyer testifies to halt Eastern Shore wind turbines
Total Lunar Eclipse 4/15 at 3:06am EDT
This interview with 3 of the gang of 4 (Vlissides unfortunately passed away a few years ago) might help you get it:

http://www.informit.com/articles/article.aspx?p=1404056
Are you faking those upvote values? Because it's pretty obvious that with 0 comments on every URL submit and 100+ upvotes that you are.

My advice from launching and failing at my own HN clone is to make the false upvotes look more realistic. Don't be afraid of making them in the 20-40 votes range. A lot of people liked HN better back when it had a smaller userbase.
> Cue the communist states creating the biggest and most useless ones.

Communism wasn't Marxism. Marxism has the probably even-bigger flaw of being completely impossible to put into practice in the real world.

That's the problem with the genius of Marx. He was able to quite convincingly deconstruct the issues with capitalism, without being able to recommend a better replacement that could survive first contact with the masses.
He definitely wasn't. And more importantly, neither was Edison.
I once used a similar trick -- queuing uncomfirmed outgoing edits, and replaying them on top of incoming models -- when working on a web client app (Laszlo Calendar, a browser UI to an iCalendar-backed server). It was an act of desperation: user edits would disappear and reappear, depending on the relative latency of client->server and server->client connections, and trying to add delays was a game of whack-a-mole. Replaying an edit queue onto the incoming model eliminated lots of code and all the bugs.

I tried to write something up about this although looking back half a decade later leaves me even less impressed by my communication skills. Nonetheless, in case it's useful to see some coding details, a (pre-Promises, pre-Harmony, 2008) JavaScript sketch of this is here: http://blog.osteele.com/posts/2008/02/synchronizing-client-m...

This was before Operational Transform, but in retrospect it could be viewed as a simplified subset of that algorithm.

Several times since I've seen clients that try to skip this, sending the edit upstream and then synching to the model that comes back down, which may not reflect the edits. And then add delays which sometimes hide the problem.
The Killers Underfoot
From my own experiences writing either language I have to disagree. C++ may be much (much much) more featureful than C, but if you skip constructs and behavior that aren't strictly a subset of the two you are still missing a lot of modern C, and it's exaggerated by C11. That's not just the obvious high level features like compound literals, designated initializers, VLAs, or anonymous structures/unions. There are a lot of creeping nits about what is defined and undefined in either language, a famous(ly misunderstood) example being type-punning via union, which is allowed in C but undefined behavior in C++.

Except for a few things C++ has imported from C like stdint and vararg macros the truth of your statement depends strongly on how far you personally tend to stray beyond C89 in either direction.
In the past I was part of an attempt to make asymmetric crypto easier to use for a commercial product. My role was to help design the product (simple, collaborative file sharing; you've heard it before) and to let the experts ensure the crypto was used properly. What drove me absolutely nuts was the level of paranoia and uncertainty around the safety of the libraries and algorithms used. The available experts were confident in the concepts, but feared every implementation. "Par for the course" you might say, but the status quo around OpenSSL and other libraries is unacceptable.

From an application developer's perspective crypto libraries look like a lightning rod even for the experts. No one wants to get too involved or make recommendations lest they back the wrong horse (admittedly an easy thing to do). So kudos to the OpenBSD team for rolling up their sleeves and attempting to build a solid foundation for the future.

I'd be happy if OpenSSL is simply fixed. I'd be overjoyed if there was a solid crypto system underneath an OpenSSL compatible API that gives us a path towards an open source, reusable crypto platform.
I'm pretty excited about what some of these additions mean for the direction of YC. More enterprise/B2B experience, more bio-tech experience - YC is pretty awesome, so diversifying to more spaces will just make more spaces awesome.
Hope the slight editorialization of the headline is kosher. I thought this information might be useful to founders. :)
A Surprising Thing About Google, and The Economics Lesson It Teaches Us.
The question is whether we will use it all up before renewables become cheaper though.
You won't drive twice as much, but that's not the only use case for petroleum. Consider how much more people would fly if airline prices went down due to cheap gas. Or think about how many more gas engines will be used to power other tasks if gas is cheap and plentiful.
Couldn't agree more. I work on Clyp (formerly Audiour) and I think one of our core differentiators is the time we spend on having a good looking soundwave. This is one of the main reasons we try to put it front and center on the player page.
Thanks for detailing that (I didn't know)
I think what we are thinking of is making volume control an optional parameter to enable/disable. That way we can give the embedder the ability to control that experience for the listener. Thoughts?
Rest assured, children are still being bullied quite regularly.
It's the wrong abstraction layer for a heartbeat signal. That can easily be done by the application if it's needed. TLS and DTLS should provide encryption wrappers for TCP and UDP. That's it.

Sure, it's convenient to have it already available for you to use as an application developer, but critical security software needs to be kept as small and simple as possible.
That was a great read, hopefully I really took something from it.
Will the Apple iWatch change the world?
Encryption of everything has a few important benefits:

1) It effectively ends the ability to run passive mass-eavesdropping devices. Even without checked authenticity, you still force anybody trying to listen in to run a more expensive (in both money and CPU) MitM attack. Changing costs from "deploy once and record everybody" to "pay per-target" is huge.

2) We need to normalize (socially) the use of encryption in general, so the people that DO need it don't look suspicious. To paraphrase Phil Zimmermann[1], what you're sending may be simply a holiday greeting-card, but you still put it in an envelope.

[1] http://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html
Being humiliated and beaten as a child with no control over the situation is not "training" for anything. It's abundantly clear that you did not experience that and have no idea what it is like for a child. Let's hope as a crotchety old man that nobody ever decides to show you what it's like when you're stuck in a nursing home where no one believes or cares to help you because of some stupid reason like that it should toughen you up.
Hi all. I'm a partner with Y Combinator and will be there! Through random chance I am in Tokyo this week.
Seems like a rather weird acquisition, but good on Warrior Forum for selling. Freelancer.com seems to be becoming a rather big company, they've been buying a lot of companies and expanding of late it seems.
This is not evident on our demo but we've engineered the ability for you to get waveform data and visualize that as you like. Right now we visualize equalizer data but it would be trivial to create a visualization for realtime waveforms etc..
> We are fortunate enough that even the most mediocre among us can hold out for the next employer that doesn't demand this kind of control over you, or start your own company.

That's great this year. When the bubble pops - as it surely will, and if you think otherwise you're as bad as the cretins who were writing about all the rules changing forever in 2000 - things will be different. The time to press for change is when times are good and when you have leverage.
Where can I find similar provisions for other states?
Could you share the name of your trusted, Xen-aware bootloader? Is it something other than syslinux or uboot (ARM)?
It's easy to back the wrong horse when the whole race track is full of horses with broken legs.
What's the link to your product?
https://twitter.com/BrendanEich/status/454807391511396352
> It usually looks more like a child reveling against their parent's arbitrary laws

I have a mental image of Rik from The Young Ones.
Neutron Drive Taken Down from Chrome Web Store
Today I received notice that my app https://www.neutrondrive.com/ was taken down from the Chrome Web Store for a branding violation. This sucks and I plan to fix the logo but it would have been nice to get at least a little heads up to fix the problem. The app has been featured by Google in several Google presentations and blog posts, and was one of the first apps to use the Google Drive Realtime API. While this has been great for me in terms of building traffic, Google has also used my app to showcase their Google Drive API. I've also volunteered to review their Google Drive course on Code School and given feedback in several of their trusted tester programs. I guess that doesn't even get you a courtesy call before they take you down.
? Did you think I assumed "similarity" due to "Open" in the title? It is "another look". Another look can come from original writers, yes, but often a second pair of eyes brings a different perspective that is almost always beneficial.
Greenwald isn't named in the award announcement. He'll still be listed as a blogger in the traditional press.
I believe the typical understanding here in the US is that there is no insurance, so you don't even need the pictures. A number of farmers around here rent out space in their barns or put up cheap buildings for public storage to get a bit more easy income.

AirBnB for storage would be awesome. Wonder if I could make enough to cover the cost of an an outbuilding?
> That's why there's so much HR literature on how to conduct "low performer" witch hunts (get those time thieves!) while companies don't do the least thing to support high performers (except offer them more money when they seem likely to leave).

No, that's because a company is trying to reduce its expenditures. If a high performer isn't leaving, the company sees no evidence of any advantage in paying them more.
Traditionally, OpenBSD has made "Portable" versions of their code available for integration on other systems - for example:

http://www.openssh.com/portable.html

Basically, that's the version that gets those sorts of patches.

I'd imagine if this reaches the point where people want to put the OpenBSD fork of OpenSSL on other platforms, a similar approach would be used.

It's been pretty successful for OpenSSH:

http://www.openssh.com/usage/graphs.html
> As you depend more on robots (literal or figurative) to execute process, over time you're likely losing a body of knowledgable/craft-capable practitioners.

We should understand this well from software. There's plenty of airline and financial software people don't want to meddle with too much because the people who remember the business rules behind it are retired or dead.
How about adding "completion of our manpages" or "making our website less shitty" to that list? See https://www.openssl.org/docs/
It is really awesome, though I'm kind of bummed that they held off on announcing this (or didn't otherwise finalize the details) until after the summer applications were due. As someone working on some bioinformatics tech, that definitely would have persuaded me to apply.*

* And not primarily because of Elizabeth – who I'm sure is fantastic – but more broadly because of what it signals with regards to YC's focus and energy.
Hey guys, I'm also a partner at YC and happen to be in Tokyo as well. I think Garry and I are going to go!
> due to overhead

My understanding is that the old exception code called "SJLJ" (short for setjmp, longjmp, which is what it was) was slow. I think each try/catch required hooks, and yes, it was.

The newer compilers generate something called "DWARF"; resources on it are unfortunately scarce, but my understanding is that you don't pay anything in speed for an exception until you throw one. (You do however pay a bit of disk/memory for data about where try/catch handlers are, I think.)

> safety concerns (the semantics can become quite hairy when mixed with destructors)

I'm assuming that you shouldn't throw in a destructor.¹

This argument, to me, always needs more information attached to it, because by itself it's meaningless. Assuming the alternative is returning either the result, or an error code, you run into exactly the same semantic issues, you're just handling them manually now. Is that better, and how?

In the manual case. If I assume I have some code that returns to me an error code that I can't handle, I need to propagate that error up to a stack frame that can. Thus, I begin to manually unwind the stack, during which, I destruct things. If we're assuming destructors can throw², then I can potentially run into the problem of having two errors: now what do I do?

C++ isn't the only language here: C#, Python, and Java share the problem of "What do you do in the face of multiple exceptions requiring propagation up the stack?", though I think C++ is the only one that solves it by terminating the program. I believe C# and Python just drop the original exception, and I have no idea what Java does. Honestly, if things are that effed up, terminate doesn't sound that bad to me. In practice in C++, most destructors can't/don't throw. (Files are about the hairiest thing, since flushing a file to disk on close can fail: C++'s file classes will ignore failures there, which doesn't exactly sit well with me. You can always flush it manually before closing, but of course, if you do this during exception propagation and throw on failure, you risk termination due to two exceptions.)

Even C has this, in that if you're propagating an integer error code up the stack, and something goes wrong in a cleanup, you've got this problem. In C, you're forced to choose, of course, including the choice of "ignore the problem entirely".

That said, I'll add the answer for Rust here. (I've never used Rust, so correct me if I'm wrong. I'm going abstract away the Rust-specific types, however.) Rust, for a function returning T but that might fail, returns either Optional<T> or a Result<T>-ish object, which is basically (T or ErrorObject). Rust has strong typing, so if there's an error, you can't ignore it directly, because you can't get at the result. And if you try, it terminates the "task". Strong typing is the winner here. (This reminds me why I need to look into Rust.)

¹It's not illegal to do so, but since destructors get called while an exception unwinds the stack, you can potentially run into an exception causing an exception. Two exceptions in C++ result in a termination of the program.

²If we're not, then exceptions are perfectly safe.
Hmm, no I'd rather them make a quality product than work on their website.

The last thing OpenBSD or OpenSSL needs is a whack of totally-useless js on their website.
Could you connect your thoughts to themselves and to the article please? I have no idea why you think the article is stupid, and also no idea how you get to 70% of the population dying over a five year period.