skysight-inc/HackerNews huggingface dataset:
" there's slim to zero chance such a protocol will ever become reality."

Even if you think that, I don't think you should say it out loud. Lots of great things were created because people were dumb and tried to do the impossible. There's too much gloom and doom and I think that's putting people off. Not to say that we shouldn't highlight the issue, just more in a positive light i.e "X is really tough, but if it's done this could change the Y landscape"

Merely my opinion, of course.
People may want the occasional experience of being a cook, without being super dedicated. It's like getting the occasional riding lesson, but never buying a horse. Horse enthusiasts say that caring for the horse, raising it, selecting a saddle, etc. is an integral part of the experience, and they might be right, but that doesn't stop places from succeeding at offering riding lessons.

I also like to cook, but I buy all my vegetables online anyway. I find the online experience good enough, and the convenience totally worth it. I would probably be an infrequent user of this service.
Sharing private photos that don't belong to you is not free speech. Your rights end where the next person's rights begin.
Not necessarily; the schematics of ICs in datasheets often can and do significantly differ from what's on the silicon, as to the user the important part is how the part performs in circuit, not its internal structure. (I suppose this is quite a non-leaky abstraction.)

ST's datasheet also has this standard disclaimer, so it's also perfectly acceptable for them to change it from a legal perspective:

STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice.
Love these sorts of reflections -- insight about a career in software, from those that have been in it long enough to have one.
Bluntly: hollywood saw piracy only as something to be killed. Now, too late, they're trying to emulate what has been in the works for 15 years.

Right now, Comcast sees Netflix as something to be killed.

It may be true now; it will certainly be in the future that Comcast will try to kill competing fiber build-outs.

It'll be a close race, but I'm not betting on Comcast or Hollywood.
Her next article should be on how to make a kernel module for a new executable file format. Bring it around town.
Depends on your upload speed. How many HD webcams can you upload before your pipe chokes?
This it mostly OT, which is the point.

The author is talking about health benefits.

My exposure to violent crime and drink driving (That I aren't already exposed too) is easy to manage if I was to start drinking.
On the other hand, he's been writing on addiction for decades and that grant was from 14 years ago.

Noted, but he's likely not a shill for Big Booze.
For what it worth, this website ranks the popularity of some keywords in UK's IT job ads: http://www.itjobswatch.co.uk/ Bank jobs are a big part of UK's IT jobs.

There is a category "Programming Language", in which you can see Scala and Clojure has taken steam since 2010, even if interest in Clojure seems to have waned a bit this year (and now it trails COBOL or Delphi). Interestingly, the salary advertised for Scala and Clojure jobs are also larger than for the more popular programming languages.
Google Fiber's terms of service have been clarified on the "running a server" point: now it's only off-limits to "operate servers for commercial purposes. However, personal, non-commercial use of servers that complies with this AUP is acceptable..."

http://arstechnica.com/information-technology/2013/10/google...
If it is actually responsible for preventable deaths, why are they not being prevented?

Because alcohol is the cause. I don't know what are you trying to say.
Let's say I'm interested in building an app that uses encryption: an end-to-end email client and/ or server, a tarsnap competitor, or I just want to build a privacy conscious app (end-to-end encryption of user data, basically). How should I get started, would there be a reading list on cryptography besides the security reading list?

(And yes, I know the best way is to get a PhD building the thing, but I'm interested in learning nonetheless )
Their aliexpress.com arm functions like Ebay. I assume they take a commission on each transaction (but they annoyingly ask for credit card information on each transaction, ugh).

As for Alibaba, I also don't understand how they generate much revenue as a non-fiduciary and non-risk-taking matchmaker that doesn't handle transactions themselves.
The Myth of the Bell Curve: Look for the Hyper-Performers
One day, a mechanic is approached by a company. One of the machines on their factory line isn't operating correctly, and they are in dire trouble. So, he goes, examines the machine over about ten minutes, pulls out a hammer and hits the machine. It begins working flawlessly. He tells the company the repair will be $50,000. They are aghast, and demand an invoice. So, the mechanic grabs a piece of paper and writes:

Labor, 10 minutes exam and hammer hit: $100
Knowing where to hit the machine: $49,900

Moral of the story: Looking things up is fine if all you need is a walk through the algorithm to implement. Knowing WHAT algorithm to look up and implement is the part you'll get paid for.
Google Glass on the Play Store
By ambiguous, I mean that operator|'s precedence is very different than operator.'s (std::operator<< has similar issues); which could lead to surprises if you don't have the precedence tables memorized.

operator. is at the optimal precedence for method chaining, and has well understood behavior, so I think it'd be preferred over hijacking things like the bitwise-or operator.
Nobody on this thread really seems to be talking about one of the issues brought up in the IPv6 analysis (though I'm not sure if it caused their outages - any time I read a post mortem with the phrase, "bridge loops" I usually don't look any further - that alone is enough to bring a network down)

If I read the post correctly, one of the roots of their problems seems to be that either (A) Traffic flooding causing excess traffic as a result of multicast packets being flooded over their network, or (B) If they used MLD snooping to reduce the flooding, the switches they have only support 3,000 entries for multicast groups - which are quickly exceeded with the privacy IPv6 addresses that are generated by the hosts (each of which creates it's own multicast entry, and some of their hosts had 10+ addresses)

Other than turning off privacy based IPv6 addresses, and moving to something like RFC 7217, is there a solution? Increasing the number of multicast entries on the switch to something larger, say, around 30,000 entries combined with reducing the length of time in which a privacy address is valid (and therefore requiring a group) from one day, to say, one hour?
Thank you. Market research is a formal practice performed by trained professionals with experience in (among other things) framing the questions correctly and interpreting the responses. It's not something you can replace with surveymonkey and a few ad-hoc interviews.
I wouldn't guess. I would look at research.
"I want to programmatically generate ASTs and feed them in"

Going by the experience with preprocessors in Ocaml, not the best idea IMO.
Nice story. Do you have the source to read it up?
Awesome idea, but I don't see how this will last very long. I expect your host will pull the plug in a few days to a week, especially if you're opening yourself up to downloading and then hosting the content.

I run www.moviemagnet.net which surprisingly is hosted in the US, but hasn't been taken down yet.
Wiki [1] and OSDev [2] both have pretty solid articles if you want to know how to load an ELF into memory.

I used both when implementing ELF for my hobby kernel [3]

[1] http://en.wikipedia.org/wiki/Executable_and_Linkable_Format

[2] http://wiki.osdev.org/ELF_Tutorial

[3] https://github.com/lexs/rust-os/blob/master/rost/exec/elf.rs
5 life lessons from 5 years of traveling the world
Thanks, the is_compatible test certainly gave me a good bit of trouble.

Ideally you'd want to do enable_if< conditionA || conditionB >, but of course if one of the conditions fails to evaluate, the overload is ignored. So you have to split out the conditions and them merge them back together later on.

We could use true_type / false_type, but they have equivalent sizes. So unlike the function version that only needs one test and can just take the return type directly, the test at the end would then have to become std::is_same<decltype(test1<U>(0)), std::true_type>::value | std::is_same<decltype(test2<U>(0)), std::true_type>::value.

I still think we can do better than even this, so I'll have to keep working at it.
Show HN: Bookmarklet to submit URL to 3 archival services
Hah, I worked on this the first time around 10 years ago when it was called FutureMAP. Didn't exactly end well.
What happens in Moderation doesn't necessarily stay in Moderation.
Uh so the author ventures the hypothesis, that no one used his product because there was no demand. Can I venture a second hypothesis? No one used his product because it was too expensive? How much did things cost and how did dinnr experiment with pricing?
Another option not yet mentioned: https://respond.ly/ Especially good for doing support via twitter.
> I don't know that the parent comment makes a good case for relevance of this claim, though, since

The parent comment is responding to @tptacek's original comment:

> (It's actually of dubious relevance to programmers in general).

Where 'it' is the Design Patterns book. That's a more broad statement than just whether or not security researchers needs to read the book. The parent to your post replied to that:

> I agree that _Design Patterns_ has little to do with security, but I think you are being a bit hard on it from a programming perspective.

So, in summary:

tptacek: Design Patterns has no relevance to security. It also
has dubious relevance to all other programming.

skue: It doesn't have relevance to security, but I feel that it
does have relevance to programming in general.
Thanks for the advice. It is important not to overlook the downsides of any investment strategy, and I do keep very diligent records.

The downside to DRiPs as you mentioned is the amount of paperwork you have to do and the difficulty in selling. For me, however, I am willing to incur that cost for the upsides which are particularly maximized by my personal situation.

I am not sure about how difficult US taxes are, but in Canada they are fairly straightforward for someone adept at math and logic.
Wait. What?

http://hooli.io/ (?) http://opp.io/
Well, not "all" of us - people who know about experimental psychology and cognitive science (and statistics even) have known that the MBTI is pretty much pseudoscience and bunk. It's great for post-hoc rationalization of your feelings, and decent for communicating ideas about personality to people, but the actual four-factor with subfactor test is snake oil. Business executives like it because it feels science-y, and business people love metrics, even if those metrics are ultimately meaningless. See also: almost every business "reform" in education.
I have a use for this at CC if we can get it working on Debian wheezy.

Thanks for releasing this under CC0.
I wonder if any government agencies are providing grants for this project. Obviously this is me being a paranoiac (which I'm not normally) but this seems like an excellent start to identifying individuals whose speech you don't like.
Show HN: My Blog about CSS, JS, Canvas and WebGL
Earlier submission here:https://news.ycombinator.com/item?id=8278004
If all classes are basically strictly scoped, encapsulated components, targeted in the CSS via parent chains, then you won't have this problem, and you won't fall into the trap you describe.

For example, rather than having .buy, it would be named something like .NavigationBar_buy (ie., following a ComponentName_child naming convention) and it would be declared in NavigationBar.scss and look like something like:

.NavigationBar > .NavigationBar_buy {
@include button(large, red);
margin-left: 15px;
}

The really nice thing about the mixin approach is that you will be able to trace all usage. After all, a huge problem with CSS is class rot (where you don't know which classes are actually being used by the app) and class leakage (where classes are used for unrelated things in surprising ways that break if you modify it not knowing about the potential side-effects). Whereas in a component/mixin system, the dependencies are crystal clear: if a mixin isn't used in the stylesheet, you know it's not used by the page, and similarly, you know exactly which classes map to which components. You may get some rot, but zero leakage, and the rot is carefully contained. The only downside is increased HTML/CSS size.

Class-based CSS doesn't scale to large teams, in my opinion. A strictly enforced design manual might do it, but I don't think most companies can work that way.
This is a beautiful post, and I am reluctant to try and say anything profound. Still, all of HN's a stage so I'll attempt a brief explanation for the general reader about why we need voltage regulators.

A logic chip like a microprocessor is designed for a particular supply voltage, if this voltage drops too much the logic circuitry will switch falsely. Say we had only a capacitor and we tried to power the logic chip with it. As the chip draws current the capacitor discharges - this is because current is movement of charge, so the charge (and energy) can come only by draining the capacitor. For an ideal capacitor the voltage is directly proportional to the charge across it, so as the charge drains the voltage falls. To hold the voltage constant we need to keep 'topping up' the capacitor with charge. This is what a voltage regulator does - it uses a negative feedback loop to sense the capacitor voltage and when that voltage falls the circuit provides just the right amount of charge 'juice' for the top-up.

As we take the foot off the clutch pedal in a car, the load gets engaged to the engine and if we sense a stall we press the gas pedal a bit. That's the imagery of a voltage regulator in action.

The capacitor plays a key role because the regulator feedback loop isn't very fast - one trouble with fast feedback circuits is chatter, or responding to every blip. Negative feedback circuits are designed to be more like ship wheels - they like to steer sedately and not respond to every excited cry from the mast. But what happens if a current blip arises because a logic circuit block turns on all at once (in response to some block of code)? That local current blip is provided by the capacitor, it acts like an ATM to provide local draws - but it still depends on the regulator to top it up.

In fact you can think of a battery as a capacitor that tops itself up via electrochemistry, it works as long as there are ions in the electrolyte. If instead of 'bandgap energy' we used the chemist's terminology of 'electrochemical potential difference', then the system similarity becomes evident.
Revisiting the Norm of Normality of Individual Performance (2011) [pdf]
Ask HN: Review my community group app
White iPhone 6 Photos and Videos Surface, Look Legitimate
From wikipedia:

"The only thing that tells you that you're moving is that occasionally when you're flying over the subsonic aeroplanes you can see all these 747s 20,000 feet below you almost appearing to go backwards, I mean you are going 800 miles an hour or thereabouts faster than they are. The aeroplane was an absolute delight to fly, it handled beautifully. And remember we are talking about an aeroplane that was being designed in the late 1950s – mid 1960s. I think it's absolutely amazing and here we are, now in the 21st century, and it remains unique."
—John Hutchinson, Concorde Captain, "The World's Greatest Airliner" (2003)[114]

I really hope we get to fly in one of these, or a modern version, someday.
It is. Plus, if you post a photo and a make a comment on it (which could be bashing the poster, let's say) and which comment is not violating anybody's right, banning the whole subreddit is suppressing my right of free speech.
Although I haven't found GoF book useful when looking to solve a problem at work, it has come super handy when preparing for technical interviews. I must admit that over the last 10 years I haven't managed to answer any of the Design Patterns questions satisfactorily. Never mind that the roles required Perl/Python scripting skills in the job post.
> Their observation isn't remotely an ad hominem

>> "things no responsible person"

Calling someone irresponsible seems pretty ad-hominem.
Memory-security as defined in this article isn't exactly safe. It's just a mitigation feature. The comments above provide plenty of examples of how once an attacker is on the system, he or she can easily get past any language-level construct you care for. If the system were completely memory-safe (which would mean no memory safety bugs in the hardware, kernel, SELinux (or some other kernel extension that lets you do things like deny ptrace), LLVM, the Rust compiler, any libraries you're using, or your program itself, and you weren't doing anything that completely negated all those benefits like JIT compiling code, then you don't need to zero the memory at all--it will do nothing for you as a mitigation technique, and you'd be "memory safe" by your definition. But you're not out of the woods yet, because even with zeroing you are STILL vulnerable to ordinary, non-memory-safety bugs in your code allowing that data to be read. Multiple threads, forgotten heap allocations, and so on. A user with sufficient privileges could glance at the available cache lines. Etc. Anyway, this entire scenario is a fantasy because your system isn't fully memory safe :)

The only way I can think of to actually guarantee real memory security in any meaningful way is to completely verify a much smaller system (not just memory safety, but that it's actually bug-free), isolate it at the hardware level, and do all of your computation using that hardware isolation feature. It has to be hardware because, for example, there's no reasonable way to deterministically erase data swapped to SSD. You'd still be susceptible to hardware bugs, but you can't ever protect against those completely. So basically, get an HSM :)
Sure, I'm not saying it didn't make sense, just that the article didn't bother to explain it at all. If you start off by saying someone works for one company, then start going on about his doing stuff for another company, you ought to explain what the two of the have to do with each other.
> Right after I read this, my immediate reaction was to
> feel kind of annoyed at the author. A little
> superficially, no tech or design talent in house, no
> food industry experience, and not much marketing and
> sales expertise, so what exactly does he bring to the
> table here, besides really wanting a startup?

He addresses this specifically, talking about how it went against everything his Austrian upbringing suggested.

But also: am I wrong to think that there are many examples of successful startups being started by outsiders? Execution sounded pretty reasonable, he just had misjudged the market, based on the same model working well in other markets.
All kernels I know of zero all memory they hand over to user processes. It's been part of basic security for quite some time - exactly for this kind of thing. It's usually done on allocation, not free - it doesn't really matter which way around, but doing it "lazily" can often be better performance.
Sorry you don't understand - let me see if I can make it simpler for you. Your alias (readerrr) gives me some pause that this will be successful. :)

If something is preventable that means it can be prevented. Right? So why is it not be prevented? Understand? By this flawed logic aren't all murders and suicides also preventable? This "preventable" label is bullshit.

I suggest that the vast majority these "alcohol related deaths" cannot be prevented thought additional controls on alcohol. We tried prohibition - didn't help. We arrest 1.5 million people every year - still these death persist. Do you have some suggestions? I gave a few above.
> Not really. Germans were mostly thoroughly enthusiastic, and this has been shown in several historical studies of the era.

What do you mean Germans ? Austrians were pretty damn enthusiastic. New Yorkers were pretty enthusiastic (until the Poland invasion). Europeans were pretty enthusiastic (again, until Poland).

You might even say that the world was pretty enthusiastic. Well, only half of the rightist nut-cases, and only half of communists (Hitler managed to simultaneously introduce a crap-load of leftist advancements like pensions, right to a job, invalidity benefits ...) and fix the economic situation of the Weimar republic by threatening other leaders, although most was accomplished technically through "negotiation". This made him pretty fucking popular on the left, who saw it as vindication of their ideology (spend your way on social projects out of recessions) and on the right, who saw that he fixed the economy).

I realize this may be hard to believe, but Hitler had 75% of aisle firmly behind him right up till the day he invaded Poland, and after that it only dropped to 40-50% or so until the USSR declared war on him. Of course it varied from place to place and time to time, but if he wanted, he could probably have had himself elected major of Washington. Or Paris, for that matter.
China's Alibaba Could See $155B Valuation in U.S. IPO
http://xkcd.com/1357/
The fact that OO is not used frequently in OCaml does not mean that it is useless. Objects in OCaml are typed structurally, not nominally, i.e. object's type is the set of the methods it provides.

Consider an example:

let a = object method f x = 1 end;;
val a : < f : 'a -> int > = <obj>

We define an object a, and the interpreter tells us that the type of the object is "< f : 'a -> int >", i.e. it provides method f.

Define another object

let b = object method f x = 2; method g x = x end;;
val b : < f : 'a -> int; g : 'b -> 'b > = <obj>

Define a function that takes calls method f of its argument:

let f obj = obj#f ();;
val f : < f : unit -> 'a; .. > -> 'a = <fun>

The type of the function tells us that its argument must be an object that provides method f, and maybe some other methods. Now, we can call this function with object a, and object b:

f a;;
- : int = 1

f b;;
- : int = 2

This structural typing, (or if I'm not mistaken, it's called row polymorphism) is an interesiting feature of the language, and it may be useful in some situations. It does not harm the rest of the language, and I see it as a good feature that probably does not get a lot of attention, but it's theoretically solid and works well. Compared to more usual OO systems, it is cleaner and, imho, easier to reason about.

That said, I think, the authors of "Real World OCaml" are right, encouraging the use of Modules rather than Objects. But they do so primarily because in many mainstream languages the main means of abstractions are objects, and they are used for everything. OCaml has functors, modules, it has records, it has ADTs, it has functions, so the need for objects is very limited, and so the new users must get this message very clearly.

An article on objects in OCaml:
http://roscidus.com/blog/blog/2013/09/28/ocaml-objects/
I'm wondering if it's possible to get a simpler/better attempt at sandboxing by just inspecting the generated bytecode, instead of focusing on the .py text file..
I suggest that they hire Hari Seldon.