> Since the formulas did depend on each other the order of (re)calculation made a difference. The first idea was to follow the dependency chains but this would have involved keeping pointers and that would take up memory. We realized that normal spreadsheets were simple and could be calculated in either row or column order and errors would usually become obvious right away. Later spreadsheets touted "natural order" as a major feature but for the Apple ][ I think we made the right tradeoff.
It would seem that the creators of VisiCalc regarded this is a choice that made sense in the context of the limitations of the Apple ][, but agree that a dependency graph would have been better.
Edit: It's also interesting that the tradeoff here is put in terms of correctness, not performance as in the posted article. And that makes sense: Consider a spreadsheet with =B2 in A1 and =B1 in B2. Now change the value of B1. If you recalc the sheet in row-column OR column-row order, B2 will update to match B1, but A1 will now be incorrect! You need to evaluate twice to fully resolve the dependency graph.
Even LaTeX just brute-forces dependencies such as building a table of contents, index, and footnote references by running it a few times until everything stabilizes.
It is possible (though very rare) to get a situation in LaTeX where it keeps oscillating between two possible “solutions” - usually forcing a hbox width will stabilize it.
but wasn't it documented to do it in some sort of "down and to the right" order, and if you wrote your formulas "up and to the left" everything would be hunky dory?
tables generally have row and column sums, subtotals, and averages down and to the right.
Is anyone using visicalc today? I'm not sure how its past success, however fantastic, can be translated into "a dependency graph is often an overkill for a spreadsheet"
A still-very-common use case for spreadsheets is just to manage lists of things. For these, there are no formulas or dependencies at all. Another is simple totals of columns of numbers.
There are many common spreadsheet use cases that don't involve complicated dependency trees.
It's a common CPU vs RAM decision to make. Dependency graph consumes memory, while recalculating everything for a number of iterations could happen on stack one formula at a time in a loop. On 6502 it mattered. On modern CPUs, even with RAM crisis I'm sure for 99.9% of spreadsheets any options is good enough. Say, you have 10K rows and 100 columns - it's 1M calculations to make.
But not keeping one has a cost too. Which cost is higher? Generally, I argue, not tracking dependencies is the higher cost for any real spreadsheet in production use cases.
The clause "it's absolutely necessary for all but the simplest toy examples" is what I was disagreeing with. But I wouldn't be surprised to hear that visicalc adopted one as soon as it was technically feasible in later versions.
visicalc is not the benchmark you think it is. it's decades old. this day and age, dependency graphs for any real world use case will definitely need a dependency graph. it helps no one to suggest otherwise, and actually makes light of a specific engineering task that will for a fact be required of anyone looking to build a spreadsheet engine into a product
I'm not suggesting otherwise. I'm saying that your "toy example" comment is very dismissive of something that was an extraordinary accomplishment of its day. They invented spreadsheets without it. Dependency graphs are excellent and widely useful things we should all be happy to adapt and reach for, far beyond spreadsheets. We should be grateful that they're available to all of us to build into software products so readily. I've used them repeatedly and I'm sure I will many times in the future.
What I'm trying to communicate is this: this product _invented_ spreadsheets, but you dismiss the implementation with a sneer.
I didn't dismiss Visicalc at all. In fact, I even said it had fantastic success.
I dismissed the article's claim that maintaining a dependency graph is overkill for a spreadsheet. That's a false statement. It might have been true at the time, but it's not true today. The phrase as written in TFA is poor form and misleading to beginners.
Whoa, can you please not cross into personal attack, no matter how wrong someone is or you feel they are? We've had to ask you this more than once before.
I don't want to ban you because you've also posted good things, but bad things do more badness than good things do goodness. Unfortunately.
Few things are more arrogant than telling someone you're teaching them a lesson...
This is a product from 1979! It does not prove me wrong at all. Trade offs are different today. Decisions that applied then don't apply now. The quoted text from TFA is wrong and simplistic.
visicalc was rewriten in the 80's for computers newer than the apple ][, so are you asking specifically about the original implementation or later implementations? it makes a difference and mostly disobviates the question.
It absolutely is, it's bizarre seeing HNers crapping over approaches used by one of the most successful products in history (Visicalc was literally a system seller) as a "toy" approach.
It's an Apple-user thing. It's not "my phone", it's "my iPhone". It's not my laptop, it's my MacBook. It's not my headphones, it's my AirPods. It's not my smart watch, it's my Apple Watch Ultra 3 Sapphire Gold Plated. It's not my terminal, it's the Terminal, the one to rule them all. Only plebs use non-branded terminals!
TL;DR accepting intellectually that we are technically Europeans has very little to do with feeling like European-ness is a part of one's identity.
I thought it'd be obvious that I didn't mean every Irish person would be bemused, but I should have been more explicit.
There's a difference between accepting Ireland as legally and bureaucratically part of Europe, or thinking it's politically or culturally useful to be in the E.U., and feeling that European-ness - however you choose to define it - is a part of our identity as a people.
My anecdotal experience (have lived in two European countries and one non-European country, learning the local languages and diving deep) is that European countries are about as "foreign" to Irish people as any other countries. There are exceptions, and it depends on the country, e.g., we're closer to the Poles now, and have a few fun stories about crates of Prazsky at the wedding in Gdansk.
Try out the experiment - ask an Irish friend or relation of yours if they feel like them and a Finnish / Belgian / Romanian person have something in common, or what they know about that country. My experience is that a lot of people (not everyone, and again, anecdotally) are very uncomfortable even with the idea of imagining that other places really exist.
No, not in this case. The article already assumes the existence of a near perfectly-efficient process. It's just looking at the minimum energy needed to remove the carbon dioxide from the atmosphere, according to long-established physical laws, no matter what mechanism is used.
We could definitely work harder at supporting the existing natural mechanisms for removing CO2 from the atmosphere, but it's far, far easier to reduce the amount we're emitting.
Plants aren't that efficient, there's just a lot of them. You could cover the requisite 764 GW with about 3000 km^2 of solar cells (assuming 250 W/m^2). That's a bit over the land area of Luxembourg. Minuscule compared to the amount of area on Earth taken up by plants, and sunlight that falls on those plants.
This is impressive, but they just sound so _alien_, especially to this non-U.S. English speaker (to the point of being actively irritating to listen to). I guess picking up on social cues communicating this (rather than express instruction or feedback) is still some time away.
It's still astonishing to consider what this demonstrates!
I thought Ardour was a commercial product? If you want to download a binary from their site it's either a demo version with injected silence every 10 minutes, or a paid-for option (either a small monthly sub or a larger one-off payment). You can build it locally yourself for free of course, but I don't know if many non-devs would do that.
It is not really a commercial product, rather it follows an old, but somewhat rare, tradition of making usage slightly more difficult in order to raise funds. OpenBSD used to do the same and not provide pre-built images to raise funds via CD sales from those that could not be bothered to learn how to build images from the source code. You can certainly object to this, but I do find it reasonable as there are few good ways to fund open source software.
As for Ardour itself, it is clearly completely open source [1].
I don't object to it at all, I think it's a great idea. We need more models of supporting open-source, including financial ones. BTW I also don't see commercial and open-source as intrinsically opposed to each other - projects can be both, and I wish more were.
Ardour is free software (and therefore open source). Ardour is not proprietary software.
Ardour is a commercial product. They sell pre-built binaries, updates (perhaps some level of guarantee/support for those binaries?) etc. Ardour is not "freeware", shareware or a hobby project or anything else like that.
I am not sure it is clear cut as you present it. Clearly Ardour the project is not a commercial product and the same should go for the source code. Arguably the pre-compiled binaries are a commercial product as they are presented to a market for a price (although the same of course does not hold for Ardour binaries provided through package managers and elsewhere). To me, the confusion mostly arises from the fact that we use Ardour to refer to all of the above, while clearly they are all different things.
Ardour certainly looks like a commercial project to me. I think this thinking arises from a couple of misapprehensions, namely:
1. Commerce is bad and somehow at odds with free software and the GPL,
2. The only way to do any kind of software trade is proprietary software.
In fact, commerce is beautiful and a cornerstone of economics and our civilisation. Most people in the free software community are not opposed to commerce. What they are opposed to is proprietary software. That is, claiming ownership of software and therefore doing commerce based mostly on rent-seeking and retaining power over said users. Free software and the GPL aims to disable this, but it does not disable, nor does it oppose, commercial software, unless you believe (2), which is evidently false, as you can see with Ardour.
I am not sure how Ardour would feel about being referred to as a commercial project. But I do suspect if you went back in time and sent an e-mail to misc@ ten years ago calling OpenBSD a commercial project because they sold CDs you would be told to take a hike. I will just agree to disagree on this one. You seem to want to make a bigger point about software and commerce and all I see are shades of grey in that commercialisation is not clear cut and neither is what is a project, its outcomes, etc.
I think GP makes a reasonable point about what commercial actually means. If you are selling something, that's commerce. If the Ardour dev or OpenBSD devs don't like it, then they are free to adopt a euphemism that makes them feel better about it, but that appeal to authority doesn't change the meaning of the term. I think that actually further reinforces GP's point about how the term "commercial software" has become a dirty word.
Now that said, I do support avoiding language that is offensive to people even if it doesn't seem to me like it should be (so long as it's still clear what is being communicated. I don't like Orwellian expressions).
"Give your stuff away for free to devs" is a pretty good idea for both free and nonfree software. (And Linux users are, for now, still likely to be developer type people than not).
Ardour is very high quality for FOSS. There are many distros that include a free version of Ardour. Ubuntu Studio[1] for instance, and then there are distributions where installing it is an apt-get[2] or yum[3] or whatever[4] away, and paying for it is optional.
That is unrelated. Things licensed as open source can still be commercial products.
Ardour is open source and can be freely build and distributed, but it's also available as a pre-build product to pay for.
Ah I see, so that's what it looks like when you're not using a linux distro to obtain Ardour. And no, I never pressed the button because I just get it through Ubuntu Studio, and I've been using Ardour for years, for my simple (but frequent, multiple times per day) needs whatever version is in there is plenty.
The ICCL is the Irish Council for Civil Liberties. They're fully independent of the government and are funded by memberships. If you're an Irish citizen they're well worth supporting (only €40 per annum). I'm a member.
I like the sentiment but this could have been a tweet. If it was it wouldn't be preaching to the choir.
I am being glib above but in the spirit of useful feedback, the article needs editing for length. It's not that it's badly written, I just found that it took too circuitous a route to make its point.
I, for one, learned a new word: Ennui. And I believe I finally understand what people mean when referring to a cargo cult. A tweet most definitely would not have sufficed.
Thanks for the long read, interesting an well written.
(And: true, I'm probably living under a rock for being so ignorant) :-)
Because of the curse of the autodidact, do note that "ennui" is pronounced "on-wee," as it comes from French ("ennui" is "boredom" in French). It is not, as I found out rather embarrassingly, "en-you-eye".
Incidentally, I agree with you. While there could be some editing for length (oh well), the point was well made with a great example to start out with, and a bit of a discussion about some of the effects of being trapped in the Ennui Engine. It definitely hit on something I've noticed about myself.
I have a pile of books I've been meaning to read but haven't gotten to. I have lots of articles that I'd like to read but haven't made time yet. But I'd pull up Reddit and just scroll there. I deleted Twitter when Elon bought it and decided to burn it to the ground, and I'll be deleting Reddit now. Not so much to make a stand, but really just using this opportunity of upheaval as a way for my old head to extricate itself from the Ennui Engine.
'It is not, as I found out rather embarrassingly, "en-you-eye"'
Don't worry, as someone whose vocabulary was extended through voracious reading, I have made several of those "fox passes" over the years... (with that being the most memorable!)
Funny indeed. My wife was just making fun of me the other day becuase of the way I pronounced this. This was the answer to Wordle last week. I new the word by sight, but like a lot of us, had never heard it spoken. I sent her a link to this article just because ennui was embedded in the title :)
Everyone learns these things from different places! I used to get annoyed at content explaining things I already knew well until I realized that I once learned it from somewhere that wasn't the "original place". I forget who said it, but someone said good writing isn't about writing something new, it's about saying existing truths in interesting ways. This piece didn't really land for me, but glad it did for you.
There's a scene in the movie 'Flash of Genius'. The movie tells the story of a guy who invents the mechanism for intermittent windshield wipers and has the design stolen from him by Detroit auto makers.
In a court scene the main character is on the stand, and he reads the first few words from 'A Tale of Two Cities' and asks the lawyer for the other side if Dickens had invented any of those individual words.
That always stuck with me; it's the configuration of over-the-counter parts or ideas that makes something novel. Sometimes articles explain ideas with a twist, a different order or a different interpretation, and furthermore, when you yourself reconfigure a set of ideas under the shower or in a comment section, you should realise that you're doing worthwhile creative work.
I see the two ironies here: I might be explaining things that you already knew, and this comment will probably be skimmed over (as the article puts it) as another pull of the slot machine. :-)
> If it was it wouldn't be preaching to the choir.
I'm not so sure it is. I think the target audience here are people who have already been desiring to break the cycle and might be currently more receptive to long-form content. A lot of people I know have been expressing the feeling this talks about lately, mostly due to the impending downfall of Reddit (how many people have said something along the lines of "i'm glad it's going away, that's one less thing to mindlessly scroll")
Maybe not quite a tweet, but certainly editing it down to 25%-35% of the original length would have resulted in a much higher quality article.
Which gets to the main point that he only grazed but didn't hit, and of which this article is a fine example. There is a resistance to engaging in longer-form works for exactly the same reason he derides the short form (tweets, spouts, TikTok vids, etc.) — there is no guarantee that the quality will be there, and it is a larger investment of time & effort to consume the long-form content, so the potential waste & disappointment will be greater. It's a worse risk/reward ratio than reading a tweet.
Yet, his underlying advice — to be conscious of what you consume and whether it ACTUALLY SATISFIES your needs — is valid, important, and actionable.
I've found that one of the keys is information density. It needs to be at a certain level to be worthwhile (and that level is different for different purposes). For example, I found some 20 years ago that almost all content on cable TV was far too dilute, so I cut the cord. I found that a default Twitter feed has a similarly high trash/value ratio, but this could be fixed by using carefully curated lists of high-value feeds to get high-density info much earlier (this has significantly degraded since Nov-22, I'm finding other better options such as Spoutible).
It does take conscious effort to maintain our entertainment and information feeds to be sure they actually meet OUR needs, but it is worth it.
I, on the other hand, enjoyed a well written piece. It's both and argument and a narration, which sets about the right mood for a critique of narratives. (Also, there seems to be a tactical side to this: as we enjoy the story, spend time over and with this, as we invest energy, we also align with the piece… much like we identify with a protagonist, by the perspective of whom we reconstruct the diegetic world of a novel or a movie.)
I disagree, while liking the tone of the piece and the style of the writer.
However, the appropriate length that the original commenter refers to is, in fact, a tweet.
The reason is simple: the SOTA in internet criticism is quite old whether you read Neil Postman, Mitch Kapor, Sherry Turkle, or David Courtwright. The Turkle and Courtwright quotes are easy to find being more recent. The Kapor quote from the EFF dates to 1993 and so Google et al have found a way to lose it, and if you can find it, you may not be able to read it.
This is genuinely thrilling. I know it’s likely to be a C++ codebase, which I don’t have a huge amount of experience in (yet). But having open source access to a music machine of the Deluge’s calibre is phenomenal.