skysight-inc/HackerNews huggingface dataset:
Lots of ways. The ECU only goes into pairing mode if it gets a valid challenge-response from the manufacturer. If put into that mode, it provides a nonce encrypted with its own pairing mode public key that only the manufacturer knows (could even base-64 encode it and show it on screen to let people do this over the phone). You could make it two-phase where it requires the first response within 5 minutes of starting, then requires a second response that must come one hour later (also with a 5-minute entry window). This makes social engineering much more difficult and the delay makes it impractical for most car thieves, but it won't impact dealers or legit owners at all. If the registered owner provides a cell phone, the first attempt should send a text message to let them know the ECU will enter pairing mode and allow them to reply with "STOP" to cancel any further requests.

Once in pairing mode, the physical key and ECU use standard public-key crypto (ala SSL) to setup a secure connection, then exchange keys.

In theory you could allow boot-strapping another key so long as an existing paired key is present which would make the procedure above your failsafe for when all keys are lost/destroyed. If you wanted to take things a step further you could use a form of distributed Kerberos where the manufacturer sets up a physical key with a ticket allowing access to one (or a set) of allowed cars but that makes the manufacturer's systems a massive target for hacks/social engineering which is a problem because thousands of dealer technicians need access to those systems... that's the point of the delays and short acceptance windows above. An evil tech or hacker can't pre-create a bunch of keys on the sly.

To unlock or remote start, the key broadcasts a HELLO message, encrypted with the ECU's public key. The ECU responds with an ACK+nonce encrypted with the physical key's public key. The physical key decrypts it and replies with an ACK+nonce encrypted with the ECU's public key. Congrats, you now have a reasonably secure system that prevents replay attacks.

Ultimately it would require embedded software engineers and company management who a) understood security and b) gave a shit. Both are in extremely short supply.
There is a full length urinal, I don't know why they aren't more widely used.
I feel like pharma companies will try to shut this down.

Why would people pay for meds when they can just get them for free?

It's the same reason bakery throws out their left-overs instead of giving them away.
I think votes on comments stopped being public around that time? So HNsearch probably sees all more recent comments to have 0 votes.
As another Arch user using an S4... that currently has stock, because CM is just broken from a lack of maintainer on jfltespr... your desktop never breaks and is always up to date, while your phone eventually breaks and never gets updates.

That is predominantly because OS and hardware as separate products is essential to user empowerment over their own hardware. There is a tremendous conflict of interest for a company who makes its money selling new hardware to provide good software support to old hardware, so they just do not. And it brings Android as a whole down for it.

If these companies were also not so Linux hostile and stupid, they would upstream their device support into mainline Linux so we could see a healthy ecosystem of Android forks rather than just one attempt in CM that destroys the souls of volunteers who have to maintain all the insane out of tree binary blob kernels these OEMs ship phones with.
Never understood the fun in importing everything and chaining together someone else's code. Sometimes if I'm building something trivial, a bit of test code or something for fun I'll write up all of it, even if I have to reference others code. You learn so much more.
All NNN.io domains are registered
For a post that is claiming to not be elitist, it reads pretty elitist.

Can you expand on how to identify the class of programmers you're referring to? Are they the type that copy / paste code directly from StackOverflow? They lack a classical computer science education? They haven't worked on a large, enterprise-grade project?
Doesn't the management engine exist as part of the BIOS on the same NAND? Couldn't Apple simply have Intel give them a custom BIOS that is signed?
If you're having trouble (like me) to find your "Google Cloud Platform user account ID" to sign up for Limited Preview access, it's just the email address for your Google Cloud account. Took me only 40 minutes to figure that one out.
No, leftpad has four test cases and they are all obvious, given the leftpad API.

Would I write tests for my own leftpad implementation if I were not farming it out to a dependency? Its possible. More likely I would want to understand the intent behind using leftpad in my application or library, and have test for "formatTicket" or whatever it is that I'm actually doing. But for all the talk about tiny modules that cover surprisingly tricky edge cases, this is not one of them.
Yes. Demand > Supply at the moment. Most companies can't get ahold of one of those top school grads because google is giving them a 6 figure offer right out of college.
By the way, the next meeting of the President's Council of Advisors on Science and Technology (PCAST) is on Friday, March 25, and will be shown live here [1]

You can submit questions to them at PCAST@ostp.eop.gov . This might be another good place to direction questions about the President's understanding of encryption technology.

[1] https://www.whitehouse.gov/administration/eop/ostp/pcast
Tick. Tock. Tweet.
DRY taken to the dogmatic extreme where everything is made up and the github stars are the only thing that matters.

This article touches on things that are wrong in the javascript culture. I always had this nagging feeling when working with NPM, this article brings it to light. For what it's worth I never felt this while writing Ruby, C# or Go.

It's the -culture- that needs to change here, not the tools.
Probably not unless Kik will decide to create something for ruby: https://medium.com/@mproberts/a-discussion-about-the-breakin...
It doesn't.

Of course we have a number of packages that are truly trivial and should probably be inlined. Npm is a completely open platform. Anyone can upload any module they feel like. That doesn't mean anyone else will feel the need to use them.

I think you'll find that the vast majority of small modules that are widely used are ones that also cover obscure corner cases and do benefit from widespread use and testing.
Ask HN: Best practise for common asset repo and automated deploy to CDN?
We're using CloudFront and I'm thinking: git repo, TeamCity config, some scripts, etc. What ingredients am I missing?

Can anyone point me to blogs or general advice as to how this is usually done?

We are a small startup and we need an easy way to centrally manage these shared assets (heavy site/email resources) and then deploy them to the CDN when changes are made.

Thanks
We had a similar script in production, it was password protected with a password of "badidea".
The market share of <Android 4.0 is small enough now to ignore, especially if you are also ignoring iOS entirely. Definitely not enough to stop you from writing a webapp in the first place.
I would not let the NASA administrator off the hook, either. I would say they are just or even nor responsible.
I don't see nobody criticizing 'std::min()'. Perhaps what we really need is a 'std' for js?
I think they could handle a separate line of chips. Plus, a lot of folks are going the ARM route in server-land.
I use Prompt2 on my iPad Pro for SSH/term also - really like the tabs so I can have a shell and a few emacs sessions open and flip back and forth (a little better than flipping emacs buffers).

I made a decision to not buy a keyboard. I can type fast enough on a virtual keyboard and I have 2 Mac and 2 Linux laptops for programming.

My iPad Pro is my most used device at this time. I also have a Chromebook that, like iPads, is something I would recommend to non-tech family and friends to use. Most people don't need a conventional computer.

The only issue with iPads is the cost! I love my iPad Pro, but $800 for a 32GB model seems expensive, especially compared to my Toshiba Chromebook 2 that was under $300 with a 1080p screen.
I don't think people should pay for journalism. They should pay for journalists.

What do I mean?

The benefits that we get from journalism are maximized if we have expert journalists – people who dedicate their lives to being good journalists.

Good journalists need stability. If they depend on the readership rates for individual articles, they are disencentivized to take the kinds of risks that a stable institution can afford to give them.

I don't know Blendle's long term plans in terms of supporting quality journalism – but the micropayment model is at odds with giving stability to individual journalists.

Hopefully this is something your are thinking about. How can we best support journalists – and not just individual peices of journalism?
Nobody really bothers to steal older cars though. Not enough money in them for the risk.
Boosting Synaptic Plasticity to Accelerate Learning
I've done something very similar to this using the Perl SSH::Batch module. That module uses a file called .fornodesrc to list and aggregate servers.

I have a ruby script that uses the AWS SDK to create that file based on tag names, both individual and aggregate sets. SSH::Batch does the dirty work from there since it lets you to simple transformations like SETS - THESE, etc.
HN Collapse also is a chrome extension that does the job.

https://chrome.google.com/webstore/detail/hacker-news-collap...
Branding in the Age of Social Media
Edge cases for a padding function? Your comments make me think that the author's point is valid.
Fair enough, I've added a counter to the report pages.
You can get 1GB of 4G and unlimited 3G on Freedompop for $20, or unlimited everything (inc 4G) for about ~$70 on Sprint / T-Mobile.
About 5 hours, apparently: http://i.imgur.com/3FNu99L.jpg
Why `~Function(Int -> Int -> Int)` instead of `~Int -> Int -> Int`?
It has great webrtc support, at least. It also supports Firefox Market Apps being installed with native app launchers and views.
They are HP built Intel systems running Linux.
Google StackDriver
I suggest you try urinating on an electric fence - I have seen it done and the result is both horrifying and very amusing.
The new Apple TV has been jailbroken
> A more apt metaphor would be separating a book into many small paragraphs that each serves a single purpose makes the book easier to understand

No, that would not be an apt metaphor for the problem he is describing.

> Regardless, the book metaphor misses a lot of the nuance.

Not if you are trying to understand the point he is trying to make.

Is there any cost to creating modules, uploading them to npm and using them in other projects ? Clearly there is, as is shown by the world-wide breakage from yesterday. This is probably only one of such failure modes.

The point is, breaking everything into micro-modules can have benefits and costs. Ultimately, it is an engineering trade-off.

Now, it is possible that npm modules are at the right level of abstraction, even though other module systems in the world are not this granular. If this is due to the special nature of JavaScript then the point must be argued from that perspective.
With how weird javascript can be about numbers, it actually didn't surprise me that your module existed.
Samsung is even learning from Apple with the locked bootloaders and no root. Why have users own the devices you sell them when you can just keep owning them while people pay for them?
If it helps, currently if you buy the Nexus 5X from Project Fi, it is about $150 cheaper than retail (Google Store) value.

https://fi.google.com/about/phones/ - 16GB $199 / 32GB $249
When consumers start paying for things like Talos:

https://raptorengineeringinc.com/TALOS/prerelease.php
In the US, if it's ever been played out on broadcast TV then it must have Closed Captions.

This is enforced by the FCC [0], but as more and more "internet" content gets consumed I imagine the same regulations will eventually come, at which point you've got a fantastic training set.

0: https://www.fcc.gov/node/23883
In my experiences, the issues with building CMU Sphinx are mainly unspecified dependencies, undocumented version requirements, and forgetting to sacrifice the goat when the MSVC redistributable installer pops up.

We've written detailed, up-to-date instructions [1] for installing CMU Sphinx, and now also provide prebuilt binaries [2]!

If you're interested in not sending your audio to Google, CMU Sphinx and other libraries (like Kaldi and Julius), are definitely worth a second look.

[1] https://github.com/Uberi/speech_recognition/blob/master/refe...
[2] https://github.com/Uberi/speech_recognition/tree/master/thir...
> Even when I switched to Emacs, I hand-picked every line in my configs from looking at a bunch of people's configs and with a lot of random googling to solve things. Even though it took like 2 weeks of constant tweaking to get just right, I haven't touched it much in like the past 3 years or so, and I've been super productive ever since.

This. The key to using Emacs well is to start with something fairly basic. Whenever you find some behavior that annoys you, take a few minutes to figure out how to fix it once and for all in your config. After a few years you will end up with a giant mess of a config that makes Emacs behave almost exactly the way you want, which you can copy over to any machine where you do serious work. You will also be able to get basic work done in a vanilla `/usr/bin/emacs`.

FWIW, after several years of zsh, I've been mostly happy with a stock fish in a terminal. It's way less broken by default than either zsh or (ugh) eshell.
At 5kV, you're likely to get air dielectric breakdown between droplets (roughly 3MV/m dielectric breakdown over a few mm)
It is rough, but I strung together https://github.com/DrewRWx/assh for a case where I wanted to non-destructively customize a shared account.
There's so much wrong here, it can't even all be seen at once. The part we can perceive is only a projection from a higher dimension into our three-dimensional space.
You'll be surprised, but my implementation is, roughly speaking, 10 (Chrome) to 100 (Safari) to 200 (Firefox) times faster [0], depending on the browser!

[0]: https://jsfiddle.net/nikolay/Lgshxrk8/
Here's a benchmark [0]!

[0]: https://jsfiddle.net/nikolay/Lgshxrk8/
Yes!

I'm not a programmer by trade. I just seem to be one of the few engineers in my tiny little specialized domain that doesn't mind writing a little bit of code now and then to solve a problem.
How does this protect against an attack that connects the key to the car with a wireless range extender?
In that case, the attack would not need much cooperation on the part of the OEM/ODM. The Intel chipsets could be flashed enroute to their manufacturing plant. They might not want the malware to go many places other than the intended target, which is why they would likely want some cooperation to ensure that they only make it to the intended target, which is why I say not much cooperation rather than no cooperation. Anyone from Apple inspecting the factory might not realize it.
"Apple has long suspected that servers it ordered from the traditional supply chain were intercepted during shipping, with additional chips and firmware added to them by unknown third parties in order to make them vulnerable to infiltration, according to a person familiar with the matter."

I feel like the entire world has gone insane, and every boundary is being pushed to its limits ... and then pushed beyond those limits. Where does this end?
You can still fail at the marketing level even if you make it all the way through the approval process (Affezza comes to mind as a good example of this [1]). My background is in biotech and I feel the risk/reward ratio is too great in this area. Still a gutsy move from YC.

1. http://www.fiercepharma.com/story/sanofi-tried-and-failed-af...
I'm disheartened there's no mention of carbon footprint or sustainability. With all the great focus in our community on sustainable land transport (Tesla), data centers, solar and neo-nuclear power, etc., here we have a startup that markets this:

"imagine leaving New York in the morning, making afternoon meetings in London, and being home to tuck your kids into bed."

That is a terrible thing to enable from an environmental impact standpoint. While air travel can be somewhat more efficient per mile than driving alone in a gas car[1], the distances it enables you to travel are vastly greater. Further upping the convenience factor would no doubt encourage more "binge flying".

Perhaps Boom is more efficient than typical airplanes. Perhaps it's less efficient. Perhaps it could make planes that travel at the same speed but at half the carbon footprint. We wouldn't know from this. It's not part of the story.

Let's change that. Let's make sustainability as important a consideration with airplanes as it is with cars.

[1] http://www.yaleclimateconnections.org/2015/09/evolving-clima...
Require-from-Twitter
That's because all laws make sense and all people who enforce and judge them are understand this.
He doesn't need to "govern" all of software. He just wants to control the dominant platforms, so some percentage of law enforcement efforts can get a little traction there. The fact that a percentage of criminals will use encryption anyway is unavoidable they're not trying to stop that.
The Evolution of Anxiety: Why We Worry
I'm actually going to be on topic off topic, but I seriously hope that somehow we have celestial alignment and QML can somehow take off as the defacto networked app standard. HTML/CSS/JS is a document format, styling for said documents, and a language cooked up in a week to bake into a browser in the 90s. And the 90s language is the best part!

QML is ground up meant to write interfaces in, and provide all kinds of critical functionality you would want on everything from mobile to televisions to toasters to your desktop:

* Hardware acceleration everywhere.

* DPI scaling.

* Ability to write controls in native C++ or as composite elements in QML itself.

* Signals and slots throughout all aspects of the framework, instead of callback hell.

* Intuitive and first class animations support.

* Native look and feel on almost all platforms through the Controls API, with the ability to restyle them however you want.

* All aspects of the framework support network transparency. You can associate resources remotely or locally, and all the necessary properties to track loading and downloading are available, and the API handles component loading from web services much more intuitively than HTML script / css loading.

I love QML a lot, and there is even a project called qmlweb to run it in the browser, but I really want to see http://test.org/app.qml be a thing. Having written my share of web applications and QML ones, I have no idea why anyone thinks spreading the design disaster of the traditional web to encompass all user software is the best we can achieve.
The world was that way long before you realized it.
I think oh-my-zsh is the best of both worlds. If you don't like to fiddle, it has sensible defaults and if you do, you can write and load your own plugins and themes easily. There is a rich collection of plugins and themes that you can enable by choice - and customize as desired. I've been known to fiddle with things like this and I've learned tons about what's possible and how to customize my shell by looking at the oh-my-zsh source.

Worth mentioning the fish shell [1] which takes a different approach and tries to "work out of the box" with things most people want.

[1]: https://fishshell.com/
If youtube and e-mail is her use case, she doesn't need that crappy old Windows machine or a new $600 iPad, she needs something like a Samsung Galaxy Tab 4 (about $150) or if the physical keyboard is important, an ASUS Transformer book ($250). There are also Chromebooks from Acer, HP, Samsung, Lenovo, etc. for under $200. All cheaper than the $300 she's paying to repair the old Dell.

I think that's a big piece of what makes the original quote from Apple seem so off-putting. They don't create hardware that's at a reasonable price point for people who are struggling with their crappy old Dell and keep paying the guys at Best Buy $300 to keep it running for another year. Your MIL has a lot of good options that she could try, but none of them are from Apple, and they give no indication that they plan to change that.
When my teeth start to rot I get them fixed at the dentist, then start to maintain my teeth by brushing them. If I get a wound on my arm, I wash it and apply bandages, not finalize my will and kill myself. When your toilet gets clogged, you plunge it, not buy a new toilet. When your carpet gets worn out you replace it, not tear down the whole house and buy a new one. If the RAM on your computer fails, you buy new RAM and install it, not scrap the entire computer and buy a new one. Absolutely, ideally everything would run perfectly forever without intervention, but disorder is inevitable in this world.

Without intervention, the artefacts of civilization would literally crumble within decades. With proper maintenance, a building could last for centuries, a car for decades, a computer or phone I would hope for at least 5 years.

Our throwaway culture is threatening our existence via environmental degradation. We're in the middle of a mass extinction, and climate change could literally end life on Earth. We need to consider the long term sustainability of our economy, way of life, and civilization.
> It's the semantics rather than the syntax that are tricky.

Ah, I take your point; just drop the word complete , it makes sense if you're a bit less pedantic here.
It's regrettable how often people assume opinions different to their own must have been formed out of ignorance.

Some of the code I've written has to run in places where the cost of failure can be very high (not normally human life high, but certainly economically prohibitive) and the processes to deploy an update anything if a bug does need fixing can be measured in months with significant costs of their own.

As an example, I wrote a program a while back that implemented somewhat complicated data processing algorithms, took a few months to develop, has been in service for several years now, and to my knowledge has never had a single bug reported against it in production other than a small number where the project met the spec but the spec turned out to have been wrong.

That project was developed and tested using a variety of techniques. A sensible automated test suite was one of them. It was also built on rigorously proven mathematical foundations, among other things.

So yes, I do have experience with building very high quality software. I've made a significant part of my living doing it over the years, and in some cases I have single-handedly outperformed entire teams working for my clients' competitors at the same time. I do know the value of a good test suite, and a lot of other effective development techniques.

It would still be commercially unreasonable to spend the kind of time and money it took to develop a project at that level of robustness if the potential costs of failure were not so high.
What are these arcane edge cases everyone is so afraid of?
Good insight, I actually was wondering if the choice of the object (Emulator) was a good or bad one.

You're making a good case that it reduces the effect of initial design discovery since it's based on well known hardware.