HNHacker News
TopNewBestAskShowJobs

grzm

13,868 karma · joined October 7, 2016

Useful references for dealing constructively with a polarized world:

- Rapoport's Rules: https://www.brainpickings.org/2014/03/28/daniel-dennett-rapoport-rules-criticism/

- The Principle of Charity: http://philosophy.lander.edu/oriental/charity.html

- Jonathan Haidt's The Righteous Mind: Why Good People are Divided by Politics and Religion

HN Formatting rules: https://news.ycombinator.com/formatdoc

[ my public key: https://keybase.io/grzm; my proof: https://keybase.io/grzm/sigs/JL4cG6XlDp-w5TQLfYeWs1Kz_FEFTQVYbIzyc2Ri8nQ ]

submissionscomments
grzm··on Linux DCE, CORBA, and DCOM Guide (2001)
Tim Berners-Lee

https://en.wikipedia.org/wiki/Tim_Berners-Lee

grzm··on Nobody cares about your blog
> The first was started in high school in 2001 by myself and a bunch of friends, and outdates the term “blog”.

That’s definitely early, but the term blog predates it by a couple of years.

https://en.wikipedia.org/wiki/Blog#History

> The term "weblog" was coined by Jorn Barger on December 17, 1997. The short form "blog" was coined by Peter Merholz, who jokingly broke the word weblog into the phrase we blog in the sidebar of his blog Peterme.com in May 1999. Shortly thereafter, Evan Williams at Pyra Labs used "blog" as both a noun and verb ("to blog", meaning "to edit one's weblog or to post to one's weblog") and devised the term "blogger" in connection with Pyra Labs' Blogger product, leading to the popularization of the terms.

grzm··on PostgreSQL: No More Vacuum, No More Bloat
It's been object relational (and described as such) going way back. I think the most visible (if infrequently used) object-oriented feature that it has is inheritance: https://www.postgresql.org/docs/current/tutorial-inheritance...
grzm··on Ask HN: Are HN downvotes appropriate for mere disagreements?
From 'dang

https://news.ycombinator.com/item?id=16131314

> Things pg said about downvotes:

> https://news.ycombinator.com/item?id=117171

> https://news.ycombinator.com/item?id=392347

> https://news.ycombinator.com/item?id=658691

> It's how HN has always worked, and in my opinion needs to. A site that cares about discussion quality needs those white blood cells.

And as for the guidelines talking about voting:

> Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

grzm··on Car’s tires are swirling donuts of pollution
Editorialized title:

Actual title:

“Why tires — not tailpipes — are spewing more pollution from your cars”

grzm··on A case for toe socks
Yes. https://www.vibram.com/us
grzm··on Shannon's Mind-Reading Machine
From a newbie on the subject, I really enjoyed Chaos. It’s prompted a further book-buying and research spree :) Pairs well with The Information, I think.
grzm··on Total recall: the people who never forget (2017)
Although it's the same article, it's a related in the sense that the discussion happened in the past. A submission is not considered a dupe if it's been over a year since last submitted.
grzm··on Total recall: the people who never forget (2017)
'dang didn't flag it: he posted related past articles, which he often does (such as here: https://news.ycombinator.com/item?id=36278663). If he had intended to call it out as a [dupe] he would have explicitly done so.
grzm··on Why I Left Rust
> 1 : of, relating to, or involving conflict within a group

https://www.merriam-webster.com/dictionary/internecine

grzm··on Sigils are underappreciated (2022)
In Clojure (and I’m pretty sure Scheme), ! and ? are not sigils in the sense that they’re special syntax like, say, @ (which is a reader macro), or @ and @@ in Ruby: they just tend to be used by convention. ! and ? are no different than a or b.

You can read more about the Clojure reader here: https://clojure.org/reference/reader

grzm··on Clever code considered harmful
The “literal/constant first” form can be used defensively to avoid mistakenly using the wrong operator for languages that have assignment operators that are similar to equality-test operators. For example, this will cause a syntax error:

    if (true = some_boolean)
While this will silently result in an assignment of true to the some_boolean variable, not intended the equality test

    if (some_boolean = true)
Editor hints and linting can help catch this as well, but those aren’t always available (or weren’t available in the past). I think I first saw this in Code Complete 2.

Here’s some more explanation

https://softwareengineering.stackexchange.com/questions/7408...

Looks like the pattern is sometimes referred to as a Yoda expression.

grzm··on TV doctors say annual checkups save lives – real doctors call bullshit (2016)
Yup.

> Rx (sometimes written ℞) is a common abbreviation for medical prescriptions derived from the Latin word for recipe, recipere.

https://en.wikipedia.org/wiki/Rx

grzm··on The long life of Apache httpd 2.4
He redirects links from HN.
grzm··on The Cathedral and the Bazaar (1999)
grr: looks like I didn't proofread this enough, including misattributions. Attempted corrections:

----

rektide> "But I cannot broke this hit campaign you are launching, when you are so persitently cantankerous & negative, without ever going near the actual inner truth that it did remarkably connect a generation with. I wish you could have some balance & some ability to see value, Thomas."

Again, pretty charged.

There are numerous places where 'tptacek acknowledges positive aspects of the piece:

tptacek> "What's notable about Cathedral is its timing; it did capture the zeitgeist of what was an important moment in the computing field"

tptacek> "The true-feeling parts of Raymond's article read to me like a document of, for lack of a better term, late 1990s programming thinking."

And is actively engaged in furthering the discussion:

tptacek> "I appreciate getting called on this and forced to think more carefully about it. Thanks for the response!"

----

grzm··on The Cathedral and the Bazaar (1999)
Cheers. I'm glad it was at least somewhat helpful. And you've got me responding when I said I wouldn't, and that's something :)

> "I still feel like is an injustice that hurts the truth so badly,"

In my opinion, this is what you should be supporting. Providing examples that support the truth goes a lot further. Off the top of my head, a question I have is why is the cathedral/bazaar model better than the alternative 'tptacek puts forward from Gabriel's Worse Is Better or Zawinski's CADT model at describing open source? (https://news.ycombinator.com/item?id=35941338) What in particular do you find useful and true in CatB that you believe 'tptacek is dismissing unfairly?

> "how the room is so happy to stick to Thomas here."

One doesn't have to agree with 'tptacek to think your comment was unhelpful. It's not zero-sum, or us-vs-them.

I'm not great at contentious discussions (particularly on internet forums). Your "I still struggle with..." resonates with me: it's something I find myself thinking in situations like this. The best I can do is try to catch myself, and figure out how to express what I'm trying to get across in ways that move the conversation in a constructive direction. Easier for me to say than to do.

grzm··on The Cathedral and the Bazaar (1999)
rektide> "Edit: anyone care to speculate on why I'm so quickly at -2? I think there's perhaps some ideogical disagreement here but it's not clear what is so principally intolerable about a perspective against such persistent & vociferous negativity."

My speculation: you're reading a lot more heat into 'tptacek's comments than is there, and raising the temperature of the discussion unnecessarily. For example:

rektide> "My god man."

rektide> "I don't see how you can so callously disregard the most central message & imagery of this book. Yes, the individual ideas are ill spoken & poorly emphasized pieces of the key revelation"

I don't read 'tptacek as callously disregarding anything. Those examples are used to support esr's thesis, and to use them to test whether or not the thesis is supported is fair. And "callously disregarding" is pretty charged language.

rektide> "...and in your 9 comments here so far you have nothing but bile to spill about them perhaps rightly."

Again, "nothing but bile" is pretty charged and in my opinion an inaccurate description of his comments. The most arguably hyperbolic part I read from him is "I think a case can be made that this is one of the most overrated pieces of technical writing of the last 25 years, and even that is tempered by the preface "I think a case can be made that". There are places where he's pretty declarative in his language, but nothing I read is pejorative or an attack/

rektide> "But I cannot broke this hit campaign you are launching, when you are so persitently cantankerous & negative, without ever going near the actual inner truth that it did remarkably connect a generation with. I wish you could have some balance & some ability to see value, Thomas."

There are numerous places where 'tptacek acknowledges positive aspects of the piece:

tptacek> "What's notable about Cathedral is its timing; it did capture the zeitgeist of what was an important moment in the computing field"

And is actively engaged in furthering the discussion:

tptacek> "I appreciate getting called on this and forced to think more carefully about it. Thanks for the response!"

rektide> "The true-feeling parts of Raymond's article read to me like a document of, for lack of a better term, late 1990s programming thinking."

Again, pretty charged.

Anyway, that's what I think is likely the cause of the downvotes from reading your comment in the context of what 'tptacek has written. But of course, I'm not a mind reader.

(I'm just sharing my impressions because you asked and in the hope that you find them useful: I'm not likely to follow up in this thread because discussions of downvoting and tone are rarely useful. I question the utility of me even posting this response.)

grzm··on New York City passes law barring weight discrimination
I agree that accessibility is a good thing!

> [T]here are a LOT more tall people than overweight people.

Just to put some numbers to the facts:

https://www.nyc.gov/site/doh/health/health-topics/obesity.pa...

> More than half of adult New Yorkers have overweight (34%) or obesity (22%).

Even if you're using a definition of "tall" meaning "taller than average" (50%), a larger percentage of the people are overweight in NYC.

grzm··on Ligatures in programming fonts: hell no (2019)
> ... if you’re prepar­ing your code for oth­ers to read—whether on screen or on pa­per—skip the lig­a­tures.

Here he's referring to code in books, slide decks, and during presentations, not for editing.

Just below the section the above quote is pulled from, Butterick explains

> One in­spi­ra­tion for this piece was the La­TeX crowd, who would rou­tinely write me to in­sist their ty­pog­ra­phy was in­fal­li­ble. And yet. I kept see­ing La­TeX-pre­pared books that in­cor­rectly sub­sti­tuted curly quotes for back­ticks.... “But code sam­ples like these aren’t really am­bigu­ous, be­cause every­one knows that you don’t type the curly quotes.” ... But many of to­day’s pro­gram­ming lan­guages (e.g., Racket) ac­cept UTF-8 in­put.... So am­bi­gu­ity is a real pos­si­bil­ity. Same prob­lem with ligatures.

grzm··on Intel One Mono Typeface
And your example about CSS and browsers is exactly this. There can be information added to indicate how things should be displayed, but it’s ultimately up to the renderer. All the tricks used to adapt to various ways browsers render the same data, and sometimes the same (font and CSS) data in different contexts (say, as part of a <p> vs part of an <input>) in the same browser.
grzm··on I stopped worrying and learned to love denormalized tables
> Who decided the point of using databases is normalization? Where is that coming from? Relational databases have existed before the concept of normalization existed.

Ted Codd, the guy who wrote A Relational Model for Large Shared Data Banks, the paper that introduced the relational model. The first section is entitled “Relational Model and Normal Form”

https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf

https://en.wikipedia.org/wiki/Relational_model

https://en.wikipedia.org/wiki/Database_normalization

Projections (think views) and indexes (which are generally on-disk projections) are not disallowed. The point is that the logical representation is normalized. The logical representation and the on-disk or in-memory representations are not the same thing. There’s nothing in the logical model from preventing you from having different representations for performance or other reasons. This has been obscured somewhat by the common implementations of relational databases where the on-disk and logical representations are often the same, which tends to make people think they have to be the same. That’s not the case.

grzm··on Ligatures in programming fonts: hell no (2019)
I'm not familiar with Julia, but I think a useful distinction can be made between input methods and ligatures. An input method is what you have to type to get a particular "code point" or character. Japanese, for example, is often typed using a latin keyboard, and as latin characters are typed, the application substitutes the appropriate Japanese character code point. For example, if I type the characters "n" (U+006E) and "i" (U+0069) using a Japanese input method, a に (U+306B HIRAGANA LETTER NI) (or 二 U+4E8C CJK UNIFIED IDEOGRAPH-4E8C or ニ U+30CB KATAKANA LETTER NI, or others as the case may be) can be selected to be entered. The actual character bytes will be substituted. You typed "n" and "i" but what gets stored is U+306B.

This is in contrast to ligatures: say if there's a fi ligature, I type "<" "=", and the "≤" character is substituted during rendering, but the individual characters are still the "character string". (You could also choose to directly insert the "≤" character directly, and that would then be a single code point, but I think for the purposes of this discussion, people are mostly talking about cases such as when the character string "<=" is rendered as "≤".

If Julia (like APL) uses characters outside the ASCII range as syntax, I suspect that there are input methods to assist in entering them as opposed to ligatures representing them on screen. But that's just naïve supposition on my part.

Another interesting case is TLA+ [1], where the language shares some LaTeX operators which can be rendered for display.

[1]: https://lamport.azurewebsites.net/tla/tla.html

grzm··on Ligatures in programming fonts: hell no (2019)
> how many seem to read the text it feels to them touching their privates and need to make themselves vent off.

Not dissimilar to those choosing to highlight the worst aspects of comments rather than addressing them in good faith. Please don't make things worse.

grzm··on Ligatures in programming fonts: hell no (2019)
> Yes. On my computer. In my editor. That I am using…because I like ligatures, because they make my code easier to read. For me.

Later in the submission, Butterick addresses this directly, and doesn't disagree:

> “What do you mean, it’s not a mat­ter of taste? I like us­ing lig­a­tures when I code.” Great! In so many ways, I don’t care what you do in pri­vate. Al­though I pre­dict you will even­tu­ally burn your­self on this hot mess, my main con­cern is ty­pog­ra­phy that faces other hu­man be­ings. So if you’re prepar­ing your code for oth­ers to read—whether on screen or on pa­per—skip the lig­a­tures.

grzm··on Ligatures in programming fonts: hell no (2019)
This submission itself is hosted at practicaltypography.com (https://practicaltypography.com/ligatures-in-programming-fon...)
grzm··on Intel One Mono Typeface
If that's the shape the font designer wants for the ligature glyph, yes. IIRC, Tonsky's Fira code is designed with this in mind (https://github.com/tonsky/FiraCode) (Butterick uses Fira Code as his example.)

But maybe it's the intent of the designer to have each glyph have the same width, not each "character", so the glyph LESS-THAN OR EQUAL TO (≤, https://www.compart.com/en/unicode/U+2264) would be the same width as < or =: it's ultimately up to the application/typesetting engine to decide whether or to substitute the character string "<=" as "≤", and to see if the font _has_ that character and how to render it to the screen.

I suppose you could have the typesetting engine choose to somehow read the two characters, note that there's a ligature substitution, and "fit" the ligature glyph into a two-character space (say, padding the glyph or horizontally stretching it), but I doubt that would be very pleasing.

But ultimately what gets displayed is up to the typesetting engine: it can choose to use or not use ligatures; it can choose the spacing between glyphs; whether to "fake" certain styles (such as italics), text justification — all sorts of behavior. Good typesetting is available in many more applications today than it was, say, 25 years ago. There was all kinds of janky behavior going on, both from the engines not using information in the fonts when it was available, and faking it or overriding it as well.

grzm··on Intel One Mono Typeface
Yup. It's the browser that's choosing to display this. As 'gdwatson pointed out, the font can indicate which ligatures are available, but whether or not the substation occurs also depends on the typesetting engine.
grzm··on Intel One Mono Typeface
> If the editor implements OpenType ligatures, it will read the instructions from the font and implement them.

Exactly.

grzm··on Intel One Mono Typeface
Can you provide an example of the font doing this? Substitution of individual characters with ligatures is in my experience a feature of the typesetting/display engine (which decides how to represent the "bytes" as glyphs), not the font itself. Indeed, this ligature substation is often something you can toggle in whatever application you're using if it's capable of doing the substitution at all.
grzm··on Ask HN: It's 2023, how do you choose between MySQL and Postgres?
nit: psql is the command line client. postgres or pg are the more common shortenings of PostgreSQL.

https://www.postgresql.org/docs/15/app-psql.html

← PreviousPage 2 of 34Next →