6 ms·
> In her “diagram of development,” Lovelace gives the fourth operation as v5 / v4. But the correct ordering here is v4 / v5. This may well have been a typesetti
by jandrese 2y ago
> In her “diagram of development,” Lovelace gives the fourth operation as v5 / v4. But the correct ordering here is v4 / v5. This may well have been a typesetting error and not an error in the program that Lovelace devised. All the same, this must be the oldest bug in computing. I marveled that, for ten minutes or so, unknowingly, I had wrestled with this first ever bug.
The real mark of a non-trivial program is that it doesn't work on the first try.
It's incredible how Babbage, frustrated that the mass production precision machining technology necessary to make his simple engine work didn't exist yet, decides that the best way forward is to design a new system an order of magnitude more complex and then go to Italy to find more advanced manufacturing somehow.
- deleted 2y ago[deleted]
- ChrisMarshallNY 2y agoI 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.
- mrspuratic 2y agoI didn't just create my own font, I created a font editor too because nothing else was just right (context: MSDOS 5/VGA era). For clarity, I was not that employee :) Up until quite recently I used to render a fixed-width TrueType to bitmaps so I could fix some rendering and typographical foibles, in order to use it with rxvt. I too may have a rabbit-holing problem.
- jandrese 2y agoBabbage would have likely had more success if he stayed in England and opened his own precision machine shop.
- DemocracyFTW2 2y agoMy thinking exactly. He could've created a market for adding machines and, building on commercial success, use revenues to build more ambitious machines.
- wizzwizz4 2y agoAnd he may well have done, if Ada Lovelace hadn't got cancer: she had managed to convince him to let her run his business, leaving him to deal only with R&D.
- m463 2y ago> 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 https://en.wikipedia.org/wiki/Sand_mandala
- deleted 2y ago[deleted]
- Izkata 2y agoI'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.
- interactivecode 2y agoPlease share! Super curious what the cursor looks like
- Izkata 2y agoA quick recording: https://raw.githubusercontent.com/Izkata/RandomDren/refs/heads/master/FoxCursor/FoxCursorExample.gif https://raw.githubusercontent.com/Izkata/RandomDren/refs/hea... I got the idea from another cursor I'd seen back then, and the basic tail was based on it. I think I did the animated ones, the blue dot was my own addition, and the fox head is entirely my own creation. It doesn't actually flicker in and out like that, it seems to be some quirk from recording it.
- maxbond 2y agoObviously yak shaving is a hazard in that it can result in the original project getting abandoned or deadlines being missed, but often the tools you develop along the way are more (economically) valuable than the original project. They're often more widely applicable and narrower in scope, so they're more likely to get done and more likely to find an audience. An example that comes to my mind is the Rust library mio. The Metal database for which it was the I/O component never materialized. But mio is a core component in the Rust ecosystem. Similarly, many applications could benefit from a font that's legible at tiny sizes, not just the one that it was developed for. (Though obviously in most work cultures, this would be considered inappropriate, and for good reasons. My remarks apply mostly to greenfield research/personal projects where deadlines are loose.)
- suzzer99 2y agoWe had a developer write his own System.out.println in Java. But it wasn't because he didn't like the built-in System.out.println, it was because he didn't know it existed. He had a PhD and was supposedly a senior developer. He didn't last very long.
- deleted 2y ago[deleted]
- zanderwohl 2y agoHe must have had a very interesting educational path to write functional Java code without knowing about println. I marvel at that. I almost admire it. Because I think pretty much every tutorial in the world for every language starts with printing, and every project has it someplace. He must have learned via some esoteric means.
- suzzer99 2y agoHe worked for some failed startup before we got him. Our project manager who had worked with him there, brought him in and said he was a genius. I think maybe Java wasn't his first language. But to me, not realizing that Java would have something like System.out.println was a bad sign.
- rchervot 2y agoI believe it was System.out.printf not System.out.println
- peeters 2y agoTo be fair that was quite a late addition to the language all things considered. It could be he learned Java before it existed, or had most of his experience in 1.4 (which survived quite long in some environments because 1.5 was such a huge overhaul). But still, a good dev will keep up to date with language features.
- 2y ago
- eru 2y ago> (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.
- ChrisMarshallNY 2y agoI'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 https://godbolt.org
- eru 2y agoApproximately everyone loves godbolt, yes!
- ursamin 2y ago> The real mark of a non-trivial program is that it doesn't work on the first try. not true.
- K0balt 2y agoNot -necessarily- true. I don’t typically expect my c to compile on the first try at 100 plus lines. Some languages do seem to be either so forgiving that they”work” without complaint or so structured that they guide you away from errors but are less expressive feeling.
- ursamin 2y agofine, but gp did not equivocate.
- svat 2y ago+1 for Babbage/Lovelace history, however IMO, although the two facts are separately true: (1) he was let down by precision machining not existing (Tim Robinson https://www.meccano.us/difference_engines/rde_1/ https://www.meccano.us/difference_engines/rde_1/ says that "I have no doubt that if the Meccano of the 1920's had existed 100 years earlier, Babbage would have been entirely successful in his quest"), and (2) he designed a more complex system, tried Italy, etc, I don't think it's fair to say that he decided that (2) was the best way forward from (1); it's rather that both were consequences of his ideas outpacing what was realistically feasible: he was a software guy thrust into hardware, coming with up ideas that seemed straightforward and discovering that manufacturing was impossible. Apart from his lack of business/project-planning sense (scope it down; don't aim for 10 digits etc), I think other complicating factors that went into the tragedy of Babbage were: (1) He kept coming up with new/better ideas and pursued them (basically rabbitholing as mentioned), (2) He had won a bunch of awards at a young age simply for proposing the Difference Engine (everyone could see it was a good idea and also seem to have expected it to be straightforward to build: a fait accompli) — so in the intervening decades he must have felt like he couldn't give up, (3) He got entangled with the government. IMO the tragedy here is that he was just middle-class enough to have a romantic idea of government: while the nobles distrusted government/politics as they sort of looked down on it, and the lower classes distrusted government as it had never done anything much for them, he was of just the right class (his father came from humble origins and had made money in banking) to have patriotic notions of government and all that — he wanted to offer his invention to "the nation" (government), and conversely thought the government "ought to" reward him for it, rather than understanding the practical problems of government officials in funding his project. (The government offered to give his invention back to him, but he refused.) (4) Possibly as a result of these awards, he seems to have been attached to the idea of being a "smart" person (many examples, e.g. the anecdote quoted in one of the appendices in Sydney Padua's wonderful book, where he refused to judge an award along with Faraday — he thought he "deserved" to be the sole judge) — this also probably got in the way of doing practical things rather than pie-in-the-sky "genius-type" ideas. I think the government entanglement is probably a big part of the story (he asked them basically "I haven't completed the Difference Engine but I have a much better Analytical Engine that I could implement with more money, what should I do?" and they sat indecisively for twenty years!), and it's interesting to read his accounts (in his memoirs) vs others', e.g. Lord Playfair's account from the same appendix: > "He was in chronic war with the Government because it refused to furnish supplies for his new machine, the ground of refusal being that he never completed the first. […] Babbage always considered himself a badly treated man, and this feeling at last produced an egotism which restricted the numbers of his friends. […] Babbage, who was delighted with the suggestion, but made it a condition that he alone should be appointed, as a reparation for all the neglect of the Government towards his inventions. Even the association of such a distinguished man as Faraday would take away from the recognition which was due to him." Anyway Padua's book (The Thrilling Adventures of Lovelace and Babbage) seems very well-researched (I admit I haven't read much of it but read all the appendices in detail; would strongly recommend anyway).