skysight-inc/HackerNews huggingface dataset:
> but I thought hopefully an article that gets a few thousand readers might do more financial damage

Once upon a time I shared this sentiment about PayPal, but history has shown me that people continue using them anyway. I mean, every person I talk to has personally experienced a PayPal horror story or knows someone who has experienced one first-hand, and they continue using PayPal anyway. Some feel they don't have a choice, others just don't care, but I no longer feel like making noise about the PayPal horror stories is going to have any impact on them, so I encourage you to contact the ombudsman/FCA regardless.
I do not believe what we read is "forgotten" as in deleted. I believe, it remains as a distinct series of patterns that may or may not be elicited again, depending on circumstances. Proust's "madeleine" is a perceptual example of this and we all have many such. Often, entire passages of books I read come back up to my awareness without me even knowing what the book was. I could possibly investigate but I prefer to rely on this human ability to retrieve percepts or meaning in an apparent random fashion, as I trust my brain entirely.
There are amply enough potential connections or patterns of connections in anyone's brain to store, in a way or another, pretty much anything we are exposed to, from the trivial to the essential.
As far as I am concerned, a book read is a book stored. Maybe not wilfully remembered, but mine.
I haven't seen anyone actually use the strn* functions correctly, but I have seen correct uses of the str* variants.

Put another way, the following either maintains the string invariant and does not silently truncate out, or it fails on a null pointer dereference. If you forget the + 1, it will certainly fail in valgrind when out is used, and will almost certainly crash your unit tests.

size_t len = strlen(in)+1;

char* out = malloc(len);

memcpy(out, in, len);

Open challenge: Produce something that is correct (i.e., it cannot silently corrupt the string), is as simple, and is less error prone with the strn* functions.
It was long obvious to me that PayPal is one of those "good while it lasts" entrprises.

As in, you should factor in from the day one that they might stop working with you at any random moment. They never contributed towards any other image.

(I wonder if you can sue them in locales where they're legally a bank)
If people really like your app AND you have a way for them to invite others easily AND share about it on their social links easily AND you started off by going to your core group personally and battle tested it, it just happens.
To be fair, the discussion on Twitter (where I got the link from) is mostly about "unpaid freelancers" part:

https://twitter.com/robinhenig/status/858347023308910596

https://twitter.com/mslopatto/status/858354324425949184

https://twitter.com/edyong209/status/858309371612286976
How the LBRY:// protocol can replace services like YouTube, Spotify, iStockphoto
I understand what you mean, but I think you're putting more meaning to it than it has.

> Defeatists don't normally call for inaction they just present all the problems that action leads to promote inaction.

Suppose someone called for prohibition again as an action to reduce the incidence of alcohol-related car accidents and domestic abuse.

You have the information that this leads to a lot of money flowing into the hands of criminals. How is stating that defeatism?
You should read the article. The issue is not that strncpy is not safer, the issue is that strncpy is not a string operation, but a memory operation
I did my masters here in Germany and in English. My professor was really not pleased when I told him I would write my thesis also in English as I thought my German level still wasn't adequate.
Are you afraid a company like Facebook will make unauthorized transactions?
Thanks for writing this up and adding all these detailed notes! Super awesome work on this, it's very cool.

The air puffs seem like the most unreliable parts at the moment?

Maybe if you could have some manual labour, one thing to do would be to mount a project above the setup to shine a graphic you generate onto it.

If you have bins labeled, you could project the label next to or on top of the part as it's moving on the conveyor. That way if you have human pickers, you're not constrained by the number of bins with each needing its own air-puff solenoid.
Another vote Bose QC35. A killer feature is it maintains a Bluetooth connection to 2 different devices and is smart enough to know what to do when you pause one and start the other.
How about not hijacking the thread with your pronoun nazi'ism; that'd be great.
uh! Adding a number to itself for multiplication by 2 instead of one quick shift to the left?
I'm trying to get an online community together over the next few months for some of the same stuff. More generally for learning through collaborative experimentation. My email's in my profile if you're interested.

You might try setting up a simple blog and chatroom combo specifically for what you're learning and trying to get a few others to join in on some parts for the mutual support. Half your list is stuff I'd love to join in on if the timing worked out and I doubt I'm the only one if you do decide to get small groups together for at least some parts of your adventures.

Worth mentioning is also the typical advice of teaching others being one of the most effective learning methods.
> basically impossible to scale up or patent to mass produce like an antibiotic is (perhaps why it hasn't caught on).

I think they mean that the profit motive of pharma giants is an important part of promoting new treatments.
No no, I get the coreos idea, or providing libc, kernel docker service and nothing else.

I saw that line, but since if you want to run docker at scale you'd have each execution node under the tight control of a scheduler, it seemed like a small edge case.

As I said, for the ignorant such as myself why would I chose this over coreos?
Sure. Here's one example that I've dealt with in the last week.

We have a server that receives the logs from our kubernetes cluster via fluentd and parses/transforms them before shipping them out to a hosted log search backend thingy. This host has 5 Docker containers running fluentd receivers.

This works OK most of the time, but in some cases, particularly cases when the log volume is high and/or when a bug causes excessive writes to stdout/stderr (the container does have the appropriate log driver size setting configured at the Docker level), the container will cease to function. It cannot be accessed or controlled. docker-swarm will try but it cannot manipulate it. You can force kill the container in Docker, but then you can't bring the service/container back up because something doesn't get cleaned up right on Docker's insides. You have to restart the Docker daemon and then restart all of the containers with docker-swarm to get back to a good state. Due to https://github.com/moby/moby/issues/8795 , you also must manually run `conntrack -F` after restarting the Docker daemon (something that took some substantial debug/troubleshooting time to figure out).

We've had this happen on that server 3 times over the last month. That's ONE example. There are many more!

Containers are a VC-fueled fad. There are huge labor/complexity costs associated and relatively small gains. You're entering a sub-world with a bunch of layers to reimplement things for a containerized world, whereas the standard solutions have existed and worked well for many years, and the only reason not to use them is that the container platform doesn't accommodate them.

And what's the benefit? You get to run every application as a 120MB Docker image? You get to pay for space in a Docker Registry? Ostensibly you can fit a lot more applications onto a single machine (and correspondingly cut the ridiculous cloud costs that many companies pay because it's too hard to hire a couple of hardware jockeys or rent a server from a local colo), but you can also do this just fine without Docker.

Google is pushing containers hard because it's part of their strategy to challenge Amazon Cloud, not because it benefits the consumer.
Last time they froze my account (the only time actually), it was unfrozen the next day with a quick phone call and the lady was very comprehensive.

Apparently, that's the sort of thing that happens when you register your 10th credit card for the year. I guess I can understand the reason, even though it's annoying.
A startup theme that I'm seeing more and more often is domestic outsourcing, where the executive/biz-side team is in SF and the engineering team is someplace more economical, but still in the states. A tougher lift for sure, but you could potentially get the best of both worlds-- SF connections and cheaper labor elsewhere.
Is mathematics an effective way to describe the world?(2013)
this is true only if you are in an ecosystem where people commonly share apps such as tech, food, marketing, and productivity and your app has a very useful freemium component.
I'm quite surprised by the merciless downvote: all I meant to indicate is that however many subscribers they have, it clearly (a) isn't enough to sustain them financially and (b) would be better for scientific literacy if a wider reader base were extant.

Anyway, I've subscribed. Overseas subscriptions are surprisingly expensive on account of the international shipping, but I like print.
I had more trouble with stripe, more fraud, less help than I had / have with Paypal
> The air puffs seem like the most unreliable parts at the moment?

Yes, absolutely. There are ways to improve on that but nothing simple.

> Maybe if you could have some manual labour, one thing to do would be to mount a project above the setup to shine a graphic you generate onto it.

I don't follow you, what do you mean?

> If you have bins labeled, you could project the label next to or on top of the part as it's moving on the conveyor. That way if you have human pickers, you're not constrained by the number of bins with each needing its own air-puff solenoid.

Ah I see, no, the airpuffs are reliable enough for now even if they are the most unreliable part, besides humans would not keep up with the machine at speed. But it is a solvable problem, just not the most interesting one at the moment. The most interesting one is the hopper feeder belt because if I can make that work just a little bit better it will speed things up by a factor of 4 to 10 depending on how well it will work.
Raising the minimum wage is definitely not the answer. It causes market distortions and hurts business and the people as a group who it should be helping.

As a bleeding heart libertarian, I always wonder why liberals want to place more burdens on business - force them to pay more in wages and health benefits - instead of just having the government provide health care and increase the Earned Income Tax Credit and make it easier for employers to pass the EiTC to eligible workers through the payroll tax.

In other words, just like the government can have business pass taxes to the government on behalf of the employees why not just the opposite, have the government give businesses credits to pay employees through the already existing EITC?
I would have preferred Hamburg.

I guess this makes "enough" evidence that German cities have character and one should visit before deciding where to study.
My Bitcoin funds are stored in cold storage (private key printed on paper and stored in wall safe; good luck in zero-daying _that_).

The only thing that can end Bitcoin is breaking sec256k1 elliptic curve, and this is unlikely to happen soon.
That's the difference between bad API design and good API design. strncpy is bad. But so are many APIs that originated in a time where arrays were zero-indexed to save one or two instructions in a compiler. (Though these are a bit younger)
> something sane like a bank transfer

FTFY. Zero fees, zero megacorps taking their cut, zero social graphs in the US growing a few extra tuples
Press freedom's dark horizon
i read gp as using quizzical as a verb meaning the sentence induced in thæm 'expressions or behavior, implying that they are puzzled, confused, or questioning.'

[Assume a standard grammar allied powers mea culpa here, if language corrections are annoying to you.]
How much does a website cost?
Unicorn League
> Copy one less than the number you told it, so it would have room to append a NULL?

Yep. Or perhaps return an error.
The whole notion of containers is basically this. That's why I am not sure why not just fix the OS. If there's anything to fix in the first place.
FWIW I'm Gujarati so I really couldn't say. All the Keralites I've met have been vegetarians but its a small sample.
An exact date would be better, for those who turned 18 in the year displayed.
> they still have to analyze their problem almost as rigorously as if they were using strcpy.

Why rigorously? A blind

dest[n-1] = '\0';

always worked for me, the only assumption is that n > 0. (in larger projects and/or teams you won't stop there of course, but that's a different topic)
This is very true--feeling comfortable and making friends in a roomful of complete strangers is difficult even for extroverts. Some people can pull it off but they are well outside the norm. Being a wallflower is a natural inclination for anyone in this scenario. It's not only shy people who feel this way.
Your code will only work if malloc() pads with 0s. Otherwise it will be missing the null character at the end of the out string. So I would switch it to calloc() which is guaranteed to pad with 0s. Or use memset to set it all to 0s.
> In the end after successfully using OSGi for distribution, and guaranteeing module separation in a 250kloc project I led, I've decided that separate api and impl modules managed by maven are good enough, with lints to guard against Class.forName() shananegans.

For a single application / project that is most often the case in my experience.
Not even a clojurist, but this is the best Rust intro I've seen so far.
They're simply 12V solenoids with an air valve attached, to that I've run a small 1/8th" tube to a piece of thin copper tubing that's open on one end. Nothing fancy or branded, the air valves are all attached to a manifold that divides the pressure from the compressor across all the valves.

12V on the valve -> air streams out of the corresponding tube.
Same here. Never. Again. It only took once, but that was enough.

I'm actually surprised that people are just discovering how much PayPal sucks as a service this late in the game. They have had verifiable horror stories of seizing people's money and property for well over a decade.

I've skipped purchasing things that I really wanted when the only option for payment was PayPal. I always send a nice message to the seller to let them know exactly why I decided not to purchase their product / service. Surprisingly few respond, so I guess they're doing great with their current setup.
It's strange that so few startups have tackled the problem of remote working.

For software development, especially, there's really no reason a whole company couldn't be entirely "remote", except that the tooling around it isn't very good.
Not to take away from your great work but... No love for offline?
Oh, that's a good point! Good thing Bloomberg doesn't publish my comments as columns. :)

My comment could have been about 60% shorter if I just observed that, like Orwell's commentary about how the repressive undercurrents of Soviet Communism could portend things about authoritarianism in the west, The Handmaid's Tale is a pretty obvious device suggesting that the Iranian Revolution "can happen here".

Which, of course, is an observation banal apparently high school kids get assigned essays on it. Go me, for not noticing.
s/Grayson/Graydon. I blame autocorrect. :P
Yeah, I agree and I think that FreeBSD jails in particular are much better (to be fair, I am not very well informed on Solaris Zones, so maybe they're the best). They are certainly much less ostentatious and do not try to redo everything for their own little subworld like Kubernetes does.

I sat down one day to try to write down what would make Linux containers/orchestration usable and good, and realized after about 20 minutes that I was describing FreeBSD jails almost to a T. The sample configuration format I theorized is very close to the real one.

However, I think that there's good reason for actual deployments of containerized systems to remain niche, as it did until the VCs started dumping hundreds of millions into the current Docker hype-cycle, and the big non-Amazons jumped on board as a mechanism to try to get an advantage over AWS.

What people really want are true VMs nearly as lightweight and efficient as containerized systems. In fact, I think many people wrongly believe that's what containerized systems are.
DoS is way less severe than RCE caused by buffer overflows.
Hacker Releases New Episodes of 'Orange Is the New Black'
I'd have filed a police report for that much money. This is ridiculous.
I've wondered about Annex K for a while. Basically as soon as C11 was standardized, every C programmer (including me) said, "oh, Annex K is useless". Is the C standardization process that detached from the C programming community? Or are there real use cases for Annex K that I just can't see?
That's obviously completely fair, and I appreciate you replying at all. I guess I took it as you were working for a single company and not a proprietor in any way. So that was (false) context I injected, and that's on me.
The Z80 has no 16-bit shift instruction, but has 16-bit add/subtract :)
Learning at Scale and the End of “If -Then” Logic
This sounds so exciting! I wish you the best.

In order to focus your efforts (on the list above), I'd suggest that you additionally pick one (somewhat ambitious) project to finish in this period. Make sure this is something truly interesting to you (to motivate you to keep going) and incorporates some of the things you're trying to learn.

At least for the way I learn, a concrete application is crucial for me to truly internalise concepts.
The problem isn't sample size 1 (e.g. you, me, or any individual HN reader). It's "drivers" in aggregate.

My doing anything isn't going to prevent the 800k+ blind spot accidents or ~300 blind spot fatalities in the US annually.

My point is mandating an awareness aid that it's now economical to produce might.
Managing cgroups directly would be redoing a lot of work already done by libcontainer/runc (which we leverage through Docker now, probably containerd in the future). Using these projects in RancherOS allows us to focus on other things and not reinvent the wheel.
> That's the difference between bad API design and good API design. strncpy is bad. But so are many APIs

Agreed.

> arrays were zero-indexed to save one or two instructions in a compiler

Actually, I find zero-indexing more consistent whenever you need to do math with the indexes.
I agree, but I'd clarify a little. Its not a caveat with strncpy, its caveat with string representation: to work with null-terminated strings you needs to remember that maximum length of string is lower than size of an array. For example you should remember it when allocating memory, when concatenating and calculating size.
It can be named as caveat, though not with strncpy, but more general caveat with strings. It needs some training to master strings in C, but any textbook has explanations and exercises. So, you a right, the article is shit.
> On a serious note, I think that the only way to fight with the streams of fakes (regardless the country) is a restriction of anonymity on the Internet.

Please stop suggesting that.

There's zero evidence that removing anonymity works and in that process we lose our online privacy. And I think anonymity is precisely what we need to preserve freedom.

Also people are simply jackasses, real names or not. If you don't believe me, engage in conversations on Facebook about politics sometimes. There's nothing that shakes my faith in humanity faster.
Also, look at other sources of stress in your life. As I've mentioned before, I had neighbors who made my life hell. As a result, I never invited people over. I was always dependent upon an invitation and going somewhere else.

Additionally, and primarily, I was so stressed and not feeling good about myself, that I felt awkward in conversations. The questions about immediate life; well, my answers -- and I've always had trouble dissembling -- were not "good" and "cheerful."

This all becomes more and more of a Catch 22. You're not doing well. Your social life dwindles. You feel worse for the lack of a social life and engagement.

And, those social engagements you do have, can take on too much meaning. Too much import. And you choke.

So... Look at sources of (negative) stress in your life. And minimize them where you can't eliminate them. This isn't some mantra to "feel better" (in the face of reality). This is an action plan. Not always an easy one, but where you can identify problems and -- hopefully -- solutions.

My best wishes to everyone who faces this.
Sure? Except that has nothing to do with what I was talking about. The irrelevant statement here is yours.

I was specifically rebutting the claim that airlines are getting "special treatment" [by the government] by being allowed to sell services they don't fulfill. The service they're selling is not "a guaranteed flight".

Words have meaning and facts matter, beyond "Airlines bad, pick a side". It's possible to think that they're anti-competitive and shitty without making entirely false claims about them (as the gp comment did).
I'd argue sds meets that challenge, though not in the way you probably mean: https://github.com/antirez/sds/blob/master/README.md
I guess that's why my motto is "Nothing ever changes because nothing ever does."
Following on this, it should be possible to use something like CLASP [1] to do hot loading on C++ code objects.

https://github.com/drmeister/clasp
So your problem is with Docker, not containers as a concept.
Speaking of which, why can't this be resolved that way?
Show HN: Book discussion community for book lovers
Even if the requirements make it impossible for 95% of people, that still leaves millions for whom it is possible.
Where Europe lives, in 14 lines of R code
Also, in Europe you can just do a SEPA wire transfer. It's free with all reasonable banks, can be done from the online banking interface and takes only one business day.
Posting a Google search doesn't offer any convincing argument to support your supposition about the intentions and/or results of these corporations. I do understand what you're trying to say about these corporations, but the way you represented it is misleading at a minimum.
I used to love the zilog z80, so super happy to see this
Used to use it for automation and running FORTH...
Right. But that's implied by the fact that the phrase exists.
I don't know why this was downvoted. This is the C equivalent of the "if this is news to you, just use NaCl" advice that experts give on articles about pitfalls in unauthenticated AES or whatever. For most people, your advice is the correct advice.
The distinction between private for profit and not for profit is a distinction without a difference. It just means that outside shareholders aren't making money, but you'll find that stakeholders in a lot of not for profit companies are just as interested in making money as for profits. The stakeholder are often just the employees.
This was an apartment building with a locked, windowed outer door and a bellbox. If someone knocked on my front door I could use the peephole, but if someone rang the bell you had to step out into the hall, and then they could see you as well as you could see them.
Just to be clear, the rules of your swap challenge are that the arguments of the function have to be ints, not allowed to be int *, right?

Also you say "two objects", but if the objects were compound, e.g. arrays, then I could write swap in C.
Communicating Sequential Processes (1978) [pdf]