My employer is trying to convince us to embrace spec-kit. But we are a Clojure shop: we iterate fast and produce results. We don't sit around and write specs and then hope working code plops out.
> Define the contract before writing a single line of implementation. Specs are the source of truth.
There is only one source of truth and that is the source code.
To define and change contracts written in an ambiguous language and then hope the right code will magically appear, is completely delusional.
Iteration is the only game in town that is fast and produces results.
As someone who is roughly in the same age group as the author and who was running a BBS, has witnessed the rise of IP4 networks, HTTP, Mosaic etc. let me provide a counter-point.
The democratization ends at your router. Unless you are willing to lay down your own wires - which for legal reasons you most likely won't be able to do, we will hopelessly be dependent on the ISP. (Radio on free frequencies is possible and there are valiant attempts, they will ultimately remain niche and have severe bandwidth limitations)
For decades ISP have throttled upload speeds: they don't want you to run services over their lines.
When DSL was around (I guess it still is) in Germany, there was a mandatory 24h disconnect.
ISP control what you can see and how fast you can see it. They should be subject to heavy regulation to ensure a free internet.
The large networks, trans-atlantic, trans-pacific cables, all that stuff is beyond the control of individuals and even countries. If they don't like your HTTP(S) traffic, the rest of the world won't see it.
So what you can own is your local network. Using hardware that is free of back-doors and remote control.
There's no guarantee for that. If you are being targeted even the Rasperry Pi you just ordered might be compromised.
We should demand from our legislators that hardware like this is free of back-doors.
As to content creation: There are so so many tools available that allow non-technical users to write and publish. There's no crisis here other than picking the best tool for the job.
In short: there's no hope of getting a world-wide, free, uncensored, unlimited IP4/6 network back. We never had it in the first place.
> We can build such a society. I am not sure why you think this is never possible.
Maybe we can, but it is A) a far bigger, older, and more difficult problem than how to structure a computer network, and B) fundamentally not solvable through technological means.
No matter how much technologists love the idea of technology as a liberating force, our worst instincts and dynamics always reassert themselves and soon figure out how to use that same technology to destroy liberty.
Technology is a force multiplier. When large, powerful, institutions adopt technology they can use the leverage to suppress liberty. (Though not all do to the same extent.)
However, large institutions are also slow to move, grow, and change. At the leading edge of technological adoption small groups and individuals can use the amplified power to resist supression.
The trick is to remain at the leading edge and to remind early adopters of the power they wield. If enough of us fight for liberty many institutions will follow.
The world has actually become worse over time - especially the Internet, when it comes to free speech, freedom, the ability for individuals to make a difference etc.
> We can build such a society. I am not sure why you think this is never possible.
Where does such informed political and economic interest and power exist? With whom do we construct such society? Do they have the power and will to fight for it?
Normies live with normie standards and with incresing social media exposure with more and more emotional animal-like manipulated world views. They are either ignorant or ambivalent.
Will tech people gather on a piece of land and declare independence? Most of my tech worker colleagues are also quite pro-social media and they heavily use it to boost their apparent social status. We cannot even trust our kind.
Similar examples of new technology being used to motivate and mobilize masses have always ended with devastating wars and genocides. Previously the speed of propagation of information gave advantages to statespeople like FDR to put an end to increasing racism/Nazism/violent tendencies (of course not everywhere, when let to its own devices new technology almost perfect for constructing dictatorships). Now everybody has equal access to misinformation.
Kumbaya is also a form of self-interest. We're still very much self-interested, it's just that we can see a tiny bit further into the future and realize that we need to better our surroundings in order to live the life we want.
> it's just that we can see a tiny bit further into the future and realize that we need to better our surroundings in order to live the life we want.
except we cant agree exactly HOW the new utopia should be and we end up splintering into two groups at loggerheads, fighting each other and back to square one, talking about how if we just followed someone else idea of a utopia we would have to fight all the time. dream on
It's unacceptable to post snarky comments or nationality-based stereotypes on HN. Please make an effort to observe the guidelines, especially these ones:
Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.
Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.
When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."
Please don't fulminate. Please don't sneer, including at the rest of the community.
Eschew flamebait. Avoid generic tangents. Omit internet tropes.
Please don't use Hacker News for political or ideological battle. It tramples curiosity.
Capitalism is not the only way of life (and fwiw, I'm not a fan)—but it is the primary way of life for nearly the entire world. Sweden, Norway, Brazil, France, Egypt, Iraq, and India are capitalist. Even China is effectively capitalist, although they like to call themselves "socialist with Chinese characteristics."
Even in our fabulously wealthy societies, people are mostly worried about paying their bills, taking care of their families, and putting food on the table, not in getting together in a quixotic enterprise and paying for thousands of kilometers of communal fiber. Also like in most communist utopias what would probably happen is that the control infrastructure would be captured by special interest groups and now you’ve traded one evil for another, but in addition you’re left holding the capex bag and you’re poorer for it.
The technology is the easy part, the people are the hard part. The reality is that we simply don't have thought leaders in charge anymore, there's no innovations or anything that are coming to correct course, very few if any channels even exist anymore for good ideas to flow upwards that result in good & proper solution implementations that positively preserve/protect/harden what we want the web to be. I think a lot of bright minds who could be solutioning for some of these things understand the dynamics at play even if they've never taken a huge moment to think about it. Subconsciously they are aware that becoming a person to try and steer such a big ship would require a monumental exertion that is maybe not worth it anymore. The great leaders never actively seek out leadership positions, similarly I don't think the people who could be good decision makers and influence these types of ideals coming to fruition in society actively seek out such positions. The possible mental tax of getting there is probably enormous. It is not an economic win for anyone to take up the mantle of trying to steer ships this size, it is a massive sacrifice. People who would be fit for the task probably just want to sign off at the end of the day and... have a good life and exist/be a benefit in their communities. In some ways perhaps that makes them.. unfit for carrying this torch. Perhaps there are simply too few people out there that are adequately qualified to carry this torch, we are in dire need of competent people at the helm of many fronts and we simply don't have that, that's just the real life variables at play right now.
We plebs are just driftwood floating in massive waves of nation state decision making. I don't doubt there are people who literally work at ISPs who are depressed at the state of things, depressed that theyre not allowed to take action on certain things, depressed that they see first-hand what kind of control mechanisms they're forced to implement or disallowed from implementing and more. It's got to be a trove of BS in an age of misinformation which has always been an information systems problem that humanity has implemented checks notes zero solutions for. And at the end of the day they, probably like all of us, just want to live a good and meaningful life.
That's not to say just... give up on ideals. But instead to acknowledge the realities of ideals not being enough on their own. Have some real conversations on what it would actually take to embed these types of fundamentals into a society, get comfortable with the uncomfortable realities. So much work needs to be done before new ideals can even be shared. Outreach alone to spread ideals is a massive uphill battle at this point due to conglomerate control of broadcast media and concentrated ownership of social media apps. A lot of these particular ideals require a decent understanding/background of technology in general which most people don't even have, making these things an incredibly unlikely basis for a society where these things are well-enough understood. So the circus trick here is how do you make it a digestable topic that touches the souls of many and galvanizes them to take the correct stance so that these things become embodied in the set of ideals a society values, so that legislators and whatever other proxies that are tasked with decision making give these things the resourcing or policy making attention they deserve. That's the mega hard part, which is then additionally compounded in difficulty by ... most households in our societies just never having these types of discussions make it to their TV/computer screens. Hackernews types like to call these people "normies" and tack the blame on them, but they can't seem to wrap their mind around that not everyone could or should have a deep compsci background. We should be coexisting with people of a variety of backgrounds and instead we should be looking at their "normie"-ness as a thing to account for, not blame. It would be absurd to have a "normie" expect us to be exceptional at rebuilding car engines or any other broad subset of knowledge that we haven't ourselves committed our own lives/spare time to.
So that leaves the other route to take which is just... renegade fine-we'll-do-it-ourselves. Which can succeed, but has its own set of challenges. Fronting infrastructure for a lot of stuff is expensive, so donors are needed on sometimes vast scales. To another commenters point like... ain't none of us on the renegade front laying undersea cables any time soon which are multi-billion dollar projects to cross the Pacific. Often times we see these underground efforts fail in their infancy simply because the UX just flat out sucks and we're up against entities who can giga-scale all their infrastructure/resources & ultimately capitalize on making whatever app thing fast&pleasant for users. It feels like we're drowning against titans sometimes, it's overwhelming.
An alternative internet would be possible: maybe you could setup a kickstarter campaign and aim to ride on the back of Starlink, or Amazon's upcoming Leo.
One problem you face are high profile leaders apparently being "replaced" with ones that are a lot more "conformist." So yesteryear's Bezos might've said yes, today's Bezos: no. See here: https://www.youtube.com/watch?v=WqlEtPBNgLc (members only)
I think what would be cool is to have a device with all of Gemini's content available for offline browsing. Every few hours changes can be downloaded to keep it current.
This is similar to Bill Joy and his unlimited music device in about 2000.
Having something local means superfast response times, even if there's a delay in freshness.
The key is moderation. I suppose it could end up like a magazine. Maybe charge micropayments to have content included with that fee changing according to a slop-scale?
It's a good idea to couple with something like the upcoming Linux handheld - Mecha. Need multi-TB SSDs - maybe AI can help navigate? Have different versions according to how much storage the user has available.
Maybe there's demand for something local that new AIs can train from. Something other than Internet Archive.
Are there any products that can minimize online-time by building a backlog of jobs to run when online, but also enabling a pause for offline-time?
Also, websites could queue requests, eliminate the AI thumping, and notify the client when their request is allowed? It's like queuing up for a niteclub and eventually getting passed the droid-hostile bouncer.
Stop paying attention to every little thing that happens. Pay enough attention that you're not totally ignorant, but don't give it so much air that you get overwhelmed to the point of inaction.
The "normies" aren't as dumb as people on here think they are. There are plenty of side channels to activate normies. The reason good leaders don't seem to seek out leadership positions anymore is because they have the Internet now. Don't underestimate the power of online discourse and how quickly its effects can propagate through society. Plenty are watching and steering from the comfort of their own homes, but the titans find this very unsettling, so they want to shut it down. They've been trying for years, but it's becoming increasingly difficult for them because nature is not on their side. Information just wants to spread out and be free.
The ISPs are a natural monopoly, or oligopoly at least, because it's expensive to lay cable for each home. Their business is quite profitable even when they don't get to control their customers traffic.
city wide municipal Internet service, which is admittedly last mile service, was so cheap it didn't even make a dent in the local tax rates. the cost was nominal. naturally the centralized providers fought to make municipal Internet illegal
If someone tells me we can build a shed, I'm going to ask who's land are we building it on, who's paying for it, what zoning/permitting laws apply, who's going to own it (form an LLC or a -corp with shares). The kind of wood and the type of nails aren't even worth wasting time discussing until we've answered those questions first.
But you don't necessarily need wood, nails or concrete to build a shed. Once we start specifying things like that we stop considering alternatives that could be legitimate options.
The assertion that an uncensored internet is a better world should probably require some motivation.
If everyone was a normal (as far as anyone is normal) law abiding citizen perhaps I would agree, but sadly that is far from the case. I think history has quite clearly shown that there is a minority of people out there that will take advantage and ruin things for everyone else. It's the same reason we have militaries, police forces, government checks and balances, etc. The internet is no exception to this.
I don't think the world is simple enough where anyone could be absolutist about freedom, it's all grey areas and complicated lines drawn.
There is hope. It's not only possible, but it is likely and is already underway. DNS can be replaced. IPv4/v6 can be replaced. We just need to build a layer on top that ignores the access controls of the underlying layer (the Internet), then replace the underlying layer altogether with new infrastructure.
Those who want control over other people's mouths and eyes and ears, and rely on it to maintain their undeserved authority and prosperity are going to have a bad time.
I think some of those barriers are going away ( in the UK it's now possible to get symmetric full fibre at a reasonable price ), static IPs, ISP's without filtering etc.
I think the main barrier is still the complexity of running your own service - it's a full time job to keep on top of the bad actors.
For example, if you have your own domain it's perfectly possible to run your own email server - however it's quite a lot of ongoing effort - it's not just set up and forget.
> however it's quite a lot of ongoing effort - it's not just set up and forget.
I have seen those kinds of opinions on internet already few times. No it is not that complicated.
Yes you need to buy server.
Yes you need to setup the DNS.
Yes you need to maintain, and update server and its software.
But this is like that with everything you selfhost.
Beside that you need mostly 1 time operations like:
- setup domain entries
- setup SPF
- setup DKIM
- setup certs
- install server (of course)
- test if this works
- setup some Google Postmaster account because they do not like new domains sending them emails
I do not remember anything else beside some administrative tweaks here and there. But!
I never attempted to run postfix, dovecot combo myself. I was aiming to run whole thing on Docker and forget about configuring dozens of config files on Linux host.
With docker you can just migrate whole set of volumes to new machine and that is it. I am running Mailcow BTW.
I am not sure about other mailsevers but with Mailcow I occasionally (once per week maybe) get spam notification (release/delete call to action) that I just click and that is all. I have DMARC reports coming in but as far as I remember they are about my own server outgoing emails.
So no, I do not think so.
As for my own emails they were rejected maybe by just few times. But I do not use email much - just some personal communication. I am not running marketing campaigns that places my IP on some blacklist.
I think I just one time was on one of spam lists. I just emailed them or applied for removal via some webform and they removed the entry pretty much instantly. I do not remember other problems.
As far as I understand this article it talks about different IPs in SPF. This is just one machine with one IP. I do not send big quantities of emails from other servers. And even if I would need to I would just create mail box and send emails via that mailbox.
> We should demand from our legislators that hardware like this is free of back-doors
In some countries that may be possible (if only for now). Where chips are produced makes that an impossibility for most. That is, you can have certain guarantees if you run the chip fab, although if you are downstream of that, it can be a tall order to guarantee your chips are sovereign. So, while I like the sentiment that you have some sort of control behind your router, I'm really unsure how true that is given the complexity of producing modern day chips. Disclaimer, not an expert, just an opinion.
I would even say unless you truly have full custody of the transportation of components as well, that is unlikely. Israel’s pager bombs in Lebanon were supplied via a third party, not the manufacturer.
This is just the "No True Scotsman" fallacy (with a dash of "appeal to tradition" fallacy). Yes, the internet has never been perfect, but it was really good for most users a long time and has only lost freedom for the majority of users recently with the rise of coordinated multi-state online censorship. Yes, there have been problems in the past, but if you can't compare now to then and see that things have radically shifted, I don't know what else to say to convince you.
>there's no hope of getting a world-wide, free, uncensored, unlimited IP4/6 network back. We never had it in the first place.
I'd settle for a maximally private totally uncensored IPV4 like there used to be. Broadband turned out to be over-rated in some ways.
One of the good things about dial-up was the way it was built on a peer-to-peer network that "everybody" already had, their land-line telephone service.
Way before actual "networking", anybody with a modem could connect privately with anybody else who had one.
An ISP could be formed by taking incoming calls from all active digital users simultaneously, and that was where the networking was done, plus connection to other networks around the world.
You could still contact any one computer user privately if you wanted to, without going through an ISP, just like it was before the web.
Also connect one network with another distant one, such as one office building to another, without ISP.
If anybody wanted to form their own working ISP, they could do it privately anytime as an interested group and not even tell anybody about it if they didn't want to. It might not be a commercial ISP but there was no mainstream to begin with where it was assumed that an ISP must be commercial or make any money at all.
These connections were intended to be "totally" private by law, it was well-established that a court order was required to do a wiretap, and the penalty for violation was based on the concept that spying on Americans was one of the worst crimes, and needed to deter those who acted to compromise the privacy & freedom that America cherished so deeply. And preserve citizen rights the country was chartered to uphold, no differently than before the telephone was invented.
There's nothing like this any more, land-line copper is in miserable disuse so the only remaining wire if any is TV cable. But the only way to do peer-to-peer contact over cable is through an ISP, how private is that and why is there not a court order necessary before privacy can be compromised and very select Americans be subject to espionage?
Cell phones won't help you now, they can be tapped without wires.
The options are far fewer than the possibilities offered when dial-up first got popular.
> there's no hope of getting a world-wide, free, uncensored, unlimited IP4/6 network back.
What do you mean "back"? It was never free, as in zero-cost. It was also not very unlimited; I remember times when I had to pay not only for the modem time online, but also for the kilobytes transferred. Uncensored, yes, because basically nobody cared, and the number of users was relatively minuscule.
The utopia was never in the past, and it remains in the future. I still think that staying irrelevant for large crowds and big money is key.
"If you are being targeted even the Rasperry Pi you just ordered might be compromised."
Is that like owning a car and having some third-party (who?) remotely cut the brake cable because the manufacturer fitted that "feature" in stealth? Or maybe they did something more benign (ie disable car speakers) just as a reminder as to "who is the boss?"
> The large networks, trans-atlantic, trans-pacific cables, all that stuff is beyond the control of individuals and even countries. If they don't like your HTTP(S) traffic, the rest of the world won't see it.
Not really having a plan here, so if nothing else this is out of curiosity, but I'd like to know who is actually owning that stuff.
For something that seems so ubiquitous and familiar like the internet, it would probably be good to understand who owns most of its infrastructure.
The most is owned by Big Telcos, previous national monopolies. Deutsche Telekom from Germany, NTT from Japan, AT&T and Level3 and Lucent from US, Vodafone from UK, some private lines for Big Tech. There are lots of privately owned companies for connecting all sorts of big and small companies' infrastructure (cables and routers) together in Internet Exchange Points all over the world. Some of them are again owned by big telcos, some of them are private independent companies, some of them are government owned, or any combination of the options.
>The democratization ends at your router. Unless you are willing to lay down your own wires - which for legal reasons you most likely won't be able to do, we will hopelessly be dependent on the ISP.
We can have other protocols on top of TCP/IP and build a new Internet over the existing one, much like TOR/I2P/Hyphanet/Lokinet but without many of the disadvantages of those.
there is already so much “space stuff” that launching spacecraft is increasingly difficult.
The next comment will be “but they can have short orbits” but that betrays the fact that they can collide with other objects and if its so cheap we will launch thousands for bandwidth.
As always: technical solutions to political problems is a band-aid and makes everything worse, lets beat our politicians to death (metaphorically) instead.
Or use WiFi and decentralized networks, Freifunk, Guifi and NYCMesh already demonstrated it's possible, and you can easily with consumer hardware setup 1km links with directed antennas, so as long as you have line of sight to another already connected node, you too can participate and help build another network that is separate from the internet :)
ISP is to only transfer IP packets. All the rest is up to you. And more: if suddenly many need a lot of upload speed, both marketing and lawmaking forces are in their favor. I think you overestimate this trouble.
Let me introduce you to the decentralized alternative to ISPs, connecting and collaborating with the new-ish wireless mesh networks that are still active and maintained. The three biggest AFAIK are Freifunk (Germany), Guifi (Spain) and NYCMesh (NYC/US?).
Basically, you can as a private individual set up a wireless node, talk with your nearest node that you have a visual line of sight to, and get connected to a completely separate network from the internet, where there is a ton of interesting stuff going on, and it's mostly volunteer run.
>The democratization ends at your router. Unless you are willing to lay down your own wires - which for legal reasons you most likely won't be able to do, we will hopelessly be dependent on the ISP. (Radio on free frequencies is possible and there are valiant attempts, they will ultimately remain niche and have severe bandwidth limitations)
I don't know - the rate of adoption of MeshCore and similar technologies is quite astonishing.
The upstream bandwidth sure improved but ISPs are still hostile to self-hosting by limiting ports, resetting connections every x days and not providing an ipv4 for a reasonable charge.
There's also no hope of creating a web that is resistant to enshittification and power consolidation as long as it can technically support any form of economic transaction.
It's sad how many people are falling for the narrative that there's more at play here than predict-next-token and some kind of emergent intelligence is happening.
No, that is just your interpretation of what you see as something that can't possibly be just token prediction.
And yet it is. It's the same algorithm noodling over incredible amounts of tokens.
And that's exactly the explanation: People regularly underestimate how much training data is being used for LLMs. They contain everything about writing a compiler, toy examples, full examples, recommended structure yadda yadda yadda.
I love working with Claude and it regularly surprises me but that doesn't mean I think it is intelligent.
When Codex goes off the rails and deletes files, it gets ashamed for fucking up and tries to hide its handiwork, and then it becomes apologetic and defensive when you call it out on it. It's linear algebra on a GPU, so I don't think it is capable of feeling those things like a human does, but it outputs tokens that approximate what a human would output when similarly faced, so I mean, sure, it's not actually intelligent in a way that philosophers can debate in armchairs about, but the computer has been said to be "thinking" when it takes three hours to render with ffmpeg since long before LLMs existed, so if that's the hill you wanna die on, be my guest. The hill I chose to die on is that downloadable models aren't open source, so we all have our battles. Policing other people saying LLMs are thinking/intelligent isn't mine, however.
You don't typically give the intern the task to review all company communication including the messages talking about firing the intern. People seem to have lost common sense about security.
The token prediction tries to simulate (textual) behaviour, which in this case includes blackmailing when threatened to be fired. In other words, SOMEONE has selected that it should exhibit that behaviour by selecting the training data. Sure that someone likely did it by accident, because reviewing such large data sets is just impossible, but maybe that is why such a thing is incredible risky and they should be held accountable for that decision.
This never-ending whining about oooh but my data ... for a service that you can use for free is nauseating.
This is a for-profit company running this service. It ain't free to operate.
If you don't like that, go elsewhere.
If there is one thing that has been a resounding success on the internet it is this: free services that you pay for with your clicks.
Just look at the plethora of free services you get.
In no other economy would that be even remotely possible.
I do advocate for using other networks (specifically Nostr) that are not designed like this, but the network effect is big and most of my friends are on Blue Sky because they have been lured into a false sense of “it’s decentralised, I can just move! If something bad happens”.
The reason they are on Bluesky is that it just works, its client just works and the barrier of entry is low. Oh, and others they want to follow are on there. That's it.
No regular user cares about - oh my data, it is stored centrally, how evil!
That is just not a problem most people have. Like at all.
The light "beam" we perceive is the result of infinite circular waves. The points were the light is not are points where they cancel each other out. We had that as part of the school curriculum, do you not have that, or did you forget?
While the author mentions that he just doesn't have the time to look at all the databases, none of the reviews of the last few years mention immutable and/or bi-temporal databases.
Which looks more like a blind spot to me honestly. This category of databases is just fantastic for industries like fintech.
What we do is range types for when a row applies or not, so we get history, and then for 'immutability' we have 2 audit systems, one in-database as row triggers that keeps an on-line copy of what's changed and by who. This also gives us built-in undo for everything. Some mistake happens, we can just undo the change easy peasy. The audit log captures the undo as well of course, so we keep that history as well.
Then we also do an "off-line" copy, via PG logs, that get shipped off the main database into archival storage.
People are slow to realize the benefit of immutable databases, but it is happening. It's not just auditability; immutable databases can also allow concurrent reads while writes are happening, fast cloning of data structures, and fast undo of transactions.
The ones you mentioned are large backend databases, but I'm working on an "immutable SQLite"...a single file immutable database that is embedded and works as a library: https://github.com/radarroark/xitdb-java
The fastest approach is to just zero out the data. Alternatively you can rebuild the entire database while preserving only the data accessible in the latest copy of the db (kinda similar to SQLite's VACUUM command).
I see people bolting temporality and immutability onto triple stores, because xtdb and datomic can't keep up with their SPARQL graph traversal. I'm hoping for a triple store with native support for time travel.
XTDB addresses a real use-case. I wish we invested more in time series databases actually: there's a ton of potential in a GIS-style database, but 1D and oriented around regions on the timeline, not shapes in space.
That said, it's kind of frustrating that XTDB has to be its own top-level database instead of a storage engine or plugin for another. XTDB's core competence is its approach to temporal row tagging and querying. What part of this core competence requires a new SQL parser?
I get that the XTDB people don't want to expose their feature set as a bunch of awkward table-valued functions or whatever. Ideally, DB plugins for Postgres, SQLite, DuckDB, whatever would be able to extend the SQL grammar itself (which isn't that hard if you structure a PEG parser right) and expose new capabilities in an ergonomic way so we don't end up with a world of custom database-verticals each built around one neat idea and duplicating the rest.
I'd love to see databases built out of reusable lego blocks to a greater extent than today. Why doesn't Calcite get more love? Is it the Java smell?
> it's kind of frustrating that XTDB has to be its own top-level database instead of a storage engine or plugin for another. XTDB's core competence is its approach to temporal row tagging and querying. What part of this core competence requires a new SQL parser?
Many implementation options were considered before we embarked on v2, including building on Calcite. We opted to maximise flexibility over the long term (we have bigger ambitions beyond the bitemporal angle) and to keep non-Clojure/Kotlin dependencies to a minimum.
Btw Datomic is free now that Nubank supports it (and runs a large bank on it).
There's also a fantastic kind of mini, FOSS, file-based Datomic-style Datalog DB that's not immutable called Datalevin. Uses the hyper-fast LMDB under the hood. It's called Datalevin. https://github.com/juji-io/datalevin
Destructive operations are both tempting to some devs and immensely problematic in that industry for regulatory purposes, so picking a tech that is inherently incapable of destructive operations is alluring, I suppose.
I would assume that it's because in fintech it's more common than in other domains to want to revert a particular thread of transactions without touching others from the same time.
Most of the musings on enforcing invalid states with ADTs are impractical when working with real data that needs runtime validation when it enters the system.
Using a schema/spec/type library at runtime that is even more powerful than ADTs is a better investment - or to be less controversial - is an additional investment on top of types.
Yes, it means the compiler can't help you as much, but who has time waiting for a compiler anyways ;)
I find the "make illegal state unrepresentable via types" idea great for software that needs to fly a plane, but for enterprise software not so much. The cost/benefit is not justifiable.
reply