skysight-inc/HackerNews huggingface dataset:
"And yet they were never able to turn it into economic growth as the West did"

Is it really that much of a mystery? China has had different forms of totalitarianism over the last couple of centuries.

It's like putting a noose around the neck of economic growth and innovation.

The only reason they even saw growth is because the cost of living is still very low in many parts of the country (outside big cities like Beijing) and big businesses can utilize this plus their lax employment laws.

They now just copy our innovations (sometimes, rather poorly) and sell them to their much larger, closed market. Many of these hacking attacks we've seen in the last couple of years are done to steal corporate secrets and copy the business:

http://www.cbsnews.com/news/60-minutes-great-brain-robbery-c...

I know a guy that is a senior engineer at an automotive company. He's originally from China and will go back in a year or so because automotive companies in China are paying Chinese engineers that have worked in the US 3X what they are getting paid here. It won't last long, however. Once they get all of these corporate secrets, engineer wages will go down.

China is slowly stealing all of our corporate secrets through hacking, having Chinese students get educated here and then taking secrets back with them, and outright theft of manufacturing plans/molds.
Nice post from Readme.io, and I also want to shout out to Ben @ Replicated. He reached out to me when we launched our cloud HR SaaS offering, and talked about the possibilities of offering an enterprise on premise version using Replicated.

I haven't moved forward with that yet, but if I do, Replicated will be the team we work with. Ben spent a lot of time on a web hookup teaching me about Docker containers, and even suggesting how we might improve our development environments and processes (without using Replicated anywhere in the solution).
As soon as this will be in place:

1. You will not see obfuscated (a.k.a.) uglified JavaScripts anymore. Everything will be compiled into bytecodes.

2. But don't worry, you will see bunch of webDisAssembly tools.

3. You will not see blog posts "How bad is that JavaScript" anymore.

4. But do expect to see "How bad is WebAssembly" though.

5. "Vanilla JavaScript" camp may have "Vanilla WebAssembly" banners on some tents.

6. You will not see anymore those ugly attempts to write Ray Tracer in JS.

7. Each framework will finally have its own programming language. Most advanced of them will change language on month basis, like Angular35 will use Rust build 3234.23.400. Moving asymptotically close to the Web Holy Grail.

8. Browser API will be decomposed to bare-bone state,

8.1 you will see immediate mode drawing a la WM_PAINT drawing style. Finally.

8.2 you will see CSS extendedable by custom layout managers and properties.

8.3 CSS modular system will reach its eternal ideal. Instead of them writing specs for us each our site will have its own CSS modules.

At the end: each team will write their own browser - FF, GC, IE will just provide WebAssembly loader means. Everything else will be just loadable.

So at the end you will get good Java Applet idea with User Agent exposing pure AWT alike primitives. With the browser as such a ClassLoader thing.
I don't see what the problem is. Fractional vote transfer is a basic feature of Single Transferable Vote (STV) elections. Although there's no reason to do any counting on the voting machines themselves in that case, just recording the ballots.
>The recent windows insider build also fixed an issue with windows defender eating up all CPU.

Were you getting this on the Anniversary build? It's driving me insane - between that and Windows Search Indexing my machine becomes unusable.
recently, there is hyperdev

http://hyperdev.com/
> and X stands for Xtreme?

The X in POSIX is for unIX. Kinda like a pun on all the *nix things that were floating around back then (Xenix, Minix, AIX, Sinix, Ultrix, IRIX, ...)
A middle ground is to allow memory to be either writable or executable at any given time, but not both (W^X). At least Firefox's JIT already implements this.
The entire argument is DOUBLE instead of INT http://blackboxvoting.org/fraction-magic-3/ within some Access database.
I use the thunderbolt to Ethernet adaptor sometimes. That's about it.
No, it's just a wrong assumption. They're still selling the pre-made liquid, they just stopped their bars and powder products proactively, even though they couldn't reproduce the issue in testing. Do you even know anything about their production methods?
The big ones left seem to be Koding and Codenvy. Codenvy focuses on Eclipse Che. Koding is focussing more on Dev infrastructure than the online IDE. Even Heroku started as an online IDE.

I wonder why online IDEs have such a hard time. I asked in GitLab and everyone said they didn't want to code in a browser for usability reasons. We're therefore exploring running the environment in the cloud but syncing the file system so you can use you local editor https://gitlab.com/gitlab-org/gitlab-ce/issues/22876

What do people think? Is this the way to crack to problem and break the online IDE spell?
I liked Google's approach a lot. It seemed justly dimensioned, came out of Thrun DARPA success, had years and millions of miles of testing. What's not to love. Also G has the lever to accelerate and change tech if their old approach is obsolete.

Sad they went silent since a year or so.

I said it in other place, including HN, I don't consider Hotz an outsider, but mostly glorified hacker (his attitude with institutions and media don't help me clear this impression); and I don't think hacker mentality bodes well with this task.
Tar shingles are pretty damned heavy. If you've never experienced it, try picking some up at your hardware store, they have a bit of a weigh budget to work with. And then if you want some sympathy for your roofers, imagine slinging a box of those while standing on a diagonal surface 20 feet in the air in the afternoon sun. Yikes.

I'd almost worry more about about the size of the panels making installation problematic in a light to moderate wind, and having them sail off the roof into the neighbor's car.
Stuck on a problem?  when to ask for help
This is why we absolutely do not need electronic voting (or electronic vote counting) in any way.

Paper voting (with polling locations distributed to balance load) with hand counting and verifiable addition operations to get the final vote counts is what is needed.

Having voted in person at town hall, and then having helped count the votes, I know that it is doable - just like any other laborious task is doable with enough people involved. Electronic voting just doesn't buy you anything more than risk - all at the cost of verifiability.

The other advantage to hand counting with a neighbor nearby is that there is a strong penalty for manipulating the election - your neighbor will notice. These machines make it way too easy to manipulate elections at mass scale without detection.
Virtual PC on the Mac did use the pseudo-little-endian instructions/mode when emulating x86, this made a lot of work for Microsoft when the 970 came out without pseudo-little-endian.
wat. that wasn't obvious from the comment.
>or overthrow them and appoint a new dictator

Now you've lifted the problem from bikeshedding over the logo to bikeshedding over the dictator.
If we're going to have discussions on Hacker News about this, we can't let them immediately devolve into conclusions supported by such things as "bromances".
Adobe should do it because lots of people still use Adobe Air and Animate CC (previously called Flash Professional) to build games. If they could make the vector animation capabilities fast with WebAssembly it would bring back a set of extremely fast and flexible workflows for building games. There presently seem to be a lack of viable workflows for building games with vector animations, which is where Flash's strengths have always been.
Haha, your story about hitting a wall with BASIC only to go somewhere else reminds me of how I decided to learn C: I had "mastered" QBASIC and was learning Visual Basic, so my dad bought me a book called "Hardcore Visual Basic". That book discussed extensively how to get Visual Basic to interact with the native Windows API for fun and profit. Pretty much every chapter began with "this is so much easier in C, but here's how we do it in VB", so wee me decided to hunt for a C compiler in the pile of Shareware CDs I had laying around. Finally found a really old version of Visual C++ (I think it was 2.1, so it was old even by the time) and then spend the next year of my life writing toolbar and common control libraries for lack of anything better to do :)
What does wasm have to do with battery life, and why would you assume its worse?

I expect wasm to be be less resource intensive than JavaScript, as GC's and such won't be necessary.
They implemented the fractional voting feature just in case the United States reinstitutes the three-fifths compromise. [1]

[1] https://en.wikipedia.org/wiki/Three-Fifths_Compromise
I gotta wonder: if this was really a way someone was trying to steal an election...why would they bother?

Once you have thoroughly owned the voting machine system and can set weights why not, I don't know, just ignore the counted ballots entirely and report the totals as whatever you want?
> Ten years there were no videos on facebook, no realtime chat, no realtime video streaming. There was no Dropbox, and most webmails used to allow up to 100MB of storage.

Youtube was around in 2005, realtime chat hasn't changed, cloud services and facebook suck anyway, and I had file sharing long before then.

"Everything is encrypted" is fine as well.

I hear you on "everything is bigger now," but I don't see much benefit from it.

> Get over it.

Pff.
Also, remember that Electron will also benefit from this. More performant cross platform apps!
NT source code typically (and I say typically, because it's a mish-mash of tens of thousands of people's work over 35 years of development) has local variable names in first-letter-lower camel case. If these guys worked on Windows, it's kind of surprising they didn't follow that convention.
Well, I'm not going to disagree except to say that there are posix_spawn and vfork. I don't think anyone thinks the IPC solutions on offer are great but perhaps we should lower our expectations on that.
It's actually an FCC regulation that prevents people using cellular devices on airplanes, and the issue isn't "interference with avionics" but "violating some fundamental assumptions that the existing cellular network is based on" like devices not travelling 600mph or having the ability to transmit signals for dozens of miles.
The one fatality with Autopilot happened because the system worked too well, the driver came to trust it when he shouldn't have. The shittier the Comma one is, the more in-the-loop the human has to be, and risk compensation becomes less of a factor.
> It frustrates me that computers become obsolete this way.

Honestly, I'm optimistic. Technological progress is plateauing (at least single-threaded CPU speeds), and this will naturally need to more stability.

I think the last few decades of rapid technological change has led us through a dark ages of sorts, and the next few decades will hopefully be a maturing of platforms and standards, at least as far as desktop/laptop computing goes.

To put it another way: Moore's law has led to a multitude of sins, and once we can no longer rely on Moore's law to make our computers faster, we're going to really think through past decisions and make smarter choices going forwards. It'll be the only way to keep making progress.

To bring this back to your comment specifically, I think computers will take longer and longer to become obsolete, as these technologies mature. I think this is already happening: I can quite happily use a 5 year old computer now for most current computing tasks, whereas this would not have been true a decade ago.
Scattering caches or CDN nodes around the internet has obvious value.

Its a pretty big jump though from caches to a world where the internet is structured like a cable tv service with a architecturally designated 'head end'.

Many internet architects seem to get very excited about losing end-to-end connectivity, and I can never figure out why. I guess it allows one to raise larger barriers to entry(?).
Also, is it wireless?
Apparently, some of us consider what you said to be an "extraordinary claim" requiring evidence. You are essentially saying:

"Prove 'the state of my knowledge' is wrong."

The burden of proof lies with the original claim maker, not the respondent. This is not a bar room conversation from the 90s, we are literally on the internet; citing one's sources isn't too much to ask.
I'll do it, I don't care if its 10 meg.
Does anyone know which version of Chrome this was fixed in? This may force $EMPLOYER to finally update from an unholy mix of 50 and 53.
Rethinking Test Automation: The Case for Moving Beyond the User Interface [pdf]
You'll get that computer in 2018 when the quad core intel chip that supports lpddr4 or whatever is out.
> false distinction between static versus dynamic typing

This is the Perl 6 view. See "Getting beyond static vs. dynamic" http://www.jnthn.net/papers/2015-fosdem-static-dynamic.pdf

In Perl 6:

> 1. A value.

sub (\var) { say var }

> 2. A number.

sub (Numeric \var) { say var }

> 3. A floating point number.

sub (Num \var) { say var }

> 4. A floating point number between 0.0 and 100.0.

sub (Num \var where 0.0 .. 100.0) { say var }

> 5. A floating point number between 0.0 and 100.0, and optimize for runtime performance instead of precision.

sub (num \var where 0.0 .. 100.0) { say var }

> Ada and Microsoft Visual Basic incorporate some elements of this concept but didn't take it far enough.

Did they take it as far as Perl 6 per the above?
Not sure how the integration with JS looks like in Emscripten. Scala.js is fabulous, with typed facades for the DOM, easy interaction with dynamic JS types, etc.
http://etfdailynews.com/2016/08/11/tesla-wants-to-install-so...

There was buzz about this months ago.
Image zooming with pure JavaScript
200+ Resources for musicans, DJ's and music companies
What's the plan for the 47th+ Presidents?

- https://twitter.com/potus46

- https://twitter.com/potus47

- https://twitter.com/potus48

- https://twitter.com/potus49

- https://twitter.com/potus50

- ...
Seriously? The reason for things being this bloated is that we put every piece of junk in an inefficient web browser, in an inefficient scripting languange, instead of the reasonably fast, compiled ones. Put gmail and facebook into a real desktop qt program and a 10-15 year old laptop would be glad to run them, just like they did to thunderbird, pidgin, msn messenger, and all that jazz. Geez.
Thanks for all the hard work! This is really excellent.

I know this is marked as "future", but is there any progress on exposing the DOM? That's something I'm personally really excited for.
We have been watching people redoing computer software perhaps 20 years behind with JS (the original Doom was ported in 2011, if I remember correctly, please bikeshed the exact number of years) Let's hope WebAssembly will seriously cut this figure down.
Well done! That should be the rule, anything else is hypocritical.
I think the main issues with POSIX are:

- (Correct) IO is ridiculously non-portable and painful in so many ways that it isn't even funny anymore

- Locks are ridiculously non-portable and painful to the point where you're better off just using "mkdir"

- POSIX is stuck in the "everything is bytes and we slap an encoding on it some of the time" era thinking. This makes it painful and hard to implement proper text handling in many instances. This also leads to a lot of bad behaviours.

- Memory management is IMHO lacking from a user space perspective. For example, it's practically impossible to implement a cooperative memory cache on this. To the best of my knowledge no OS has the necessary interfaces, though.

- ioctl as you mentioned

- SysV/POSIX IPC is so bad that no one ever bothered actually using it for anything

- Personally I think it's a misleading API (conceptually, see above, the text example for example) almost to the point of deceptiveness. It's very easy to write correct looking programs that behave far from intended, especially in edge cases. IMHO code using it is practically unreviewable in everything but the most trivial cases. Non-portability is practically guaranteed, you have to test every platform. Portable code usually turns out to be quite ugly due to platform deficiencies and minor API incompatibilities.
People have a lot of theories about what this letter meant, but the people on HN who have actually worked with NHTSA orders say the order means just what it says it means, and that NHTSA is pretty reasonable to work with.

Certainly the questions in the order --- I posted them on the first thread about the comma one --- seemed pretty basic and reasonable.
I think you have to ask why a developer would want to use an online IDE, and focus on that. Do online IDEs have a unique value proposition, or are they just another instance of the counterproductive "X but in the cloud!" formula?
From VentureBeat:

>Microsoft harshly criticized the disclosure. “Today’s disclosure by Google puts customers at potential risk,” a Microsoft spokesperson said. “We recommend customers use Windows 10 and the Microsoft Edge browser for the best protection.”

Really? Because I thought "your customers" were already at risk for an in the wild zero day exploit that's currently being used to infect Windows computers. How dare Google warn the public to allow them the time to take precautionary steps. I guess they think it's better for their customers to take it up the ass until they figure out how to patch it.
Beautiful article. Those that liked this, will probably also enjoy what I consider maybe Douglas Adam's best book: "Last Chance to See": https://www.amazon.com/Last-Chance-See-Douglas-Adams/dp/0345...

There's a also a companion BBC Radio series (which I haven't heard) and a later follow up by BBC TV, with Stephen Fry, which is pretty good.
TechCruch piece on this https://techcrunch.com/2016/10/31/cloud-development-platform...

I would add: don't trust anything you can't reproduce on your air-gapped machine.
You can use the same gauge wire if the voltage stays the same. The downside is that all of the switches and circuit breakers need to be replaced with ones rated for DC as arcs are harder to break.

Most DC installations are <50v to take advantage of existing DC powered gear and circuits under ~50v don't need a licensed electrician to do the work (in most locations).
U.K Governments IT spending under fire
And yet it's still not 100% ES5 Compatible, like FireFox and Edge, and still behind Chrome (98% to 99%).

http://kangax.github.io/compat-table/es5/

Getting to 100% on ES6 was pleasant, but still a surprise given their track record not just with JS support but with some CSS features too. They're often stragglers, even more so now that Microsoft's browser is getting better.
Show HN: Xml_browser.py – Edit XML documents as a directory structure
Would that be a legal defense?

I mean if you wrote a tool to DOS 911 and distributed the link that would install/trigger it I would think you guilty of attacking 911 even if your computer was not involved.

I would be surprised if the courts consider the fact it was written in javascript or the distribution was twitter a factor.

I hope he is not sent to prison! I don't think it would benefit anyone. Doesn't sounds like he is in need of rehabilitation.
Google for [wrongful termination] some time.
Replicated founder here. Great question. The main concern most people have when considering putting a database in a container is around data loss or corruption. (i.e. What happens if the instance disappears and the data was stored on an ephemeral disk?) We have a couple of features to help with this:

Replicated allows for the end customer to choose if they want to run the containerized version of the database, or provide their own instance of it (not in a container) and simply provide a connection string so the application can use that instance. Generally this is exposed as a checkbox on the settings page, and doesn't require a lot of configuration.

If the end customer decides to install with the containerized version of the database, they can choose to run the database container on a specific instance (or instances) and control the host path of the volume mount(s). The idea here is that they will store the data on an EBS volume, network attached storage etc.

We also have a feature that allows for snapshots and restores to help in the scenario where the database was store on the local instance and there was a hardware failure or corruption.

These features work out of the box, without a lot of effort from the software vendor to configure.
Interesting idea. One major difference though is that there is considerable economic incentive to keep making better chips, whereas the flatlining rocket technology was probably due in large part to lack of economic pressure to make it better (very high cost of entry for potential competitors and low volume).
Robot learns to play with Lego by watching human teachers
‘Post-Fire London was a magnificent, beautiful compromise’
This link was posted elsewhere in the thread:

http://www.minocacorp.com/documentation/developers/knowledge...
Let's hope that this was a genuine iPhone 1 moment! :)
> PART 1: VOTES ARE BEING COUNTED AS FRACTIONS INSTEAD OF AS WHOLE NUMBERS

Should really be

> PART 1: VOTES COULD BE COUNTED AS FRACTIONS INSTEAD OF AS WHOLE NUMBERS

Existence of the feature doesn't indicate it's use, although it is obviously worrying.
W^X, which is a really good+necessary idea, allows ROP. Still I think it's a necessary part of Defense in Depth for JITs which then necessarily leads to some bloat.
https://news.ycombinator.com/item?id=12841288
Huh? There are many thousands of applications and millions of lines of javascript code which will not immediately be rewritten as C++ apps. Javascript is not going anywhere anytime soon.
I think it's important to remember that capitalism is a reward system, not the reward system.

If your biggest reward in life is a giant house where you can check out of society and spend your time look down on people, then you're going to have to step on a lot of toes to get it and more to keep it.
I think you'll find most developers wanting to get stuff working on Power will just try and get their hands on a POWER8 VM rather than relying on an ancient PowerPC box.
Given Microsoft's well-known cadence for releases, it might be prudent for Google to update their policy to 2 weeks in some cases (e.g. not yet observed being actively exploited) so that something reported to Microsoft right before an update doesn't get disclosed right before they can reasonably release an update without moving heaven and earth.

But if it's being actively exploited? Yes, thank you Google for letting us know ASAP. Would indeed be irresponsible not to in this case.
I believe the idea behind "rewrite a well-written article in another form" is to focus your mind upon analyzing, breaking down, and emulating Good Writing. You'll be closely reading the work of someone better than you, rather than taking your own writing and trying to improve it without any real models of what would be better.

Which would a novice programmer learn more from: blindly using whatever sort function their standard library provides; flailing around until they invent something like bubble sort and trying to optimize it; or reading about a few sort algorithms, picking one, and implementing it in their language of choice?

(A pro, of course, would probably either use stdlib's sort, or know where to find a library of multiple sorts that someone spent days tweaking for amazing performance within various constraints.)