skysight-inc/HackerNews huggingface dataset:
> I have seen way too many hand rolled parsers on C, they may have been only 0.1% of the total code but they amounted for at least 50% of the bugs, along with the constant manual memory management and badly initialized variables.

I have written a number of parsers for programming languages and can't recall ever having a string bug. It's all about creating the right abstractions. A parser is not about string handling! The typical (lexical) parser scans input from left to right and builds up (identifier and string literal) tokens by appending. So basically, you need a function input_read_char() and string_push_char(). When the string is built up, it gets allocated in the global parser state. The "string" now is a pointer or pointer+length, and you can freely copy it around by value as you like, knowing that the string memory is immutable and allocation is already taken care of.

The string memory management is just a large shared push buffer in the parser that pools all the strings in a central place. If you ever need to release resources, you clear out all strings in one swoop by freeing the push buffer. There is no need to track individual strings.

Allocating string storage using a general-purpose memory allocator, and tracking them individually is wrong. It's a general-purpose approach that lacks the right structure, wastes memory and is super slow. std::string doesn't change any of that. As I said, if you have lots of string allocations then write a script.

You're done, there is no other string indexing or string allocation in a parser.

> That is an interesting statement to make for someone who claims to almost never write C string handling code

What I want to say is that if you're dealing with a lot of strings, you're working in a high-level glue domain. And there is no point in using either C or C++. You're probably making a web API, or an ad-hoc throwaway thing. I do write lots of mini-programs to support development. It need not be python, possibly it should even be a shell or awk script. Most of them they live and die in my command-line history, or as a 5-line script in my /tmp folder. Using C++ for these tasks would slow me down by 10x.
> I wholly reject the idea that without these substances, I am my "true self."

Yes, scare quotes intentional. It seems to me more like the phrasing of "be yourself" and be your "true self" in this comment and parent is the issue. What if that "true vs false self" is an illusion anyway? You can still "be better", be what you want to be, be happier and more capable, be a better self, that you like more.

It doesn't require any claims that "this point on the graph is truly me, and that point is not". That statement might not just be false, but be actually meaningless. Drugs are mind-altering for sure, that's the point of them, but so is learning a new skill or reading a good book.
“Nobody would say "It is sad that you need that glas of Prosecco to celebrate New Year's with your friends."”

There are actually quite a large number of people who would say exactly that. It’s a minority position, but there are still quite a few people in the US who are opposed to alcohol consumption and have exactly the same concerns about it as other drugs. (Often, but not always, based in religious convictions.)
Indeed, arguably the biggest risk from taking ecstasy is because it is illegal and therefore has a higher potential to be cut with substances that are much more likely to cause users harm.
MDMA has lead to some amazing life experiences

I'm a bit confused by the following line in the article though:

> all the money we spent on ecstasy, or E as we called it

Usually a fiver a pill and one pills all you need. Double dropping is a waste of time.
⑅
Makes sense. Does that mean OpenAI could essentially help fund Stability AI’s defense then?
i find that snapshot testing gets overused in javascript - and mistakes can creep in easily, and if the snapshot is big, and in a separate file, code review can miss it.

I much prefer property based testing over expectation based testing. You have to explicitly think about what properties hold true about the thing you're writing.

For example, fib(N+1) = fib(N) + fib(N), so this property can be tested for all N; primitive generators can easily generate the data, and good composition framework can easily generate complex data from primitive data.

Of course, you have to have a property you can specify easily. Otherwise, it'd be exactly the same as expectation based testing.
I just bought a cheap mp3 player. If I'd known about rockbox, I'd probably bought something on their HW list.

As the mp3 player I got has user-hating firmware, I really wonder what's wrong with the HW vendors. Rockbox does better on less powered HW. If some cheapo chinese clone would just stick it on some half decent hardware, they'd kill their whole market segment.

All of this points to companies not loving money as much as they love playing power games with end user control. For some reason, they will rather write their own software and lock down everything, than just use good free existing software.
Counterexample: I have a friend who was a very happy person and started taking ecstasy in early 2000s. At one of the parties he saw a young colleague die just next to him. Of course everybody interpreted it as an unfortunate coincidence ("if you're unlucky, you can die of aspirin, too").

Then, one day, he went to see his dentist who asked him if he wants to take nitrous oxide. My friend agreed but that day something strange started happening to him. When he was telling me it seemed like serious paranoia. He lost his job, he was seeing things that weren't there, day and night. It lasted more than two years and doctors weren't able to help him. He is more or less normal now but won't even touch anything intoxicating, not even alcohol.

Later I saw some articles about that and it doesn't seem so uncommon:

https://pubmed.ncbi.nlm.nih.gov/1684523/

https://www.cambridge.org/core/journals/the-british-journal-...
The situation should improve, now that ChatGPT has been released.

It's only a matter of time until it gets integrated with the keyboard.
Yes. Search T9.
He also seems to like a timing/GPU/CPU debugger called PIX from MS, I'm impressed. I wish they had started with the hands on, but the presenters in this video[0] all show why print debug will never be enough. Getting back to the OP, for me even IDE integrated debugging is worse than print debugs. You need to so much data to make it useful for me, which makes things like PIX, APM and other application tracers the thing I go for during debug.

[0] https://www.youtube.com/watch?v=UH-o5cG_QWo
Ten Years of Fukushima Disinformation (2021)
ig.. insta.. oh you mean instacart? or did you mean to say 'the gram' ?

These abbreviations are location/culture dependent. For example, here when you say "I'll app you", it means sending a message on whatsapp.
There were no official statements, but an engineer at Apple working on extensions said that "Apple sees extension APIs as long term support".

https://github.com/w3c/webextensions/issues/298#issuecomment...
Yes, I've seen that too and it's a testament to how bad the ecosystem is.

However, the kinds of problems that existed in 2015 thanks to detracting tools like WebPack and Babel don't really exist now with the fact that browsers support ES modules and Node is dragging its heels but now mostly supports ES modules.

With things like typescript and vite I now never have the problems that used to be common. In fact when I see people creating brand new projects in 2023 using WebPack I cry a little in side.

At some point having a bad tooling experience can't be solely blamed on the tools. It's a choice.
Goes the other way too, there was a story on HN some time ago, where the company's Google things were on the employee's private Gmail. Only for them to realize, when the employee left the company.
You're kinda proving my point here. People will always focus on what they don't have, rather than what they do. You will likely never experience losing a child, something that was part of the human experience for all time, until the last 50 or so years. And yet, rather than enjoy that enormous privilege, you complain about the cost of child care.

I don't blame you. You're acting exactly how most people act in most situations. Dwelling on what they don't have and getting angry about it.

Even if you won the lottery and could afford to have 20 kids and a nanny for each one you still wouldn't be happy. Not because you're bad, but because that's how brain chemistry works. The hundreds of millions from the lottery starts to feel "normal" and you'd be complaining about something else. Like your yacht not being big enough or whatever.

Ultimately the thing that is keeping you unhappy isn't the childcare cost or the spectre of CPS. You're unhappy because it's inherent in the human condition.
I think context switching is just as detrimental to lawyers as it is to software engineers.
I think it's more marketing and profiteering based on correlation over causation.

Almost every process these days is bought in by a new managerial hire, or after attending an event, where a talk or book that shows X companies that are very successful all followed the Y practice, and so 'we should too' as it's obviously the path to success. Rarely is there reflection on whether the process is working, and blame is laid at the feet of the workers.

Despite many recollections and experiences retold about how processes may not work, they are silenced by the advocates of such processes who will show how successful they were (and also just happen to make their living by advocating rather than actually being on the ground).
Alan Watts said it about LSD - but equally applies to MDMA. Use it like a scientist uses a microscope. Use it to observe but then you go away and work on what you have experienced. Don't get fixated on the observation stage.
> The reasons for people to band together in the form of government [...] to protect members of society from those who would cause them harm.

Or to exploit and rob minority members of said society. The "good willed" government does not exist and has no reason to: it owns the ultimate monopoly, on violence. Most governments today on the planet are evil. The list of atrocities perpetrated by governments is as long as civilization's history and completely dwarfs the list of bad things done by corporations.

> The fact of Amazon even existing at all is a privilege granted by the state that can be revoked at any time.

States tried getting rid of corporations. Their citizens starved. The truth is, most value created by companies is captured by the society at large (the value we get from the stuff we buy is much larger than the cost we pay), not the company owners or employees.
What about the camp of people who dislike its technical limitations?

For example, if this thing is supposed to take my job (which apparently is a popular thing to scare people with), how do I get to feed it an entire code base and not forget any single line? Unlike a human that is capable of dynamic lookups, this AI needs all information at once or it doesn't provide any value.
The evolution of Unix facilities and architecture (2017)
Definitely Vim.

I “bought it” for around 0 usd 15 years ago and used it everyday since. It never got worse, no sign of depreciation whatsoever.

One day, while editing an obscenely large code, I thought I broke it forever but the thing just refused to stop working.

And, what’s more mindblowing, no move to subscription in sight.
People are generally oblivious idiots, but I've also seen some truly insane truck drivers on I-84 in CT, stuff like tailgating people in the left lane at 70+ at night.
>we can solve the problem of machine learning being based on bad bots by throwing more bots at it

Yes, you can solve dataset problems with models. Look at ConstitutionalAI from Anthropic. They only write a set of rules (the so called constitution) and the AI will derive a large dataset of demonstrations all by itself. This can do away with the RLHF stage where OpenAI has the best results so far, but costs money to label and is harder to update.

The model "Claude" from Anthropic is being discussed recently on Twitter

https://pbs.twimg.com/media/Flyt8qiWIAEPwZl?format=jpg
Proper syntax highlighting should solve this.
Does Refrigeration Kill Nutrition?
What is unusual is how long it lasts and, to some extent, how severe it can be.
I quite like the look of this device. It's blocky, 16:9 screen, lots of buttons. I would definitely buy a phone or PDA in this format. Actually I wonder if this could function as a decent PDA? I guess it doesn't have any cameras or GPS, which would be nice to have.
Scaling Kubernetes to 7,500 Nodes (2021)
That sounds more like queen + knight
It will be almost entirely the same. There is a point of diminishing returns after a certain price point. Higher prices are mostly for enthusiast buyers.
There are ways to debug at scale that aren't step debugging. You can set conditional breakpoints, or breakpoints that run code, or even backwards debugging. You don't have to settle with print debugging, ever. But sometimes it's faster to use it.
That goes without speaking. Drugs are not without risk and they are tricky because even smart people might fall into the trap of tricking themselves till it is too late.

That being said the same is true of a lot of things as well. People can become addicted to social media, expressions of material wealth, porn, food, ... Literally everything that provides a dopamine boost in some way.

The question depending on the specific object of desire is always how much of the addiction is in the "substance" and how much in the mind of the addicted person.
Pretty sure that’s already decided. Publicly played movies and music are not available to be used. Why would the same not apply to posted images?
The iOS auto correct is skewed toward verbal spoken errors not finger typos (as with t9). Apple would prefer users to dictate, for obvious reasons.
Yeah sure. Once I partied with people who were taking ecstasy so I took 1/5th to 1/10th of what they swallowed (powder). As a result I had a very light trip. Nonetheless I ended up grinding my teeth in my sleep for 1 year afterwards.
People who study drugs say you shouldn't take mdma. Or at least "less than once a year" (because these scientists really enjoy drugs).
From my experience, if you're fine with pushing a few dozen tasks into a queue, then you're likely fine pushing a few tens of thousands into the queue as well. You won't be able to go faster than the max throughput of whatever lies downstream of the queue, but you won't break anything either.

If the tasks in the queue are not important, then it's fine if they are dropped.

If the tasks in the queue are really important (to the point where dropping one will require remediation) then you would already have set up the necessary tools for introspection and control, even for a few dozen tasks. In particular:

- Detecting that a task has been lost, so it can be re-inserted later.

- Detecting that a task has stalled, so it can be removed and investigated.

- Reordering the queue based on the relative priority of the tasks.

In any case, I would argue that if an upstream system needs the ability to hold some tasks back when the queue is too full, then the queue is in a bad middle ground where it's not completely solving the problem (since "holding back tasks" means a separate queue-like feature in the upstream system) but still consuming a chunk of the infrastructure simplicity budget.

From there, one should either eliminate the queue (replacing it with the "holding back tasks" feature in the upstream system, combined with backpressure from the downstream system) or improve it until it can accept everything the upstream system throws at it.
> life without those experiences can seem dull

Maybe after usage, life may seem dull in comparison.
Perhaps the reason they keyboard feels worse is the keyboard getting too “smart” already rather than being too dumb. But could also be an uncanny valley style curve, where “a little bit smart” is worse than both dumb and very smart.
Babble: Learning Better Abstractions with E-Graphs and Anti-Unification
Won't this stop working if DNS-over-HTTPS becomes the norm? There are good reasons to hope it does (looking at you, ISPs), but if it happens then you won't be able to differentiate.
For the US, that’s roughly correct. For one State in India, $640K.

https://en.wikipedia.org/wiki/Value_of_life#India

Although, given the expected lives saved from using modern agricultural equipment and practices instead of slash-and-burn for planting crops in the districts surrounding Delhi, I’m guessing the India number is a gross overestimate.

https://www.brookings.edu/blog/future-development/2020/11/25...
I admit that I skimmed the article because I already have a good solution for this (mermaid rendered in gitlab/github markdown files), but by the looks of it, this just looks like a limited (lacking inheritance and the like) entity relationship diagram custom generator using D2's api.

Fun little experiment, but if you want to get serious about documentation, I'll just suggest mermaid instead of rolling your own custom text-to-diagram tool.

But if instead you want to have some fun generating diagrams, this looks like a good starting point.
It's rarely a crime to use drugs. It's a crime to have some in your possession in most cases. You can't prosecute for drug usage.
I still have my Sansa clip flashed with rockbox lying around. It was a great device at the time. Maybe I should look where it is, now that I accidentally bought one of those idiotic no audio jack phones.
Well, for me it means I'll juste stop to use it. I guess we are a minority.
Well presumably they give money to Apple. That could have been structured as a lump sum putting costs up front. Plus you've got marketing and stuff. Then youve potentially got referral fees for 3rd parties, and perhaps introductory bonuses/gifts/cashback that could be treated as a cost of acquisition

If the fixed costs arent amortized over enough customers it can build up.
As Clutch said, "All the best locations are located on the margins".

It's a shame that the term "Red Pill" has been co-opted by the right-wing crazies like QAnon, because it tarnishes what would otherwise be an excellent term.

Forth, located on the margins between assembly language and high-level languages, is the Red Pill of compilers.

You go from a kilobyte or so of assembly to a fully-working operating system, mostly written in Forth. You've jumped the gap from a system that doesn't even boot to something you can type commands into and get expected results, and write useful code, and do real work on. It fits onto a couple of tracks worth of a floppy disk, and - more importantly - it all fits into your brain in one go.

So, do you take Forth, stay in low-level land, and see how deep the rabbit-hole goes?
As a side note: While using wgpu-rs to do Rust game development, I grew very fond of RenderDoc (https://renderdoc.org/).

It has great Vulkan compatibility and it helped me greatly when building an object picking buffer by visualising everything from call trees to resource contents and metadata. I believe it should come in handy for any GPU-based project, not just 3D/2D graphics.
iirc in Sweden you can't have drugs in your bloodstream.
That's going to hurt.
I think you’ve tapped into something valuable here - really there are many yous; both in the moment and in the holistic.

We are both our best parts and our worse parts, and to take an analogy further if one felt their ‚best self‘ on MDMA‚ that wouldn’t meant to say that taking it every day would make them feel their ‚best self‘ in aggregate.

If a recovering smoker avoids cigarettes are they avoiding their ‚true self‘? I retort both are their true self, and anyway your true self no doubt changes.

'no man steps into the same river twice, for it is not the same river and he is not the same man'
By dual pixel they mean a horizontal line that is one pixel tall and two pixel wide. Each cell's side is 7 such dual pixels arranged diagonally. But since you stack tiles so that the grid line overlaps, it means that two 7-wide cells are together only 13-wide (and not 14). The top dual pixel of one is the bottom dual pixel of the other.

Going smaller, two 4-wide cells will again lose one line to the overlap and thus join to make a 7 (that's how 7 divides by 2).

Three 3-wide cells join and lose two lines to overlap and thus again join to make 33-2 = 7

Six 2-wide cells join and lose fives lines to overlap 62-5 = 7.

Or in general for n cells, there are n-1 overlaps, so if they are k-wide the combined cell will be n*k - (n-1) wide.
Using Google Shopping is a cheat code to getting cheaper prices. Companies will mark their products down way more than any other coupon that can be found online, just to appear at the top of the results. It's amazing at saving money, if you already know what you want to buy.
I think it makes more sense to think about "different selves", and that it can be an enriching experience to let the non-default ones out more often.
MDMA will probably be regularly used for psycholytic therapy within the next decade and likely see legalization in the same cities that're legalizing psychedelics right now. It has a lot of potential for treating PTSD, trauma and anxiety, and most of the danger is around impure pressings, exhaustion, water toxicity, etc.

Personally, it helped me a lot with learning how to open up to and trust people. I used to think I was an introvert, but I really just had severe social anxiety from a difficult upbringing.
Another similar phrase:

"Once you got the message, hang up the phone."
I have a 770 credit score on experian and I was rejected for the Apple Card
Inveraray Bell Tower – Change Ringing
I'm not sure I agree with the article. It seems to argue against the point of having a message queue and suggests doing a bespoke reimplementation of a queue using a database.

However, all of the things listed in the explicit work queue section can be done using regular message queues as well, so...why bother reimplementing it yourself?
In a "fake it until you make it" world, where being first to ship seems to have huge upsides, and massive security breaches seem to have minimal downsides - why would a rational developer, manager, or organization actually care about security?
The iPhone keyboard was definitely better than any other full qwerty smartphone keyboard of its time back then, but it felt so wrong to throw out the Baby with the Bath water. A whole generation had learned the T9 solution (not talking about the older multi tap). more people than ever had actually switched to something else than qwerty, and loved it. I think there is still plenty of great solutions to discover - I've explored some of them after building Type Nine (T9 for iPhone)[1], and I'm so sad time hasn't allowed me to explore further, but try to check out the option at the bottom of my post "A better iPhone typing experience" here [2]

[1]: https://typenineapp.com
[2]: https://medium.com/porsager/a-better-iphone-typing-experienc...
Maybe this is what happens when you try to force people do something, even if for their own good?

Like some sort of resistant force born in response to the force applied?

Added: I am totally pro-vaccine as an extraordinary medical tool, just trying to understand this phenomenon hoping we won't make the same strategic mistakes again.
Distributing Mac apps outside the App Store, a quick start guide (2021)
Good.

Person probably cheated to get to where they are, and denied someone else more worthy.
If you don't trust Apple to enforce that, can you even prove that Apple won't act as a key logger too?
Why does this argument apply to an Artificial Intelligence, but not a human one? A human is not breaking copyright just by being able recreate a copyrighted work they've studied.
Super interesting ! I wondered about the British Isles and had a look : http://people.rses.anu.edu.au/lambeck_k/pdf/152.pdf

So reading this I think that Britain is now almost stable (all the curves have flattened) .