Live data from Hacker News

What did Ada Lovelace's program actually do? (2018)

twobithistory.org

71–80 of 138 posts

Re: What did Ada Lovelace's program actually do? (2018)

#71
post #65

Earlier quoted context omitted.

I had an employee like that. He'd want to do something, and hit a roadblock, so he'd design his own tool (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). Best damn engineer I ever knew, but I had to keep an eye out for rabbitholing.

> (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). That's similar to how Donald Knuth came up with TeX and Metafont.

I'm told the story of Godbolt[0] is similar.

I think that he has an ID here, so we could probably ask him. It's a very good tool.

[0] https://godbolt.org

Re: What did Ada Lovelace's program actually do? (2018)

#72
1 - 1 + 1 - 1 + 1 - 1...

I rabbitholed with that years ago while playing around with Python, probabilities and infinity. That "thing" was discovered by a religious guy who thought it had something to do with God, as a series that created something from nothing, and harassed a famous Calculus mathematician for years to study it. I found it's related to Thomson's Lamp, and I'm convinced it hides the key to a new kind of Math, beyond quantum computing: supertasks.

The deepest I went into the problem was classifying those supertasks like Grandi's, Thomson's, the sum of all natural numbers, and there are others, but they form patterns.

Re: What did Ada Lovelace's program actually do? (2018)

#73
post #68

Regarding the dispute of whether Ada wrote the first program. On a related topic, I believe that credit for the invention of hashing should go to certain scholars in China. The invention of a data structure and algorithm must not be confused with its first implementation in electronic computers. For at least a century before the computing revolution, hashing was used in China to find characters in dictionaries. First…

The Four Corner Code is not really a hash, just an index. Do you have evidence of the use of unnatural, random-looking "hash" functions for the sake of an even distribution? That's the key insight that makes a hash table what it is.

Four corner code is foundational to modern hash tables and helped with collision resolution.

Re: What did Ada Lovelace's program actually do? (2018)

#74
post #68

Regarding the dispute of whether Ada wrote the first program. On a related topic, I believe that credit for the invention of hashing should go to certain scholars in China. The invention of a data structure and algorithm must not be confused with its first implementation in electronic computers. For at least a century before the computing revolution, hashing was used in China to find characters in dictionaries. First…

The Four Corner Code is not really a hash, just an index. Do you have evidence of the use of unnatural, random-looking "hash" functions for the sake of an even distribution? That's the key insight that makes a hash table what it is.

The 4cc gets a decent distribution in that you don't have to examine very many collisions to find the character you're looking for (or conclude it's not found).

A poor distribution is an obvious bug in hashing; if you don't suffer from that bug, you don't have to do anything. If you have the bug, it's obvious you have to change your hash calculation to avoid it. The developers of 4cc may have struggled with bugs where they had buckets that were too large for efficient searching.

Convoluted hashing functions are not always used for hash tables. When hash tables are pointers (e.g. object identities themselves are used as keys to associated objects with additional properties), sophisticated hashing functions are not needed; e.g. simply extracting a few bits of the pointer, avoiding the lowest bits (which might all be zero due to alignment!).

I believe that the 4cc dictionaries hit upon the key insights of hashing: calculating a numeric key from an object which then directly identifies a small search bucket.

The Four Corner Code abandons semantics like radicals. Codes are assigned according to certain stroke patterns in the four quadrants of the character, without regard for their semantic role. The inventors hit a key insight there: that any way of calculating a hash code is valid as long as it can be consistently followed, and leads to short searches. The function can look at meaningless fragments of the object (exactly like when we take the middle bits of a pointer). A character's etymology need not play any role in how it is digested. Whereas in the radical methods, you have to know that for instance 火 and 灬 both mean "fire" and are understood as the same radical #86. So in some sense, the predecessor methods like radical indexing may have been almost-hashing. It's hard to argue that 4cc isn't.

Re: What did Ada Lovelace's program actually do? (2018)

#75
post #50

Earlier quoted context omitted.

I had an employee like that. He'd want to do something, and hit a roadblock, so he'd design his own tool (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). Best damn engineer I ever knew, but I had to keep an eye out for rabbitholing.

> He wrote his own font, once, because he didn't like the way... Wonder how many folks here have done the same thing, building and discarding in the throes of creation like tibetan monks: https://en.wikipedia.org/wiki/Sand_mandala

I've used fontforge out of curiosity before, but never kept what I made.

I am still using a custom mouse cursor I made almost 20 years ago.

Re: What did Ada Lovelace's program actually do? (2018)

#76

Earlier quoted context omitted.

Probably not, it's stated in the TFA, the controversy is because Lovelace was a woman and some people think propping her up is basically a DEI retcon in history, the rest of us don't care. But I don't think it's anything whatsoever to do with actual computers

https://en.wikipedia.org/wiki/Ada_Lovelace#Controversy_over_... > All but one of the programs cited in her notes had been prepared by Babbage from three to seven years earlier. The exception was prepared by Babbage for her, although she did detect a "bug" in it. Not only is there no evidence that Ada ever prepared a program for the Analytical Engine, but her correspondence with Babbage shows that she did not have the…

It's always been strange to me, given that Lovelace's program was a note in some documents that she was preparing under Babbage's directions as a scribe of sorts, that so many people assume it was her work and not Babbage's. Based on other details of her life she was clearly a very intelligent and talented woman, but the obsession with attributing the first ever computer program to her seems entirely ideologically motivated.

Re: What did Ada Lovelace's program actually do? (2018)

#77

Earlier quoted context omitted.

...or worked with any mathematicians/physicists/engineers who program. As soon as I saw that, I thought "typical quant". Like my dad (A chemical engineer) learned to program in FORTRAN, which used to insist variable names were 1 letter and up to 2 digits. He later learned Basic, but his code was still spiritually FORTRAN so the one-letter-two digits thing stuck. I thought that was just him but then much later I went…

Not sure which Fortran this refers to. I never used Fortran I, but as I understand it, names were up to 6 characters long, first character alphabetic; names with initial letter A-H and O-Z were REAL, I-M INTEGER (Fortran II added declarations to override the defaults). Dartmouth Basic restricted names to a single letter and an optional digit. Incidentally, the various Autocode languages of the 1950s in Britain had 1-…

Thus giving rise to the old joke: "GOD IS REAL, unless declared integer"

Re: What did Ada Lovelace's program actually do? (2018)

#78
post #65

Earlier quoted context omitted.

> (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). That's similar to how Donald Knuth came up with TeX and Metafont.

I'm told the story of Godbolt[0] is similar. I think that he has an ID here, so we could probably ask him. It's a very good tool. [0] https://godbolt.org

Approximately everyone loves godbolt, yes!

Re: What did Ada Lovelace's program actually do? (2018)

#79
post #68

Earlier quoted context omitted.

The Four Corner Code is not really a hash, just an index. Do you have evidence of the use of unnatural, random-looking "hash" functions for the sake of an even distribution? That's the key insight that makes a hash table what it is.

The 4cc gets a decent distribution in that you don't have to examine very many collisions to find the character you're looking for (or conclude it's not found). A poor distribution is an obvious bug in hashing; if you don't suffer from that bug, you don't have to do anything. If you have the bug, it's obvious you have to change your hash calculation to avoid it. The developers of 4cc may have struggled with bugs wher…

> A poor distribution is an obvious bug in hashing; if you don't suffer from that bug, you don't have to do anything.

Right, but if you don't have and solve that problem then what you have made isn't a hash table. Often you don't need a hash table - if you have something that already has a nice distribution, you can use a simpler data structure (like, IDK, a radix tree) and get all the properties you wanted.

> The inventors hit a key insight there: that any way of calculating a hash code is valid as long as it can be consistently followed, and leads to short searches.

If they did, then I would agree you're right. But do we know that they did? Or might they have seen it as just a different way of considering radicals? (E.g. did they ever try indexing anything else that way, not just characters?)

Re: What did Ada Lovelace's program actually do? (2018)

#80
A bit of an aside I have been wondering about is what people called her in her own time. Her name was Augusta Ada King, and she was the Countess of Lovelace. Was it common back then to shorten the title into a last name, or is it only something we have been doing in more recent time?
Post reply on HN