skysight-inc/HackerNews huggingface dataset:
That last bit isn't true at all for South Korea. Park Chung-hee, the general who ruled for nearly 20 years, was president under 3 constitutions, each further consolidating his power, importantly with the appearance of a democratic mandate. Despite the appearance of a democracy and the Reagan-like legacy he holds, Park was definitely a dictator: under the Yusin constitution, the president (only Park was eligible to run for president per carefully designed requirements) appointed the parliament, could suspend any freedom, and even legislate without his parliament's rubber stamp in emergencies.

Most enterprise was limited to Park's inner circle (which became the chaebol), allowing him to have a planned economy that finally surpassed North Korea's. Labor rights were nonexistent, journalists and other writers frequently became political prisoners, and travel outside the country was not allowed. The only thing that can be convincingly said to be better (holding Western liberal democracy as best) than in North Korea is the GDP, whether that meant much to the average citizen is up for debate since North Korea remains opaque. And it surely would have carried on if not for Park's assassination, which left no obvious successor. The new constitution (remember, Yusin made sure that only Park Chung-hee could be president) had a term limit on the new president, Chun Doo-hwan, to appease democratization activists who had been incensed by the Gwangju (5/18) massacre, the murder of hundreds or thousands of people for the crime of living in a restive province. When Chun's term ended, violent protests, this time in Seoul, forced his successor to make the 6/29 Declaration, a complete capitulation to the democratization activists.

That was long...point is, South Korea's military dictators did claim a democratic mandate, justifying oppression as the only way to economic prosperity (sound familiar?). After Park Chung-hee, they sought to appease democratization activists. Despite that effort, the transition was quite messy, not "fairly smooth": between 200 and 2000 protestors were killed in one week in 1980, and democracy was finally won through violent protests in the streets of Seoul in 1987.
Replacing+Your+Drive+with+Fast+Optical+Drives
"Social bookmarking" has come to mean "hipster fetishism".

This site has been turning to shit for a while.
The programming model exposed to the user is synchronous, which happens to be implemented on top of the asynchronous primitives the OS provides.
Cloudflare is targeting that market pretty heavily.
This is good writeup but very misleading title. Article essentially describes using SPARK to avoid runtime errors in firmware such as overflows. But that is far cry from avoiding drone crashes. You can do lot of these things with sophisticated code analysis (although not all of it). But the thing is that it doesn't solve the primary issues of algorithmic errors or even errors that might occur because of things like timing issues or sensor noise. Of course, it doesn't do anything about obstacle detection and avoidance. I would imagine that very small number of crashes occurs due to runtime errors in firmware.

There have been lot of other work going on for verifiability for realtime firmware code. For example P programming language: https://github.com/p-org/P. But still it doesn't tackle the issues mentioned above that causes majority of crashes.
Of course they shut down lemonade stands. Especially if you tried to run a daily lemonade stand out of your front yard, staffed by people who don't live there.
> It's also important to note that Go was designed for programmer productivity and Rust wasn't.

Rust was absolutely designed for programmer productivity. Source: I was one of the designers.

> GC is incredible productivity boost which is why no recent language (except Rust) does manual memory management.

That's true, it is a productivity boost. But it also has a cost. Rust didn't want to pay that cost, especially when the same mechanisms are useful for preventing data races. (In fact, removal of GC was something that happened as a consequence of the data race freedom features; it wasn't a design goal from the beginning.)

> Compile times in Go are a fraction of Rust compile times, which is another productivity boost.

And rustc performs much more optimization. Again, a tradeoff.

> Go gives you one good way to do concurrency, Rust believes in tyranny of choice.

That's untrue. Go has threads, channels, mutexes, condition variables, and atomics. Rust has threads, channels, mutexes, condition variables, and atomics. The only thing I can think of that Rust has that Go doesn't is, like, SIMD, and I'm sure your comment wasn't just referring to SIMD.
> Maybe they kick back a message as a 4xx (what would be appropriate?) that says my network has been hacked

429 seems appropriate.

Or maybe even 451.
github being down was a big pain for me today, and I'm surely not the only one...
I agree. From what I understand, ipfs is designed to solve this problem (and several others). Maybe this will motivate the big actors to look into it seriously. Anybody disagree?
I'm not sure how valuable this type of thing really is. Templates tend to fall out of date, since they're not actively used, they're not actively updated to new practices. I've seen this with lots of templates in other languages.

The libraries having excellent documentation and pointing to apps that are similarly implemented tends to be better maintained, IMO.
How not?
Its been illegal for 4 years now.
There are definitely some warts that have built up along the years (mostly inconsistent function names), it's much better than PHP in my opinion. As I understand it, many of the libs in PHP come from different sources, and you get differing schemes. While it's starting to deviate, in general all dialects of CFML came from the mothership of Adobe, so it's still pretty homogenous.
I thought you had to pay substantially extra to get files stored in multiple regions.
Just like American voting machines.
Ex-NSA contractor accused of massive theft is collector, not traitor lawyers say
HumHub – The Flexible Open Source Social Network Kit for Collaboration
>I don't understand how people who use AWS have such unrealistic expectations.

Well, the whole point of AWS is not having to deal with the usual hosting stuff. They'll naturally have lots of customers with high expectations and very little understanding of how things work in the background.
I'd take an approach inspired by Standard ML's eqtypes. In Standard ML:

(0) Some types are eqtypes (akin to Rust types that implement the Eq trait, but managed entirely by the language, you can't define custom Eq impls).

(1) If a type constructor is an eqtype, then the result of applying it to an eqtype is an eqtype, but the result of applying it to a non-eqtype is a non-eqtype. For example, “list of ints” is an eqtype, but “list of functions” isn't.

Similarly, I propose that:

(0) Some types are copytypes (akin to Rust types that implement the Copy trait, again, managed entirely by the language).

(1) If a type constructor is a copytype, the result of applying it to a copytype is a copytype, but the result of applying it to a non-copytype is a non-copytype. For example, “list of ints” is a copytype, but “list of file objects” isn't.

Subtleties:

(0) If we have first-class functions, functions must be parameterized over whether they can be called more than once (akin to the distinction between FnOnce and Fn in Rust).

(1) When a value goes out of scope, its destructor is called. For copytypes, the destructor is guaranteed to be trivial, and can be optimized away. For “base non-copytypes” (e.g., file objects), the destructor is explicitly implemented by the programmer. For “derived non-copytypes” (e.g., lists of file objects, closures that have captured file objects), the destructor is automatically generated, and it does the obvious thing (destroy all file objects in the list, or captured by the closure).
Most educational systems are rooted in child-care, not in actually educating students. And the ones that do have the resources to properly educate students are often so entrenched in politics and status that they become better conduits for indoctrination instead of empowering students to better make decisions themselves. Like any old organization problems, it is going to be incredibly difficult for them to shed that history.
Read all the analysis you can to form a better understanding of how this all works. Use that information to design and run more resilient services in the future. Teach what you have learned to others.
Well, it's not nice out there, but hardly crippling. Cosmic radiation on the ISS is about 150 milliSieverts a year. Interplanetary space could get up to about 800 mSv a year. Not good, but if you can get there in, say, three months, then you've cut your exposure down to what an ISS crewmember would get in a year. The actual danger is solar flares, and for that you'll need some kind of shielding compartment onboard. The ISS is reasonably well-protected from those, but they'll really roast you if you're caught in interplanetary space.
AWS was hit today, we saw a spike failures. Got hold of one of AWS guys and they basically noticed that the issue they saw in the US earlier in the day happened again in EU west. Funnily enough they probably could have avoided it if they'd deployed their mitigation to the other zones.
Great blog!
OSVDB is shutting down
I love IPFS but how exactly does IPFS/IPNS solve the DDOS problem? The FAQ entry on this is not very convincing [1].

[1] https://github.com/ipfs/faq/issues/171
> probably receive a phone call and a couple of emails a day

I'm not sure if this is too optimistic or too pessimistic, but I definitely don't buy it in general. Founders want to be building the product and talking to users. I can only imagine there's all kind of other crap that would be smart to hire someone to take care of.
On reflection and keeping the very useful posting guidelines in mind, I edited my comment into its present form, likely after you read it. (The original first sentence originally contained over-the-top trigger words like literally being an example of Godwin's law, as a demonstration that this was insufficent to cause it's removal.) I decided to edit it into its (still satirical) present form because the HN guidelines about making substantive comments are good and improve the site for everyone. Although the original phrasing invoking Godwin's law still wouldn't have been removed, and therefore still would have served as an apt demonstration, I think the present phrasing is better.

Actually the fact that my original phrasing did not meet the nominal guidelines on civility (because it invoked Godwin's law) whereas this one does is an important point: after all the video obeys YouTube's nominal guidelines. (For example it doesn't contain nudity.) So my present, quite civil (in line with HN guidelines) phrasing is the best analogy/demonstration.
I've seen so many arguments over this, I wrote a short article on it.

In short, I'd prefer apt-get over curl-bash any day of the week, but most Windows users install loads of software (sometimes signed, never checked) since their OS offers nothing better, and also on Linux you never hear this debate when someone offers a package for download. People worry about what you might be piping to bash because they can see it and notice it could have easily been anything; a deb package (or equivalent) is much more opaque.

More details: http://lucb1e.com/!126
That explains why the MBTA's (90s) red line trains are built by them.
A GPU doesn't have custom (potentially proprietary) logic programmed into it. It's the same reason we have shared CPUs but not FPGAs.
We need a little HN tree-shaking up some sponsors and crowdsourcing. This project is critical for web security.
I was mainly referring to Twitter, Spotify, Netflix, Amazon :)
FPGAs are already powering key parts of both Azure and Bing. I asked Doug Burger after his presentation two weeks back at my university, and he said that currently the fabric is not reconfigurable. In other words, hardware acceleration is not available to customers yet, but it looks like they're working towards that.

A nice little tidbit from the talk. They were able to translate all of Wikipedia from English to Russian using 90% of the deployed FPGAs in 0.1 seconds.
It's an order of magnitude. 1e3, not 1.000e3 which would indeed be suspicious.
Missed naming opportunity: AirgAPP
I found the docs hard to understand. Maybe it is just that the component based concept is difficult to understand for me as a newbie. Anyways, between vue.js and angular, which one do you think is recommended for a newbie to the front-end world?
I'm not talking about Rust lifetimes but lifetimes as a common term used in many languages. What I mean is that in Rust you're forced to explicitly deal with the lifetime aspects of variables before the compiler will generate any code. In C and C++ you're free to skip that and introduce leaks or use after free bugs, which are accepted by the compiler due to the language definitions. I didn't mean to say it's more difficult. In fact, it's less work to deal with these issues in Rust before the code gets generated rather than debugging mysterious bugs. Put differently, you're debugging your code while trying to compile it instead of debugging it after hopefully someone was able to trigger it and provide enough clues for you to identify the issue.
Worse & Worserer: Windows and C++, which even more people run :-(

(with apologies to the Dumb and Dumber movies)
This is indeed a point of confusion. dist-upgrade basically allows adding new packages, or removal of old packages. upgrade does not, this includes the versioned kernel packages. I suspect (possibly unfoundedly) that the command was originally named because this generally happened when doing such distrubution upgrades, but it's not what it actually does.

If you're always reviewing it manually it's ok to just use dist-upgrade, alternative if you want to install new packages but still not let it remove packages, you can use:
sudo apt-get upgrade --with-new-pkgs

Personally I always just use dist-upgrade and it's not a problem as long as you check it before you hit go.
> for example, are algebraic data structures just tagged unions

They're tagged unions with no implicit heap allocations. I guess we should at least document that in the reference (though we don't want to overspecify, because we do some tricks in the compiler to try to avoid leaving space for the tag if we can). But I don't think it'd be a good idea to document this straight away in the book: the goal is to make Rust easy to pick up, and adding more information than necessary when introducing enums (which a lot of folks will only see for the first time in Rust) isn't going to do people any favors.

> What about iterators?

The documentation for Iter explains this pretty well, I think: https://doc.rust-lang.org/stable/std/iter/

It even shows the exact implementation of (basically) Range, to give you an idea.

That said, it would probably be worth calling out that most iterators are guaranteed not to allocate. Note, though, that that isn't a hard-and-fast constraint that implementors of the trait have to abide by—you can make your own iterators and implement them however efficiently or inefficiently you like.

> The meme that Rust is C++ without SegFaults and or race conditions is a bit misleading since the actual guarantee is that you don't get SegFaults or Race conditions outside of Unsafe blocks, and any nontrivial project will make use of unsafe blocks.

They'll make use of unsafe blocks transitively, by using unsafe code in the standard library or well-tested crates. Think of these unsafe blocks as part of the compiler: you trust the compiler to generate correct machine code when you type "a + b", so likewise you trust the standard library to do the right thing when you say "HashMap::new()".

It is not the case that most projects should use unsafe themselves everywhere: that usually just makes life harder. The primary exception is if you're binding to C code, in which unsafe is unavoidable.
> this might take the form of instead banning that ISP from the Internet as a whole.

I agree with some of your points, but fracturing the internet is not a viable option. It might make sense if it were a healthy, competitive market instead of the near monopolies that exist today. Imagine banning Comcast, or AT&T.
I'm probably the only guy who is going to tell you that practice is the problem. The more you try, the more "ceiling" you'll create for yourself.

If this sounds interesting do some research on Dr J. Marvin Brown. His autobiography is available online. You might also be interested in looking up Dr Stephen Krashen.
As a long-time C++ developer I find I can be very productive writing Rust. Many modern C++ idioms translate almost directly to out-of-the-box Rust-isms. Some (including some important ones) don't, but these are relatively easy to understand and work with.

Compile times are actually not that bad. I've seen some real doozies in my day, and plenty of hacks to overcome C++ compile times (distributed compiling, pre-compile steps to collect many dozens or more source files into a single TU, etc.). Rust is just fine. Besides, for the kinds of programs Rust is targeting being productive isn't synonymous with belting out as much code as fast as one can.

As for concurrency, I think having options is great. There is rarely a one size fits all solution for concurrency and having choice mirrors real use cases very nicely.

Furthermore I really enjoy generic programming. One of the worst parts of C is the lack of real generics. It gets tiresome writing the same array, hashtable, etc. code for each different type. Hiding it behind macros is terrible. It's one of many things that make both C++ and Rust superior to Go, in my view.

That said, I do perceive a certain "feature my preferred language offers is the most important thing ever" myopia about some aspects of the Rust community. It's similar to a certain segment of the C++ community zealously beating the drum of "performance, performance performance" to the exclusion of other important things. Rust hasn't the popularity or use in the wild for its warts to be exposed yet, but time will tell. Every language has flaws and proper (and improper) uses.
Just read the thread, the apologists are already here.
Developer finds unused one-handed iPhone keyboard in iOS system code
I was thinking of the hardcoded passwords in Xiongmai Tech components that were linked to the Krebs DDOS. Very much in line with the rumors about Huawei and ZTE a few years back, I don't think it's out of the realm of possibility. Hard to define a motive though.
Some of Us Are Haunted by Washington Phillips
Were you living there in 1989 for the Caracazo?
DNC and RNC are corrupt to the core. Does that really need to be exposed? It's been a know fact for a few decades.
I read 1.2 Tbps:

http://hosted.ap.org/dynamic/stories/D/DISRUPTIVE_CYBERATTAC...
You don't need to prove that Peano arithmetic is consistent! You just need to prove that the theorem prover doesn't contain any bugs, i.e. that it correctly implements peano arithmetic. That's a much lower bar, and theorem provers have verified themselves in the past.
I think of libstd as basically what would be part of the compiler or runtime in other languages. In some languages (e.g. Go), things like hash maps are in the language and implemented directly with unsafe code, and nobody thinks the language is less safe because of it.
It actually is a mesh that is disguised as a fabric. It's extremely breathable but more closed than the aeron.
Ask HN: Did I get screwed by Amazon?
I have about 10 years of software development experience. Previously, I used to work for a start-up that got acquired by a tech company. I was tech lead/manager although I did coding along with management. Amazon offered me 148k total comp in Seattle. I was making 142k total comp in bay area.
I have good knowledge of software development in general. I developed several proprietary functionalities my current start-up.

Last week, Amazon offered me a role called Technical Program Manager, which does not have people management responsiblities. I accepted the offer. I am purely interested in management though.

Can any of you shed light on if this salary is okay given my experience?

Only thing I want to mention is, I am non-native English speaker. I was born in India but lived in a lot of SE countries while growing up.

Given the horror stories at Amazon, I don't know if I made right decision.
The next time I ride in a spaceship it won't be in a Bombardier one.

;)
Simbi(YC S16)Poweruser on using the site to launch his career
Agreed with others, they look like they're supposed to be scary, but something is missing?
Wikileaks tweeted:

"Mr. Assange is still alive and WikiLeaks is still publishing. We ask supporters to stop taking down the US internet. You proved your point. "

Link: https://twitter.com/wikileaks/status/789574436219449345

If their claim is true, does anyone think, it will turn many sympathizers against them? I don't think attacking normal bushiness is a good thing to do.
I'm curious as to why you think Verilog a huge pain.

I would think that the toolchains would be the biggest complaint.

If one wanted to do web development, javascript knowledge is important. It is the same with FPGAs and HDL.
Her nipple ring was pretty cool. My girlfriend got one like it not long after.
Did I miss it going out of fashion?
Rockets blew up all the time back in the 60s.
The "leftist intellectual elite" did not support Chavez.
I do not even dislike curl|sh for security reasons. Package managers go to great lengths to provide a reproducible runtime within them. When was the last time you saw 'curl | env -i sh -C' as instruction?

If the script fails halfway? Good look trying to undo whatever it did if you do not have access to `zfs rollback` or similar.

It is also less-than-fun to go through `zfs diff` and the downloaded script to make a package out of it that can be distributed and automated.
What you are doing and claiming is ridiculous.

For one, how are you doing to deal with stale records?
Three years is a long time.
Making of Gears of War 4, Big Budget Video Game Is Riskier and Harder Than Ever
Perhaps people at HN know. But I'd argue internet users in general don't. Just look at the outcry that happens when reddit censors stuff.
Programmable Water (2003)
That async IO is hidden from you is one of the few nice things about go.

As long as you split your code into goroutines, you just treat IO as synchronous, while it's actually async underneath.
This is just an observation of what is going on in Venezuela. They have opted for a socialist economy and this necessarily requires a reordering of the economic forces. If people like it or not is another issue - most certainly the rich people in Venezuela hate it.
The sociological religion of no biological differences between the sexes
> Sometimes ref-counting (Rc<T> in Rust) is fine, although that's more expensive than GC.

To nitpick: The jury's still out on that one, because Rc in Rust isn't thread-safe reference counting. I believe that non-thread-safe reference counting is quite competitive with global, cross-thread tracing GC.

When people (rightly) talk about how much slower reference counting is than tracing GC, they're almost always talking about either thread-safe tracing GC vs. thread-safe reference counting or single-threaded tracing GC vs. single-threaded reference counting. When you compare Rc to a typical multithreaded GC'd language, you're comparing multithreaded tracing GC to single-threaded reference counting, which is a much more interesting comparison.
https://scholar.google.com/scholar?q=sergey+brin