HNHacker News
TopNewBestAskShowJobs

kazinator

35,475 karma · joined July 2, 2014

Working on the TXR language: https://nongnu.org/txr

Want to talk to me? Drop me an e-mail:

125-888-0378@kylheku.com

This could change without notice; check the profile.

Git repositories: https://www.kylheku.com/cgit

Mastodon: @Kazinator@mstdn.ca

LinkedIn: https://www.linkedin.com/in/kaz-kylheku-8a8b94197/

meet.hn/city/49.2608724,-123.113952/Vancouver

Socials: - kazinator.at.hn

---

submissionscomments
kazinator··on Coltrane's Tone Circle
[delayed]
kazinator··on Coltrane's Tone Circle
These visual aids will make a musician of you the way a slide rule will make you an engineer.
kazinator··on Micron CEO Says Memory Supply Will Be Much Tighter in 2027 and 2028 Than in 2026
Then there is risk; who is to say that the current demand will be around in five to ten years by the time you ramp up.
kazinator··on Show HN: Yantra – an LALR(1) parser generator for C++
People who write a language simply don't like bringing in another one, and that's all it is.

If we have a compiler for language X in language X, and don't use any tools such as a parser or lexer generator, then there is nothing but code in X in the project, and that makes the developer of language X feel like they have earned major brownie points ... err, I mean, ... that they have kept their project free of cumbersome dependencies.

If language X is a one-implementation invention, then the tooling won't exist which hits these checkboxes: (1) is written in X; (2) generates code for X. By the time language X is mature enough that its ecosystem has something like that, it is long past the point where it would make sense to introduce it into its one and only implementation. There would have to be interest in writing another implementation.

E.g. the first C compilers would never have used Yacc.

Among languages that have one implementation, and that use parser generators, we will almost always see that another language is used for bootstrapping and the generator is for that language.

For some designers, that is a bruise to the ego, or else an unappetizing dependency. Even if they are boostrapping with another language, they are thinking forward to a future release where they will ditch that: they will rewrite parts that are in the boostrapping language in the new language to make it self-hosting.

If you use tooling like parser generation, which is in the ecosystem of, and oriented toward, the to-be-jettisoned-one-day boostrapping language, that throws a barrier in the path toward self-hosting. So you tend not to do it.

Like if you are boostrapping with C, and have it in the back of your mind to get rid of it, do you want to be bringing in a complicated tool with its own input language, which generates C? You think twice and are more likely to go ahead if you've resigned yourself to sticking with the C dependency.

kazinator··on Recursive `make` and `-j`
The proliferation of recursive make has been harmful for make itself!

Most of the make replacement tools are promoted by propaganda which attacks a strawman version of make, whereby it is assumed to be at the center of a shitty recursive situation.

kazinator··on Recursive `make` and `-j`
How it works is that the top-level invocation runs the job server, and the children feed requests to it. The top-level controls the parallelism.
kazinator··on Show HN: Yantra – an LALR(1) parser generator for C++
Yacc has mid-rule actions which can be used to propagate information from left siblings to right siblings, as well as to children (embedded nonterminal symbols).

Of course, it's not the same as having the parse tree all done from a previous pass and just walking it to do semantics.

kazinator··on California bans child marriage, a practice still legal in 32 US states
Pictures of yourself constituting child porn, making you a felon, is likewise abusive.
kazinator··on What a Massive New 728-Foot-Wide Crater Means for Future Moon Bases
I like your reasoning about oxygen and would like to contribute the factoid that the molecular weight of CO₂ is over 72% oxygen. We really need to be spewing more of this stuff into the atmosphere to improve its oxygenation. Obviously O₂ would be best, but CO₂ is much more practical, and still gets us 72%.
kazinator··on What a Massive New 728-Foot-Wide Crater Means for Future Moon Bases
> Life on the moon is likely to develop in much the same way that humans settled in far-flung places on Earth

I.e. basically not at all.

kazinator··on What a Massive New 728-Foot-Wide Crater Means for Future Moon Bases
Just build right there in that crater. Like lightning, a meteor rarely strikes the same place twice. It's a statistical law, independent random events be damned! :)
kazinator··on Reducing undefined behavior in the C language
Suppose we require it that the output flush must take place before the behavior becomes undefined by a bad division. That doesn't buy much because the visible effect is only that some bytes are passed from the stdout stream to the host environment. The undefined behavior is allowed to bring down that entire environment though; so our requirements don't add up to the certainty that the output has been transmitted out of that host system to some output device (display, serial or network, ...), or committed to durable storage. (The latter could be wiped out by the UB, even if so).

Basically, standardization groups should be dissolved long before they devolve into stuff like this, where they are just creating churn for the sake of their own continuation.

kazinator··on Show HN: Sezwhere – Ask any document "where does it say that?" (built on Jev)
My point is not to shill for a Google thing, but more that the ability to hookup the plumbing around an LLM to give answers tied to a document is something that has already long been done; it doesn't depend on "Jev".

But in terms of usability, if you can fog a mirror and move the needles on an EEG, you can probably upload documents to LMNotebook and punch in a question.

kazinator··on California bans child marriage, a practice still legal in 32 US states
22 of these are "red" states: Alabama, Alaska, Arkansas, Florida, Idaho, Indiana, Iowa, Kansas, Kentucky, Louisiana, Mississippi, Montana, Nebraska, North + South Carolina, North + South Dakota, Ohio, Tennessee, Texas, Utah, West Virginia and Wyoming.

6 more are blue-leaning "purple": Arizona, Colorado, Georgia, Nevada, New Mexico and Wisconsin.

Only four are "blue": California (ban coming into effect 2027 as per article), Hawaii, Illinois, Maryland.

I don't understand why the ban cannot come into effect immediately. Like, wouldn't want to spoil someone's child marriage plans in the next year or so because it would be rude?

kazinator··on Reducing undefined behavior in the C language
The potential for undefined behavior means ... the potential for a situation to emerge where no further requirements apply.

If you regard undefined behavior as having ordering requirements, it's game over for optimization (not to mention the current understanding of undefined behavior). Any time you have bona fide observable effects near calculation, you are hamstrung, because the potential for UB is in every nook and cranny, around every corner.

I think it's perfectly fine for the division by zero to occur before the output is produced and flushed, in that example. The UB of a bad division can time travel because a division is assumed not to have UB and can be reordered before a visible effect to which it is not related (the effect doesn't require the result of the division, nor does the division require an output tied to the production of the visible effect).

What these people are looking for is a safe calculation mode in which a bad division does something that is well-defined, like raise an exception that can be caught. That is then deemed visible, and must not be reordered w.r.t. other visible effects. And while it does hamper optimization, it is a translation mode that can be enabled or disabled around a block of code. If the programmer is certain there is no bad division, or else don't care about that being ordered w.r.t. a visible effect, then they declare a low safety level. (Which, this still being C, could be the default level).

As long as C standardization thinking remains obtuse or hostile w.r.t. this type of programmer-controlled safety level concept, they will be forever confounded by dilemmas caused by wanting intuitive outcomes that logically require undefined behavior to be partially defined.

kazinator··on Let's Ditch Google (Verb)
To web-search (two syllables)

To google (two syllables, only slightly glibber, due to no "b-s" plosive-fricative combo).

Maybe "web search" can be shortened to "bsearch" or "besearch", like "web log" got shortened to "blog".

"besearch" has grammatical precedence: bestow, bequeath, behead, bewitch, belabor, befriend, ...

kazinator··on Let's Ditch Google (Verb)
I just web-search. Let me web-search that for you. According to a web search, it's fine.
kazinator··on Let's Ditch Google (Verb)
To web-search works perfectly well. "I web-searched it". This is what I use.
kazinator··on Let's Ditch Google (Verb)
Where organically sometimes means "in service of monopolists".
kazinator··on Show HN: Sezwhere – Ask any document "where does it say that?" (built on Jev)
You can do that with Google's NotebookLM. Upload docs, ask questions where the answers are strictly referenced to the docs. I used it for "where does it say that" and other types of questions about ISO technical standards, traffic codes and other documents.
kazinator··on Reducing undefined behavior in the C language
but "previous observable behavior" just means whatever actually happened, not that it was required to be previous.
kazinator··on Reducing undefined behavior in the C language
x being a register connected to the processor's division machinery doesn't speak to the fact that division isn't a language-defined visible effect, and so the implementation is not required to schedule it in a certain way in relation to the store to x.
kazinator··on Reducing undefined behavior in the C language
> The question here is: can the compiler hoist the final division operation above assignment to x?

A division calculation not a visible effect. Therefore the question doesn't even m ake sense: it's asking: can we see something that is not a visible effect (division) before or after a visible effect (modification of a volatile object).

kazinator··on Replacing the old battery on rechargeable bike lights
Actually, I should mention that I didn't know about their corporate change from a co-op with members. My first contact with the change was my account being erased and being told to create a new one because they are "changing over to a new system". No mention of having become a different, scummy company. Basically they started out by lying to long-time customers of the old MEC that it was just their database that was changing and for some inexplicable reason, not being able to migrate the old membership accounts. Just despicable.
kazinator··on What heraldry and Japanese mon can teach about visual-identity generators
That is conscious; the page references oracle bone script / seals as being close to their concept, and kamon as being even closer.
kazinator··on What heraldry and Japanese mon can teach about visual-identity generators
I don't think you can drop the word "mon" into a conversation and be readily understood without additional explanation; what you want is "monshō" (紋章) to talk about heralds in general.
kazinator··on Nissan's third generation e-POWER powertrain
I had an automatic Micra (2016). It was a gas guzzler in the city, striking at 10l/100km at times. When shopping for a car to replace it, I did check out the 5 speed manual version. That stupidly asks you to rev 3000 RPM in 5th gear at 100 km/h. There is a 6th gear missing there, or a taller fifth: oops, fail! And they thought that someone who wants a manual car won't be needing air conditioning or power windows, etc. the idiotic, outdated thinking that the manual transmission is just an ingredient in making the cheapest possible version of the car, and not somehing that is a special feature to the enthusiast. Double fail ...
kazinator··on Pacing the Frontier is not the actual goal for AI labs
The number one goal for AI labs is obviously their self-preservation, by any means.
kazinator··on On caring for user data: NeoVim caused Vim undo files to be deleted
NeoVim is a forked continuation of Vim.

Blaming Vim is like politicians blaming the previous administration.

kazinator··on On caring for user data: NeoVim caused Vim undo files to be deleted
Nobody should have to read release notes to avoid data loss; there should never be a change such that someone who hasn't read the release notes (or missed a detail in reading them) to avoid such a problem.
Page 1 of 34Next →