skysight-inc/HackerNews huggingface dataset:
> Solution: light-up accelerometer helmets, and a new rule that if the helmet lights up it's a penalty

I like this idea.

Many motorsports (such as Formula 1) have safety accelerometers that require medical checkup to the driver when tripped (I think around 25-50 G impacts). It also alerts the track officials to take special care if the driver has to be extricated from the vehicle. There have been incidents in the past when a driver has walked away from the crash, but later developed a headache and died in the following days.
How do you disincentivize both teams in a zero-sum game?
A Christmas Present: PostgreSQL 9.5 RC1
Show:Adwalnut: Create Your Own Performance Network
Bill Gurley: It’s the “Same Sh_t” as in ’99
This sounds like a very practical lesson that more programmers should understand.
> Considering more than one exact txn I imagine will hit a single specific node often, at large scale with a single mode down even if that means 5% of transactions block, you are basically growing a queue of waiting work indefinitely with the only upper bound being how much ram you have. Meanwhile 5% of clients will be waiting and this node may take awhile to come back if it needs something.

Ahh, no! For each obj, there are 2F+1 replicas, each replica on a different node. For each txn that hits an obj, you only need F+1 of those replicas to vote on the txn. So, provided F > 0, a single failure will never cause anything to block.

> I would suggest that you have at minimum strict timeouts for the the transactions, in conjunction with an immediate fail if the node is answer is not available right now. So a client would never wait more than X seconds or the transaction is aborted and if necessary rolled back.

I agree. I think it would be very difficult for a client to do anything sensible with such information, but even if all I'm doing is getting the client to resubmit the txn verbatim, at least it clears up the resource usage on the server, which is the most important thing.

> Furthermore , what if a node never comes back. Somehow there seems to need a transaction failure that is handed back to the client whether it's node is down, node is gone forever , or node simply timed out.

Well, this only becomes a problem if > F nodes fail and never come back - the whole design of consensus systems is to cope with failures up to a certain threshold. Provided <= F nodes fail, the failures are detected and any txns that are in-flight are safely aborted (or, if it actually committed, that information is propogated) - this is all just usual Paxos stuff. But yes, again, I completely agree: if you have a massive failure and you lose data, then you are going to have to recover from that. For goshawkDB, that's going to require changing topology which is not supported in 0.1, but is the main goal for 0.2.

> At the end of the day even if your system is able to handle N thousands of transactions pleasantly waiting and can still answer other requests indefinitely that is a great accomplishment, but in practice may not be ideal for many workloads. People and computers tend to both retry interactions with data that are slow or failed and the combination of just taking on more and more work and hoping everything flushes out when things become healthy is a recipe for a thundering herd, and better served by something like an async work queue type of pattern.

Oh absolutely. In a previous life I did much of the core engineering on RabbitMQ. It was there that I slowly learnt the chief problem tends to be that under heavy load, you end up spending more CPU per event than under light load, so as soon as you go past a certain tipping point, it's very difficult to come back. I certainly appreciate that human interaction with a data store is going to require consistent and predictable behaviour.

Thanks for your input.
If you have ublock with advanced mode turned on you can fix it in one click by turning off third party scripts.

https://i.imgur.com/giCKZXy.png
You're already allowing undefined behaviour then. Very confusing bugs could result - e.g. the value of 'a' might be different from what it looked like in a debugger, because the array access changed it in memory but the copy in the register hasn't changed.
One note about the interface - the rotation arrows are very confusing. You should always put the curve on top, rather than on bottom, since most people think of rotation directions based on the movement of a point on the top of the arc. Additionally, the left arrow rotates right, while the right arrow rotates left.
Kibana / Kibi Cross Index Timeline Widget Released
Unemployment is a policy choice that we do as a society.

http://heteconomist.com/unemployment-is-a-government-policy-...
Considered harmful essays considered harmful.
How do you manage things like database schema (except by switching to schema-less database :) ), is it your software which is suppose to create it if non existing ?

In case the database is pristine, ok I see, I do a "create table if not exist"

But if the database is at version N and I want to go version N+1 , what do I do? I mean I do know about database migration tools, but how does it integrates in your "pure 12factor" deployement, as it means when you deploy you need to have at least this order:

1. bring up the database
2. run the migration script
3. bring up the application

and the article was advocating to make things in a way that you don't need to have a "you MUST first run this, then that"
pcwalton claims a factor of 3x to 5x elsewhere in the thread.

Honestly I think the biggest problem here is social. Every programmer thinks they're smarter than others. If you give them a button marked "remove all safety checks, increase performance by 1%", they'll press it. Those who wouldn't press it have probably already moved on from C.
Hardware doesn't work like this. You might want to read Hennessy and Patterson, and the original RISC I paper.

http://www.amazon.com/Computer-Architecture-Fifth-Edition-Qu...

http://www.cecs.pdx.edu/~alaa/ece587/papers/patterson_isca_1...
The Genesis Block – The Chain Begins in Warsaw  –  a Blockchain Tale
#Honda Adds 127,000 #Vehicles to #Takata_Airbag_Recall
I wonder what Ritchie would be thinking of that.

Also, if friendly C is a problem, does that mean that friendly C++ is in the realm of the impossible?
No you introduce it into the genome of the mosquito and then release the mosquito. No virus involved. It is best to read the paper and its references.

What makes you think it is dangerous?
For some reason this reminds me of the man who mistook his wife for a hat.

https://en.wikipedia.org/wiki/The_Man_Who_Mistook_His_Wife_f...
Yep, this is the case at large consultancy firms such as Capgemini or Accenture, not for small company where you tougher scale your resources.
Notebook is OK (love the inline matplotlib!!) and publish to HTML is neat, but I prefer pycharm -> docker feature now.
>100.000 EUR invested in indexfunds should net me on average around 6% a year after taxes, i.e. 6000 EUR a year or 500 EUR a month (7% historic average minus ~1% tax).

Really? That's a better return than I'm seeing averaged over 10 years.
Anecdotally, they failed. I'm still on 7 because 10 just introduced a slew of unfamiliar UI styling while hiding or removing any mechanism to make it stop...
Powerful VC who profited from the kind of situation described in the nytimes piece: "Don't join a startup because you are trying to maximize wealth".
Fk yes, just like you, the only reason I joined and you invested in that dating app is to save the singles from this damn evil world.
Maybe, it's hard to say. I remember when my kids were really young they used to see really random things in clouds and sand or whatever - just like a neural net would.
There is no need to write a Makefile for every platform nowadays.
What I want is for the semantics of the language to match the semantics of the physical machine I'm writing software for. If on x86 INT_MAX+1==INT_MIN, then that's what should happen on x86. If on ARM INT_MAX+1==INT_MAX, that's what should happen on ARM. No, I don't want portability. Portability means you're coding against the least common denominator. If I want it to be portable, I'll use a different compiler.
As far as I can tell this proposal allows to ensure that it is possible to "factory reset" a system in a way that removes all malware, and also allows to "dual boot" OSes without any of the OSes being able to compromise the other (by flashing malicious firmware which then exploits the other OS on a subsequent boot).

It also prevents some more exotic attacks like replacing the BIOS (but not any hardware) with a malicious one as the laptop is delivered, used without network access (but not with network access) and then stealing the laptop and trying to read unencrypted user data leaked by the malicious BIOS.

It is not effective against undetected arbitrary physical attacks (insert a keylogger between keyboard and motherboard) or against persistent software attacks against a single vulnerable OS (persist via the OS autostart mechanism and exploit the OS on each boot).

Having an external stick also mitigates detectable physical attacks (e.g. theft of laptop, or manipulation detected by a broken tamper-proof seal) where the attacker has already stolen the encryption password, since they still won't get the stick and thus won't be able to get the data anyway.

The stick being external doesn't seem to provide much advantage otherwise, since if the laptop hardware is malicious it doesn't help, and if it is not malicious then an internal trusted stick equivalent works just as well.
I guess it is time for "'Considered harmful essays considered harmful' comments considered harmful"

Especially since this isn't really a typical one, apart from the title, but includes quite a bit of analysis and proposals.
My OS https://webconverger.com/ gets you mostly there. The slate is wiped clean between sessions like https://en.wikipedia.org/wiki/Privacy_mode of course.
So it has been imminent for five years. Can it be imminent forever?
Do you consider yourself a machine or a human? Became from outside it sure looks one way.

I'm guessing you're relatively young. What I wished I'd learned earlier is the future comes faster than you think, and the earlier you start planning and saving for it (partner, children, ill health) the easier it is.
I'm curious, which sites did you scrape? Also by "so-so" do you mean that a simple majority of picks were winning? Modest winnings in DraftKings (or their competitors) could make for an interesting side-hustle or semi-passive income source.
If you are thoughtful and careful and quit quickly at a startup that isn't going anywhere / lead by jerks you can usually pick the right startup.

My point is that equity is great and it does everything it is supposed to do (align motivation / create a great team spirit / reward risk takers). The problem is people think that equity is magical and you don't have to worry about the people giving it to you. They are the weak link - not the equity itself.
Temel.cr: Extensible Markup DSL for Crystal
Space leak zoo (2011)
It plays fine in the Netherlands. I'm in the UK but use Browsec plugin [1] to watch it through a VPN in the Netherlands.

1. https://addons.mozilla.org/en-GB/firefox/addon/browsec/
It can work as a stop gap measure though, when the local currency is functioning so bad as the one they have now do.

They will be better off switching to their own currency, after their government stop abusing the country.
I went ahead with PostImage because despite being buggy it had a clean interface, had album feature(gallery), direct links, mass upload etc.
There's also an extension for this:
https://github.com/wolfascu/regex-crossword-goodies
> Apparently 1 in 5 Macs use Snow Leopard.

According to an article that's almost two years old. I doubt that number is so high today.
So there it is, Perl 6 released on Christmas. Exactly as appointed. I didn't
think I would ever see it coming out.
I haven't seen the paper. Was it referenced in this thread?

If you're just genetically engineering the mosquito to be unable to transmit the virus, I can't see the harm in it. But if you are releasing a virus to act as your vector for genetic modification of the mosquitos, then I would think that has the potential to veer wildly off plan
If you have the skills to go work for Google and climb up the career ladder there, you probably have the skills to start your own company, work harder and retire at 40 (not 60) with a decent amount of wealth. Just find an interesting niche, develop it for a large market and don't waste your time on worthless features. I retired at 41 this way and don't think I was even Google material when I started (too old and relatively inexperienced). Also, listen to this advice: https://news.ycombinator.com/item?id=10787615
> I also find being rich around 60 years pointless, since you've wasted too much of your life working for "the man" at that point.

Lolwut? Sure it's better to be young and rich but don't discount the comfort of being old(er) and rich.

That said, your plan sounds pretty good. How does your plan change if you want to raise kids?
Code review without your glasses
Xilisoft Video Converter Ultimate 7.8.6 MacOS X
I like the visualisations on this page: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ (Especially "The Easy Way Out" one.

It suggests that because neural networks cannot properly separate the classes, the often mush them together in the input-space so the "panda" region of image-space has loads of other classes speckled though it. If you purposely find those speckles you can make it think that a panda is a vulture.

That blog mentions adding smoothness constraints, so that you can't suddenly go from panda to vulture with a tiny change in an image. But I wonder if an easier solution (ok, hack) is just to add different noise to the image 10 times or so, run it through the network and then combine the results.

Essentially you'd be doing Monte Carlo sampling of the image space around the input image. Or kind of blurring the image space.

Just an idea anyway. I don't really know what I'm talking about.
Japan's Secret WWII Weapon: Balloon Bombs
Post-2008 I'd really push http://www.hokstad.com/compiler . Writing a compiler in the same way you'd write an ordinary program, this was the first explanation where I actually understood the rationale for the choices being made.
Visualisation of 100,000 nearby stars
18 Giveaway Signs That You’re a True Mobile Marketer
Good Technology Wasn't So Good for Employees
Ask HN: I need to learn about PR and Marketing, recommendations?
Hello HackerNews entrepreneurs,

I'm after some lessons in PR and Marketing. I would really appreciate any recommendations for good resources (online) and books on the topic.

I read the Burnt Out Bloggers guide to PR (recommended by Justin, Founder of Twitch in the Startup School Lectures), I need more knowledge!!!

Thanks and Merry Christmas everyone.

P.s. I think I will be getting a Kindle for Christmas :)
Most big cats in Europe. Possibly Aurochs.
It seems to me that having Dual_EC_DRBG in your code today is an extreme case of incompetence. Ideally, that should be enough to sue them out of business.
That's what I'm doing. My maildir is just synced from the server with Syncthing.
CAPTCHAs should be easy to solve for humans and hard for computers, not the other way around :P
You follow the link in the article (the localhost:99... one) and then you can use the notebook in your web browser.
> The idea of working 10+ hours a day, 5 days a week (if I'm lucky), 50 weeks a year for the next 40 years just doesn't appeal to me.

I used to think like that when I was 20. One thing I've learned (will be 40 soon) is that the time passes anyway.

If you're lucky, you'll get to be 60. You don't want to be poor when you're 60. Of course, you don't want to delay gratification unduly, but beware of doing the opposite.
Now, if they were written as generators or coroutines you may have a winner (RAM allowing).
I'm in Europe and have played DFS with Mondogoal.
Money seems like the simplest solution.
I solved this a while back. It's a bit challenging, but mostly due to the fact that the clues aren't really completely determining the solution, so you can't deduce each square like you can in e.g. sudoku. You have to make some guesses and then backtrack if they're wrong.
If he can pay the rent for Ginza, must be making acceptable money.
I like Schema and Voluptuous enough that as a polyglot who mostly works in PHP I'm working on a PHP version at the moment.
One Way to Unrig Stock Trading
Here’s Why Public Wifi Is a Public Health Hazard
You can specify aliasing explicitly with the restrict keyword. It's used in cases where you have two pointers of the same type that are otherwise allowed to alias each other. For pointers of different types it doesn't make much sense and shouldn't be required, there is just no valid reason, except trying to be a smart ass, for two pointers of different types to alias each other, for generic containers you can use void pointers.
I hope you're also assuming Ericsson isn't stupid either. Ericsson have several (compounding) advantages: since it's their core-competence, they have more people working on RF tech, they also have been in the game for longer[1] which allowed them to get the low hanging fruits and time to get their tech into more standards. I'd guess Ericson has more cellular patents by at least an order of magnitude; likely more.

1. Ericsson has been in the telecoms business since 1876
What is electron in this context? (The ex-atom maybe?)
Self-spawning node timer
3 proven strategies to boost your online marketing
From the standpoint of someone who had to ask people to use common messenger among a team of people with varying team in the field operation at an event, biggest issue I have seen with Google Hangouts (I guess this also applies to Facebook in that respect as well) is that there seems to be a bit of reluctance from people when they are required signing up to more "blanket" service, in this case, Google.

I guess for some who do not use other Google services (especially when they don't use Gmail, YouTube, etc.) either don't want set up or show high resistance in setting up a new account with Google.

Some privacy concern aside, many of those integrated services works great especially when they are used effectively, but I think the flip side is that those services tend to be "too heavy" for some people who just want to use it as a messenger and nothing else. (Actually, I wish they had an option like that.)
Wow. I completely missed it.
Is there any ritual programmers do before launching an app or startup?
I have build my first app from scratch. Not very complex , but not easy either, it took me years to learn all the technologies required plus one year of university previously. I don't demand my first product to be successful, but the time is coming to launch an initial version and having spent so much time alone, I want to know what others have done before releasing the program.
Cool, makes more sense now.

At a high level it would be interesting to make it as durable as possible in situations where say F=2 but you have 30 nodes.

As I understand it, in this hypothetical case, the majority of the system would work fine if 3 nodes fail, but there could also be some percentage of transactions which are unfulfillable due to this scenario while there should be many that can still be answered with confidence. ( if I'm understanding correctly that data does not go into every node with a configuration like this and is consistently hashed across )

So was just curious how a prolonged period of this may turn into an unbounded problem when trying to digest your page on it.

Ultimately it sounds like it's headed in a good path and embracing this partial-fail-but-that-doesn't-mean-show-is-over with specifics is a good thing to get ironed out and would certainly be a key thing to get right early, even if it's largely semantics and client behavior.

Good luck, will try to play with it soon
RISC created a huge local minimum by speeding up C code to the exclusion of other languages. I predict that eventually future processors will hide more features from the higher software levels (such as number of registers, instruction types and formats) in order to improve efficiency at the machine level. I think we are seeing this trend with GPUs already. Current CPUs don't do this because they have to maintain binary compatibility with a huge installed base. We can compare notes in a decade or so :-)
My vote goes to pyspider[1]

[1] - https://github.com/binux/pyspider
He also doesn't take inflation into consideration.
The best Equalizer App for Android is here
There's an x86 version of Crenshaw's excellent tutorial here:
http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html

I'd definitely recommend it highly; the only way it could be better is if it arrived at a compiler that could compile itself.

Another article which I think everyone attempting to write a compiler should read is https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm - how to simply and efficiently parse expressions.
Thanks for the recommendation, though I'd give the caveat that I've been rambling all over the place, especially in the later parts. I also have lots of changes after the latest part that I need to write about...

I'd really like to get a chance to take the time to retrospectively go over and tighten it up. The trouble with that is that it's easily 10 times+ as much effort to follow along with a project this way and write about each change as it is to cover the finished code (especially thorny issues such as how to avoid wasting too much time on bug fixes that may or may not have affected understanding of previous parts).

Personally, while I'm very happy that people find my series useful, I'd recommend perhaps supplementing or starting with Niklaus Wirth's books or Crenshaws "Let's write a compiler" (one of the ones recommended in the linked artile) for something much more focused. I feel the angles are sufficiently different that it's worth it. And Wirth is my big hero when it comes to language and compiler construction.

While the other suggestion in the article is well worth a read, I'd give one caveat: Lots of passes is hard to keep mental track of. My compiler sort-of does something similar in applying multiple transformation stages to the AST, and I'm mulling collapsing it into fewer stages rather than more because I feel it's getting more complex than necessary. You can work around some of the debugging complexity by outputting each stage to a suitable format so you can test each transformation individually, but it's still hard to keep track of exactly what each
stage expects and delivers.
While an OS that doesn't preserve state is an important component of Rutkowska's proposal, and your OS might be one basis for that component, I don't think this is "mostly there" in terms of everything that the paper discusses. Much of what's new in the paper is about hardware issues, especially because it's concerned with firmware attacks that are already being used by attackers like NSA, and that other people clearly understand how to develop in principle.

With these firmware attacks, compromising a device at one point in time may allow the compromise to persist even if the user reinstalls the OS or replaces it with a different one.

One way to see this paper is as a response to

http://www.slideshare.net/hashdays/why-johnny-cant-tell-if-h...

proposing more details of a safer future platform.

Right now, someone who can briefly get kernel-level control on a machine intended to run your OS might be able to reprogram the hard drive firmware. At that point you have a serious authenticity challenge when booting your OS, because the hard drive can alter the contents of particular binaries at the moment they're read from disk. There are some powerful software-only defenses against this, but if an attacker knows which ones you use, they can probably design an attack that evades those.
Could processing the image before and after adding a small blur to the image detect this kind of thing?
The Cubli: a cube that can jump up, balance, and 'walk'