skysight-inc/HackerNews huggingface dataset:
The entire shuttle program was plagued by a pattern of ignoring safety objections. It was widely known ahead of disasters that the whistle-blowers were right about many issues, but were ignored. I made this point in another HN thread about Challenger, but if you drive drunk on a regular basis, it is not safe and it is only a matter of time before you crash and kill a family of four. The fact that you have driven drunk for 20 years and haven't killed anyone yet doesn't change the fact that driving drunk was dangerous.

Evidence of this phenomenon in the shuttle program was that foam shedding (insulation for the main fuel tank falling off during launch) was observed as early as 1983, and had been noted as a substantial risk many times over the years. Engineers pressed for high resolution images to inspect damage, but those requests were denied. NASA continued to "drive drunk" over the years, even after Challenger, and inevitably, disaster struck when Columbia was damaged by a piece of foam that broke off during launch, resulting in disintegration during reentry.[1] After grounding the fleet and improving safety, the very next launch suffered similar foam shedding, though from a different part of the tank. The launch after that was also pressed, after delays and objections from the chief engineer and safety officer.

1. https://en.wikipedia.org/wiki/Space_Shuttle_Columbia_disaste...
You have to admit that they are not trying to change the meaning of most of the words on the list, they just want to avoid using them.
> I meant Feynman's later recounting of the whole affair

I've read that too. You're dangerously close to getting me to re-read everything Feynman's written, again. I don't know whether to curse you or thank you :)

> And then what? [...]

I feel we're in violent agreement as to what the actual problem at NASA was, yes, I'm under no illusion that if some engineer had raised these issues it would have gone well for him. This is made clear in the opening words of Feynman's analysis,:

[...] It appears that there are enormous differences of opinion as to the
probability of a failure with loss of vehicle and of human life. The
estimates range from roughly 1 in 100 to 1 in 100,000. The higher
figures come from the working engineers, and the very low figures from
management. What are the causes and consequences of this lack of
agreement? Since 1 part in 100,000 would imply that one could put a
Shuttle up each day for 300 years expecting to lose only one, we could
properly ask "What is the cause of management's fantastic faith in the
machinery?"

I'm pointing out, not to disagree with you, but just to use your comment as a springboard, that to an outside observer this whole process led to some "moronic engineering". Engineering is the sum of the actual construction & design process and the management structure around it.

The real flaw in the report is that it didn't explore how that came to be institutional practice at NASA, Feynman is the only one who tried.

> That's really not what I read behind the lines.

Regardless of what sort of dysfunctional management practices there were at NASA they couldn't have launched the thing without their engineers. If they were truly of the opinion that shuttle reliability was 3 orders of magnitude less than what management thought, perhaps they should have refused to work on it until that death machine was grounded pending review.

Of course that wouldn't have been easy, but it's our responsibility as engineers to consider those sorts of options in the face of dysfunctional management, especially when lives are on the line.
I only read paper books. I like the physicality, and I like being able to write in the margins, if I own the book.
I'm psyched to try wasm. Are there any crates which provide interfaces to things like a canvas object?
You'll downvote me for saying this but...a lot of people can't manage money. You give someone $100 or pay off all their debts or whatever and they'll just be right back in a mess in no time. I'm not saying don't help them, I'm just saying it is a difficult problem. They need behavioral reconditioning, not an easy task.
Why the heck do all the platforms have 'unknown' in them? It seems stupid.

> mips-unknown-linux-gnu
> wasm32-unknown-emscripten
> arm-unknown-linux-musleabi

What value does that garbage add to it?
- Java Performance

- The New Thing- Michael Lewis

- Mastering Docker

- Akka In Action

- Mastering Gradle

- Functional Programming in Scala and Closure

- How To Fail At Almost Everything and Still Win Big - Scott Adams (Highl Recommended)

- The Charisma Myth
Slithering Together: Making Slither.io a Multiplayer Experience
Facebook at a Crossroads
I've read and listened to ~30 books this year, below are the ones I recommend.

Audiobooks (Audible):

Food: A Cultural Culinary History - The Great Courses (if you've ever searched for 'authentic' food, I strongly, strongly recommend this book. It was one of my favorite listening experiences of the year)

City of Thieves - David Benioff (Wonderful storytelling, I recommend the audio version just for the performance)

The Elephant Whisperer - Lawrence Anthony (Another example of great storytelling, highly recommended)

Little Princes - Conor Grennan (Conor does a good job of teleporting you to another world and capturing the inner spirit of being a child anywhere in the world)

The Inner Game of Tennis - Timothy Gallwey (A great paradigm for practice and improvement)

Books:

Man's Search for Meaning - Viktor Frankl (For some, this will be life changing. ~3 hour read is all)

Tools of Titans - Tim Ferriss (I've only read through one time, but I plan to use this as a sort of reference book. I agree true that you'll enjoy 50%, love 20% and never forget 10%, but what falls under each category is different for everyone)

The Three Body Problem - Liu Cixin (I haven't read any sci-fi in a few years, this was a great reentry to the genre for me)

The Food Lab - J Kenji Lopez-Alt (If you want to know the why as well as the how when you cook, this book is for you)
Or they choose to live there because it's their hometown and they don't want to be chased out by someone who can pay higher rent.
> as a programmer, you are a part of tightly controlled agile/SCRUM team

I see. I'm currently in a research lab, and programming is my main day-to-day activity. I have a high degree of autonomy, but have recently considered moving to a product division so I can work on something that actually gets shipped. But it doesn't sound so great, as you describe it. Maybe it's a case of the grass always looking greener on the other side.
> The term “WC” has been suggested for a computer running Windows.
LOL
To be honest, I don't want a webapp. Webapps may have a good thirty second use case, but adter that, i want something thatnis with all my other programs that I can pin to a menu/quick launch bar, that runs in a different process space so that a bug in a different program doesn't take down your program, etc. I want the same UI/UX as a native app, and that's something tat webapps still fail terribly at.
Crikey, speak the truth on here, get a downvote. Like clockwork!
You can actually drop the extra brackets (at least in C++, but IIRC also in C).

C++11 has array<T, size_t> which has proper value semantics. It is implemented exactly like your structure above, so no overhead, and also has a proper operator== and assignment via initializer list.
I was in a similar situation but took a less drastic route that has worked well for me.

First I posted a quick message about 'going dark' for awhile. I knew it was going to be a permanent change to stop commenting and posting, but a little white lie to make it less dramatic seemed fine.

Then I installed an extension that turns the facebook wall into motivational quotes. It gives interesting quotes, but more importantly it stops the feed from ramping up my dopamine should I unconsciously stumble back.

After that, I've stuck to only using facebook for its messaging and only update my profile picture once or twice a year to show i'm alive.

Ever since I've been much happier. All my photos and hard work creating my profile is still there, prople still know I'm alive and have a place to find me, and all the addictive cruft and spam is gone from my life!
This has worked extremely well for me and I reccomend it to prople who want to change their relationship with facebook without deleting their profile.
What did you think of 48 Laws of Power? I read a couple pages, but found it to mostly be excuses for being a jerk.

I enjoyed Confessions of an Economic Hit Man and Elegant Universe.
So what's the takeaway, "Repo stars are an accurate measurement of how many stars a repo has"?
I work for a company that bets on the horses, and yet they use broadly similar techniques. But this doesn't replace humans at all.

Also as an aside, correctly predicting a superfecta happens quite a lot, and it is hard to tell from sample size of 1 if this was luck, skill or a combination of both. Probably a combination of both - their algo may have reduced the odds to 200-1 for example, and luck did the rest.
Head over to www.x-energy.com to see plans for our Xe-100 high temperature gas cooled pebble bed reactor!

@xenergynuclear on twitter
The question I would ask is: given the list of capabilities presented in this post, is there even any difference between Riot and e-mail? Or are you reinventing the wheel?
Along with Docker's efforts, there are others working on container-based storage. This landscape[1] lists Ceph, Gluster, but also Portworx, Minio, Diamanti, Dell EMC's Rex-Ray, and SolidFire. I think also folks like StorageOS and Supergiant and frankly the whole storage & platform industry players are running in this direction.
[1] https://github.com/cncf/landscape
Historically, that part of a target triple is used to indicate a specific "vendor," so you have "mips-unknown-linux-gnu" vs "mips-debian-linux-gnu", where the former is for all linuxes, but the latter is specific to Debian.

See here: http://clang.llvm.org/docs/CrossCompilation.html#target-trip...
This is such a win for pattern matching! I tried using this exact syntax last month and I was sad to see it didn't exist. It feels so natural to see it now.

Rust is such an awesome language. Every design decision feels so right. Go, Rust, go!
multiplayer? We do fool clients all the time with extrapolation, just to shave half of the latency. And when we get it wrong, we "correct" it retroactively.
Many time! we use them at work all the time for services like ELB, that do not give you a lot of details. They are usually very detailed in the response.
Analysis of Random Number Generation in Virtual Environments
Haskell doesn't have this feature though. I mean it does, but you can just leave out the ones you don't want matched, you don't have to put in any dots.
Guys for deep learning we all know it's cuda under the hood.
While I agree in principle, when it comes to IT where you're learning more or less the same things wherever you go, when it comes to the Arts you're also usually paying top dollar both for networking opportunities, name recognition, and usually a fair number of very high profile professors. Where schools like DeVry and that kind of thing were charging huge prices for relatively identical products to a local tech college, the same can't be said for higher end Ivy League schools.

In my mind it's sort of like buying a Rolls Royce, there are plenty of other cars that can move you, but a Rolls is something relatively unique and very high quality. At least, that's how it goes in theory.
> If OpenWhisperSystems adopts any policy that goes against users’ interests in the future, users cannot switch providers without losing all their contacts.

Is this correct? I've never bothered looking it up, but Signal was connecting me with people in my phone's address-book.
One of my perpetual problems with releasing software is that I hate writing for humans. Marketing blurbs, blogs, emails to the right people. It all sounds so easy when native speakers write or talk about it, but I'm so shy about this stuff that I'm never looking forward to finishing a project.

Is there a low-cost service that will proof-read everything you do (not for grammar accuracy, but also tone)? The easiest fix might be to live in the UK for a bit.
His tweet is alluding to nuclear deterrence. https://en.wikipedia.org/wiki/Deterrence_theory

Doesn't do squat against terrorists though, which is the most prominent threat (as far as the government sees it) of the 21st century.
I wonder if the name of Riot will be a hindrance for widespread adoption. Most people don't like riots.
Dynamic charts on React-Native using Highcharts wrapper
If spraying works for you that's good. In general it is not recommended to spray because cats generally don't associate punishment well with actions. They are more likely to develop fear of you and/or the object than discouragement for the related concept or activity the punishment is being doled out for.

It was certainly this way with my cat. I really regret the months of different punishments we tried on him to discourage his bad behaviors as it changed his personality.
JavaScript style guide at AirBnB (podcast)
I was expecting some big message, especially after three minutes of loading time. The only substantive change is that successful article submissions now yield both a year's subscription and the t-shirt. Before, you had to pick one or the other.

2600's hackers don't matter much any more. Hacking is now carried out by either intelligence agencies or ongoing criminal enterprises.
Thinking about what words to use is worthwhile for any language user.

Obsessing about it at this level, and trying to cram so much meaning into them, is confusing surface with substance.

In the end, a word is just a few syllables some people use as shorthand for deeper concepts. It can never be the concept.
You'll likely get downvoted for mentioning you expect downvotes. Please don't do this. It adds nothing to the conversation.
You might have a point there. "Signal" feels much smoother than "Riot".
Which Traction did you read?
// DISCLAIMER: I work there.

For those who've built tech companies up from the 10 to 1000 people range, there's a lot in that link that's very easy to recognize.

If you interpret back from the more traditional business lingo, you will recognize key 'iterative development' ideas applied outside engineering.

This allows a sizable 30 year old enterprise to handle new ideas much more as a tech startup would.

On the main article topic, instead of the article's quote, “like trying to make Ray’s brain into a computer”, I'd say as an engineer imagine if you could "run a company under a debugger." Frame it that way, and I think you could imagine some neat possibilities.

If you're very good at software development / distributed systems engineering, and think self-driving management or a self-driving fund might be even more interesting than yet another self-driving car, we're always hiring. Hit me up via profile.
These are honestly kind of ridiculous, and they come off as unbelievably pretentious. They also lack self-awareness, since they're supposed to avoid being loaded.

- As mentioned, verbing "GIMP" can give it at least two loaded meanings which have _nothing_ to do with the image editor.

- "Cracker" also has a very, very different and loaded meaning outside of software.

And holy heck, the whole GNU slash Linux debate has gotten to the point of mass parody with the "I'd like to interject for a moment" meme. The worst part of it is that it's easy to argue against this point because there are Linux systems out there which don't necessarily use the GNU toolchain. The statement tries extremely hard to generalize the idea that Linux is irreparably crippled without the good graces of the GNU toolchain.

Ugh.

I want to push for the adoption of free and open source software and hardware, and I really do care about the ability to see the internals of, and tinker with, and break, and then fix the stuff I run in my day-to-day, but this kind of article makes the FOSS community (the free community especially; but the OSS community by extension) look bad by imposing this image of snobbishness and obsession over honestly minute details.

The movement to popularize free software and hardware won't be won by making people stop calling digital audio players "MP3 players," when it's an accurate term for an overwhelmingly large part of the digital audio player market.
Note that that report explains that the Double Ratchet E2E algorithm is used in Matrix, in large part because of the Open Whisper Systems implementation in Signal and subsequent licensing. So we're looking at an apples-to-apples comparison, at least with respect to this one piece.
I bet kittihawk is talking about the usage of cracker as a derogatory term as it regards to white people: https://en.wikipedia.org/wiki/Cracker_(pejorative)
You still need a programming language to interface with CUDA for deep learning.
It's less to type. The double period is already used for lots of other things in the language, so it feels like the correct choice.
I don't think that's true. While I don't have my copy of K&R handy, I don't recall it covering all the subtleties of how assignment and increment operators and sizeof will work differently for something declared as an array vs. something declared as a pointer. At least in the edition I've had, it just had the same "pointers and arrays are equivalent" which is misleading in exactly the way this article describes. Did that get added in your much-later edition?
Good point. A recent upvoted post From Reddit's Vim sub [1]:

"I am super surprised that everybody talks about Vim 8 but almost nobody mentions that...

- Bram Moolenaar did the last major version ten years ago

- The recent years of Vim's development were almost stalling

- Bram publicly questioned the Neovim team's efforts creating a fork and bringing new essential stuff like async to Vim—he even made kind of fun of them

After Neovim came out and has been developed at fast pace, Bram surprisingly presents Vim 8 with the stuff we wanted which before he decided against—all the stuff Neovim did and of course incompatible to the fork.

Bram's decision on being incompatible should be challenged and discussed, would love to hear his thoughts. Since no money is involved, his decision feels even more awkward, why not welcome competition or potential contributors, being a team player, work together or merge? Or is it Bram's injured pride, the fear of getting irrelevant with some piece of ancient software?

Whatever 'meaningful reasons' Bram chose not to support a fork, now we are left with incompatible Vim variants which damage the entire Vim ecosystem. I guess that most distributions will package Vim 8 with their distributions, just because not everybody has followed all the happenings, and Vim 8 sounds like a solid choice, like going with the mainstream. So, Vim 8 might get the next standard and an awesome fork could die which I find sad. The Neovim team has been disrupting, they went ahead and it's a community developed software which is a huge differentiator to Bram's work and codebase of controversial quality.

What are your thoughts? Should we support both versions and should we write plugins for both or focus on one? Or is competition good and the Neovim team will deliver more and prove that still a community developed Neovim will outperform Vim in the long run?

Don't get me wrong, this isn't a rant, Bram created with Vim an fantastic piece of software—this is about the question how we should keep competition which helps the entire ecosystem so we don't end up with a dying fork and original Vim's development slowing down again for the next ten years.
One idea is that all distributions should either still package old Vim 7.x only to let people decide themselves or always package both Vim 8 and Neovim together. But how should we get there?"

[1] https://www.reddit.com/r/vim/comments/52q4ul/about_vim_8_and...
"The Power of Now" by Eckhart Tolle and "Starting Strength" by Mark Rippetoe (applicable to men mostly) contain lifetime lessons on mind and body management. "Principles" is very useful for mental models and just critical thinking (or, rather, structured self-doubting).
Write your Rust app. Compile to a binary on the backend, wasm on the frontend, using asyncio to communicate transparently between the two. Update the DOM directly from wasm, with 60fps rendering from Servo's WebRender.
Totally typesafe and lightening fast.

It could all be so beautiful.
I'll have to look back to see if I in fact have added to the fundamental meaning of what others have called "layering."
The pad doesn't absolutely have to be an OTP, particularly when rolling your own layer, if the pad isn't the only key, and the key can change. Watermarks are extinguished when XORed with any genuinely decent (random-imitating, not frequency-bustable) encryption, true. And you're right, at least one layer should not have a watermark. Order doesn't matter though, there really isn't an order for the layers, they're merged with one another.
A not-very-good roll-your-own encryption scheme, if it introduces a very large number of permutations (such as starting pad, key) can be very helpful as a layer even though it would be a huge fail as stand-alone encryption. Mechanisms to increase adjust the size (of all but one layer, anyway) are advisable.
Apple products have already been mentioned, and one of the risks there is that counterfeit chargers tend to cut corners in their design and thus can be much less safe.

Another category I know of are Arduinos. It has often been noted that, since Amazon warehouses commingle stock of "identical" products from different vendors, the reputation of the marketplace vendor won't even protect you, since the vendors have no control whether you got a genuine item or a counterfeit off the pile (Not sure whether that is an ongoing practice, but it was widely reported a few years ago).
> experimental support for WebAssembly as a target, wasm32-unknown-emscripten [...] check out Tim’s example of the classic TodoMVC project.

On one hand this is really cool and potential for client-side Rust. On the other hand:

let id = node.parent().unwrap().parent().unwrap().data_get("id").unwrap().parse::<usize>().unwrap();

Eh, no thanks. :) If I could get a macro or shorthand for that, I'd welcome all the other benefits of a large scale client-side platform with strong typing.
Await-to-js – Async await wrapper for easy error handling
W O W

I have a LOT of friends who went through all the government growing pains when they were trying to enact laws to try and curb hacking. The feds were putting people away for 20+ years and weren't screwing around when they went after hackers. And what happened? We all banded together, formed underground communities, shared ideas on how to evade the government, and created tools to do so, some of which are still in use to this very day.

The fact that people seem overtly paranoid about a Trump presidency is so overblown. I mean, some of the toughest sentences that have been handed down to hackers were done under both a republican president and a democratic president (Clinton and Bush) and to a large degree the FBI is (or should be) a non political entity.

I can't believe this people have also forgotten about the fight for proper encryption, how we are rallying to get the CFAA laws changed as well as the progress that Snowden has brought this country in terms of the governments overreach with regards to spying on its citizens.

I see and hear a lot of this and just shake my head. Hackers have always been at war with the government in some shape or form. Just because we have a new president should not deter people from continuing the fight.

Depressing to hear this. . . .
That's been done, with "fat pointers". GCC used to have an option for that, but it wasn't used much. The overhead is all at run time and is substantial.[1]

[1] http://www.imperial.ac.uk/pls/portallive/docs/1/18619746.PDF