skysight-inc/HackerNews huggingface dataset:
What you're describing sounds like a manually implemented type system.

> Each field in each struct has both a name and a numeric id. Only ids are used for serialization, so field names can be changed at any time.

Fair enough your field names can be renamed. But the 'contract' is field numbers, not names.

> All fields are marked as optional or repeated, never required. Most code is written to handle missing fields gracefully.

So if all fields are optional, and you provide no fields at all, what happens? I assume the process rejects it, because it's not of the correct type?

> Changing the type or id of an existing field is forbidden.

Forbidden by what?

> Adding a new field is okay, as long as you use an id that was never used before. (Each struct definition has a comment indicating the next available id to use.)

I can understand this being the least problematic change to a type. But it still leads to 'if x has y field' behaviour, as your code tries to manage the full range of possible message types it might receive.

> Removing a field is okay if you've checked that no one is using it anymore.

That sounds super fluffy.

> As a small but intentional bonus, you can change an optional field to repeated while preserving binary compatibility.

Sorry, I don't follow? This bit confuses me 'change an optional field to repeated'.

> In the end it works out. You can think of breakages that could theoretically happen, but they don't.

I can think of many:

* If picking of IDs is done by a human, at some point a human will make a mistake and re-use an existing one

* If 'Changing the type or id of an existing field is forbidden' is a human enforced constraint, then it will fail

* If you think a certain struct pattern can't happen any more (you think you've retired all nodes that send the old format), and then you deprecate the many matches that deal with legacy messaging, and then realise that actually there is an old node that does it after all.

* You may re-add a field to a type which was previously removed and cause unexpected behaviour in parts of the system that match on that old format

* Removing a field that you thought wasn't used any more but actually still is

By the way, I'm not suggesting it's not possible to develop robust systems without a static type system of some sort; but I do think the hoops you're jumping through in items 1-6 indicate the problems of not using static types. Each change in functionality could just use a new struct, with a new function, and the old function maps to the old struct to the new one. It captures precisely the change in logic in one place, has no runtime cost for nodes that are sending the new struct, and can't lead to the edge cases that I listed above.
>If you work in the private sector, where the primary reason for existing is to make a profit, your job directly or indirectly contributes to that goal

That's assuming people who are responsible for managing your work know what they are doing. I've seen plenty of net loss jobs, and especially in big corporations, it's easy for such losses to go undetected for years as long as the sum is positive.
Nice! Is there also a way to print the text? I just get almost empty pages.
No hardware power button, then. Which is a problem if the software locks up, as my 2014 MBP does occasionally.
I came here to say exactly this ... perhaps this book should be on a classics list but I have no desire to reread it every few years. Books like that are in a completely different category and even within that category there are only a few I'd call my favorite.
I have a mostly maxed-out 15" new MBP. I love it. Now that I'm used to the new keyboard, I can type much faster than with the older ones and it feels far less mushy. I never have problems with stuck keys, audio, etc. From time to time, I see some graphical artifacts around in the window shadows when I first open it up after sleeping, but they go away after a moment.

The biggest annoyance, to me, is the placement of a touch bar hotspot above the delete key. I hit it all the time. At first, by default, Siri was there. I switched it to be the "show desktop" button, but what I really want to do is to shift everything to the left so that nothing is above the delete key.

Even with that, however, I've adjusted my typing so that I rarely hit the touch bar above the delete key.

I've never had battery problems, the USB-C ports don't bother me because I rarely have anything plugged into the laptop other than the power cable, and in my work environments, we use Apple TVs for conference room televisions, so I can just connect wirelessly to show presentations.

I was skeptical when I bought it, due to all of the moaning that shows up here on HN, but all in all, I'm really enjoying this computer and I'm glad that I replaced my old MBP with it.
There will always be someone at a lower level than you. As a systems programmer he pokes fun at UX people. It is indeed hilarious. But technology and science is all about collaboration and building on other people's work. Remember that a generation ago nobody could be expected to use a program successfully without reading documentation first, and this even included most games. The proliferation of computers into the hands of everybody at your local bus stop is as much because of the work of the HCI people as the systems people.

A chip designer could write a similar rant about how systems programmers live a life of luxury sipping champagne with their pinkies held up. YOU USED AN ASSEMBLER? I SHOULD BE SO LUCKY! Or a chip designer could be mocked by someone else because he uses verilog.

Or the UX researcher could scoff at the systems programmer, because at least CPU's are rational and predictable, while people are at varying levels of intelligence and have different kinds of cultural biases.
I totally agree with your sentiment, but your method of stating it is a bit hyperbolic given the fact that the majority of your audience is paid as a result of revenue generated from advertising.

It is undeniably true that we don't need the overwhelming majority of things consume be happy. People have found happiness without being rampant consumers for thousands of years. Unfortunately, advertising has directly influenced people's ability to find happiness without consumption. The problem is not everyone can consume everything they believe is required to be happy. Furthermore, many people give up work/life balance or go into debt-slavery in order to try and consume their way to happiness. As a result, people who might otherwise be happy are made unhappy by in significant part by advertising.

Even worse, if you actually do reach your consumption quota, you find it doesn't make cause lasting happiness. Most people infer that the answer is to consume more, and they end up killing themselves on the hedonic treadmill.
Here's the real question, do you trust Uber to do this (or really anything) the right way, or do you think they'll take whatever shortcuts they can? If someone finds a huge bug in the code and says, "Well, we need to completely rewrite this part or it's never going to work. The rewrite is going to take about 10 months." And someone else says "We can hack a patch in that'll work most of the time in a week.".

Which road is Uber going to take in this case? I know what their past performance has shown, they'll take the shortcut. Have they ever done things the hard way?
One of the best books on the subject is Prof. Mark Noll's "The Civil War as a Theological Crisis". The first part is a discussion of how different American groups understood Slavery as Christians in antebellum America. Broadly, several strands can be identified
1) Southerners generally felt content to argue that Slavery was in the Bible, and thus Christian. That Roman and Hebrew slavery was wildly different than Southern Slavery, with race as the underlying factor was not generally mentioned. Roman Slavery was done on peoples of all sorts, and not generally passed down from family member to family member, and was not conceived of as part of a racial hierarchy. There was also a lot of nonsense about sons of Ham and such.
2) Northerners generally felt that the Bible was "in Spirit" against slavery, either broadly in the sense that one should not do it (but not necessarily seek emancipation violently), or actively as many Abolitionists read it. Interestingly, Northerners sort of gave up on the literal argument, and generally argued from broad principles of the New Testament. What could be Christian about owning other men? If all Christians are brothers, how can one justify such an institution as slavery?
3) African Americans read the Bible as not only "in Spirit", but also sought a lot of specific arguments. How could Slavery be Christian when it broke up Christian marriages between slaves? Encouraged the rape of black Women by often married white Slave owners? That banned reading, and thereby prevented Christian blacks from reading the gospel? There was a lot of discussion about how Biblical Roman Slavery differed from modern Southern Slavery - Roman slaves were not racialized, nor forbidden to read by law. One particularly interesting line of thought to me is the idea that Roman slavery and Hebrew slavery, since it was not based on race, and often came from debt implied that if what Americans in 1860 were doing was Biblical Slavery, then White Slavery must be legal. Obviously, this was refused by White Americans, so something must be different. This wasn't picked up by many Whites, but one of the few who did was John Gregg Fee a really interesting preacher in Kentucky who argued that slavery must be ended, lest eventually the majority must be slaves.
4) Catholics and European protestants had a wide variety of views, which honestly I don't remember well enough to summarize here. In general though, outside of America the issue wasn't as pressing, only Brazil legally had kept around Slavery in this period.

It's a good book, and definitely well worth reading. Not that long either.
Even if you have the right to do something, it can still be evil. Capitalism has been given plenty of rights that turned out to be evil, slavery is the simple example.

If the ruling class decides what to try and what is considered an error, both those statements can still be correct.
There's no charging light on the iPad or iPhone either
The Touch ID button is a hardware power button. It clicks down like any other old MBP power button.
I think I've been downvoted because I added the second paragraph later. The comment wasn't really constructive whitout it.
The history of computing is full of programming languages that started as a cry against complexy, only to discover that complexity has a reason to be and then they either adapted, becoming themselves as complex as their enemy, or faded out of the computing scene.
This likely differs a lot between countries (though there should be a common core due to ITU of what is being regulated how by whom); in my country the cellular frequencies were auctioned off for dozens of billions of euros to the cellular service providers, with strings attached, e.g. that the networks had to at least use and support 3G.

The same regulatory body (BNetzA) is also responsible for licensing telecommunications providers in general. This is probably the crunchpoint - if you're not a licensed telecommunication provider, it's simply illegal to offer telecommunication services.
It blows my mind that it is not even an option to buy a computer built by another vendor.
Liked it so much, that I hunted it too :) https://www.producthunt.com/posts/prehave
The real issue here - yet to be resolved at this time - is whether Uber is going about its development of autonomous cars responsibly, as Waymo, for example, appears to be doing. Generalities offer no answer to that question.
Because unix
Linux Action Show (LAS) is pretty conversational in its format, if the Linux world interests you. Make sure to share on social media because apparently Jupiter Broadcasting's metrics don't balance growth with existing subscriber base very well...
>I also don't know when self-driving cars will be cheap enough that typical individual owners will have either the need or the inclination to massively jump their depreciation rate, or to subject them to wear and tear by random strangers.

So many "car sharing" discussions seem to be predicated on the idea that auto costs/depreciation are time-based. In fact, they're probably a lot more mileage-based, especially in areas that don't get snow. So that extra 25K miles that get put on a "shared" car are not remotely free just because you already own the car anyway.
Would the French want to give the UK superiority in that situation, would they want to reveal their hand when not 'personally' threatened?
The author of the linked post is associated with Free the Slaves, a highly rated charity [1] that I'd recommend supporting to anyone troubled by modern slavery. He has a follow-on article up on their website. [2]

[1] https://www.charitynavigator.org/index.cfm?bay=search.summar...

[2] http://www.freetheslaves.net/why-i-chose-to-research-what-sl...
Hosting a web site for a blog is expensive? A local webhost offers 75GB of transfer for $6 a month, with the highest transfer day per month dropped completely. If you want a CDN on top of that, it's a whopping $1 per month per 10GB.
Yes, C++ Core Guidelines.

Many of the suggestions are supported in VC++ and clang-tidy.

Other commercial vendors are slowly adopting them on their linters.

Strangely, gcc seems absent from this effort.
I really like Patreon. I spend about the same as you, and it goes directly to help support the folks that are creating things I think are good. And it is like you said- the personal connection, and wanting to help support worthy effort.

I would be willing to do the same for high-quality news and opinion. So far, there's far too much chaff in the wheat, and I don't think Medium is the answer. I hope people keep trying, though. Quality journalism is genuinely important.
I use Gandi's native email redirects. If you use their DNS, you can set up to 1000 redirects from and to whichever email address you want, per domain.
>Or maybe this is how they naturally think?

I doubt this. If you watch a lecture by an academic, they will usually speak in understandable English. Even if the subject is highly technical. They will give motivation and explanation for why things are that way. It seems only in academic papers do they go to great lengths to remove those things.
> Why posts hosted there should be any less interesting than posts hosted on any other platform?

Platforms have communities that post about certain things, and less about others, and develop a reputation for doing so (and the average quality). If you post on one, your links share the reputation readers attach to it as a baseline, since readers expect it to fit in the pattern of other content they have seen on there.

Interestingly, for me Medium offering custom domains doesn't really impact this, since "people bothering to set up their own domain name" seems to be a group that's less bad in general (and exceptions get mentally tagged as such).
Not sure if APFS has such a thing, but I think I heard about it a while back:

Could they introduce a directory-level option to automatically normalize all files below that node? (Same with case-sensitivity, which I think Adobe software still has problems with.)
My rule of thumb : never optimize your code, instead optimize your algorithm as much as you can. After you finish, you can profile your code to see where you made mistake.
But the New York Times produces the New York Times.

Medium is a bunch of blogs.
What makes you think they can get 1.4% of the people to subscribe?
Remember, there is no real value in that subscription at the moment.

And the viable business model you mention, ads&subscriptions is excluded by the fact medium has said they will not use ads.
Hence, they have no business model.
Stack overflow is a bad example. The vast majority of their workforce is in sales and works on the recruiting product. The actual team which maintains and improves the Q&A product is tiny
How do you define "the fault of the autonomous vehicle". If you take the time to read through Google's disclosure reports, you'd find that they had virtually zero, if any, accidents that were the fault of the tech. In fact, I believe all the accidents that could be conceivably be blamed on Google was blame during on the human Google driver. If you read a little closer, though, you'll see that these human-operator errors all arose from the Google driver taking control of the car because they thought the autonomous mode would lead to an accident.

In short, accidents of all varieties are hard to classify. In this case, though you seem to vastly underestimate the numbers involved. According to latest reports [0], the Uber program is only driving about 20K miles a week. Further more, the rate of human-interventions is about once every MILE.

Normal human driving is bad, of course. But how many times in the last 1,000 miles you've driven have you needed your passenger to intervene to prevent an accident?

[0] http://www.recode.net/2017/3/16/14938116/uber-travis-kalanic...
Nothing against personal preferences, but one side-effect of overwhelming complexity is that only very few people can be trusted to write safe C++. The better you know C++ the more suspicious you become of C++ code written by others. At least that is my personal experience.

And I think that's a major reason why C++ usage is gradually becoming a niche thing used only where absolutely necessary. As evidence for that claim I submit this chart (you need to scroll down a page): https://www.itjobswatch.co.uk/jobs/uk/c++.do

C++ used to be required for over 30% of all permanent programming jobs in the UK back in 2005. Now it's down to 8.5% and falling. That's in stark contrast with all the enthusiasm created by the features added since C++11, features that I very much welcome.
This is basically the substance of the article:

"The answer clearly isn’t economic: it’s moral and political. The ruling class has figured out that a happy and productive population with free time on their hands is a mortal danger"

But doesn't go really any way to explain how (and who) might be manipulating people to this end.
What's the cost of getting caught? If think getting caught has financial repercussions on the business whilst not adding a backdoor has potential terminal repercussions to your life.
Dissertation E-Marketing Strategies for Changing Brand Perception
Good content self distribute but not enough to make money on it or turn it into a business model and that's ok.

Thats why you feed is filled with clickbait titles and "10 things to X" or fake news for that matter (the real fake news not the overhyped use of it today)

They actually are made to make money they are just not good content.

I have been involved in two actual paper newspapers who both failed in the zeros. I have seen an uncountable number of attempts to make money by providing quality journalism.

The reality is that most people don't care about "quality" journalism. It its' not valuable enough to establish an industry.
Real-time chat room app with Node.js socketio expressjs and mongodb
> It seems that Medium has a viable business model: ads and subscriptions.

Ads and subscriptions are mutually exclusive.
You nailed it.

Look at the jobs he cites as meaningless: It’s not entirely clear how humanity would suffer were all private equity CEOs, lobbyists, PR researchers, actuaries, telemarketers, bailiffs or legal consultants to similarly vanish.

Bailiffs, lobbyists and legal consultants are directly tied to state actions. Private equity CEOs and actuaries directly benefit from a century of monetary policy that slants the playing field toward finance. 5/7ths of the examples he came up with rely on state intervention for their existence, and yet he blames capitalism.

Even his musician/corporate lawyer friend owes his own employment to the vast swaths of corporate laws and regulations that exist.

Then he finishes with this: If someone had designed a work regime perfectly suited to maintaining the power of finance capital, it’s hard to see how they could have done a better job.

Again, how can you not point to government monetary policy and say this is exactly what's happened?
But it is. You need those resources and a way to predictably obtain them. The system of currency is the only known way to achieve this, especially in our modern society. Previously, it may have been possible for a large number of individuals to live an agricultural lifestyle where they produced almost all of the resources they required. That would be impossible today, unless the world population (fractal distribution generally applies to smaller geographical divisions) were reduced to less than 1% of its current size. The other downsides of such a scenario are also easy to imagine, I am sure.
You are underestimating the difficulty of direct neural interface, while overestimating the difficulties of AR.

With brain-computer interfaces, we are still in the very early research phase.

With AR, we are building first real products. We have been steadily increasing component density and power efficiency for decades, so if that is the problem of AR, then AR is just around the corner.
You're partly right: Treasury's Financial Crimes Enforcement Network is one of the lead agencies that combat money laundering. There's a huge amount of overlap though.
Radar is only one sensor among several and is usually switched off anyway in order to avoid detection. An F-35 could potentially fly an entire strike mission without ever using radar.

Jamming doesn't make radar useless. The jammer has to be close or put out a tremendous amount of power to be effective. And the F-35 can counteract jamming to an extent through frequency hopping and signal processing.
The barrier to entry may be lower for some parts of the market, but I don't know if the barrier to entrepreneurship is lower overall. Growing inequality and lack of growth potential for the uneducated means only those who have already made it can afford the startup capital(not just in equipment, but in time too) needed to get a business going. In fact, the rate of small business creation has been declining: https://www.washingtonpost.com/news/on-small-business/wp/201...
C++ is surely used in the backend, but as library languague integrated into the languages that you mentioned.

Every now and then, I integrate a native library into our Java and .NET projects.
It's too early to know who is to blame, or even if blame can be assigned so cleanly. Meanwhile, we have Uber's own reports that say that human drivers have to physically intervene during autonomous operation at a rate of one intervention per mile http://www.recode.net/2017/3/16/14938116/uber-travis-kalanic...
It is harder to make said html look nice - unless you are graphics designer. But also, it requires additional time to spend which matters.
We compile our product with GCC, Clang and MSVC, and we need some #ifdefs. MSVC for years was far behind GCC/Clang, recently Microsoft did a really good job and they catching up. But some #ifdefs are still needed. :)

I agree that C++11 was a leap (older C++ was terrible). However, both C++14 and C++17 are just a sets of smaller or bigger improvements.
Loved it! Absoolutely hilarious!
Gajim [1] implements a lot of modern XEPs (directly or through easy to install plugins), including OMEMO. I don't know how well it works on non Linux systems (they provide Windows binaries at least).

[1] https://gajim.org/