skysight-inc/HackerNews huggingface dataset:
For academics I think this is fine, the whole job is to look for new extensions of the law. But it shows how very far we are from any kind of basis for "stopping tech."

Gonna be hard to achieve consensus around "raising fares and lowering driver pay" which is the opposite of what Uber did.

"Uber showed that venture predation works. Uber raised around $24 billion from private investors and used it to subsidize cheaper fares for riders and higher pay for drivers. Uber quickly crushed the taxi companies and acquired a dominant share of the combined taxi-and-ridehailing market.27 But it never developed a superior product or cost efficiency. Lyft, other ridehailing startups, and even taxi companies developed similar apps. Uber had to keep up its below-cost pricing to maintain its market share. In each of the three years before its IPO, Uber racked up losses of $3 billion or more.29 Uber reassured investors by explaining that, once it became dominant, it would be able to raise prices and recoup its losses. In its IPO roadshow, Uber’s executives
told investors that they expected the company to earn an adjusted profit."
...
"We concede that the “millennial lifestyle subsidy” was fun."
...

Then a lot of handwaving. But no victims other than bad high margin businesses. (There's a theoretical driver that doesn't realize the high pay won't last forever and buys a car, but he can sell it no? And he could read the news about his livelihood and learn that his high pay is at risk).

Btw, you can still take taxis. It'll cost more and pre uber they were very surly or wouldn't show when you called them. The only "regulate Uber" consequence will be higher ride costs and lower paid drivers.

Amazon operates on very tight margins in it's retail business. The ideal case is lots of competition, which would lead to uh... very tight margins among competitive firms. Amazon is just smart enough to get ahead of that. And I think their long term goal has been to operate at such a low cost structure that they have a durable advantage in cost. And then to pour back all their capital back into lowering their cost structure.

So why stop them? In order to subsidize the higher cost company, their private jets and sexual harassment lawsuits?

Capital is very easy to get in 2023. We are not in the time when capital is so difficult to get that you'd need a 2 generation family firm just to build a single factory. At that point spending 5 years to crush your competitor might have made sense. But now it's limited to monopoly markets like cable, and cell phone service. And it might indeed be useful to create more competition there.

Unlike Amazon I think Uber isn't likely to be a great business. There is just no cost structure advantage being built. So they'll either operate on low margins forever or they'll raise prices and we'll get competition in the space of a few years. In either case I would not want to hold Uber stock right now.
How much for a billboard on I-5 that says "60% of the state's water for 2% of the economy"
There is a style guide for every beer type, and you have to meet it to compete in beer competitions and do well. Until the hazy IPA craze, pretty much every beer was supposed to be clear except for a Hefeweizen.

Pro brewers crash cool and/or filter the final product to get a consistent product. You don’t want active yeast making it into the package and creating little bombs. Consumers also expected a clear drink.

Home brewers have always had a more flexible scale in the clarity of beer, leaving traditionally clear styles hazy has been the mark of a home made (and therefore better) beer to a lot of home brewers. The hazy IPAs have flipped this logic on its head. These styles can be brewed with oats, lactose, all kinds of adjuncts that would never clear and add to “mouth feel” for this style of beer. This change in the industry seems to have left some room for the pro brewers that are local sized (like a brewpub + some distribution in the region) to leave their beers hazy for many styles. It does save a step, and running a small brewery is done on razor thin margins.

So, long way to say, yes hazy beer can have more complex flavor, it’s probably the mark of something produced on a less industrial scale, and to many that would be better. Large commercial beer really shoots for the middle, and if your tastes are more complex it won’t do it for you.

I only clear the German traditional styles I brew. Kölsch, Helles, etc. The rest is hazy if it wants to be.
Did anyone actually pay for Netscape?
The LLM can replace the kinda smart "business person" easy before it replaces the computer scientist. Generating a kinda smart prompt in human language is really easy compared to good computer programs. LLM will write slide decks and spreadsheets before they write good computer programs.
Just can't imagine anyone being nostalgic for soviet Russia unless they were in the upper class/higher up party member.
This noisy animal that floats on the surface of the water smells bad and has a really sharp tail so I decided to kill it.

Nothing a cat wouldn't do.
Water rights haven't changed
The text-only browser I use does not need updates. I am able to script it via tmux.

Overall I think "browsers" are overextended and overrated. I use them as HTML readers. I prefer separate programs for different tasks instead of one program for every task.

The so-called "modern" web browser, a "nightmare pile of code" indeed.
It sounds like exit_signals() is being called too early, and based on the test case linked this might be a library issue rather than a code or kernel issue?

Edit: Reading the article it's more clear this happens in kernel's:

do_exit() {
...
exit_signals(tsk); /* sets PF_EXITING */
...
exit_files(tsk);

Would a better solution not be to exit_signals(tsk); later in do_exit() after all possible signal sources are exhausted?
Spinning up only upon request is common behavior for SCSI drives. Per the Ultrastar DC HC550 manual I have handy,

After power on, the drive enters the Active Wait state. The Drive will not spin up its spindle motor after power on until it receives a NOTIFY (Enable Spinup) primitive on either port to enter the Active state. If a NOTIFY (Enable Spinup) primitive is received prior to receiving a StartStop Unit command with the Start bit set to one, spin up will begin immediately. For SAS, this is analogous to auto-spinup function in legacy SCSI. This provision allows the system to control the power spikes typically incurred with multiple drives powering on (and spinning up) simultaneously.

If a StartStop command with the Start bit set to one is received prior to receiving a NOTIFY (Enable Spinup), the drive will not start its spindle motor until Notify (Enable Spinup) is received on either port. Successful receipt of a NOTIFY (Enable Spinup) is a prerequisite to spin up.

Code in the SCSI controller boot ROM, if enabled, does typically handle this before the OS starts, often with an option to stagger spin-up for the reason mentioned above.

For what it's worth, to speed up boot, I typically disable the OPROM on any storage controller not hosting a boot device.

Moreover, as BIOS, UEFI, Power Mac, …, all require different, incompatible firmware bits, enabling controller firmware isn't an option for many otherwise compatible controllers.

Regardless, possible spin up delays in no way justify introducing explicit delays in device enumeration; if the OS needs to ensure a drive is spun up, multiple mechanisms exist to allow it to do so without introducing artificial delays (TEST UNIT READY, non-immediate START STOP UNIT, simply paying attention to additional sense information provided by commands known to fail before spin up and retrying as appropriate, etc.).

IIRC, explicit multi-second delays between controller initialization and device enumeration were traditionally introduced because some (broken) devices ignored commands entirely — and were therefore effectively invisible — for a significant period of time after a bus reset.

With that said, introducing a multi-second delay to handle rare broken devices is sufficiently strange default behavior that I assume something else I'm not aware of is going on.
Please sue this org into the ground. I'm pretty sure this was the reason What.CD died. There are alternatives now but it's not the same anymore. That move in 2017 killed music in a way.
Good fun when my dyslexia misreads "arm64" as "amd64" or vice-versa when going to grab software these days :(
Yes, I am referring to your comment and I am not going to explain why everyone and their mother jumped ship from GANs and went all in on transformers. Well, there is still the Alan Turing Institute in the UK but even they gave up and are into NFTs now :D
IDK, but boats emit into the sea a lot of noise this kind of sea animal are sensitive to, like _a really high amount_.

it's like being forced to live on a airport and then you realize if you damage the planes they don't take of and in turn aren't so painful loud
I feel for the above commenter. I cannot relate to their experiences as fulsomely.

Within my past several roles I have always had a really good experience with engineering, requirements gathering, and how those disciplines are executed by stakeholders, including management.

It’s fair enough to say that having worked at a cryptography company where the CEO was a mathematician is probably fairly rare, but I don’t think that this being an exception is an indictment on the various methods used to go from ideation to implementation.

Edit to say: user stories in particular are as good or as bad as those involved in creating them are skilled and understanding of what is being requested, what is needed, etc. In my prior company we had an entire design team who took care of the UI/UX, and decoupled that (largely) from logic, implementation, platforms etc.
That seems deeply impractical for a lot of cases. If user A has access to 80,000 of those 1,000,000 rows in a way that's determined from another table rather than as part of in-row metadata, doing the lookups to JSONify 80,000 UUIDs as an array to pass along like that really isn't going to help beyond cutting down a 20-second query response to a still-unacceptable 7-second query response [1] just to get 100 rows back.

[1]: Both numbers from our own testing, where the 7 seconds is the best we've been able to make it by using a SECURITY DEFINER function in a `this_thing_id IN (SELECT allowed_thing_ids())` style, which should have basically the same result in performance terms as separately doing the lookup with pre-fetching, because it's still checking the IN clause for 1,000,000 rows before doing anything else.
Unfortunately I do mind. Here’s where I live, there’s a bunch of endangered birds that live near the airport and don’t live literally anywhere else. Can’t really just go shooting them with death rays.
>I don't mean using an LLM to check prompts before passing it into the same LLM.

I mean this works for GPT-4 lol. It's just twice as expensive
My thesis is that 'for long' does not need to mean 'forever'.

Take some metrics, focus on one or two for a while, then focus on different metrics, come back to the old ones in a year.

There is plenty of precedent for this in athletics, and competitions of intellect. We just haven't connected the dots.

If you focus on bench reps the whole year it's going to fuck up your performance. If you focus on opening moves all year, it's going to fuck up your chess. That doesn't mean never focus on them. But we are stuck in the fallacy of the excluded middle, so we think we have to do something all the time or not at all, which is just the dumbest fucking thing this entire profession has ever come up with. Worse than PHP.
I think these often have rules about a certain portion of profits being allocated to employees, which is nice
I sold my old car via CarMax and enjoyed the experience. I'll go back to them once my car gets old enough regardless of potential peanuts I might save theoretically.
https://archive.ph/vyRRs
SanDisk Extreme SSDs keep abruptly failing–firmware fix for only some promised
It makes sense. Pagers have some advantages that cell phones can't match. On the other hand, at least in my city, pager coverage is a shadow of what it used to be, making them less generally useful. But the regional hospital, the school system, and a couple of other companies with special needs run their own pager systems, so you see people working at those places carrying them.
I wish that the choice between walkable communities and good public schools was not so much of a mutually exclusive choice in the US.
I can not predict the future. I can only use the present to my advantage.

ChatGPT is a great tutor.

Learn all you can, and convince others to learn all they can.
Is there some huge increase of cancer/emphysema/early death in Tokyo vs rural Japan? I never heard of it if that's true, and I'm pretty interested in Japanese culture and history along with that of China. I would imagine I would have come across such stats at some point if people in Tokyo were dropping like flies vs more pristine parts of Japan.
yeah, most golang/rust/API documentation in products seems to think that "the function name is documentation", which.... no it's not. that's a tooltip in an IDE, not a docs website.
Well, only if the wait is for userspace or a remote resource, right? Regular disks are sometimes considered infallible (or at least, the IO will timeout eventually in the generic SCSI logic) and might be ok to wait on.

To generalize a bit, I think the problem is doing any sort of interruptible wait -- because we can no longer be interrupted. Uninterruptible waits aren't any different without signal delivery. I might be oversimplifying, though.
it takes a lot of professionalism to be an expert in a field and yield to experts in other fields. I think many software devs think they know everything and people are just worn down trying to work with them so you get all these different methodologies. Look at the disdain found on HN for marketing, sales, executives, any part of an organization that is not writing code. In reality, writing the code is maybe 20% of the overall effort in producing a successful software product.
TIL about `ps awwfux`. Great way to remember it
They eat waste from algae, but they seems to devour it too quickly, and may even spur more algae growth. The balance and influences seems to be a bit of a mystery, despite the documentation.
> It sounds like exit_signals() is being called too early

Or zap_pid_ns too late, yeah.
That didn't work on Facebook, why do you think that would work here?
They used "_Generic" as a keyword but it doesn't really do that.

Suppose I need to define a copy assignment operator for the library's sort function to use. Is there a good way to overload it? Can the library know what the size of each element is based on its type without having to pass it in as a parameter?

You can pass function pointers to the library, but that quickly becomes awful.

/* sort for basic integer types */
void lib_sort_u8(uint8_t *a, size_t count);
void lib_sort_i8(int8_t *a, size_t count);
void lib_sort_u16(uint16_t *a, size_t count);
void lib_sort_i16(int16_t *a, size_t count);
void lib_sort_u32(uint32_t *a, size_t count);
void lib_sort_i32(int32_t *a, size_t count);
void lib_sort_u64(uint64_t *a, size_t count);
void lib_sort_i64(int64_t *a, size_t count);
/* specify a comparator */
void lib_sort_comp(void *start, size_t nmemb, size_t size, int (*compar), const void *, const void *));
/* specify a comparator and an assignment operator */
void lib_sort_assign_comp(void *start, size_t nmemb, size_t size, void (*assign)(void *, const void *), int (*compar)(const void *, const void *));
/* specify a comparator, an assignment operator, and ... */

Or, you get one function that takes all of the arguments and have to define and pass in a bunch of function pointers and type size parameters that are each an opportunity for bugs or UB in order to sort a simple array of integers.

If my type needs a custom assignment operator, I need each library I use to take that as an argument. One expects the function pointer to take the arguments in the order (src, dst), another as (dst, src), a third specifies the return value as int instead of void, a fourth takes the source argument as "void *" instead of "const void *" in case you want to implement move semantics and a fifth doesn't support custom assignment operators at all.

It's no surprise that people prefer to avoid this.
Being able to fake something really doesn't matter all that much, as you'd still need to get that fake video into the surveillance camera system and you need to do so in the time between committing the crime and the police arriving, and without leaving a trace and hoping that whoever you try to incriminate doesn't have an alibi.

Fakes will be relevant for Twitter, TikTok and Co., where random videos are posted and distributed without sources, heavily edited and compressed, such that it is impossible to tell if that video ever started out as a real video or a fake. But in court the whole thing starts to fall apart the moment they ask where that video came from.
discussed here https://news.ycombinator.com/item?id=35188953
You can get status on-the-fly from dd on Linux as well by sending the USR1 signal.

[user@machine ~]$ dd if=/dev/zero of=/dev/null &
[1] 3254428
[user@machine ~]$ kill -USR1 %1
19061394+0 records in
19061393+0 records out
9759433216 bytes (9.8 GB, 9.1 GiB) copied, 6.06968 s, 1.5 GB/s
[user@machine ~]$ kill -USR1 %1
25868762+0 records in
25868762+0 records out
13244806144 bytes (13 GB, 12 GiB) copied, 8.97352 s, 1.5 GB/s
[user@machine ~]$ kill %1
[1]+ Terminated dd if=/dev/zero of=/dev/null
The article is incorrect about the water meters.

I lived in Sacramento city limits for 6 years. We most definitely had metered water.

In fact I had a friend, also in sac city, who had a broken water pipe. It was underground and not visible. The bill for 1 month was over $3,000. It was metered. (Luckily, some grant program paid/reduced the bill)
The term liberal is only a magnitude, it's not a vector. In common parlance, people understand it to mean social liberalism, i.e. a proponent of personal freedoms; but in most parties, it's much more likely to refer to economic liberalism, i.e. laissez-faire market policies.

That said, I don't know enough about the UK's political parties to know along what axis the Lib Dems consider themselves to be "liberal".
Very impressive work. Would be interesting to do some benchmarks versus PyTorch.

On a side-note, I'm not sure if it is because I've looked at so many autograd engines by now, but it is really cool to see that after the years of different frameworks having been developed, most people seem to agree on some concepts and structure on how to implement something like this. It is pretty easy to dive into this, even without being particularly skilled in JS/TS.

Wondering how such frameworks will look in a couple years.
I can’t believe this is the first time I learn about this. How interesting!
What is the correct ratio to determine if an App Store is safe?
Tunnel via Cloudflare to any TCP service
hmm, is this roughly equivalent to Neon[1], but sqlite based rather than postgres?

1: https://neon.tech
I had one and I loved it. Too bad they stopped making them.

Imagine being able to feel a grid that you want to snap something on to. It was great.
The most classic example of IFNDR is ODR the One Definition Rule, which goes like this: In the final C++ program, there can only be one definition of any particular thing, however, C++ is actually built by taking individual source code files and just pasting in stuff (using #include) and when you do that, obviously you'll often be defining the same stuff, each time. So, what if the definitions are different?

For example maybe when mainprogram.cpp is compiled, the variable max_princesses is defined as the literal 10, but when the princess.cpp file is compiled, perhaps several minutes later, the variable max_princesses is now defined as the literal 0.5 - that's not even the same type! What happens? The ODR means that's IFNDR, so instead of C++ needing to somehow guarantee that this definitely is caught by compilers [these days some compilers will catch some ODR violations but it's not all of them and not always] the standard just says too bad, that's not a valid C++ program so whatever it does is your problem.

A really shiny modern example of IFNDR is C++ 20 Concepts semantic requirements. See, functionally C++ 20 Concepts are just syntax matching, but their names imply semantic value, the standard says they do have semantic value, but it's not actually enforced by the tooling, so syntactically float (a floating point number) matches the concept std::totally_ordered - but of course floats aren't actually totally ordered, that's silly. How do they square this circle? IFNDR. Using a type which matches the syntax, but doesn't fulfil the semantic criteria means your C++ program is ill-formed, but the compiler wasn't expected to tell you about that, your program is just gibberish, it might do anything - after all, floats aren't in fact a totally ordered type.
Water isn’t toxic though, aqueducts aren’t built to anywhere near the standards of oil pipelines.
The presentation is great, Sam.

Does anyone have a list of similar presentation tools? I am trying to pick a solution for technical, interactive blog posts, so it has to support interactive visualizations, equations, and have great typography. Live editing and support for running code would be a great plus.

I think of Observable, distill.pub, and Jupyter, and they all hit various points but not all of them.
Hexagon LED Coffee Table
The article is from 2009 and more water meters have been installed.

> [E]very customer within the SSWD service area will have a water meter by 2025 as mandated by State law. In February 2004, the Board approved a Water Meter Retrofit Plan which outlines the criteria used to determine when an area within the District will receive water meters. For more information on the Water Meter Retrofit Plan go to sswd.org.

https://www.sswd.org/departments/engineering/capital-improve...

> Sacramento County Water Agency has approximately 90% of our customers with water meters. We are currently on our last phase of new meter installation in Laguna with plans for completion by the end of this year.

https://waterresources.saccounty.gov/scwa/Pages/Water-Meteri...
This is cool i guess. I usually just use rsync to get the same/better effect.
I am always amazed by arguments that say that not having a language package manager like cargo or pip makes it hard.

Really? Is it really considered hard to link a library without them? Am I so old that somehow I grew up in a world where linking a library was not considered black magic?
I remember describing something as hyperbolic (meaning ridiculously overstated) to a guy with a degree in some sort of fluid mechanics related thing, and he was like "I'm impressed you know that word, but that's a very specific term that doesn't mean what you think it means...", because it is a term he only knew from work. I had to show him a dictionary to prove that sometimes the same word can have different meanings. I'm sure this is an example of that.
Still waiting for webcam integration, nice to keep your meetings personal
Reminds me of this:
https://www.vidarholen.net/contents/blog/?p=479
> Dr Nolan, a Professor of Pathology at Stanford University School of Medicine who has published more than 300 research articles and holds 40 US patents

Ah, well.
Thanks! Macroexpanded:

Bandcamp Unionizes - https://news.ycombinator.com/item?id=35188953 - March 2023 (222 comments)
Ah um.