Hacker Newsnew | past | comments | ask | show | jobs | submit | ben-schaaf's commentslogin

> can render fonts correctly

macOS font rendering has been worst in class since they removed subpixel-antialiasing. It's now a blurry mess on regular displays.


I run a non-retina 30" Apple Cinema Display right now. There are some blurry text bugs, but that's super rare and I think has to do with me having a mix of non-retina and retina displays hooked up.

But imo the rendering is still pretty good. Unlike on linux where I constantly see incorrect kerning.


Good thing MacBooks don't ship with regular displays then.

FWIW, I've had no trouble with Mac font rendering on bog standard 1440p and 4K external displays


It's a common misconception, but microplastics and forever-chemicals (PFAS) are not the same thing. They're two similar, but distinct pollutants.

> Are saunas and blood donations not also effective for this?

Yes, plasma & blood donations are good at reducing PFAS blood concentration. Some(?) firefighting foam contains PFAS, so they tend to have high blood concentrations. Donations have shown to significantly reduce that: https://pmc.ncbi.nlm.nih.gov/articles/PMC8994130/


All the older firefighting foam did. Some of the new stuff does. There's also some amount of "poisoning" from the old equipment to the new foam.

Unfortunately, PFAS sticks around forever, so everywhere that the old firefighting foam was deployed (e.g. air force bases) still has high levels of PFAS contamination.


There was a scare in 2024 where high levels of PFAS were found in the water supply in the Blue Mountains region of NSW. It took months, but they traced it to a single fire in 1992 where foam was deployed. Scary stuff.

So avoid using dry teflon lubricant spray? Will do!

Blood donation helps the donor, but what happens to the recipient? Would it not be possible to accumulate PFAS in your blood stream by receiving PFAS-concentrate blood? Is it that simple?

Yes, but since blood donations are not tested for this you don't know what you get so people are already getting PFAS contaminated blood.

You could just do phlebotomy (blood letting) where your blood is discarded in case you have insanely high PFAS.


> They're two similar, but distinct pollutants.

They aren't particularly similar.

Honestly, the way the two are conflated is quite annoying. You should be terrified of PFAS. You should be mildly worried about microplastics, mostly because there isn't enough research on the effects yet.


How is "fairly close to deterministic" anywhere near good enough? LLMS aren't anywhere near cheap enough to do this either.

That said it's so trivial to do, why haven't you done that already?


I have actually, for my personal projects. I have been writing a library called "assume" where you can specify a type signature, give it a prompt, and it generates a function on the fly in the background with Claude Code, so you still write some code, but whenever you need a function you "assume" that such a function exists. I have a Java version that works right now and I will likely be pushing it within the next week.

But more generally, I actually have been building some CI stuff to automate how I'm saying.

I don't have much of a say how this is handled at work so they're just committing the generated code, but I actually am doing what I am talking about.


  > I have been writing a library called "assume" where you can specify a type signature, give it a prompt, and it generates a function on the fly in the background with Claude Code, so you still write some code, but whenever you need a function you "assume" that such a function exists.
This is very much like good old djinn [1], which would generate code from Haskell type specification.

[1] https://mail.haskell.org/pipermail/haskell/2005-December/017...

And this is why I boldly compare current LLM craze to the much less hyped craze of strong type systems. I was a part of that strong type system discussion, advocating for them. ;)


You don't have to convince me.

LLMs are neat, code generation is neat, but I do wish that people had learned type theory and instead used those.

I'm not aware of djinn, but I do remember the "Type Driven Development" that Idris had that I thought was absurdly cool; when you make the type specification clear enough, there ends up being basically exactly one reasonable way of writing the code, in which case it can just be "deduced" by machinery.

I'm a huge advocate for formal methods, and it does sort of bother me that pretty much all work on that seems to have been refocused on AI.


Sounds like a fun project. And are you committing code for this library? Because it sounds like you are, and if that's the case I don't think you're actually doing what you're talking about.

I'm writing the "assume" code by hand. Regular non-artificial intelligence, or the closest that I ever get to it, so no hypocrisy on that.

They're bikeshedding pretty hard, making their own language for the simulation. You can access the unstable branch through steam, it was getting fairly regular updates last I checked.

is there anything interesting in the unstable branch??

also lmfao bikeshedding a custom language is EXACTLY what i would expect from the dev of that kinda nerd game. feels like a good sign tbh


I think its called yakshaving when you actually do it. Bikeshedding is discussing stuff that doesn't matter to avoid tlaking about the hard stuff

Last I checked there's some rebalancing that looks pretty good, but the real advantage from the custom language is a huge performance boost.

Systemd actually manages /etc/passwd, /etc/group, /etc/shadow, etc. using a json database called userdb. Adding a field to systemd's userdb is how you add a gecos field.

> This is the governments first plunge into mandating things on the frontend.

ADA mandates computer accessibility, as frequently interpreted by courts. CCPA & GDPR mandate a whole bunch of stuff. Hardly the first plunge.


In the context of surveillance, yes it is. I know the EU is looking down the barrel of chat control, but I'm pretty sure this California law has already been passed and goes into effect January 2027.

ADA has only ever been interpreted to apply to services. No prior law has ever been applied to specify how an OS should function.

This law violates the first amendment and will be overturned. Until then it must be resisted.


Compilers don't usually write the code that ends up in a PR. But compilers do (and should) generally leave behind some metadata in the end result saying what tools were used, see for example the .comment section in ELF binaries.


The alternative is that for every glyph you render the entire glyph to the screen using the Bezier curves from the font, and you end up with dogshit performance - like the new windows terminal (not sure if they've fixed it yet).

Caching glyphs is good resource management and with modern screen resolutions, color displays and subpixel-antialiasing you just simply need more than 70KB of RAM.


> The alternative is that for every glyph you render the entire glyph to the screen using the Bezier curves from the font

No, because you have no reason to have much more glyphs in your font cache than what fits your screen either (for people using a language with an alphabet based on the latin one at least, which is the majority of people on this website).

> you just simply need more than 70KB of RAM.

I didn't set the bar to 70kB. You also need more than 70kB of RAM yo store a full screen worth of image (which was the bar I set above).

But that doesn't mean you need 1GB either.


> I didn't set the bar to 70kB

The GP to your original did set the bar at 70kB, mattmanser then explained that images and fonts easily exceed that, and then you called that poor resource management. Sounds like we're on the same page here, but you seemed to have missed the context of the comment you initially replied to.


> The GP to your original did set the bar at 70kB

It didn't, here's the comment in question:

> A probe collecting data in space takes <70 kB of memory. I fail to see how this statement should make me feel happy

It makes no mention that an app should be under 70kB. It just note that 100MB is still *enormous* compared to 70kB.

And I maintain that the difference cannot be explained by images and font cache alone.


> And I maintain that the difference cannot be explained by images and font cache alone.

It can't be explained by images and fonts alone, I agree, but images and fonts alone are still enormous compared to 70kB. On my screen an "e" on this site is 10*11 pixels. Subpixel positioning means we need at least 6 copies of each letter, subpixel antialiasing means we need three channel alpha (3 bytes per pixel), we have variations of bold, italic and bold-italic, 95 printable letters in ascii, that's a low-ball of 750kB for one size of one font. This comment page alone has 4 different sizes, I'd expect a chat app to have a few more.


Well even with your quite conservative calculations [1] you end up with a size that is absolutely reasonable and negligible in a 100MB footprint.

[1]: Realistically, you're never gonna have all 95 characters in all weights for all font size, so the actual number is going to much significantly lower than the theoretical envelope. In practice, there'll be a main (font,size), that will have all glyphs (and it's going to be more than 95 because of the ligatures) in normal weight and no italic, with a subset of the glyphs in the three other modes, most likely not evenly distributed between modes. Then you'll have additional fonts (for UI labels, titles, etc) that are going to have much less represented glyphs and almost no variations of weight or italic if at all. Obviously the font(s) used for titles in going to have a bigger budget relatively to the glyph sample size, because each one is bigger than your baseline "e"


Completely agree, it would be very helpful to get even just a breakdown of what the ram is being used for. It's unfortunately a lot of work to instrument.

> sublime consumes 200mb. I have 4 text files open. What is it doing?

To add to what others have said: Depending on the platform a good amount will be the system itself, various buffers and caches. If you have a folder open in the side bar, Sublime Text will track and index all the files in there. There's also no limit to undo history that is kept in RAM.

There's also the possibility that that 200MB includes the subprocesses, meaning the two python plugin hosts and any processes your plugins spawn - which can include heavy LSP servers.


> Put your non-programmer relative in front of each, have them do some common simple tasks, like print an email on their printer, and ask them.

My grandma does this all the time from her Linux laptop. My grandpa needed help getting it to work the first time under Windows.


This sounds disingenuous. How does your grandma fare on Windows? Can your grandpa even navigate Linux? For all I know, your grandma could be a HN user and your grandpa a plumber.


She's significantly worse with technology than he is. Neither could tell you what an operating system is. These are exactly the type of average people that supposedly Linux isn't good enough for.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: