What if mass storage were free? – George Copeland (1980) [pdf]
dl.acm.org
dl.acm.org
Obviously retrieval isn't free, and we have only so much write bandwidth. But a GC might be able to use this in pretty neat ways. You could page out allocations that you think aren't going to be in use, or rarely in use. If you write it to storage, you don't have to be sure. Now that kinda gives you extra infinite memory (the GC dream), so you could do things like project the same data structure into multiple ways depending on how it is being accessed (AoS, SoA, projected subsets, columnar, etc).
We should be thinking about how to have computers decide that deletion strategy for us.
They got to the point where it cost $200/mo just so we could theoretically restore the application as it was on June 5, 2018.
I think deletion strategies will always be relevant from a “staying organized” standpoint, as well as cost.
This is not an example where you need to delete. If the value is zero, go ahead, but it's sustainable to keep that data around.
Quite a foresight at time when microcomputers persisted data on audio tapes and Sinclair launched a computer with custom chassis, keyboard, PCB and 3.5MHz Z80 CPU,..., but yet chose to include only 1kB of RAM to keep the costs low.
(ie if today's kids are ~20, what could we teach that will still be relevant for computing in ~2070?)
Also, likely Java. I bet there will still be Java code running in 2070.
COBOL is used in banking because it natively supported decimal floats from the 70s or some crap, and no other language bothers to truly try and be a COBOL replacement.
Banking / insurance / etc etc are on the Dollar/Penny system. They need 0.01 to be exactly 0.01, and not 0.09999997 or whatever double precision decides to round that to.
And remember, there are fractions of a penny. Ex: $15.097 could be a real price that needs to be exactly calculated.
-------
If this crap hasn't been figured out in the last 20 years, why would Java or C# programmers try to solve it in the next 20 years?
It's more likely for the old COBOL code to just keep running along than to port over to a language that doesn't even meet your legal requirements.
It's not like COBOL has a particular edge against "modern" languages, but it has legacy with it.
C# has had System.Decimal since .NET Standard 1.0 over 20 years ago: https://learn.microsoft.com/en-us/dotnet/api/system.decimal?... - "Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors."
In fact, COBOL devs tend to be better paid these days, because they're critical but there are fewer of them.
The deal is that companies who rely on such software have a solid, time-proven, solution. Switching that out just to change to a different language would be irresponsibly risky.
I fully expect some companies to still be using Java 8 in fifty years.
What changes over time is syntax, but most of the concepts remain.
Source: 30+ year SysAdmin.
Or we're all encoding behaviours as activations of vectors in English language prompting
What concerns me about new CS grads is that they're not only lacking a lot of the fundamentals, they sometimes even argue that learning them isn't useful.
edit: forgot `curl -k`. like anyone have time to deal with those cert errors.
If so, it’s only a Google search away for these young’uns.
Or, as a mangled quote attributed to Einstein goes, “Never memorize what you can look up in books.”
(I currently believe "it's all quantales, what's the problem?" is a defensible proposition, but suspect that this viewpoint may be reminiscent of Mathematics Made Difficult)
* Users ask you to delete their data. If you don't, and they find out you didn't, you have a problem.
* Legal action may require you to delete data. (E.g. you may find that someone uploaded child pornography to your system.)
This is actually a huge problem for companies like Google (where I work). When you have enormous volumes of highly reliable and durable (i.e. replicated) storage, it's actually really hard to make sure you can delete all copies of specific data reliably and quickly.
https://www.youtube.com/watch?v=oDHGjUMqPvI&t=129s
Apologies for the hijack. :)
Where?
The narrator says "Endb supports ERASE. Mustard is gone." and then moves on to another topic entirely.
This is right after they said the data was immutable.
What does ERASE actually do? Does it wipe the old bytes? Does it add a tombstone that could be bypassed?
https://www.endatabas.com/bibliography.html
...Copeland's paper is a fun and inspirational read. If you enjoy that, you'll probably enjoy other papers from this list.
wonder how it compares with postgre temporal table or just adding a `entity_history` somewhere. Or the timeline data is more intrinsic to the DB design on this one?
The temporal columns are intrinsic to Endb, but they are completely optional. By default, Endb queries run as-of-now, which then return the same results one would expect from a regular Postgres database.
Postgres temporal tables can't make Postgres natively aware of time, so temporal queries tend to be awkward, even if you want the default as-of-now result.
There are temporally-aware databases (SAP HANA, MySQL, SQL Server), but they all treat time as an additional concept layered on top of SQL-92 via SQL:2011. It's difficult for a mutable database to assume immutability or a timeline without becoming another product.
`entity_history` and similar audit tables aren't comparable at all, since they don't even involve the same entity/table, which means all querying of history is manual. Indexing of audit tables is at least a bit easier than the SQL:2011 temporal solutions mentioned above, though.
In all these cases, schema is still an issue that needs to be resolved somehow, since (again) incumbent relational databases assume a Schema First approach to table layout. Endb is Schema Last and allows strongly-typed nested data by default.
The Endb demo is pretty recent, and explains all of this in more detail, with examples:
Such a system could be highly useful these days, in the times of almost infinite storage.
[1] https://en.wikipedia.org/wiki/InterBaseI worry what percentage of valued storage (digitization of valued objects followed by their disposal) will remain in 50 years.
I think of the Eloi libraries (whether Pal's disaster or those of H.G. or Simon Wells.) We can find only faint echos of most profound 'Ancient Greek' texts.
How about Youtube? They amount of video uploaded daily is increasing yet they manage to store everything essentially on demand going back to the first Youtube video. At the end of the day for Youtube the data must be fetched from a hard drive somewhere...right? Are they buying thousands of HDDs daily?