skysight-inc/HackerNews huggingface dataset:
The line to Moorgate was owned by the Metropolitan Railway, which became part of the amalgamated London Passenger Transport Board, using the Underground brand, and branded as part of the Northern Line.

The line up to Holloway Junction (where it joins the ECML) was owned and maintained as part of the Underground, operated by Underground drivers and Underground owned trains, and it was only transferred near the end of 1975 to British Rail.

Perhaps most tellingly, it was London Underground 1938 Stock involved in the 1975 crash.
Did you have any "signals" you looked for on the listings to indicate they might just need an oven reflow, or did you just buy everything cheap and hope it worked?
It is perhaps not possible in a long tale to please everybody at all points, nor to displease everybody at the same points; for Tolkien found from the letters that he had received that the passages or chapters that are to some a blemish are all by others specially approved.

I like the passage that they find trolls from Hobbit still turned to stone the most...
I've actually never listened to The Grateful Dead, so I can't say one way or the other :(
Thanks, this is a great start for me.
I know a lot of people who own or work for small businesses doing blue collar stuff. The crux of the issue seems to be local competition. So long as employees have other options that don't involve uprooting their life the bargaining power dynamics are fine as far as I can tell (as much as some of the business owners who are stuck in the past may hate it). When employees can get a job somewhere else without employers can't get away with giving them the shaft of they'll do just that. Even in jobs where labor is basically a commodity (e.g. entry level welders) the situation is the same as long as local competition exists.

People who do unskilled or close to unskilled jobs for big companies that aren't pressured by competition still get the shaft though.
Yeah Tibet at least had lots of good PR because Buddhism is a better brand than Islam in Western countries. Not that it saved them from the inevitable
Performance Reviews Are a Waste of Time
In 2014 The Gini coefficient for Mauritas was 30 and for France it was 40.

The top 1% in France has about 20% of the total income as of 2014.

For Mauritas no suitable data was found for wealth inequality or dispersion of earnings.

The lack of good data for Mauritas makes a comparison between the two questionable.

Plus even after looking at the numbers for these countries I would want to check out money laundering - if I recall, based on the Panama papers, a nontrivial amount of the 1% (probably more like the 0.1%s) wealth is laundered/hidden/dark. I don’t know if the studies here attempt to account for that or not. I would imagine money laundering is prevalent in France (or any major economy for that matter), possibly in Mauritas

https://www.chartbookofeconomicinequality.com/inequality-by-...

https://www.chartbookofeconomicinequality.com/inequality-by-...

Information on data sources here - https://www.chartbookofeconomicinequality.com/about/

As of 2018 the population of Mauritas is 1.26 million (via google search). The 2018 population of France is 65.23 million (via google search). The 2014 population probably was not radically different.

I wonder if the size of the society in question matters here - is comparing a country to one 65 times larger than it useful?

I did not look for data to validate the hypothesis that everyone is pretty happy in Mauritas as opposed to France.
It looks like the research team has submitted some commits for parts of their work from the paper to be merged into RocksDB at large. If the work is shared for others to use, it shouldn't be so scary.

https://github.com/facebook/rocksdb/pull/2795/commits

Personally, I think research papers like this should open source their work completely so others can replicate their results. That's how science is supposed to work, after all.
> Most people do that just fine, with way larger projects than his kernel.

What are your examples? Please qualify project size by number of contributors and their organizational and cultural diversity.

According to [0], in 2015-2016 there were over 5,000 contributors sending patches, representing over 500 organizations (and likely, something like 50 countries/cultures/languages). Linus, through the LKML, corresponds with many of them, and has a small number of deputies. He is not paying any of these contributors, so he can't actually fire them, unlike e.g. Zuck, Jobs or Gates which, according to rumour, are/were all much less polite than Linus to their subordinates.

> It's almost as if he does it for publicity or shock value

He most definitely does, and uses it effectively. When he does, he mostly attacks ideas, not people. I've been following the LKML very intermittently, but my impression is that he is mostly kind and thoughtful in his answers while being direct. Those times that get to HN/Slashdot/Reddit/common-knowledge are few and far between, and mostly the 3rd or so response to the same thing (though, it has happened before on a "first offence").

> People aren't perfect, and neither is he. Doesn't take from his achievements but acting like he's in the right to behave this way is just enabling him. If people want to emulate him, they should look at the good and leave the asshole behaviour behind.

No one said he was perfect. Some of us believe that it is effective; call it "necesary evil", but it's one of the very few management tools that he has - basically, refusing a merge, and voicing an opinion.

I eagerly await your examples, as my experience is that people with much more management tools at their disposal are not better in this respect than Linus. Especially those examples (of "most people") that coordinate submission from 5,000 people mostly interacting directly with them.

[0] https://www.linuxfoundation.org/blog/the-top-10-developers-a...
Right, don't use `buf` as an input and output with `snprintf`. A lot of people use `str(n)cat` and `str(n)cpy` together like

char *a;
char *b;
char *c;
strcpy(c, a);
strcat(c, b);

and I meant that `snprintf` can replace that. But if you actually only have two strings, one with a larger buffer than what it contains, and one to be concatinated, then you can't use `snprintf` like that.
Forgive me for being flippant, but yes, if a union of writers acts like a bad example of how unions are supposed to act, the union of writers will be bad

But why would you say that? It feels very defeatist to me to do something like that
Can anyone explain why he called Dart a complete failure?

https://youtu.be/M3BM9TB-8yA?t=19m55s

ps: I am a junior developer. I am taking up Dart to learn Mobile apps development using Flutter.
He wasn't influenced by publishing standards to make it longer. LOTR was in fact quite long by the standards of the day and had to be split into three separate volumes as a result.
the point of Go is to have one language that's the best of both dynamic and static languages. the point of Rust is to be safe and fast. if you're building an infrastructure where you're externalizing the dynamic language runtime, such that there's always a host and a guest language, Go isn't necessarily optimized to act as a host language in that context. Rust is, at the expense of being arguably more tedious to program.
"Now everybody can eat as much as they can"

Not everywhere.

"Maybe you don’t care that much about the world outside the US or Western Europe, but literally billions of people have seen their living standards rise from the subsistence level to a decent level."

That's very uncivil of you. There is lots of poverty in the US, and despite popular opinion, there is lots of hunger here too.
How to Do TDD with Go on OS X
Yeah given how much they paid it’s clear they’re not intending to directly profit from Github’s sales. Allowing free private repos seems a logical step
>This depends heavily on your workflow. If you find TR memory bound, then you want a server part. TR has 4 memory controllers that will each do DDR4-3200 in TR2 per TFA. That should be able to push ~95 GiB/s.

Wrong. You neither read the OP or my citation. Eypc can push 95GiB/s with its 8 channels. TR2 isn't increasing the number of channels, so 2 CCX's (8 cores, 16hyper threads) don't have direct memory access. They have to work with in the inter-chip CCX bus to get memory access. This is going to carry a lot of performance penalties.
> prices on non-discretionary goods would increase

Only if those are demand-priced, not commodities. That's a problem whether UBI exists or not, and therefore needs to be addressed in conjunction, not instead. Anyone who saves any money at all would benefit from increased income.
> we know Bitcoin doesn’t scale to handle the volume of transactions needed

No longer true. I used to believe this as well, but I’ve been blown away by the work from Lightning Network [1]. Subsecond transactions that happen off the Bitcoin blockchain, scales beautifully.

[1] http://lightning.network
Clarifying My Objections to the Lightning Network
I've never understood why this is a benefit when the one language is - let's say - suboptimal in many ways.

The interfaces between server- and client-side code should be well-defined and language-independent. You don't want the same people writing both, because it's harder to check that your API is working to spec if it doesn't get fully independent testing.

There's also a lot of useful server-side optimisation and security management that Node - or a high-level replacement - can't handle.

V8 may improve things, but it's going to have to improve performance a lot to be competitive.

https://www.toptal.com/back-end/server-side-io-performance-n...
You clearly haven't spent much time in a glass blower's shop. The torches alone are freaking awesome and it's a pleasure to watch the tradesperson at work.
>" One of the reasons we're greatly expanding our infosec department and hired Joe Sullivan [1] is to help keep us safe."

I am assuming this is the same Joe Sullivan, the former CSO at Uber who was fired for failing to disclose the 2016 data breach to regulatory officials or notifying the 600K drivers and 57 million customers that were affected? [1][2][3]
And keeping it secret for more than a year? I am not sure that association instills confidence.

[1] https://www.darkreading.com/informationweek-home/ubers-respo...?

[2] https://www.engadget.com/2017/12/01/uber-but-for-toxic-techb...

[3] https://www.technologyreview.com/s/609539/uber-paid-off-hack...
We run buildkite-agents in its own kubernetes cluster, and the nodes are pre-emptible on Google Cloud so 30% of the price and it dies everyday, so it gets cleanup automatically
I wonder if they are actually filling those roles?
This is also why the best armies throughout history have always executed their own battalions after every successful battle. Read your history books, people!
Future aspects of Indian healthcare system with A.I
There will continue to be rising wages and trucker shortages as no one sees a great future in that line of work.

Sure, jobs will remain. People will be paid to sit on trucks while they drive themselves across the country. People will be paid to sit in air conditioned offices and watch trucks as little dots as they travel across the country.

They will have to find people to do those as well. The whole industry is boring unless you are management/executive level. Truckers today will have first dibs on all those positions, also, leaving new truckers completely screwed as their relatively new high paying trucking job leaves them with nothing.
Why Banks Are Losing the Battle for M.B.A. Talent
Wow. This is a pretty big bug.
The official bug report: https://bugs.openjdk.java.net/browse/JDK-8204322 as Stuart Marks, a jvm architect, posted.
I'm surprised it stayed uncaught for so long.

For the unfamiliar, the way string concatenation is compiled changed with invokedynamic.

Previously, it would compile to either Sting.concat calls or transform into a StringBuilder, but with invoke dynamic we can leave it to the runtime to optimize when it first runs.
The first 18 months of starting a company: it’s life or death
How can something as simple as string concatenation bugs not get caught in regression testing? (Or even Unit testing)? No wonder everybody is moving away from Java.
Well, then that's pretty bad!
At my current company, I am in charge of hiring and engineering management. We are a small startup that is doing some very interesting but technically difficult things.

After my own on boarding process and casually quizzing the rest of the team, I started to realize that everyone on the team, from their perspective, worked at almost a totally different company than everyone else. I don't think this is too uncommon, especially in the early days of a thing, but we had a team member leave us so I asked if I could do an exit interview. The candid perspective I got from him was invaluable.

He had a very similar experience to my own, where from day one expectations felt like shifting sands. I spent a few weeks really thinking about it and came up with this on boarding plan that we are using now.

I broke it out into 3 months. I then talked to our CEO and head of development about what they would like someone to know and be exposed to in our company. I then broke that out into two separate on boarding plans. One was focused on learning about our customer experience, and the other a technical track. Then I took a look at our stack and documentation, and started an overhaul to put easy to read and find docs in a single place and make sure that on their first day they could type one command and run everything they would ever touch.

On your first day at you start with us I provide the outline of what you can expect over the next three months, the customer experience track is actually pretty fun and by the end of month two you are working on an independent study with our data tools. The technical stuff is pretty light weight, but covers some of the stranger parts of our system. You're given plenty of time to learn and ask questions. The first month mostly working just with the developers and figuring out communication patterns and stuff. The second month you'd take on a small feature as a champion and work directly with design and product, and you're encouraged to explore through improving our docs/tests or building one off prototypes that you think would be neat with our product. By the third you've been exposed to everything in our universe and hopefully if we've done our job right, everyone feels like they have agency, know's who to talk to, and is really excited to work on some interesting and challenging stuff.

The dual on boarding curriculum are in a git repo broken out by subject and month and tied right to our knowledge base. I personally think creative agency is one of the most important things for getting the most out of new hires and setting the tone. So that was kind of the focus of the scaffolding I put together. You can squash a fantastic asset by being aloof, having confusing practices, or in general just not being sensitive to how people learn and being reactive to it.
Codius – smart contracts made from containers
Not even this works. They forgot to force the last byte as a NULL, which is a classic bug in C. Either that or memset the char array before using it. But what the blog poster did is a pure bug.
Transcriber: web app using Google speech-to-text API to transcribe audio files
"sellers of labour" is almost exactly what "society" is. You can't leech rent from yourself.

It's always interesting to see free marketeers sing the praises of monopsonist buyers of labor and (corporate) sellers of products, but suddenly change their tune when sellers of labor gain market power.
Assure them that they have to start the earliest possible, even cutting family time. Then keep them waiting for their first full week until they get permission to install a code editor. Notepad is not enough you said?
The same argument can and has been made for the economy, government, religion etc. But as we've seen, too much centralized power in the hands of the few has lead to some of the greatest mass human suffering in history.
There are many object oriented string types for C in various independent GitHub repositories, but they're not really interesting for C programmers because they enjoy the simplicity of null-terminated strings and moving data around with `for` loops.
I think it's a big deal: introduced in 9 and fixed in 11? It suggests two things: Oracle has gaps in the regression test suite, and they don't consider compiler error such as these as a big issue.

Java 9 broke other things. Here is one:
https://github.com/andy-goryachev/FxDock/issues/8
WebView is working fine in 8, totally broken in 9, partially broken in 10. Do they have a QA department?
"Unhealthy food is only cheaper if you can't be bothered to take 30 minutes to cook"

Which, if you're working 2 jobs, you very well might not have.

"If you're thinking the unhealthy food in the grocery store is cheap, that's also not true."

Time is also a cost. So is the ability to store food.
Just to give an example of two projects I worked on at the same company within a few months of each other:

The first involved taking all sorts of situational data from various sources in an airport, e.g. radar systems with their own binary formats, and combining them with the work of a postgrad researcher who had come up with an algorithm to optimise when pilots should turn on an aircraft's engine in order to save fuel and cut emissions.

The second involved managing 3G dongles on fleets of laptops, tracking and sending alerts on their usage and billing info in realtime, back in the days when business users would accidentally run up £10,000 bills abroad.

If at any point in the first half of either of these projects I'd been asked to come up with an estimate for the total amount of work, it would have been wildly inaccurate. Each project had both low and high level surprises at every turn that would have just compounded to blow those estimates up. There is basically no significant way in which one informed the other, even though parts of the systems used similar event sourcing architectures on the exact same server-side stack, and were done for the exact same startup which broadly offered real-time systems to utility companies of various sorts.

It's entirely possible that there exists a breed of programmer who could have estimated these projects in their entirety, much earlier and more accurately than we did, but I've never met them, and I'd rather work in places that didn't compel people to.

I've known and worked at other places where basically any software methodology would (and did) work, but I certainly don't think it's rare (as you seem to suggest) to find yourself at the other end of the spectrum.
Agree 100%. IMHO, a lot of it has to do with the programmer mentality of wanting to be "challenged" to solve problems one step away from their competency. If you're fresh out of school, implementing your own allocator might be a challenge you take upon to solve a memory constraint, when you can just take what someone else (with more experience) has built. And then senior people insist on designing yet another over engineered platform technology because everything has to be 'future prof' (when in reality it never is and only ends up being performance-proof). How many JS frameworks have we had so far that do the same thing and just repeat mistakes of previous ones? Its like one every year.
Meh, lateral movement in large companies is something we can scoff at across the spectrum. The compartmentalization of these large companies coupled with their insistence on in-office employees is surely a problem, it just didn't feel like that's where the hate was directed. Often in the case of layoffs by non-troubled companies, there are many valid "but [...], but [...], but [...]" arguments. I'm not sure there is much value in concerted anger at this one.
How often does C add things like this in general? I want to say... basically never?

You're free to roll your own String type that has the length. No clue why people don't just do that though (I assume many do, but obviously a ton do not).
> how does one format code in HN?

Two space indent.
Adding side effects to your array index expression and depending on order of their evaluation is a bad idea anyway.

Unfortunately, the `++` / `--` made it to Java, and are still used sometimes, despite JVM not being PDP-11, and definitely not trying to conserve every precious byte of RAM.
It's easy to work around, sure, but it's still going to be something that's hard to catch if you see it in the wild.

Also: it only breaks when it's an array of Strings.
FUD. He's a fan of JS, and probably has no experience with Dart.
This is a rounding error in their budget. They have $500 million in revenues.

https://www.mozilla.org/en-US/foundation/annualreport/2016/
Jargon: tokenizers and lemmatizers for Go
What, you're saying that features that made sense for a programming language designed in the 70s don't make sense in 2018?
> The Janus ruling will only impact fee payers in "right to work" states.

This is wrong.

The Janus ruling hasn't happened yet, so we don't actually know how broadly or narrowly they will rule. But the case is about public unions (which NewsGuild is not). It's unlikely that Janus will affect anything about NewsGuild's operations directly.

> (even though they will continue to receive equal representation and benefits from the Union).

Not necessarily. The unions can redefine the bargaining unit to be members-only, in which case they will pay neither dues nor fees, and won't be entitled to benefits or representation.
Improving WordPress with Static Analysis
"And lets get off of this no time argument. Why do all these people with no time still have TVs? The average American watches ~5 hours of TV per day. Watch 4 hours instead and cook a healthier and cheaper meal."

That's a complete non-sequitor. You're going to have to provide evidence that those who are poor are the ones watching tv so much, and don't have the time because they're working multiple jobs.
Andreessen Horowitz, Sequoia Big Winners in GitHub’s Sale to Microsoft
I wrote the first bulleted link, should have included a gigantic caveat: CC0-1.0 expressly excludes any patent grant. That makes it dangerous for non-trivial software, is why CC eventually withdrew it from consideration for OSI approval, and why it isn't highlighted on choosealicense.com which is primarily about software -- though it is mentioned on https://choosealicense.com/non-software/

I think the reason choosealicense.com originally featured Unlicense relative to other unconditional license options is that one of the creators of the Unlicense (bhuga) was also one of the creators of choosealicense.com. But previous paragraph is why it's still there.
What happens in a large body of water (ocean etc) when an electric shock accidentally slips out or a live electric cable is cut? Is it similar to an underwater grenade going off, affecting a large area, or is it not a worry?
new snorkelling destination
I suspect that strncpy was intended for filling in fields in records to be written to files, where you want all the bytes to be clean, with no random junk (potentially sensitive) after the null byte. For instance struct utmp in Unix or something of its ilk.
You know I'd rather see some of these chrome books with 8g and still in the $300 range.

But thanks, that's actually a nice little machine.
A built in slice type (i.e. a (pointer, length) tuple) would prevent many of the issues with C strings without departing so far from the language design.

If done from the beginning, slices could have gotten the `T[]` syntax and array-pointer decay could have been replaced by the easier to use and safer array-slice decay. But of course backwards compatibility prevents this now.
A Center of Excellence for AI: What It Looks Like for a Fortune 500
IMO low unemployment gives every worker more bargaining power, just from a supply and demand perspective.
They can easily be bad for you if you use any kind of appealing (white) bread.