HNHacker News
TopNewBestAskShowJobs

Paul_Clayton

47 karma · joined August 29, 2024

submissionscomments
Paul_Clayton··on Be careful what you measure
For a book, the local value of a page may not accurately represent the value added to the completed book. In fiction, a relatively boring page may be intentional as a kind of palate cleanser. In non-fiction, an early hard to understand section may make later sections easier to understand and avoid unlearning.

In programming, it may be challenging to distinguish between You Aren't Going To Need It (wasted work that adds complexity) and brillant foresight that avoids trying to retrofit an abstraction over independently developed code.

I am not sure that a manager needs to reliably judge the quality of the product to reliably deliver quality products. Judging skill and integrity (and promoting the development of such) does not seem to require having the same skill.

Paul_Clayton··on Doing Everyone Else's Job
I suspect a programmer working for a well managed business might be willing to work unpaid overtime to tidy up code from professional pride. Personal feelings do not generate monetary profit (at least not directly) but have value to workers; the worker's and the management's values are not completely aligned.

This seems to be a wisdom issue both for the worker (e.g., avoiding burnout or even just resentment) and the management (workers who have external principles can be more valuable but they can also be more difficult to manage even decently, i.e., with average ROI)

Your comment reminded me of Bunny the accountant's statement that Skeeve must charge the going rate to have the kingdom on a rational budget and Skeeve deciding to refund taxes to those who complained the most (in one of Robert Asprin's Myth Inc. books). What could possibly go wrong? :-)

Paul_Clayton··on Doing Everyone Else's Job
I agree that heroic effort can hide a resource allocation issue, but often the goals of those controlling resource allocation are not well aligned with the hero's goals. By no longer buying supplies for a student, a teacher is not going to get the school system to provide free supplies.

In terms of work in the job description, I could probably be replaced by 1.2 (1.1?) average competent workers. In terms of other benefits of my employment to coworkers and patrons, my impact is hard to estimate. Others bring in goodies for snacking, but I maintain a consistent but limited selection of snacks; others may spend as much or more money per year on snacks, but knowing that certain snacks will be available has significant value.

While I would have liked being promoted one level (from library page to library aide, from shelving only to shelving and check-in), higher positions have responsibilities I would have found extremely stressful. I was passed over twice for a promotion supported by my immediate supervisor (the decision was made by higher ups, the second time my supervisor was miffed that his input was not given more weight) and I had a meltdown at the interview for a third chance when technical issues (not working audio in an online interview) forced cancellation of the interview. I took my reaction as evidence that I was not ready for more responsibilities.

The first time I was not promoted, I was not especially bothered; the person getting the job was competent and went beyond minimal effort. The second time I was told that I would probably get the job (which I think was part of why my supervisor was not happy about my not even getting an interview) and the person getting the job seemed (after some observation) to be less competent and less enthusiatic than the previous transfer. (I think this estimate was not derived entirely from my disappointment: my first impression was "this is a library person" (glasses et al.). Perhaps seeing a library person not seeming enthusiastic about working at a library may have soured me more than if I had no hints of a kindred spirit.)

I like helping my coworkers (I like most of them and dislike none), but shelving books is not that team-oriented. I do not want to manage people (I am not good at it and do not enjoy it).

Paul_Clayton··on Let's make quality the norm again
I think reputation and warranties are insufficient. While building a reputation may be expensive, destroying a reputation can be profitable (in the short term). Warranties can also be made less effective by making the buyer spend excessive time and effort to enforce the warranty. The company sets the terms and effectively their interpretation, so after two years of waiting, nudging, waiting, complaining, waiting, threatening, and waiting one finally gets an "equivalent value" replacement (and the warranty clock was running during that time).

The company might also go bankrupt with much of its profits having gone to owners and decision makers who are not bound to honor the warranty.

Paul_Clayton··on Coyote v. Acme (1990)
I wonder if ads (not 20+ minutes straight of ads!) would be less annoying if they were diverse and even moderately entertaining.

E.g., have a customer standing in front of the concession stand saying "Man, the popcorn costs an arm and a leg." followed by an alien with many arms and legs saying "Here, I'll pay." detaching an arm and a leg. The original speaker leaves with his popcorn and the alien buys itself some popcorn (another arm and leg taken off), takes a taste and says "Mmmm. Worth it!" (That might not be a great ad, but I am not that clever at advertising. However, I think that would at least make me smile if not laugh, and a professional should be able to find better concepts and execute them well.)

Having modestly different versions (like openings for The Simpsons) could be a cost effective way to made different versions that could actually draw attention by trying to see what is different and to see Easter eggs for movies for frequent theater goers (or those staying for a double feature).

With big time movies, the movie production company could provide one or two generic ads with various small variations (like a character from the movie being shown or being promoted with a earlier trailer sitting down next to someone in a theater "watching" a trailer who says "I clearly got here too early." to which the character says "That's why took the time to stop by the concession stand" and waves his box of Milk Duds (or other item from the concession stand) while holding a drink in the other hand.

I think there are so many ways to make advertising less annoying. However, even with no repeats and interspersing ads with trailers and shorts (possibly with some product placement, i.e., subtle advertisement), twenty five minutes sounds painful. Entertaining, or at least mildly interesting, advertisement also requires more effort and some appreciation of the audience. Why bother when one has a captive audience? Even with good targeting information, there is also the problem that those wanting to buy the movie goers time/attention may not be selling something of interest (though I could enjoy a clever car ad even though I do not drive and have a slight anti-car bias). With low effectiveness of ads (and so selling price), their number would be increased to compensate for individual ineffectiveness even if the theater is not especially greedy. Driving away movie goers with more ads, then means even more ads need to be shown to compensate for the reduction in eye count.

I have not gone to a movie for about a decade — Interstellar, which was released in 2014 — and I did not really enjoy the experience. Beside problematic aspects of the movie, the sound volume was not comfortable, the social environment was not comfortable, and I went because my host family urged me to go. However, there was not a long feed of ads, so that experience was relatively good. Anyway, I may not be the best person to ask about the contemporary movie going experience.:-)

Paul_Clayton··on The case against a C alternative (2022)
I would guess that rate of benefit relative to divergence from idiomatic purity might also be significant. If a little clutter gains a 50% improvement with language A but only a 10% improvement with language B, language B having a 15% advantage under idiomatic expression may not be that significant.

But, yes, terms like "the speed of C" do not seem especially useful.

Even "equal effort" ignores the complexity of the effort-to-benefit function as well as maintainability issues and other considerations like finding good programmers who want to use the language.

Reality seems to be very complex.

Paul_Clayton··on The case against a C alternative (2022)
If a language can produce the same machine code (including dynamic patching) as a second language, that second language can at best only equal the runtime characteristics of the first. The development and maintenance costs can be very different.

I am not certain if C (apart from inline assembly) can generate all possible machine code, and some translations can be fragile (autovectorization, e.g.).

Paul_Clayton··on The case against a C alternative (2022)
I think more recent languages also provide abstractions that reduce the frequency of off-by-one errors. Type systems also seem to have improved.

Unfortunately, even having tools that eliminate simple errors (like spell checkers and grammar checkers in ordinary writing) does not remove reasoning errors or clarity/conciseness issues.

(Efficient resource use is another dimension besides correctness and maintainability. Using an O(NlogN) method versus O(N×N) may be a mistake when N is small, but tools may lack the domain or profiling knowledge to detect such a mistake. Programming languages also seem to generally lack a way to express the importance of tail resource use, so even with profile information a tool might optimize for mean resource use.)

I think more recent languages have also attempted to increase clarity and conciseness by abstraction and consistent syntax. A newer language may also have more idiom consistency (some of the natural idiom divergence may be less more recently with easier communication -- the Internet functioning like cheap books did for spelling?).

I am not a programmer, but I do like thinking about such things.

Paul_Clayton··on A 25-year-old video patent just expired, ending a legal headache for Linux
Would having prominent "cancel order" and/or "edit order" buttons and delayed payment processing have sufficiently reduced the support costs for such cases? (I am guessing not since such is an obvious method of providing a fast/easy default with a somewhat easy undo, but sometimes the obvious is missed or turns out to add problems -- like people seeing a prominent "edit/cancel order" and assuming it meant 'confirm/place order' as used by every other site.)
Paul_Clayton··on That time when I failed the Microsoft interview
I think a microscopic black hole would evaporate very quickly from Hawking radiation, so the result might be more bang than suck.
Paul_Clayton··on Are AI labs pelicanmaxxing?
In D&D, min-maxing (hyphen and one x) is already a used term for character optimization, minimizing undesirables and maximizing desirables (I guess).

Minimizing peaks is probably not a good strategy generally. Even low peaks may have some benefit ("if you know your problem is in this domain and performance is critical, this tool offers a 3% advantage").

Minimizing troughs may be more attractive. People generally seem to react more strongly to negatives and competitors can devise benchmarks which emphasize one's troughs.

While a universal expert would be convenient and broad knowledge aids some forms of creativity, specialization has substantial advantages.

Trading max performance (primary metric of concern) for some improvement in a secondary metric often makes sense and that could be an interpretation of "minmaxxing", reducing the over-emphasis of a single metric which would otherwise be maximized.

Paul_Clayton··on Acronym Fatigue Series Introduction: why I'm wary of acronyms
For poetry, I think English has the advantage of Germanic and Latin roots. Such seems to offer some flexibility in tone.

The relative lack of conjugation and declension seems to hurt by constraining word order and reducing opportunities for sound similarity. Of course having rhymes be common also tends to reduce their impact.

Inflection (I think) is part of the cause of extra syllables, so has multiple impacts.

The length itself does seem to add something to the flow/lyricism, but I wonder if there is also a stronger sense of sound whereas English may be more a little more chaotic (not just having multiple roots but borrowing words more often).

Paul_Clayton··on Acronym Fatigue Series Introduction: why I'm wary of acronyms
One can look at abbreviations as being like pronouns with the antecedent sometimes being stored in a cultural context or being placed at first reference in a potentially longish text.

Like pronouns, the 'antecedent' may be unclear causing difficulty for the reader. However, pronouns and abbreviations can help communication and be convenient to the reader.

Acronyms have the advantage of being pronounceable and so treated more naturally as words.

Like jargon, when the context is a historical first reference rather than first reference within a text of moderate length, the meaning can be obscure to those not familiar with the context. (One of my college essays was faulted for using "inertia" in the physics sense, specifically that a body in motion tends to remain in motion which is contrary to the common use of inert/inactive/unmoving. It was a natural use to me, particularly for the image used, but it was wrong for the audience.)

Assuming familiarity is a common human flaw (xkcd: https://xkcd.com/2501 ). As has been mentioned this can also be used for in-group/expertise signalling. Yet density in communication does have value. (Math would certainly be tedious if every proof started from axioms.)

I agree that being unclear is bad, especially for mere convenience. On the other hand being verbose can be tedious and even insulting (by implying a lack of familiarity with matters obvious to the reader).

I thought the main problem with initialisms was not ambiguity but unfamiliarity. Yes, there are many AMAs and sometimes the local context is insufficient to remove ambiguity (in which cases the initialism might be expanded for clarity or context clues added). However, my experience has been more often that intialisms had no meaning to me (beyond immediate context) -- a vocabulary issue -- than my being uncertain which meaning was intended (ambiguity).

Specialized terms like the "Social Contract" can use capitalization to indicate a jargon use and the plain sense of the words does give some clues to the intent, but such can also risk a false sense of comprehension. The writer would actually be depending on the reader's familiarity with the jargon use.

(I wish Page Table Cache had been adopted instead of Translation Lookaside Buffer even though tee el bee seems to flow more more easily from the tongue. Besides being more complete -- a TLB also caches permissions and other page table entry information and could cache page directory entries -- "cache" has a modern jargon sense closer to the typical design and "lookaside" typically does not apply to L2 TLBs.)

Communication is difficult and taking the time to choose the very best writing is rare. Even with care, migration of word meaning or connotation can make a choice worse than alternatives (and the migration can be across cultures and not just across time).

[I am not concise, but I still like initialisms.]

Paul_Clayton··on Has_not_been_viewed_much
How about rarely_viewed? Such expresses the property of interest, avoids the double negative issue, and is shorter?

Of course rarely might imply a frequency much lower than the cutoff and infrequently has a bit of the double negative issue. Tradeoffs.

Paul_Clayton··on A new book about humanity's obsession with gold
The History Guy did a video on "The History of Aluminum": https://youtu.be/Nx16c6SB4kQ?si=jqaObtbTp3uNNjj3

From what I recall of the video, two people independently worked out the chemistry for cheaper aluminum. (I believe the video also mentions the source of the aluminum/alumininium name difference.)

Paul_Clayton··on Movies Are Too Long
I would not phrase the means of approaching best length as "edit out everything that's not 100% necessary" but as something more like "make every scene count/pull more than its weight". The former, to my mind, tends to associate with small goals and a pure utilitarianism that falls short of excellence. I doubt you meant anything like that.

I certainly agree that "Great scenes will server two or more purposes". A scene can advance the plot, display who the characters are and who they may become, foreshadow or rationalize future plot elements (or present red herrings), introduce worldbuilding depth, manage the emotional state of the audience (comic relief is a simple example), etc. I would not be surprised if a great scene can also so elevate other scenes that its relative greatness may be less obvious because it makes the whole greater than the sum of its parts in isolation.

I very rarely watch movies (even less often in a theater) and I do not have a drama or fiction writing background, but even a "little learning" about the theory hints that bulk is easier to achieve than extensive excellence.

Paul_Clayton··on What is RISC-V and why it matters to Canonical
When ARM moved to 64-bit the ISA was much more substantially reworked than for AMD's x86-64 transition (which mainly added modes and repurposed INCrement and DECrement to provide the REX prefix which provides a 64-bit size specification and one additional bit for register name specifiers; obviously the page table format also changed). I am not particularly familiar with AArch64, but I got the impression that the main retained cruft from 32-bit ARM was condition codes and the tradeoffs of providing condition codes would lead some not to consider such cruft. The use of four bits for almost every instruction to support predication was eliminated — which was a major cruft point for 32-bit ARM — and the legacy of shift and perform ALU operation orientation of the original ARM (which had timing slack from the slowness of instruction fetch) was de-emphasized.

AArch64 is accumulating cruft, perhaps particularly with respect to SIMD, but it is less crufty than x86-64.

ISA modularity/diversity can be useful for embedded systems, where the software is really firmware. If one is going to have to provide a diversity of compilation targets via either a common distribution format that is compiled to the local machine code or an app store that receives a software format that can be compiled to diverse, the best distribution format (to users or the app store) is likely to be significantly different than an encoding best for direct execution.

Some optional features can be hidden by system libraries (particularly when the main use of the feature is suitable for a separate accelerator). E.g., an instruction that performs a round of AES encryption could be hidden behind an encryption library. However, some uses of an AES instruction involve a very short "message" for which library overhead would be excessive or for which good enough software alternatives would be faster than actual AES.

Indexed memory accesses and conditional select/move, for example, are not really suitable to system libraries (or trapping to software even with a very fast trap handler).

ISA scaling is not necessarily a good design feature. An ISA optimized for the market targeted by ARM M Profile is unlikely to be optimal for future 16-wide decode high performance processors. E.g., if a context only has 16 registers, using 5-bit register specifiers is suboptimal even though it allows software to be "upward compatible" with a 32-register design.

Paul_Clayton··on Code is run more than read (2023)
While increasing dealer revenue is a plausible goal, it also seems plausible that reducing production cost could cause awkward maintenance. It is even plausible that only the bill of materials would be considered, though the feedback loop for increasing assembly cost is much tighter and less noisy that the loop of end-user dissatisfaction with maintenance issues.

Even within an organization, creating externalities from one department's perspective seems common enough.

Even if a decision maker is aware of the possibility of externalities and cares about a broader constituency (temporal or "spatial"), evaluating actual costs is an expense as is justifying that investigation expense and any mitigation/avoidance expenses to others in the decision web.

Paul_Clayton··on Some Unusual Trees
The PhD Movie introed with Richard Feinman's statement "I don't know anything, but I do know everything is interesting, if you go into it deeply enough."

Feinman was a curious character.

I suspect that with even a modest breadth of knowlegde a deep investigation of anything brings associations with existing knowledge (interest), unexpected connections and exceptions.

Paul_Clayton··on Some Unusual Trees
That clause reminded me of Popeye's "I can't stands no more" and I took it as an expression of considerable annoyance along with a sense of humor.
Paul_Clayton··on I prefer OG style websites – what are yours?
I think one should use ex/em units when setting a maximum width for readability. People with poorer vision will tend to prefer a physically larger font size. Pixels can also vary in size for different displays. (I am not a web developer but I do have poor eyesight and delay getting new glasses.)
Paul_Clayton··on How many branches can your CPU predict?
By only testing one static branch, it is possible that the performance of the Intel Emerald Rapids predictor is not representative of a more realistic workload. If path information is used to index the predictor in addition to global (taken/not taken) branch history without xoring with the global history (or fulling mingling these different data) or if the branch address is similarly not fully scrambled with the global history, using only one branch might result in predictor storage being unused (never indexed). Either mechanism might be useful for reducing tag overhead while maintaining fewer aliases. Another possibility is that the associativity of the tables does not allow tags for the same static branch to differ.

(Tags could be made to differ by, e.g., XORing a limited amount of global history with the hash of the address.)

It is also possible that the AMD Zen 5 and Apple M4 have similar unused predictor capacity and simply have much larger predictors.

I did not think even TAGE predictors used 5k branch history, so there may be some compression of the data (which is only pseudorandom).

It might be interesting to unroll the loop (with sufficient spacing between branches to ensure different indexing) to see if such measurably effected the results.

Of course, since "write to buffer" is just a store and increment and the compiler should be able to guarantee no buffer overflow (buffer size allocated for worst case) and that the memory store has no side effects, the branch could be predicated by selecting either new value to be stored or the old value and always storing. This would be a little extra work and might have store queue issues (if not all store queue entries can have the same address but different version numbers), so it might not be a safe optimization.

Paul_Clayton··on The 49MB web page
The Triptych Proposals [1] cover a lot of common use cases for submitting information to a server and updating part of a page. Something like that should have been possible to implement early in web history (I perceive some similarity to frames).

Modern CSS (and some newer HTML features) also reduces the need for scripting.

I very much doubt that "Enabling scripting was a necessary step for interactive websites." (emphasis added). It may well have been the most convenient and fastest way to get the functionality to the most users. With Javascript each website could provide functionality without waiting for such to be implemented by all browsers.

However distribution of power also leads to more complex trust relationships (even if one is confident that sandboxing is effective). Independent implementation also leads to more complexity overall.

[1] https://alexanderpetros.com/triptych/

Paul_Clayton··on Ask HN: How to be alone?
This reminded me of the CPC Grey video "7 Ways to Maximize Misery" https://youtu.be/LO1mTELoj6o?si=7tWgqLPyug0-NC6Z (which is not specifically about loneliness).

That video did not really include self-medicating (except as screen time can be self-medicating for boredom and tiredness); I tend to self-medicate anxiety by simple logic games (picmi, sudoku, kmines — all but the last also avoid failure) which wastes a lot of time. (Drinking water seems to be a somewhat less harmful form of self-medication; it has similar sensory benefits to eating — not as attractive as sweet, salty, fatty foods but it seems somewhat similar — and distraction but overdrinking water seems more difficult.)

Written from my allroom.

Paul_Clayton··on Science Fiction Is Dying. Long Live Post Sci-Fi?
I disliked _Always Coming Home_, substantially because it felt misandrous though the less optimistic setting probably also played a role (a post-industrial Earth with a rape victim as the "protagonist" and not a heroic victim who transforms evil and suffering into good). It did seem to be exceptional in literary quality, a strong extension of the divided story mechanism in _The Dispossessed_ (and _The Left Hand of Darkness_? — I do not remember how that novel was laid out). I did not listen to the audio produced for the books, so I did not receive the full experience, but the literary quality of the novel was excellent (in my opinion). (I especially liked the simple squirrel drawing, an odd bit of trivia to remember.)

(I thought the acknowledgement of life when killing a mosquito was an interesting cultural aspect.)

I did kind of wish that a monastic-like community (or university?) had been presented as seeking more benefit from the City of Mind. Unlike the tribe that asked how to make airplanes (which failed in their military objective), the monks/scholars would train to ask good questions, seeking to restore the land and encourage communication and cooperation among humans. Having even a small bunch of humans interested in such larger issues would have been more optimistic (and perhaps realistic as the existence of an actual Oracle might encourage some people to be scholars, making connections and asking questions). Of course, a ten volume novel would have been even less popular, and LeGuin clearly was motivated to write a more gritty novel.

Paul_Clayton··on 15 years of FP64 segmentation, and why the Blackwell Ultra breaks the pattern
The Motorola 88k and 68k both supported (eventually) extended precision, and, of course, Itanium supported it for x87 compatibility.

https://en.wikipedia.org/wiki/Motorola_88000 (under "Registers": "32 80-bit (88110 only)")

https://en.wikipedia.org/wiki/Extended_precision (see section titled "IEEE 754 extended-precision formats")

Paul_Clayton··on What is the nicest thing a stranger has ever done for you?
When returning to Washington University in St. Louis, I was walking a few miles with some luggage. Someone offered to carry one piece with me to the dorm. It was only after reaching the dorm that I realized she was barefoot!
Paul_Clayton··on CEO pay and stock buybacks have soared at the largest low-wage corporations
Even personal recommendations have the problem of requiring significant use time (c. a year?) to estimate value. A company can (it seems) degrade quality for a model faster than quality can be evaluated by normal use.
Paul_Clayton··on What medieval people got right about learning (2019)
Most parts of the liturgy are teaching. Scripture readings might compare with text book reading; the Lord's Prayer and other formulaic recitations are often taken from Scripture.

The eucharist is more "ritual" than "overt teaching" but it is meant to call to mind one loaf -> one body and the cost of forgiveness.

The earlier poster's point was more "with similar goals in mind" (i.e., "to create a shared understanding of the world, a nation") rather than emphasizing the mechanism (I think). "Marketable skills" is different from social/civic skills/responsibility.

Paul_Clayton··on Poorest US workers hit hardest by slowing wage growth
"higher prices for the consumer" can include lower value at the same price. Size reduction seems a common method for certain commodities. This may result in reduced consumption (e.g., a consumer buying one package of ice cream every other week), as well as increase customer dissatisfaction when the change is noticed, and it can increase packaging cost per unit weight/volume.

Other ways of reducing value are possible such as reducing quality control effort, reducing quality of inputs, and reducing manufacturing costs in ways that are known to reduce product quality.

Pushing costs to effectively underregulated externalities can also avoid price increases.

It is also sometimes possible to increase efficiency. Even a long term commodity can have potential for efficiency improvements that were considered not worth exploring under stable pricing pressures. (I suspect value reduction is easier and much faster than efficiency improvement.)

Sadly, reducing value can have a disproportionate cost to consumers. Reducing manufacturing costs for a Watchman's boots by 20% may reduce the lifetime of such by 30% and reduce the quality of use by 50% (which may be related to Samuel Vimes' theory: https://en.m.wikipedia.org/wiki/Boots_theory ).

Page 1 of 2Next →