Hacker News new | past | comments | ask | show | jobs | submit | ithrow's comments login

I wonder if public benchmarks are now allowed with the binaries.


Somebody asked about the Dewitt Clause in the Slack, and got crickets.


Datomic's 'time travel' is an audit feature, not something for your application/business logic to depend on. Performance reasons make it impractical, unless you only have like 10 users and very little data.


That's certainly not how it sells and markets itself.

The first feature on benefits (and the only reason I've ever heard Datomic brought up and/or considered it myself for production workflows) is using that stuff in application workflows: https://docs.datomic.com/pro/time/filters.html#history

Could be you're saying it in fact doesn't work well performance-wise, that'd (surprise me but) certainly explain why it's not more popular -- but I think it's clear it wants you to use this as an application feature.


Welcome to sales tactics ;)

Datomic is great but as another commenter said, is good for "small-ish backoffice systems that never has to be web scale". You almost probably can rely on querying history for internal applications. I think their primary market was for companies to use it internally but they never made this clear.


Ironically, Hickey fired the one marketer they hired for Datomic.

He lucked out when a unicorn went all in on it. Word around Cognitect was, Datomic was barely breaking even.


> "small-ish backoffice systems that never has to be web scale". Doesn't production use of Datomic by Nubank and Netflix (to mention just two examples) belie this assertion?


Alternatively, Datomic wasn't performing up to snuff, and they found it cheaper to buy Cognitect than do a DB migration :D


Do those companies specify what they use it for? They probably have their own internal "small-ish backoffice systems".


Nubank is one thing, but for Netflix, just like for any big company 10000 DB technologies are probably in use at the same time.

And 9996 of them are used for stuff like the internal HR DB or other minor projects.


I don't how they do it, but the obvious answer is probably sharding. Their cloud costs must be no joke. Peers require tons of memory and I can only guess they must have thousands of transactors to support that workload and who knows how many peers. Add to this that they probably need something like Kafka for integrating/pipelining all this data.


> Peers require tons of memory

As do most distributed databases. Even when you don't store your entire database (or working set) in memory, you'll likely still have to add quite a bit of memory to be used as I/O cache.


I guess this is why datomic.com front page now defaults to datomic pro and not cloud.


How do you handle chromium in Debian stable? It always lags behind significantly behind chromium/chrome releases.


The trick: Don't use Debian Stable, use Testing. Despite it's name compared to "stable", Testing is pretty stable in my experience.

- Chrome Stable - 112.0.5615.137

- Debian Bullseye (stable) - 108.0.5359.94

- Debian Bookworm (testing) - 112.0.5615.49

Most people I know who run Debian for personal desktops uses Testing, not Stable. Vice-versa for servers.


The security repo that is added by default has newer Chromium packages

https://wiki.debian.org/Chromium

https://security-tracker.debian.org/tracker/source-package/c...

- buster 90.0.4430.212-1~deb10u1

- bullseye 108.0.5359.94-1~deb11u1

- bullseye (security) 112.0.5615.121-1~deb11u1

- bookworm 112.0.5615.49-2

- sid 112.0.5615.138-1


My philosophy has been to let the distro package manager handle system packages (kernel, OpenSSL, etc) but then use flatpak [1] to install user progs like Chromium and VSCode so I get bleeding edge releases and sandboxing.

[1] https://flathub.org/apps/details/org.chromium.Chromium


And by bleeding edge you mean stable.


I use Firefox ESR with Debian stable + backports, and the internet seems to work as far as I can tell (I'm not doing anything fancy with it though)


I use Firefox and I switch to Google Chrome for the very few cases when it's too difficult to make a web site work with Firefox plus all the privacy addons I added to it, maybe not every month.

I think I downloaded the installer from Google and I got this

  deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
in /etc/apt/sources.list.d/google-chrome.list now.


I have love/hate relationship with Emacs too, but for the stuff I do in Emacs I hate other software more. So Emacs it is.


no

I readily admit, though, that not all software development needs to be flexible and big-application focused. To that end there are many things Common Lisp is not so good at. Common Lisp is not good at being pretty out-of-the-box, it's not good at minimalism, and it's not good at prescriptive or dogmatic programming styles. I've personally not been convinced of the various approaches to using Common Lisp as a scripting language (especially because of standard multi-stage execution). Common Lisp also has an unusual learning curve: there's an initial hump of learning Lisp's oddities (DEFVAR/DEFPARAMETER, CAR/FIRST, no hash table syntax, lots of EQ[UA]L-ity functions, systems vs packages, LOOP/DO/DOTIMES/DOLIST, "Neo, there are no lists in Lisp", ...), followed by a longer path of soaking in the extensive facilities offered by the language. There's just... a lot of content. And in part because of its idiosyncratic nature, no singular approach to learning it works for everyone.

Common Lisp is pretty anemic when it comes to extreme use of functional programming. It's wholly capable and serviceable, but most library writers don't go whole-hog with FP, and Common Lisp by default makes FP a little stuffy (it requires functions bound to variables to be called with FUNCALL, and it requires defined functions to be referenced with #' syntax). There is very little support for functional data structures; the FSET library seems to be what most people suggest.

https://old.reddit.com/r/lisp/comments/123edgv/im_considerin...


> Common Lisp is not good at being pretty out-of-the-box, it's not good at minimalism, and it's not good at prescriptive or dogmatic programming styles

These things help you learn to program, but they do not help you program.

At some point the box is open, at some point your problems are big and nobody else has done them before. It is in this moment that CL is good, and perhaps better than anything else.

> There's just... a lot of content.

That's some of the stuff that helps you program, because if you didn't have it and you needed it, you'd have to write it.

> no singular approach to learning it works for everyone.

So what? "Everyone" is your competition. Why do you care what works for them?


Most business applications today have a web UI, using nodejs/JS/TS simplifies things by having to deal only with one language and ecosystem. Most business apps today stick to only one database and maybe an additional nosql database. What you did is very unusual for most apps and is something only huge companies would do, like SAP or big banks.


Only reads can be distributed, and because of datomic's performance you will reach for them way sooner than with something like postgres.


yes?


yeah, that was really brief. I was actually hoping for someone to bring up https://arxiv.org/abs/1901.01930 (keeping CALM) for an interesting alternative


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: