Live data from Hacker News

Tofu – The opposite of a font

github.com

41–50 of 66 posts

Re: Tofu – The opposite of a font

#42
very nice! this should be the default binary view on many, many things, especially debuggers/inspectors.

how does it handle combining characters? do they get everything in a single box or are going to be rendered as two boxes?

Re: Tofu – The opposite of a font

#43

"This is stupid. Yeah probably, but for its very specific use case it's not terribly bad." Don't put your work down like this. You created something useful for yourself, and likely useful for others. I'd be surprised if someone called it stupid.

Yea I was surprised at that too. This is incredibly useful for debugging and trying to fiend weird security/unicode gotchas. I can think of a couple of use cases this might be worth trying.

Re: Tofu – The opposite of a font

#44

Earlier quoted context omitted.

Hobbyist-only coder here who hacks together high-level crap, not memory management and such. Question - If this program needed to operate from memory instead of a disk, why didn't the coder just... code it that way? Are they saying to use a RAM disk to ensure you don't encounter automatic paging out to disk by the OS?

I believe it's a requirement of font forge that they're using. It requires file paths, and it will be doing a large amount of reading. Easiest way of solving this is probably just to fake that your memory is a hard drive.

As other comments have stated, most operating systems do a pretty good job at caching this type of I/O anyway. It goes back to the idea of not optimizing until you know where the bottlenecks really are. A lot of time the underlying layers may take care of it for you.

Re: Tofu – The opposite of a font

#45

It is both reasonable and unfortunate that TrueType & OpenType fonts can have no more than 65,535 glyphs. That said, probably the logical font made of multiple physical fonts can be probably made to support all available planes.

That said, probably the logical font made of multiple physical fonts can be probably made to support all available planes. Yes, that's how you can fit all of Unicode into one "font" -- use a collection of fonts with at most 64K glyphs each: https://graphicdesign.stackexchange.com/questions/73166/what... I'll leave it as an "exercise for the reader" to generate such a font.

Wow, I did not know about that limitation. That's pretty interesting.

Re: Tofu – The opposite of a font

#46
post #10

Earlier quoted context omitted.

On most operating systems you can use part of your RAM as disk. Format it like a regular disk, mount it and save files on it. The data is gone if you restart tho.

I've wondered for a while how fast we could make a phone (or PC) that operated entirely in RAM disk and used flash storage just as a one-to-one backup and storage when powered off. Obviously this would require your phone to have 128GB of RAM. You'd write changes to the flash storage, but it'd mirror RAM as closely as possible without destroying power management or storage life. Imagine if there was no lag opening any…

The hot stuff already is in the disk cache, so _IF_ the applications are written well, I don't think the difference would be large.

Also, you may need more RAM than flash, as large resources may/should be compressed in Flash (and personal data should be encrypted)

Re: Tofu – The opposite of a font

#47
post #6

Earlier quoted context omitted.

> the OS should cache stuff When I worked at Microsoft back in the 90's I inquired around building 26 as to why I couldn't create a ram disk on what was to become Windows 2000, and this was basically the answer. So yes, if caching doesn't solve this then caching hasn't been implemented correctly.

What if you're using a program that fsyncs? And the filesystem isn't just keeping writes cached and flushing only when full. So if I'm writing GB of temp files, I'm causing tons of disk load which may impact other programs. Can't seek to read while writing all my temp data...

> What if you're using a program that fsyncs?

Remove the fsync or use libeatmydata.

> So if I'm writing GB of temp files

The kind that won't fit on a ramdisk in the first place? And this particular use case shouldn't need that.

Re: Tofu – The opposite of a font

#48
post #29
post #27

Earlier quoted context omitted.

Spinning platter. ZFS with compression is probably helping that.

Your OS is probably caching the file at the virtual memory layer, so it doesn't even have to hit the filesystem at all.

mount -o sync :)

Re: Tofu – The opposite of a font

#49
post #10

Earlier quoted context omitted.

On most operating systems you can use part of your RAM as disk. Format it like a regular disk, mount it and save files on it. The data is gone if you restart tho.

I've wondered for a while how fast we could make a phone (or PC) that operated entirely in RAM disk and used flash storage just as a one-to-one backup and storage when powered off. Obviously this would require your phone to have 128GB of RAM. You'd write changes to the flash storage, but it'd mirror RAM as closely as possible without destroying power management or storage life. Imagine if there was no lag opening any…

The first Nexus phone had .5GB RAM and .5GB flash.

In other words, you don't need a ton of space. 8GB split among OS, apps, an running programs would do pretty well, honestly. 16GB is definitely enough. The question becomes more about how much space you want for photos and mp3s, and whether there is actually a benefit to putting those in RAM at all.

Post reply on HN