skysight-inc/HackerNews huggingface dataset:
In the time before governments provided these services, or in countries where the government is too broken to provide them, charity makes a good effort but fails to provide basic complete coverage.
Perhaps it's different where you live, but you may want to consider how not tipping will be perceived by those around you. Giving others the impression that you're selfish and lack empathy has very real costs, even though they may not be as immediately obvious as the cost of paying the tip.
Nope. If you have a problem with the federal government (e.g. US military spending) of the country you are a citizen of, then you actually have a lot of difficulty moving to another country (unless you are rich).
From a outside perspective America seems like a developing nation in many perspectives. So I think both should be done.

The amount of homeless, jobless, bad education, a meme president and all that is nothing you find in 'your usual developed nation'
LP Chamber continues strong growth and programming in February
It's the nature of surveys. People know that a sub-100% rating in most surveys is bad - troubleshooting sub-perfect ratings shows up all over the place from restaurants to call centers. So happy people give perfect ratings - 5 stars in this case - for the most part.

Drivers have to rate riders before they get their next ride, so every rider gets rated by every driver they pair with.

Lyft states (at least they did) openly that a 3 star rating or below will ensure that the driver and rider are not paired again, and will prompt for a text entry explaining what went wrong.

I don't disagree that the rating system is broken. But it is what it is and it's not likely to change soon.
> I've never seen a comment replying to a comment that garners more upvotes than the parent comment.

I have comments that have more points than other comments by me above them in the tree. How often it (doesn't) happen in general is impossible to tell since we can't see how many upvotes comments by someone else have.
Then you have to download it as part of the web page. It's hard to beat shipping the runtime with the browser.
Cool down a bit, would you?

You could get your point across without using that tone.
I did find this line of code quite entertaining:

if((r = write(1, toWrite, len)) != (int) len) { /* 1 is stdout! */

If you're going to go to the effort to add the comment, why not just use stdout instead of 1?
Yes, but as the article mentions, there was no need for the treatment in BOTH eyes when time was not of the essence. Also, these higher risk "treatments" can be reserved for those who are medically worse off (e.g. already have loss of vision).
Show HN: HelloDigest – Digest newsletters and receive them a single email
I created this tool because I get a lot of newsletters (& drip emails) every day and it is very time consuming to go through each and every email. Moreover, these emails come in at ad-hoc timings and distract my daily workflow. However, I would still like to glance over these emails so that I don't miss any important update (product updates, offers etc.).

With HelloDigest, I simply digest the emails once directly from Gmail and then it sends me a single email every morning at 9am (my timezone) with all new emails in the last 24 hours.

Do try it out and let me know your feedback. I hope you find it as useful as I do.
You should ask yourself some questions, e.g.:

- Other than that, do you like working there (company, team, pay etc.)

- Did you try talking to someone about this problem? Maybe there are other people who feel the same way and you can lead to change

- Do you have any alternatives that would make you happier?

As a general rule, if you are unhappy for a longer time period, try out different courses of action that could lead to the desired change. Too many people just sit through it because they're comfortable and don't want to take any risk (this not only applies to jobs, but also to other areas in life)
One thing that comes to mind is that young people today are weaned on oo languages and may find it hard to adopt the good old-fashioned non-oo style typical for C.

For example, intrusive data structures may seem like an anti-pattern to oo programmers, while they feel perfectly ok for a C programmer. On the contrary, C programmer may find non-intrusive data structures to be an anti-pattern as they require extra memory allocations.
But isn't that covered in the "willing to pay more for the service" bucket? I find tipping awkward to the point of being willing to pay more for alternatives that bundle an otherwise expected tip into the service's initial pricing.
I disagree with quite a few of them. The title should be "Principle for C programming ON UNUX BASED SYSTEMS". C programming is quite a bit wider that this, and some of the typical points here are no-no if you want to write /portable/ C.

For example, "Do not use fixed size buffers". It's all very fine, but 1) it can be exploited as well if someone managed to fudge the size you are going to allocate, and 2) on some platform, you don't have/want malloc(). So it's a lot better to have a fixed buffer and check the sizes carefully before copying into it.

Another one I dislike (but it's personal preference) is the 'use struct for pointers to structs' -- well, nope, I don't like that, it's unnecessarily heavy. I typedef my structs all the time, and call them something_t, and * something_p. It's easier to rework, rename, search for and it's quicker to type so makes the source code lighter to read. I know it's not popular, and for example the kernel guidelines agree with you, but I don't.

As for "no circumstances should you ever use gcc extensions or glibc extensions" well sorry, I also disagree here. I love the 'case X..Y:' syntax for example and it's been around for about a million years. It's not because the C standards prefer adding idiotic syntax instead of useful ones like this that I'm going to stick along and limp when there is a perfectly nice, clear and very readable alternative.

Another one I love but can't use are the sub-functions. Now what also would have been a lovely extension if the runtime had been perfected a bit, but it was never 'finished'. Speak of easier code to read when your qsort() callback is listed /just above/ the call to qsort().

Another extension is of course the __builtins that you actually do need on modern systems. Like memory barriers, compare and swaps, ffs, popcount and so on. Of course I can have an explicit function to do it (in the case of the last 2), but that's the sort of things that ought to be in the C library anyway. So I'll use these, thanks.

As far as the rest of the article about the process, your code reviewers and so on, in many places and on many projects (open source ones are a case in point) you don't have the freedom/time to do that. The rule is ' do as best as you can' -- and that ought to do it in many cases.
>If you had the money to pay off the card already and are just using the CC as a convenient method of payment, the risk is obviously far lower

Right, but you're still taking on debt for the month and then paying it in full. What is the risk?
> hung out with other vegans

Thanks for also writing about the downsides! :)
>> I'm not sure I see any interest in that tbh:

Running other languages(than JS) in the browser is interesting for sure.
So if it turns out that the whole universe is at least 64 times larger than the visible portion then we are in fact already in a black hole!
I really appreciate his method of breaking it down per-niche.

When it comes down to it, all languages are DSLs. Even LISP/Scheme are DSLs for making DSLs (like Butterick's "Beautiful Racket" earlier today).

Presenting them as per-niche directed graphs is probably less likely to steer newbies (and sadly, not-so-newbies) into another round of "let's redo everything in X!"
Can someone tells me the est. bandwidth traffic per month on such setup?
>it does not mean its a reason not to use those things...

It is for people really sensitive to privacy that are distrustful of institutions.
> Just under a year ago, Memphis Meats was at $18,000/lb of clean beef produced. Now they're at $9,000/lb.

That's a relief, because anything over $9,200/lb. causes me to consider having chicken one extra day a week.
Not quiet!

No usually "that person", but: quite

Only pointing it out because of the irony: Choosing between using a fast mostly accurate model and a slow very accurate model.
Here are a few keywords that come to mind. You can find both high-level and deeper information on any of these: Proof by induction, Boolean algebra, recurrence relations, generating functions, "counting problems" in combinatorics.

If those topics are still troublesome, I'd say really drill yourself with algebra up through the highest math you've learned, until it's second nature and you're fairly comfortable with writing simple proofs. It's really hard to follow lectures when things aren't as "obvious" as the lecturer assumes.
Well it's not a robot but it will hold your baby's bottle:

https://www.thebeebo.com
> This error occurs because new processor generations require the latest Windows version for support.

Can someone explain this better? It feels like the direction of 'support' has been inverted. I thought all these new CPU's were supersets of the instruction set of previous gen i386/amd64 processors?
Thanks for this detailed answer.

But is WASM set in stone already? I would have thought there would be a strong interest in seeing higher level languages made available through the browser. Are there fundamental reasons why WASM would never implement the features required to run a CLR (not necessarily a file system but for instance the threading model you mentioned).

The case for using c#/vb/java in WASM is I think strong.

First this would allow developers to write truly cross platform apps, using a lot less hacks than a solution like Xamarin.

The UI could be HTML but I would think that a CLR would ship with a version of WPF (think silverlight).

In a intranet/corporate environment, it would make the deployment of internal applications trivial.

You could have webapps with the same code base that run on mobile and desktop. The download time is not necessarily relevant. The code would be stored on the machine like any other webapp.

I think there is a reason why c#, python or java are so widely used over c++ outside of performance critical code. It is a lot easier, faster and safer to develop. I don't think c++ is a reasonable alternative to c# or java. As for rust, I don't have an opinion on its merit as I am not familiar enough with it, but its developer base is a small fraction of each of the vb/c#/java developer base.
If he is into mysteries, he might have picked the riverbank where D.B. Cooper's ransom cash was discovered in 1978 (https://en.wikipedia.org/wiki/D._B._Cooper#Physical_evidence).
We're drowning in information. What do we need - More Ad targeting?

"The researchers believe understanding when, why and how people avoid information can help governments, firms and organizations reach their audiences effectively without drowning them in unwanted messages".

Proposal to rename the Paper?

How we can help you with your message targeting.
Ehh, since VantagePoint (DE Supreme Court affirming Chancery Court, 2005) and Lidow (CA appellate court in dicta, 2012) there hasn't been anything saying that Section 2115 should apply that I've come across. It's not perfectly settled, but it's not unreasonable to rely upon.
Similarly first home buyer grants or stamp duty concessions, they sound appealing to young couples struggling to enter the market but have repeatedly been shown to do nothing but inflate the market further.

When confronted with a golden goose that pumps money into the economy no politician wants to take a long term view of impacts, particularly when it's their generation making easy money at the expense of those who follow.
interesting points. the maintainability part is freaking important but i guess you truly realize it only when you got bitten by it several times. some other details i don't necessarily agree with, like buffer sizes if you program for embedded devices or if you have real-time constraints.
> B. Favour their traffic? No way.

Oh Yeah!
I understand that they count on it as salary, it's the same with the Uber drivers - they don't make enough so they depend on the tip. Either way it's not acceptable - if they can't support themselves on the wages they have they should demand higher wages from their employers who equally raise the cost of the product.
Uber's Disruptive Model Facing Different Responses in Kenya and South Africa
In addition you can get operations where doctors do things like rotate your eye 90 degrees so that the main focal point no longer sits in the spot with macular degeneration.

Sure, it only lasts a couple of years. But, when you are 80+ years old, that may be all you need.
It's quite common in Embedded programming to use pools of fixed size buffers. Malloc/free work on these pools.
How often does a sequential write happen in an SSD ?
That's how Google rolls nowadays: http://www.networkworld.com/article/2922061/cisco-subnet/goo...
I try to stay cloud agnostic -- so for production I use VMs with decent instance storage to run the various services needed to support our product. Sprinkle in S3, Route53, VPC, etc to stitch it all together.

For dev/staging, I use cheaper Linode boxes where we run all the processes on a single VM and leverage the same Route53, S3, etc services which don't really require me to run a VM on EC2.
And submarines.
Microsoft does extensive testing, not just on the "instruction set", but also the chipsets and surrounding ecosystems of the processor.

It's annoying, and probably well within their ability to, but also not inexpensive.
This is not a "why" post. He did an N x N contingency table of how many people moved from language X to language Y, then rendered his findings as a set of directed graphs.
> I'm never going back to ASP.NET MVC except to use it as an API

Angular isn't going to help you write your server. That's such a strange statement.
Do publishers act as a reliable source for validating your idea? or do you rely purely on your audience, if you can validate your audience directly then you'll be able to get a far more accurate prediction of demand for a book than from the opinions of a publisher's agents.
>For example, "Do not use fixed size buffers". It's all very fine, but 1) it can be exploited as well if someone managed to fudge the size you are going to allocate, and 2) on some platform, you don't have/want malloc(). So it's a lot better to have a fixed buffer and check the sizes carefully before copying into it.

This is reasonable. I mentioned measuring fixed size buffers if you have to use them, but edited it out. I think all programming guidelines should be taken with a grain of salt and adjusted as necessary when sanity demands deviations from them.

>Another one I dislike (but it's personal preference) is the 'use struct for pointers to structs' -- well, nope, I don't like that, it's unnecessarily heavy. I typedef my structs all the time, and call them something_t, and * something_p. It's easier to rework, rename, search for and it's quicker to type so makes the source code lighter to read. I know it's not popular, and for example the kernel guidelines agree with you, but I don't.

It's easier to rework, rename, and search for? How so? The problems with it is that you should be able to easily differentiate structs and scalars, becuase you should treat them differently. Same for pointers. You should generally be passing structs by reference, not by value, for example. I don't appreciate hiding information about the nature of your types for the sake of ergonomics. The readability gain trumps the extra quarter-second of typing each time you use the type.

>As for "no circumstances should you ever use gcc extensions or glibc extensions" well sorry, I also disagree here. I love the 'case X..Y:' syntax for example and it's been around for about a million years. It's not because the C standards prefer adding idiotic syntax instead of useful ones like this that I'm going to stick along and limp when there is a perfectly nice, clear and very readable alternative.

gcc is not the only compiler in the world. You can't be crying out about the Unix-specific nature of this article and then favor a dependence on gcc.

>Another one I love but can't use are the sub-functions. Now what also would have been a lovely extension if the runtime had been perfected a bit, but it was never 'finished'. Speak of easier code to read when your qsort() callback is listed /just above/ the call to qsort().

Ugh. Just make a static function.

>Another extension is of course the __builtins that you actually do need on modern systems. Like memory barriers, compare and swaps, ffs, popcount and so on. Of course I can have an explicit function to do it (in the case of the last 2), but that's the sort of things that ought to be in the C library anyway. So I'll use these, thanks.

Why do you need these? If you must, see my comments on abstracting non-standard/non-portable/etc code.
Rate inflation is real...
climatefeedback.org is a good implementation of Hypothes.is They get scientists to check climate-related articles. Check them out and support them if you can. Good people doing good work.
Agreed. Nevertheless, everything will be redone in JavaScript, by the look of things.
Using 1% of speed of light, it will slow down by 0.005% (That's much less than I expected)
It's a bit different from Genius, but I really like bilebili's annotation system.
Maybe you are not too familiar with rsyslog. Those are modules that get compiled into rsyslog itself.

If you attempted to create such a module system you will very soon see that doing a lot of the things that they have done is unavoidable (weird naming and so on aside).

I see this attitude where people suggest that writing beautiful secure wonderful C code is possible however just somehow all people are just too dumb to be able to do it.

Every example you show them they say "nah, that person? also too dumb".

You can find similar crap like that example that I pasted in all popular C projects including the Linux kernel and Redis.

At some point does something become not fit for purpose?

I'd say we'd make more progress if we become less tolerant of technologies that disrespect us as humans.

If only an elite subset of people are good enough to program in C. I'd say that's because C is not good enough, not because everyone else is too bad for C.
The research methodology in this blog post is fundamentally flawed. The author only counts how many people move from X to Y, but he doesn't count how many of them do not move at all. The whole diagonal of his (sample) transition matrix are actually missing values, but he treats them as zeroes. This greatly distorts the equilibrium distribution. As a result, he misinterprets each equilibrium probability as the "future popularity" of a language as well, when it at best only represents the future popularity of a language among those who constantly switch their languages.
The recent pop-up ads, automatically downloading of Windows 10 by Microsoft and bricking devices by Microsoft's friends seems like a good indication of the tipping point for many people. Stallman was right, then?

About 10 years ago I made the jump from Windows to GNU+Linux. It was quite annoying because at the time I was still heavily invested in web design and such, so not having photoshop was quite a loss. Nowadays I am so glad to have an OS that works for me and not artificially limits me to what it thinks I should do. As extreme as Stallman was, I came to appreciate him more and more for what he has done to protect users' freedom and privacy.
They are also not as widespread.
No because UNIX requires C semantics, so even if someone writes a UNIX like OS in Rust, Ada whatever language it might be, for compatibility with UNIX software it would require a POSIX API to be available.

POSIX is defined in terms of C semantics, which includes C unsafety, like managing pointers and the respective length as separate entities, using null terminated strings or casting void* to specific data structures.

Which means the POSIX translation layer would need some sprinkles of unsafe code to be able to comply with the required semantics, thus opening it to the same exploits as C code.

This issue is visible in OS that aren't written in C, but do expose POSIX runtime layers like mainframes.

As mainframes, they usually restrict possible security exploits thanks to running POSIX applications on their own containers or enclaves.
Is Predictive Text Robbing Us of Our Ability to Write?
AP2 is currently only meant for freeway driving. The sales person was probably right. https://www.tesla.com/autopilot
Meh, skip on this one.
To someone who has not tried living overseas this may sound like a classic 'first world problem', and I suppose it is.

But what I can't stress enough is how severe it can be. I went and lived in various places around the world for a decade, from about 23 to 33. The place I settled down most was in Ecuador, where I learnt the language, met my long term partner, and made some close friends and integrated with the culture. But I spent years in Europe, the USA, and Asia too.

All of the above was achieved just by coding software and selling it off some wordpress websites I put together.

And now I've been back in New Zealand for exactly 3 years, and it's awful. Life is so repetitious and small and boring. I've never been more miserable. And it's for the same reasons in this article, and that other people are mentioning in this thread.

The funny thing is that before I left I had no particular desire to go (I just did it because it was easy and my friend wanted to), and I was happy. But now, because I have had those life changing experiences, I'm not.
Why not simply buy lovingly raised animals (obviously more expensive) instead of quitting on meat. That way you'd signal to the market that there's more demand for that kind of meat. I mean if everyone was a vegetarian/vegan some pretty cool animals would probably be extinct soon.
I live in India, one of the most corrupt countries that I have lived in. I cringe paying atrocious taxes. I shared your sentiment for a long time but these days I just am happy to pay whatever taxes like Bourdain says. To me personally, the effort required to optimise taxes is better spent elsewhere. Which is also why I cringe when startups talk about optimising taxes before even making a dime in profit and fall prey to registering their companies in low tax regions.
The date for completion on your book is December 25th. Is that DEC25 2017 or was the slated date DEC25 2016 and things have slipped a little?
When You Should Use Lists in Haskell (Mostly Not)
Useful Unix Commands for Debugging Production Systems
this video: https://www.youtube.com/watch?v=443UNeGrFoM, from a talk by eskil-steenberg titled 'how i program in c' is, imho, pretty good as well.
> This is awful code because the authors are morons, not because the language is bad.

Rainer Gerhards is a researcher who has published in peer-reviewed journals [1].

Can we please end this "people who write code in a style I don't prefer are idiots" meme?

[1]: https://www.researchgate.net/profile/Rainer_Gerhards
Make Your Favorite Celebrities Say Whatever You Want with This App