MurphyA/hacker-news huggingface dataset:
by myfonj | 2025-08-22 08:55:03+00:00
Haven't read the book yet, but isn't that more like a matter of the font/rendering engine? I have a murky notion that for Cyrillic, for example, there are some nuances in rendering certain glyphs in cursive between languages [1], but these nuances are usually resolved by cooperation of the font and client interpreting the language hints, so not in the "physical" text.

(Not telling I see this as a good thing or anything: it is way beyond my expertise; I definitely can see the motivation for introducing as many variants in the Unicode register as there are in the real world)

Isn't the umlaut vs trema/diaeresis in a similar situation?

[1] made me test it and cobble a demo. (Sadly, not speaking any of these languages, so cannot verify it is correct; just wanted to see the difference in practice):

data:text/html;charset=utf-8;verbatim,<style> @import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital@0;1"); body { font-family: 'Noto Sans'; } dl:hover i { font-style: normal; } </style> <dl> <dt>lang="ru" <dd lang="ru"><i>грипп, практика, график, типа</i> <dt>lang="sr" <dd lang="sr"><i>грипп, практика, график, типа</i> </dl>

Arguably, depending on wide (physical text ↔ specific font ↔ rendering agent) ecosystem feels quite fragile, but cannot tell if there is any better alternative for this particular case.

https://myfonj.github.io/sandbox.html#%3C!doctype%20html%3E%...
by Ultimatt | 2025-08-22 08:56:07+00:00
Worth giving Raku a shout out here... methods do what they say and you write what you mean. Really wish every other language would pinch the Str implementation from here, or at least the design.

$ raku Welcome to Rakudo™ v2025.06. Implementing the Raku® Programming Language v6.d. Built on MoarVM version 2025.06. [0] > " ".chars 1 [1] > " ".codes 5 [2] > " ".encode('UTF-8').bytes 17 [3] > " ".NFD.map(*.chr.uniname) (FACE PALM EMOJI MODIFIER FITZPATRICK TYPE-3 ZERO WIDTH JOINER MALE SIGN VARIATION SELECTOR-16)
by afavour | 2025-08-22 08:57:38+00:00
I actually don’t think it’s that absurd. It definitely is hype but I think e-scooters and (far more) e-bikes actually are a huge innovation in personal transport, not in pure tech but in effect on lifestyles especially when you factor in cost.

I have a cargo e-bike I use as my daily driver, taking the kids to school, picking up groceries etc. If they didn’t exist I’d probably have to pay for (and deal with) a car. A lot of food delivery drivers are on e-bikes. If governments fully embraced them they could change the way a lot of cities look.
by yreg | 2025-08-22 08:58:23+00:00
Open water diving around coral reefs and shipwrecks is simply beautiful. (Maybe sadly now less-so than it used to be.) Divers love to spend time down there in a weightless state.

I think what happens next, if you get deep enough into the sport, is that you become good at it and you are looking for stronger challenges to overcome yourself again and again. That's how you become a cave diver.

Still there are some special places down in the caves as well. And I think what makes them even more specials for the divers is the feeling of exclusivity that most people would never get to go there.
by imiric | 2025-08-22 08:58:29+00:00
It's not for nothing. When a profitable product can be created in a fraction of the time and effort previously required, the tool to create it will attract scammers and grifters like bees to honey. It doesn't matter if the "business" around it fails, if a new one can be created quickly and cheaply.

This is the same idea behind brands with random letters selling garbage physical products, only applied to software.
by jve | 2025-08-22 08:58:44+00:00
I don't know if I have critical thinking or not. But I often question - WHY is this better? IS there any better way? WHY it must be done such a way or WHY such rule exists?

For example in electricity you need at least that amount of cross section if doing X amount of amps over Y length. I want to dig down and understand why? Ohh, the smaller the cross section, the more it heats! Armed with this info I get many more "Ohhs": Ohh, that's why you must ensure the connections are not loose. Oohhh, that's why an old extension cord where you don't feel your plug solidly clicks in place is a fire hazard. Ohh, that's why I must ensure the connection is solid when joining cables and doesn't lessen cross section. Ohh, that's why it's a very bad idea to join bigger cables with a smaller one. Ohh, that's why it is a bad idea to solve "my fuse is blowing out" by inserting a bigger fuse but instead I must check whether the cabling can support higher amperage (or check whether device has to draw that much).

And yeah, this "intuition" is kind of a discovery phase and I can check whether my intuition/discovery is correct.

Basically getting down to primitives lets me understand things more intuitively without trying to remember various rules or formulas. But I noticed my brain is heavily wired in not remembering lots of things, but thinking logically.
by sammycage | 2025-08-22 09:00:12+00:00
Thank you for your kind words and for noticing the work behind this. Building an HTML and CSS rendering engine has been a long journey with many surprises. I have been maintaining https://github.com/sammycage/lunasvg for years, so I was familiar with interpreting specs and rendering engines. That experience gave me the confidence to tackle HTML.

At first, my plan was simple. I wanted to make an HTML rendering library. But soon, I realized it could be even more useful if it focused on paged output so I could make PDFs directly. C and C++ do not have an HTML-to-PDF library that is not a full web engine. I started coding and thought I could finish in a year by working a few hours each day. But reality came fast. HTML and CSS are much harder than SVG, and even small things caused big problems.

I studied KHTML and WebKit to see how real HTML and CSS engines work. The official specs were very helpful. Slowly, everything started to come together. It felt like discovering a hidden world behind the web pages we see every day.

The hardest part has been TableLayout. Tables look simple, but handling row and column spans, nested tables, alignment, page breaks, and box calculations was very hard. I spent many hours fixing layout bugs that only appeared in some situations. It was frustrating, humbling, and also very satisfying when it worked.

I am still learning and improving. I hope other people enjoy PlutoPrint and PlutoBook as much as I do.
by imtringued | 2025-08-22 09:00:18+00:00
In a situation where the software is only used internally, it sounds like it would be very easy to game what "4% of software's revenue" means in both directions.

E.g. Unity argues that the entire production plant is the result of the software, therefore charges 4% on the revenue of the factory, meanwhile the customer argues that the software produces no revenue, because it is not being sold and therefore the bill is $0.

A fixed monthly fee solves this problem.
by setr | 2025-08-22 09:00:47+00:00
I’m fairly positive the answer is trivially logical equivalence for pretty much any substring operation. I can’t imagine bitwise equivalence to ever be the “normal” use case, except to the implementer looking at it as a simpler/faster operation

I feel like if you’re looking for bitwise equivalence or similar, you should have to cast to some kind of byte array and access the corresponding operations accordingly
by jasode | 2025-08-22 09:01:36+00:00
>Somehow alcohol always gets separate consideration and categorisation, while most people would laugh if asked "is moderate tobacco/meth/ecstasy/

The "drugs" of alcohol and caffeine are more deeply integrated into public social life. Wine is mentioned in the Bible. Beer is sold at family outings like baseball games. The White House serves alcohol at official state dinners. President Obama had the famous "beer summit" https://www.google.com/search?q=Obama+beer+summit&tbm=isch

Also, the existence of alcohol is caused by common natural processes. E.g. leaving apples or pears out on the kitchen counter too long and it naturally ferments which creates alcohol. I remember leaving some old pears in the kitchen and they eventually smelled like alcohol. I ate the pears and they definitely tasted like alcohol. The point is, alcohol can come into existence without even doing anything.

In contrast, the White House isn't handing out crystal meth or heroin at state dinners and there aren't any natural decaying processes that turns random food into ecstasy. Marijuana is natural but it isn't culturally accepted by the public. (President Clinton's "Yes, but I didn't inhale.")

Alcohol/caffeine have a lot of acceptable functional uses that the other drug categories don't have which is why society continues to talk about them as a separate class.
by slau | 2025-08-22 09:01:36+00:00
If you dig a tiny bit into mixology, you'll notice the ludicrous amounts of sugar that goes into cocktails.

An espresso martini has 80% of your daily sugar intake. That's 25g of sugar. Moscow mule 75%, Sangria 70%. All of those in one single serving.

I'd wager most people don't stop at one drink.

Daiquiri has sugar. Espresso martini has sugar syrup. A gimlet has simple syrup. Irish coffee has sugar. Long Island Ice Tea has more sugar syrup than any single liquor. Mai Tai has simple syrup. Mojito has cane sugar.
by klabb3 | 2025-08-22 09:01:59+00:00
The most obvious comparison is an ebike, which would be superior in every way except one: portability. Where I live these scooters are popular, and people bring them in elevators and park them inside.

This is a real issue: bike parking is insufficient and insecure from theft in many cities. Plus, you need to charge it somewhere, and bringing a conventional bike to an apartment is often prohibitive. These make scooters much more attractive in practice than they otherwise should be.

To me, a foldable bike (with larger wheels and a seat) and a moderately sized battery pack seems like a better compromise between safety and convenience.
by hi_hi | 2025-08-22 09:02:16+00:00
If you're going to be this ridiculous, at least make it look cool.

Re-invent the Penny Farthing perhaps. An electric version of that, with some funky way of lifting the rider up, would be amazing.

This is like the cronut of bikes, all the downsides of a scooter, and none of the upsides of a motorbike.
by afiori | 2025-08-22 09:02:42+00:00
I would like an utf-8 optimized bag of bytes where arbitrary byte operations are possible but the buffer keeps track of whether is it valid utf-8 or not (for every edit of n bytes it should be enough to check about n+8 bytes to validate) then utf-8 then utf-8 encoding/decoding becomes a noop and utf-8 specific apis can check quickly is the string is malformed or not.
by re | 2025-08-22 09:03:25+00:00
What do you mean by "use codepoints for ... database indexes"? I feel like you are drawing conclusions that the essay does not propose or support. (It doesn't say that you should use codepoints for length limits.)

> If the standard is continuously updated and they feel they can just make arbitrary changes to how grapheme clusters work at any time, how is any software that's not "evergreen" (I.e. forces users onto the latest version and pretends older versions don't exist) supposed to deal with that?

Why would software need to have a permanent, durable mapping between a string and the number of grapheme clusters that it contains?
by tannhaeuser | 2025-08-22 09:04:21+00:00
Prolog does well in the areas where it's uniquely suited: planning, scheduling, optimisation, financial investment allocation, and other constraint-solving problems; at some point the SICStus home page claimed the logistics industry and railway basically run off Prolog.

For general-purpose programming and integration task adjacent to a Prolog planner core there are many alternatives with larger mind share even most Prolog developers will recommend over Prolog, though there's nothing wrong with using Prolog as a web template engine with pattern matching much like XSLT on steroids I guess.

The ISO standardisation of Prolog is a big plus because it let's you jump into Prolog with the comfort of an ecosystem, vendor-independence, and alternatives, in contrast to where you must commit upfront to a nebulous optimisation software package without knowing if it's a good fit for your task. Especially because realistic, large problems require a time commitment, exploration, experimentation, and iterative development.

Prolog has historically also been used for NLP, and has very convenient DSL and parser facilities built into the core. So compilers and other rule-based translators is also something Prolog excels at. There are a couple quite successful approaches combining LLMs and ML with Prolog, think probabilistics and/or neurolinguistics approaches (see recent discussion at [1]), but also just generating Prolog code using LLMs for problems where a satisfying problem description is available, or would be easier to create than encoding the problem in Prolog in the first place due to Prolog's declarative nature) ([2], also discussed in [1|).

[1]: https://news.ycombinator.com/item?id=44926414

[2]: https://news.ycombinator.com/item?id=43558622
by spacebanana7 | 2025-08-22 09:04:37+00:00
I wish there was more causative research where nutrition was artificially changed in a highly managed population. For example in a prison or military barracks.

I suspect there's a lot we could learn about the health of eggs, for example, if we could just pay some prisoners to eat varying quantities of them for 20 years, then look at the development of their health.
by memsom | 2025-08-22 09:05:14+00:00
PowerPC you have Leopard or Tiger, the latter being "faster" but more limited. You can also install the version of Leopard someone added Snow Leopard beta parts to, which I do have on my PPC MacMini, but it still gives you limited returns.

With PowerPC you might be better looking at a third party. I hear good things about MorphOS, though never tried it. You could do Linux too.
by VagabundoP | 2025-08-22 09:05:23+00:00
ok, took me a bit to wrap my head around whats going on here, but actually this is neat, and probably useful.

Ive been hobbying in python for a decade plus at this point and it still ties my brain in knots sometimes with how it works at runtime. I do enjoy working with it though.

E: just to clarify if you're going to use this don't bury it deep in a multi file code structure, explicitly have it in the same file as you use it, otherwise people will get confused.
by ddingus | 2025-08-22 09:06:14+00:00
Nah, it is just one of many wonders found in mother natures kitchen. Like all things, moderation is in your best life.

It makes far more sense than huffing gas.

It makes the most sense a couple maybe few times a year.

The worst thing to do is over hype the downsides. People tune out and then have no real guidance to draw from.
by jillesvangurp | 2025-08-22 09:06:23+00:00
That's exactly what I mean by kludge. And this attitude is exactly the problem and reason why most languages continue to do the wrong thing here.

Your solution requires user discipline and fiddling with things that should just work right without fiddling. And it needs to happen on every development environment. You can't really enforce it except via annoying additional kludges in the form of failing builds.

I've never been on a team where this was done right. I've been on plenty of teams with convoluted half enforced formatting rules (and thousands of violations).

I know how to fix it for my own code. But being able to force everyone I have to work with to do the same thing over and over again is the problem that needs solving. Everybody just shrugs it off and does nothing about it. What are you going to do. It's always been this miserable this way. Industry wide apathy on this topic.

That's why I appreciate what Google did with Go here so much. Not a fan of the language necessarily. But they did the right thing with making code formatting not optional and a compile error to skip. Stuff like this should not be a debate or discussion or a follow this 20 step process to setup your work environment properly but just something that works right (for fuzzy definitions of right) as specified by the build file in the code repository.

It's a minor annoyance that I wish Jetbrains would just take more serious.
by pyman | 2025-08-22 09:06:39+00:00
It does sound a bit weird, I have to admit. Customer Experience Manager sounds better or just CX Manager.

For me, the title Product Manager sets the wrong expectation, it makes it sound like they own the product, which clashes with other roles. In reality, they don't own the product, they own alignment: customer needs, business goals, and engineering feasibility.

I've heard many YC founders say that the CEO (or CPO) is the only one who truly owns the product, and I agree. The PM should never own it, they are interpreters who take the CEO's vision, combine it with customer insight, and help the team make the right trade-offs.
Show HN: ValueGrowAGarden – Live Value List for Roblox "Grow a Garden"
by virusyu | 2025-08-22 09:07:16+00:00
I built ValueGrowAGarden (https://valuegrowagarden.com/ ) for players trading items in the Roblox game “Grow a Garden.”

What it does

Live value list for pets/crops with median, P10–P90 range, sample count, and last-updated time

“Win/Fair/Lose” checker to sanity-check a trade in seconds

Transparent methodology page and a simple form for players to submit recent trades/screenshots

Why Trading values move fast during events and updates. Most lists are either stale or opaque. I wanted something lightweight, data-driven, and easy to verify.

How it works (high level)

Collect recent trade samples from community submissions and public evidence

Clean data (filter obvious outliers/manipulation)

Compute robust stats (median + P10–P90 band) and show confidence via sample size

Roadmap

Item history charts and alerts for big moves

Public API for bots/tools

Better handling of thin-liquidity items and mutation/ability edge cases

Ask

Are the stats and UI helpful when you’re mid-trade?

Any heuristics you use that I should encode?

Ideas to reduce manipulation without hiding the method?

Note: Unofficial fan-made site; not affiliated with the game or its developers.
by prmoustache | 2025-08-22 09:07:32+00:00
I understand about homeless people but elderly? Don't they have personnal shopping trolley? Like those with 3 wheels to be able to go climb curbs and small stairs? Regular carts are only used inside or by people who need to bring their stuff to their car and a pain in the ass to operate in the streets as they don't climb curbs easily.

Locally all supermarkets actually have locks at the entrace so that people can lock their shopping trolleys next to the cashiers.
by tsimionescu | 2025-08-22 09:07:54+00:00
Forking for anything other than calling exec is still a horrible idea (with special exceptions like shells). Forking is a very unsafe operation (you can easily share locks and files with the child process unless both your code and every library you use is very careful - for example, it's easy to get into malloc deadlocks with forked processes), and its performance depends a lot on how you actually use it.
Show HN: ShiftPlus – Manage Browser Profiles and Window Layouts on macOS (Beta)
by nghialuong | 2025-08-22 09:08:41+00:00
Hi HN,

I just released the Beta of ShiftPlus, a macOS app I’ve been building to help power users, developers, and productivity enthusiasts manage their workflows more effectively.

The idea came from constantly juggling multiple browser profiles, apps, and windows for different projects (work, personal, side projects). I wanted a faster way to switch between them without wasting time rearranging windows and logging in/out.

What it does:

Manage multiple browser profiles (Chrome, Safari, Arc, Brave, Edge, Opera, Vivaldi) Custom icons, colors, and labels for easy identification ⌨ Global hotkeys and quick switching between profiles Window arrangement presets (apps open exactly where you want them) Import/Export profiles for easy setup across machines

Upcoming features: - Raycast support (coming soon) - Safari & Dia browser profile support - Multi-monitor window management - Improved Import/Export of profiles

Special Beta offer: I’m offering a 50% discount code: G2MJU5MW for early adopters.

Why I’m posting here: I’d love feedback from the HN community on:

Does this solve a real workflow pain point for you?

What features would make it indispensable in your setup?

Any UX/UI feedback on making switching feel even smoother?

Demo: https://www.youtube.com/watch?v=hzJw9XIodrk

Download: https://shiftplus.app/

Thanks for reading — and also thanks to everyone who gave me support on my earlier demo video!
by fjfaase | 2025-08-22 09:08:51+00:00
I got this wrong from Microsoft Visual Studio (before 2015 and Windows 10) where the function snprintf did not add the null character. The function _snprintf still has the behavior that it does not add the null character.

See section 'Remark' on: https://learn.microsoft.com/en-us/cpp/c-runtime-library/refe...
by ACCount37 | 2025-08-22 09:10:02+00:00
Good luck trying to use theory from the 1940s to predict modern ML. And if theory has little predictive power, then it's of little use.

There's a reason why so many "laws" of ML are empirical - curves fitted to experimental observation data. If we had a solid mathematical backing for ML, we'd be able to derive those laws from math. If we had solid theoretical backing for ML, we'd be able to calculate whether a training run would fail without actually running it.

People say this tech is mysterious because it is mysterious. It's a field where practical applications are running far ahead of theory. We build systems that work, and we don't know how or why.
by charcircuit | 2025-08-22 09:10:05+00:00
>is weird and crosses many limits.

It's similar in format to communities that obssess over "lost media." The inability to pirate or get access to something becomes an obsession. Even if the piece of media exists in an archive somewhere, that doesn't matter to them because it's about the fact that they themselves don't have access to it that has become the obsession.
by phatfish | 2025-08-22 09:10:32+00:00
I don't code every day and am not an expert. Supposedly the sort of casual coder that LLMs are supposed to elevate into senior engineers.

Even I can see they have big blind spots. As the parent said I get overly verbose code that does run, but is no where near the best solution. Well, for really common problems and patterns I usually get a good answer. Need a more niche problem solved?You better brush up your Googling skills and do some research if you care about code quality.