skysight-inc/HackerNews huggingface dataset:
I think for the worse. They will now have a major bone in the individual liberty vs enforced collectivism fight.

Their benefits are directly derived from their employer not having the freedom-to-contract/full-control-over-their-private-property.
Total attendance, NYPL system in FY2016: 13,867,000 (2M library card holders, 729,000 active)

Total attendance, New York Mets in MLB 2016: 2,460,000

Total attendance, New York Giants in NFL 2016: 630,312

"Nobody" uses libraries, indeed. http://council.nyc.gov/budget/wp-content/uploads/sites/54/20...
Microsoft boiling the oceans is a positive move for environmentalism, hybrid owners agree.
> The rush to rate every experience and interaction has much the same effect. The ever present manager monitoring your output is a reality and we’re all involved.

This exact problem was explored in a Black Mirror episode, where every interaction was rated with a star system: https://en.wikipedia.org/wiki/Nosedive
A members-only union is unlikely to last. From the perspective of the employer they have two employee groups - union and non-union. If they pay non-union employees less those employees are just going to join the union, get increased pay and now the union is even stronger than before. Actually the best strategy from the business' perspective is to set pay/benefits for union members and non-union members at the same rate. As union members bargain for more, non-union members freeride, as non-union members freeride, union members defect, and you kill the union's bargaining power.

This is actually why we need traditional compulsory unions if a unionization vote succeeds, it's the only way to maintain the bargaining power of the workers. If you don't like that working for a certain employer requires paying union dues you take the same action as if you don't like the health plan or pay offered by a certain employer, you look somewhere else.
But it's not just food, shelter, and sanitation that people can afford. Even the poorest of households now a days often has television, electronic toys of various sorts, a microwave, air conditioning, and much more. Let's hit on land ownership because it's something constantly discussed, but I think there to reality and perception come into deep conflict.

Right now the vast majority of land in the US is available incredibly cheap. In fact various areas are literally giving away land for free if you promise to put a home on it - some even allowing mobile homes. There's even things like Cuyahoga National Park in Ohio. You can get a government for the least ranging from $500-$1000 month for a house along with 9+ acres of land for those that would like to setup a farm. Not free, but probably still beats the pants off 40 acres and a mule! But people don't want just any land. They want to live in the most elite and desirable areas in the entire country. Yet those elite and desirable areas were at one time no name backwoods that somebody else decided to develop - same as is likely happening today for what will be the 'elite and desirable' areas of tomorrow.
Yes. std::optional<T> allocates the T in-place. Just checked compiler explorer, and on g++ 8.1, sizeof(std::string) == 32, sizeof(std::optional<std::string>) == 40.

(of course sizeof(char* ) == 8)
I overheard a guy on a bus. It seems that he got axed, and that Oracle are slashing a rather wide cut over all java (jvm) development, not just Mission Control.
I would argue async-everything the biggest hassle with Javascript. Most of the time, I need things to run synchronously. Do this thing, then do that thing based on the result of the first thing. The need for async is the exception. So what we end up doing is expending extra effort forcing all the async stuff to run synchronously when that should be the default case.
If your strings are > 65535 bytes in length, consider buffering the string data or using another data structure.
Engineer’s guide to embedded AI
I think https://notabug.org/about fits your criteria.
I always understood the performance review, at least in large corporations (not small companies or startups), not just to judge you individually, but more importantly to judge you against your peers.

In the context of judging us against our peers, it is isn't for us (so of course it's a waste of time for us), or our direct managers, but for upper management. The value there depends on the quality and candidness of feedback. Can this information be totally gleaned from task or ticket tracking systems? I don't think that tells the whole picture.

OK, so is it necessary for upper management to have this data? In a perfect world, this feedback data finds employees with great potential, ASAP and tracks their growth over time, from manager to manager and team to team, but since I'm a lowly professional and not upper management, I have no insight into how this is actually used.
Hmm. Don't see too many people in here that don't committee via car (it seems)
I did about 4 hours per day, total, as a mix of train, walking, and possibly a quick subway ride.

The only part of the commute that was terrible was the subway.
Otherwise, you're getting fresh air walking or doing what you want on the train (reading, side work, or browsing Reddit/hn), and enjoying a nice view out the window in my case.

Obviously a shorter commute is better, but the logistics of the commute make a tremendous difference. If I had half the commute but it was by car and dealing with traffic then I'd probably be in a worse mental state.
Hot tips to get hired by Apple
Wearables Growth Slows
To the extent that it's difficult or impossible for the workers to get another job, the employer has buyer's market power (in the extreme, a monopsony). It's a well-recognized phenomenon in economics literature.

https://www.investopedia.com/terms/m/monopsony.asp
https://en.wikipedia.org/wiki/Monopsony

Like a monopolistic market, a monopsonistic market is inefficient compared to a competitive one. Employers gain "utility" at the expense of workers, but less than the workers lose compared to a competitive market.

Unions can remedy this by becoming a monopolistic (or near monopolistic) supplier of labour, by negotiating a higher wage (price floor), bringing the wage closer to it would be in a competitive market.

Long story short: if you're pro competitive markets, you need to recognize the benefits of unions. They're not an ideal solution, but the alternative is not a competitive market outcome.

Edit: this seems like a pretty good explanation:
http://www.economicsonline.co.uk/Business_economics/Monopson...
> Python still can't get scoping right.

Python's scoping is easy, it's just also very shallow. What are your problems with it?
There is a big difference between 2core/2thread and 4core/8thread. It would be interesting to see more granular data.
The simplest way that I find to get an webapp running is by using [parcel](https://github.com/parcel-bundler/parcel) for bundling the frontend and using a python [flask](http://flask.pocoo.org/) server for backend. I don't think it could get any simpler than this. Now if I have a database, I usually go with mongodb along with pymongo.
This seems like a conflation. Your repo issues could be stored in a SQLite database, or a flat list of JSON files, or a git repo, or a giant text file, any of which your host might or might not give you direct access to.

The thing to consider (if portability is your primary concern) isn't the underlying storage format, it's whether or not you have a straightforward way to move it between providers.
Thank you for such a useful details notes ..
There is a word for any engineer that subsequently contributes code to this project. We need some solidarity in this industry.
Well, this is not very helpful advice, because strncpy(a, b, sizeof(a)) is in no way more safe than strncpy(a, b, sizeof(a)-1), because the latter is not 0-terminated either. And from malloc(), as in the examples, comes no 0-termined buffer, but random garbage memory. What would be safer is to alway 0-terminate the buffer after copying, and using the simplest copy possible:

strcpy(a, b, sizeof(a));
a[sizeof(a)-1] = 0;

But this is more boilerplate and hence more error-prone.

Even safer, use strlcpy() (if available) or snprintf() which both 0-terminate (except under Windows, maybe). (But beware when preparing something for copying from trusted to untrusted: strncpy() clears the rest of the buffer while strlcpy() and snprintf() do not, so you might leak info via uninitialised memory behind the end of the string if you copy out that buffer across a trust boundary. Actually, the authors 'sizeof()-1' solution is less secure in this context.) So, use:

snprintf(a, sizeof(a), "%s", b);

And don't tell me anything about speed, please. Your main concern with C is not micro optimisations but robustness and avoiding undefined behaviour (and that snprintf() is not too slow).

And for multiple concats, use multiple snprintfs(), like so:

char *i = a, *e = a + sizeof(a);
i += snprintf(i, e-i, "%s", b1);
i += snprintf(i, e-i, "%s", b2);
i += snprintf(i, e-i, "%s", b3);

This is the most concise way I know to write this that works without buffer overflow (your main enemy, even more vile than missing 0-termination), without thinking too much, without writing too much boilerplate, and that is relatively robust against breaking in code restructuring (like, appending more stuff in the middle). The idiom also resembles a bit old style C++ iterators ('i' and 'e').

Oh, and a truncated string is usually not good anyway, be it 0-terminated or not. So you do need to check for that after all that stringing stuff:

if (strnlen(a, sizeof(a)) >= sizeof(a)-1) {
/* ... error ... */
}

Don't miss that '-1' there. Off-by-one is another enemy to know well. And dispite that check handling missing 0-termination, do not be tempted to fall back to strcpy(), because missing 0-termination is bad(tm).

Phew!

C is bad with strings. The above resembles C++ iterators ('i' and 'e') and works fine with any good snprintf implementation (i.e., probably not under Windows).

And do not copy structs with memcpy, just assign them! memcpy() is for arrays only. This is not going to go away, is it?
But the problem is that employers also have high barriers of entry (it's not easy to switch jobs, especially if you have to relocate), and there's usually low competition for blue collar work, since there's higher demand, which makes employers have overwhelming leverage. There are industries where that doesn't apply as much, and you can see that workers can get better compensation and benefits in those. Unions can equalize that leverage.

I do think that unions could also have too much leverage, but I think that finding a happy medium is a worthy legislative goal.
The large majority of Bitcoin isn't actually moved every block either. And those systems you describe to reassign rights to gold also use energy. As block rewards fall, profit will come from transaction fees only, and only the most efficient miners (best equipment or energy access) will remain. Sure, Bitcoin uses more energy now than a database sitting on a server, but it's solving a different problem.
> I don't think we'll see a GoA 4 tube for many years

Perhaps I'm missing something, but I used to ride a fully automatic (e.g. there was no driver, not even a cabin for one) subway line in Lyon back in 1994/1995.
YAMAMOTO Mitsuharu's Mac Port of GNU Emacs
> It's not 'scabbing' to stand up to not join a union.

Literally the definition of a scab.

https://www.merriam-webster.com/dictionary/scab definition 3b.
I don't disagree with the title, but I also didn't see enough evidence in the article that the performance review is a waste of time.
Tolkien: Maker of Middle-Earth (the exhibition)
Yes, go read a biography on Tolkien. I read multiple biographies as part of a school report many, many years ago. It's even alluded to in the original prologue to LotR, although not made clear enough for a general audience. IIRC he talks about how he generated fake historical accounts--timelines, genealogical trees, descriptions of wars, etc.--for his "hobby" (not as his hobby, but for his hobby, that hobby being what is now called "conlanging", specifically art-conlangs). He showed these histories (what would become The Silmarillion and other works) to friends to see if they thought anyone would be interested in reading them. He was emphatically told NO, and so he picked a story and told that as a story instead.

The world of the Lord of the Rings exists solely for the purpose of providing an explanation for the evolution of his made up elvish languages, which was the real interest of this professor of linguistics. That it was published at all was an accident of the fact that people liked the bedtime story he wrote for his son (The Hobbit) which drew inspiration from his linguistically-driven worldbuilding.
Why would the attentiveness monitor be tied to autopilot? Some modern cars without autopilot already have attentiveness monitors. It's ridiculous to require people not to wear sunglasses. Just for the sake of attentiveness monitors. Anybody driving east to west in the afternoon or west to east in the morning wouldn't be able to use it at all.
I like learning about these caveats, but I have been asked tricky stuff like this in interviews before with gets() and the like.

As a person who interviews other people, I find that it's waaay more valuable that someone is generally aware that they should watch out for this class of pitfalls than that they know any specifics about a given function.

I've met people who basically had memorized the description of this phenomenon for gets(), but then their preferred solution was just to replace it with fgets() but then they don't know about checking for newlines or have any thoughts on what to do when individual lines are too long.

I'd much rather hire someone who says to herself, "Oh, I need to read some characters from an input source using C. RED ALERT! Let me really research the specifics here."

Instead of someone who thinks, "Oh, I need to read some characters from an input source using C. Good thing I memorized that trivia about gets() and can totally solve this in the best way immediately with the highest upvoted Stack Overflow solution of fgets() that I didn't bother to deeply grok."

I find that when interviews are geared towards puzzle solving or esoteric trivia, the people who do well are mostly of the second type (the ones I wouldn't want to hire).

Whereas someone of the first type might flounder around and struggle in a 20-minute programming task to process strings in C, directly because that person cares more about having a bigger picture point of view of what's actually going on rather than esoteric memorization of specific function signatures and usage mechanics.

In other words, if I gave some kind of C string processing question in an interview for 20-30 minutes, one very excellent answer should be, "sorry man, not gonna try to do this in 20 minutes because in reality I know there are string handling landmines I would need to research and slowly process, and I would never believe this is worth committing to memory for a short interview."
Having the same language allows to share some code between frontend and backend. This can be used to prerender your SPA on the server, for example, or to share some logic with the client to enable offline usage.
I'd say the biggest problem with relying customer ratings is that once customer's learn how valuable they are, some customers will exploit it to try to get more than they deserve.

Without consistency the ratings are pretty worthless. You need someone who will honestly rate the employee based on the value they provide to the business, and the business is the only entity that can do that.
You know git is distributed? You can keep all your repos both on GitLab, GitHub, as many local machines as you want... etc. all at the same time.
I'm really not. I have apps on my iOS devices right now that I didn't get from the app store; all I had to do was download them from the publisher, and then accept their signature in the security settings. (In my case, it's the frozen-in-amber old version of Sonos, which they'll let you have if you ask for it, but presumably this would work for anything.)

Anyway, you're coming at me apparently ready to argue about whether it is or isn't a walled garden. That isn't what I'm asking about. I'm asking what, specifically, Apple won't let you do that you want or need to do that leads you to describe it as a walled garden.
First class comment.

I can't tell you how many times I point out the data model is flawed (even when it should be obvious) only to have the project turn it into something you don't want to step in.

The most recent one was clearing of multiple work orders with one invoice. Yes you can, but you shouldn't.
We've updated the link from https://stackoverflow.com/q/50683786 and the title from “Operator += is broken for Strings in Java 9 and 10” to the official issue page.
Eg - Cisco and the great firewall https://www.wired.com/2008/05/leaked-cisco-do/
Nik Collection is not free anymore
Your inability to realize that the the context of my criticism is on his ability to collaborate and that that doesn't apply to how I express myself in public is laudable.
While I'm sympathetic to the mindset behind this post (ie, by wary of git centralization), I think that (for example) issue storage is an orthogonal issue from issue format. With a standardized issue format, it could be stored in a database or git, and as long as the service had an open export function, it would require no lock-in.

Also, as some have pointed out here, storing highly relational data like issues and connected profiles, etc, could be an exercise in frustration if you tried to store all that in git. At the very least, it would be limiting.
First Wave at Omaha Beach (1960)
The bargaining power of workers is being undermined by large-scale immigration and by trade policy. The National Academy of Sciences report on immigration found that current immigration policy diverts a shocking 500 billion dollars a year away from wage earners (and a net benefit to the economy of about 50 billion dollars a year from immigration). I suspect trade policy has an even bigger impact.

Everything else is lower order.
And completely irrelevant since I'm not collaborating with any of you.
I've used it at two different jobs where we hosted it ourselves, and I host it for my own projects at home, and I have had zero issues with it.

I'm actually surprised that many people you know have had issues with it.
شامل عبد القادر الصحفي الذي اصبح مؤرخاً .. ل (شبكة الاعلام):
Let me give you a counter example: https://en.wikipedia.org/wiki/Jia_Yueting

He is on the travel ban list due to credit problems in China, yet apparently rich and free in the U.S.

The first released travel ban list has 169 names on it:
https://www.creditchina.gov.cn/toutiaoxinwen/201806/t2018060...

(according to Google Translate) "On June 1, the first list of restricted-riding trains was publicized on the “Credit China” website. The list of public opinions contained a total of 169 persons, of which 21 were provided by the State Administration of Taxation, mainly involving non-payment or underpayment of tax payables, illegal receipts of value-added tax invoices, etc.; the CSRC provided 31 persons involved in overdue performance of securities and futures Responsible parties related to listed companies failed to fulfill their public commitments within the overdue period; the Civil Aviation Administration provided 86 people, mainly related to finding trouble in airplanes, blocking traffic in airport security, occupying, impinging on security inspection channels, and assaulting other people, and checking out carry-on countries in airport security inspections. Laws and regulations stipulate that dangerous goods (stuck lighters) are subject to administrative penalties; the railway company provides 31 people, mainly involving smoking on EMU trains or smoking in non-smoking areas of other trains, without ticket or station ) Travel by car and refusing to make up for tickets etc. The public can click https://hmd.creditchina.gov.cn/ to view."
Accurate countdown clocks are hard, they by definition involve predicting the future which is widely accepted to be a Hard Problem :)

More specifically there are two major problems one of which is expensive to solve, and the other is impossible to solve.

The expensive one is providing and making use of lots of sensors so that we can have the best possible evidence on which to base our prediction. Most obviously we need to sense where the train is - the more accurately the better. But it's also valuable to know if the train is moving, and even if the previous platform is full of passengers who will board it before it can leave, or empty.

The estimates may prove wrong because of something as dramatic as a fault, or as trivial as somebody's coat trapped in the door.

London's system has always seemed fine to me, but it's noticeable that buses (for which London also provides countdown clocks) have much poorer accuracy, because as well as the vagaries of passengers they must contend with variable traffic. It only takes one idiot trying to reverse a lorry onto a major street to add 3-4 minutes delay to your bus and of course if you can't see the lorry you have no idea that's where the time went.

I don't agree that it makes sense to reduce the displayed precision as you suggest. The problem isn't with precision, it's accuracy, and you can't really fix that by reducing precision.
I think a survey might be more useful. It's rare that anything mentioned in the review would take a person by surprise. But reviews can serve as a reminder to what an employee should focus on to align with the business needs.
strncpy would have to assume that it was working on strings if that were not the case.....oh wait....
I guess I'm considered a "super commuter" now? It takes me, on average, 1hr15m to get to work and 1hr40m to get home (due to traffic).

We bought a house in November and I just moved to this job. It was a "can't turn down" type of position even though it wasn't super close. Where we live we paid $200,000 for a 2,400sqft 4bed/3ba/2ga on a fenced 1/2 acre with a pool.

If we sold the house and bought something for $200,000 where my job is, we'd be looking at a 2bd/1ba condo at most. That's not going to fly with 3 kids and 2 dogs.

It's a shitty commute but I do it because it's an awesome job with amazing benefits and I'd do anything to better my families lives. I distinctly remember my dad driving 3 hours one-way to a job for about 1.5 years because he couldn't find anything closer.

It's true I lose relaxation time. I just bought a new car that I really enjoy driving (even in traffic) and I still can get things done that I would do in my free time anyway, e.g. Listen to audiobooks, listen to podcasts, etc. Right now I'm learning German on my commutes.

I may not stay content with the commute forever but for right now the pros outweigh the cons.
I don't understand the rationale behind using V8 for server code. Yes V8 is a general purpose JavaScript engine but ultimately all of the performance trade-offs and design decisions are made with browsers as the optimization target.

It sounds like Ryan is still interested in making V8 work so I have to ask: why do you want to be writing server code on a client browser engine?
Ask people to give you demos of what they're building. Schedule 30 minute 1:1s with as many people as possible, 1-2 a day. Write down what people tell you as much as possible; even if you don't go back and read it, the act of writing helps it stick.
Link for those interested in reading the rest:
https://www.usenix.org/system/files/1311_05-08_mickens.pdf
Convert Website Visitors into Buyers and Brand Advocates
Initially Dart was ( another ) wet dream from Google that would take over the world by overthrowing Javascript and conquer the Web. It would do what TypeScript does and much more, so by that metric is a complete failure.

They gave it another life with Flutter and it looks like it can be a big deal this time.
could you expand on this - sounds interesting