skysight-inc/HackerNews huggingface dataset:
Should be titled "without using malloc" or something. It's pretty much impossible to do anything with user input strings unless you have some sort of memory management. Maybe you have one giant buffer that you use for strings in a particular session, but that still involves memory management because even if you allocate the buffer at startup, using one buffer for multiple strings is just a type specific arena allocator.

As someone who works on low level database code, this approach is going to be EXTREMELY wasteful. Instead, it's much better to instead have a more sophisticated understanding of memory use by subsystems and have some concept of required memory and caches. Each system allocates the minimum memory it needs at startup and then treats the rest of memory as caches which can be emptied as necessary to preserve fairness among all the various subsystems.
That’s been the case for a while. They also have a bug on the site that causes whatever audio was playing on your iOS device to be taken over by the auto-play audio that persists after you leave Safari.
Hey @freeqaz! We analyze trace data that we capture from production traffic to generate what the Open API Spec could be.

Here is an example of an auto generated spec: https://demo.metlo.com/endpoint/2be9f63e-a436-4ffc-b85a-e421....
This is the code in our repo: https://github.com/metlo-labs/metlo/blob/master/backend/src/...

To avoid noisy alerts we've tried very hard to focus on areas where we won't have high false positives. Also, unlike ZAP, since we analyze realtime production traffic we have more data to work with so we can make a more informed model. For example we would catch anomalies like high usage on endpoints that return sensitive data, endpoints that normally have authentication that where unauthenticated requests are succeeding, strange ordering of API requests by a single user, etc...
Any such Rust examples?
Can we add the word "(American)" before the word football please?
Ghostwriter Makes $200k a Year Writing Tweets for Silicon Valley Investors
Dunno. My granddad was a mathematician and my mother was a mathematician (and my father was a mathematician and a computer scientist, but they divorced). Still the only “math immersion” I got was Perelman books, scattered around our apartment, like Physics for Entertainment and Algebra for Fun:

https://www.amazon.com/s?i=stripbooks&rh=p_27%3AYakov+Perelm...

They are both challenging and entertaining and very simple - on the surface. Some were written in 1913 or so. Each American family can get such an “immersion” for their kids - total is less than $100 I guess. But you also should turn off TV and computers, so probably would not work.

Also my daughter took major in mathematics - and I like my parents had no time to immerse her in anything - adults work, children play with fun but impractical problems.

I would rather guess that it is some genetic defect in the brain causing a person to prefer playing with abstract problems to booze, smoke and sexual gratification. But I doubt that having such a guess is allowed.
> Joined about 5 months ago as E5 and I think I’ve cracked the meta culture.

I would not put any faith in this. Companies typically operate at a year cycle and are different depending upon level. The author sounds overly arrogant and just gonna lead people down the wrong path.

> This is the only way to succeed here.

Complete bullshit. This is the red flag that says "ignore everything this guy is saying, you're wasting your time."
Joran from the TigerBeetle team here!

TigerBeetle uses Deterministic Simulation Testing to test and keep testing these paths. Fuzzing and static allocation are force multipliers when applied together, because you can now flush out leaks and deadlocks in testing, rather than letting these spillover into production.

Without static allocation, it's a little harder to find leaks in testing, because the limits that would define a leak are not explicit.
From the other side of it, there's "How to Write Shared Libraries": https://akkadia.org/drepper/dsohowto.pdf

Edit: LD_PRELOAD would have been useful to mention in the article. It's a useful mechanism, e.g. for profiling by hooking relevant functions, like the PMPI mechanism in the MPI standard.
I ended up using a ring buffer in Redis recently to store the last N values of some database lookups that are slow. It works great! Didn't take that much logic, either, since Redis has easy transactions. I just have the "current buffer index 'i'" as a key-value, the "buffer length 'N'" as a key-value, then 'N' numbered entries as key-values. I prefix these with the data identifier that it caches, so you can have several ring buffers active. you can do this with a Postgres table just as easily, I assume!

I also am building a ring buffer data structure for my hobby database that I use for personal stuff that uses FoundationDB [though I have been unhappy with the state of the FDB Go bindings, which are somewhat out of date versus the C client library for FDB and aren't very Go-like in design (the C libraries are the "gold standard" and they use FFI in all the other bindings to connect to those)].

Added later: it was a bit harder to deal with resizing the buffer, so when that happens I do some data shifing/dropping depending on which way we're resizing, effectively initializing the buffer anew because that was easier (again, a Redis transaction saves me a lot of concurrency work!), but lucky for me we would only resize each buffer at most 1 time per minute due to how our configs work.
Don’t forget the extra fun fact that you can legally take out the the sear from an old transferable machine gun, put it into a new gun and have yourself a legal machine gun where only the sear predates the ban.
Someone pointed out to me my library made it to HN, thanks to everyone for taking interest, it brightened my day to see some of you starred the library as this has been completely unexpected, I greatly appreciate it (trust me, I don't have much other joy in life than seeing someone like my projects). To be honest, I am actually not as satisfied with TPE as I've been with some of my other projects, mainly because this was really my first 3D physics engine and I lack a deep knowledge of this field, here and there I used a few not so elegant hacks, but I see TPE as a successful proof of concept that tells me a real expert on physics simulation could make a truly amazing library in this style, and it wouldn't even take as much effort as it took me. I certainly hope this might inspire someone to try to prove that "this can be done better" :) I would definitely love to see more people jump on the KISS train and make a library like this in whatever their field of expertise is (chess engine, machine learning, image processing, ...) -- there is an abundance of mainstream (big/bloated) libraries for basically everything nowadays, but almost no "KISS" alternatives to them, there are tons of opportunities for making something really nice here. And yes, I also have controversial opinions that I know look very scary, I wouldn't really like to discuss that here because that could kill the thread and it's hugely offtopic, let me just assure you I firmly believe in nonviolence, peace and I want to help all humans equally, be it with my programming or otherwise. For any questions I can be reached via email, I'll be glad to talk about anything. Once again thank you for your nice feedback.
Maybe I’m missing something but I would imagine query planning and caching is the hardest thing in terms of database memory usage. This post doesn’t seem to address that.

Even if the messages are fixed sized surely the memory cost of executing the queries depends on the complexity of the query, and the expected numbers of results returned.

Are they just doing get/set style queries only?
Tabi – Visualize related tabs on Firefox, made with Svelte
This extension was made as part of my Bachelor's essay

PS: it's not just a vertical tabs extension
> There would need to be a global network of receivers to make this a viable thing to constantly be reading every single drone everywhere all the time.

This is how map views like [0] function. Lots of enthusiasts collect and share ADSB data to aggregator sites that then publish these global views. I don't know much about the Remote ID tech, but it's not hard to imagine existing global flight tracking networks expanding to include drone traffic.

Most of these ADSB receivers are raspberry Pis and similar running SDR software, which would make such a thing seem highly plausible.

- [0] https://globe.adsbexchange.com/
How would they go about associating engineering effort with customer impact when they have a bunch of sales people, product managers, project managers, UX designers, and so on, in between them? Heck, any large company where there is a division of labor will begin running into the problem of relating individual performance to overall customer impact, and if you begin measuring everyone by that singular metric, you will lose all of your good engineers very quickly (they will switch companies or move to non-engineering roles that have direct customer impact).
Shared structure is overrated. The cases where you need a tree-like mutable structure are vanishingly small in modern times. Mostly it boils down to "just use hash tables."

This isn't just a dismissive observation. It's the heart of why Lisp is so hard to implement. When I ignored mutable cons cells, I realized I could just implement bel in Python by using actual Python lists.

t = True
nil = None

def car(l):
if l:
return l[0]

assert car(nil) == nil
assert car([]) == nil
assert car([1]) == 1
assert car([[1]]) == [1]
assert car(car([[1]])) == 1
assert car(car([(1, 2)])) == 1

def sequence(x):
return isinstance(x, (list, tuple))

def cdr(l):
if l:
if v := l[1:]:
if v[0] == ".":
if sequence(l):
if len(l) == 3 and l[1] == ".":
return l[2]
return v

assert cdr(nil) == nil
assert cdr([]) == nil
assert cdr([1]) == nil
assert cdr([1, ".", 2]) == 2
assert cdr((1, 2, 3)) == (2, 3)
assert cdr("foo") == "oo"

def join(x=nil, y=nil):
if sequence(y):
return [x, *y]
return [x, ".", y]

assert join(nil, nil) == [nil]
assert join(1, 2) == [1, ".", 2]
assert join(1, '"foo"') == [1, ".", '"foo"']

Presto, now you have car, cdr, and join (cons) in Python.

This works (and works very well). You can build lists with Lisp and then pass them off to other Python libraries -- after all, they're just lists. And in the rare case where you care about mutating cons cells, you can just use a dict instead.

EDIT: See https://news.ycombinator.com/item?id=33194570 for a more thorough explanation of why mutable cons cells are problematic.
Unless it changed, PPP loan forgiveness required that you spend something like 80% on payroll.
A rust kernel for the Teensy 4.0
I have a LOMO Lubitel that I love to use, but I have no labs in my area that will process slide film in that format. I just dread the shipping fees for getting a roll developed.
Most of that bias boils down to the subtraction method always wasting a single bit of mantissa. Which is worth noting but also a very tiny problem to have. It doesn't make things "not sensible".
Let's Monitor All the Things
My setup for a recent talk at Current Event 22 in Austin.
That is exactly what would happen. You can process Kodachrome (assuming you can get your hands on some) as B&W film. Obviously, you can't do K14 process any more. You can't do this trick with E6 film, the chemistry of the emulsion is too different.
You say it shares similarities with Stripe Billing. Above, you say inspired by Stripe Billing. "Similarities" and "inspired" are weasly ways of saying that it is not Stripe Billing.

It used to be that Stripe could be relied on not to do this sort of corporate doubletalk. The OP asked a direct question and you've given a misleading PR answer.

I'm sure you're a nice person just trying to do your job, but your inevitable PR posts to HN, within minutes of anything Stripe-related coming up, are hurting your cause. The Stripe of the past would never have spewed propaganda like "This is the point of Stripe. A single stack that flexes with your business as it grows and pricing that's public" into HN threads. It's embarrassing, and what it's telling us is that culturally you've lost your way.

Maybe that's inevitable on your way to world domination, but if you guys can no longer communicate honestly or treat readers as intelligent, you'd be better off not posting here. I like Stripe, by the way. I know this is harsh but I would like it to be helpful.
Yes you are implying they have the same margins and business model. They don’t. Surely alex Jones has broadcasting equipment.

I didn’t defend alex Jones and i won’t. He’s a bad guy. But I care about accuracy. The idea that he’s rich is unfounded and silly
I don’t recall any flu shot claiming to reduce transmission. Can’t see how you’d be able to run a clinical trial for preventing infection without a lot of people coughing on others. I can’t see whether this is a big concern as it reduced the severity of the disease which reduced the load on medical systems.

As with any vaccine going back to the initial efforts with cowpox, the goal was/is to train your immune system to deal with the toxin without having to be infected by it. Pre omicron, countries with good vaccination rates had lower fatalities. Post omicron, to date at least, it behaves like a flu without flu shots - roll the dice and hope. We’ll see whether bivalent or otherwise updated boosters help.

Or, just blow off vaccines and take your chances. Although it’s polite to avoid us old farts while doing so.
Ask HN: Any tips for staying focused while working at home?
Hi, I have been working at home for some time now, but lately my productivity has decreased a lot. I would like to know any strategies from people who work at home to stay focused and productive. Thanks in advance.
All the animals-doing-human-stuff art made me think of how popular alt-social-networks are with the furry community.
I tried to reverse engineer the python code of gimme-aws-creds and it was parsing/scraping an HTML response from AWS. If that's what it has to do, well ok, but the fact it wasn't a json service was a bit WTF
There was talk about allowing Irish citizens to use unused E-3 visas back when Paul Ryan was Speaker but it never came to fruition.

https://www.politico.com/story/2018/12/14/paul-ryan-congress...
Most (all?) right to work states have a law saying the union can't voluntarily contract with the firm to put in terms say new hires would be part of the union and have to pay dues.

Alabama for instance blocks such agreements:

> Any agreement/combination between employer and labor union or organization denying nonmembers right to work is prohibited; labor organizations cannot require membership, abstention, or payment of union dues.

https://www.findlaw.com/state/alabama-law/alabama-right-to-w...

Even if the union is unanimous in agreement to require dues and make things a union shop with an agreement that new employees will be in it too (through their employment agreement), that free agreement between union and firm is outlawed, even if it is unanimous.

It is a masterstroke of "right-to-work" propaganda that even "I support all free contracts" Ayn Rand people don't know this.

Missippi:

> State "right-to-work" statutes generally prohibit employers and unions from requiring employees to be union members or pay membership dues membership in order for to get and keep a job. In addition to statutory provisions dating back to 1954, Mississippi had right-to-work guarantees added to the state constitution in 1960.

From what I can see such a free agreement between union and business is prohibited in every right-to-work state:

https://www.findlaw.com/employment/wages-and-benefits/right-...
They are currently compile time settings. That may change in the future to be more user-friendly. :) But what won't change is that the size is fixed at startup.
I doubt he didn't spend his own effort. But I also agree that he was probably heavily pushed into math, by some if not all relatives.
What would happen in your utopia is that DaVinci Resolve would fail to start because Firefox or Discord would reserve too much memory. Or maybe Firefox would demand you close open tabs before allowing you to open a new one. We have a solution to the problem you describe, it's called paging to disk and hoping that we won't need to read or write to that memory very often (which works great for something like Firefox where a bunch of pages are sitting idly in the background).
I have practically no creative bone in my body but have always been drawn to photography due to my parents being photographers their whole life. I've started using their film equipment because yeah, 12 shots on a roll of 120 film means you have to think before you hit that button.
Politico Green 28 class of 2023: Vladimir Putin
A recession hasn't been declared yet (though may be in the future, retroactively including parts of this year). Laypersons often define it as 2 quarters of negative GDP growth, which has happened, but that is not the official definition in the US. The actual definition is more complex, and includes things like unemployment levels, which are at generational lows.
Yep, which is why I mentioned aging/kids/family. Your merit can take you up the ladder and fatigue/complacency/situations undermine productivity.
This release includes a feature I added [1] to support partial foreign key updates in referential integrity triggers!

This is useful for schemas that use a denormalized tenant id across multiple tables, as might be common in a multi-tenant application:

CREATE TABLE tenants (id serial PRIMARY KEY);
CREATE TABLE users (
tenant_id int REFERENCES tenants ON DELETE CASCADE,
id serial,
PRIMARY KEY (tenant_id, id),
);
CREATE TABLE posts (
tenant_id int REFERENCES tenants ON DELETE CASCADE,
id serial,
author_id int,
PRIMARY KEY (tenant_id, id),
FOREIGN KEY (tenant_id, author_id)
REFERENCES users ON DELETE SET NULL
);

This schema has a problem. When you delete a user, it will try to set both the tenant_id and author_id columns on the posts table to NULL:

INSERT INTO tenants VALUES (1);
INSERT INTO users VALUES (1, 101);
INSERT INTO posts VALUES (1, 201, 101);
DELETE FROM users WHERE id = 101;
ERROR: null value in column "tenant_id" violates not-null constraint
DETAIL: Failing row contains (null, 201, null).

When we delete a user, we really only want to clear the author_id column in the posts table, and we want to leave the tenant_id column untouched. The feature I added is a small syntax extension to support doing exactly this. You can provide an explicit column list to the ON DELETE SET NULL / ON DELETE SET DEFAULT actions:

CREATE TABLE posts (
tenant_id int REFERENCES tenants ON DELETE CASCADE,
id serial,
author_id int,
PRIMARY KEY (tenant_id, id),
FOREIGN KEY (tenant_id, author_id)
-- Clear only author_id, not tenant_id
REFERENCES users ON DELETE SET NULL (author_id)
-- ^^^^^^^^^^^
);

I initially encountered this problem while converting a database to use composite primary keys in preparation for migrating to Citus [2], and it required adding custom triggers for every single foreign key we created. Now it can be handled entirely by Postgres!

[1]: https://www.postgresql.org/message-id/flat/CACqFVBZQyMYJV%3D...

[2]: https://www.citusdata.com/
Why Detroit may be the next Silicon Valley of apparel manufacturing
At present he hasn’t been fired and if his date of vesting wasn’t approaching, OPs question may not even have arisen in his mind.

Since terminating him is a question related directly to his vesting, everyone is going to know he was let go right before vesting to eek out the best possible value from him right before he gets something he’s worked a year to receive.

“Yeah but our contract says” is literally the worst thing you can do with a small company if you want morale to be high.
Twitter employees ‘battle-weary’ as Elon Musk deal drags on
A while back I was working on a VR football game, and had been looking at these kinds of articles about the physics of the arc.

We added a fake aerodynamic force that nudged the ball towards it's direction of travel if it was reasonably closely aligned, and scaled the force with the rotational velocity of the ball around it's the "spin" axis.

It worked quite well and felt pretty good. The ball would still tumble if released poorly, but a well thrown ball would arc nicely.
Good points. I find myself wondering whether everyone was equally affected. I don't always stare at the screen during video calls. I do when I'm trying to communicate, but when I'm thinking I do what I do in person - I stare off into space. I think this is fairly common. Looking at a person's face, you are getting all kinds of information, even when they aren't speaking. When people are concentrating, I think they often look at their notes, at the ceiling, out the window. The problem may simply be that some people don't understand that's ok in a videoconference format.
Is it that much crazier than previously, when a movie was shot on film, scanned to a digital intermediary, then printed back onto film for distribution?

EDIT: Now that I've read up on Greig Fraser's reasoning, it makes a lot more sense for Dune! https://ymcinema.com/2021/12/03/dune-was-shot-on-alexa-lf-tr...
Climate catastrophe is imminent, and governments dragging their feet are directly responsible. It is very far from clear that civilization collapse will be averted.
Outside of the first world those phones are often running on other brand processors, e.g. mediatek
This keyboard actually uses optical switches and reads them using an ADC. It does do debouncing but with orders of magnitude shorter delay.
I should be able to ask on a forum about configuring an application that dates back to the 1990s without having to declare that I have to maintain a legacy server for work, and that throwing it away and replacing it is not an option.

There is no fundamental flaw in using very old software that still works.
I think you're thinking of this in a binary sense, like we can either pay the business owners and they will <maybe> pay their employees and then it will be forgiven OR we let those people lose their job and go on unemployment. Those aren't the only options, but even if they were, in the semi industry it was fairly common for the whole company I worked for to shut down for a week or two if the semi economy isn't cranking. We all went on unemployment or took vacation, and came back to our jobs when the company opened again.

But, unemployment isn't the only thing we can use, because it does have strings. We expect you to be looking for another job every week, and proving it. The social security system is setup to distribute money to every American with a social security number, in a far more streamlined system. There are also nice systems in place that limit the amount you get from social security in the case that you're earning more than a limit. I think social security being extended to all Americans, letting them stay "at" their job even if it was shut down, and setting a floor for income at this time which would make sure the business owners were also able to buy their basic essentials, but not Lamborghinis, would have been the right move. I understand this would require something to help businesses with rent while they were unable to operate. A national rent holiday to cover the emergency of the pandemic would be one idea, or bailing out the banks that were effected.

The way this was implemented isn't the only way it could be implemented is all I'm saying, lots of countries did it other ways, and they didn't collapse in on themselves at the end of covid. The PPP program is not the only solution to keeping workers connected to their jobs, but it sure did create a lot of opportunities for fraud. There are podcasts that took hundreds of thousands of dollars of PPP money. A podcast.
What environment is the server running in? Can you prevent the Linux OOM killer from killing your process?
It looks like Google+ v2.0. I hope they learn from mistakes.
https://stripe.com/docs/billing/subscriptions/usage-based