HNHacker News
TopNewBestAskShowJobs

aleksi

2,201 karma · joined November 10, 2011

FerretDB (https://www.ferretdb.com) co-founder and CTO.

[ my public key: https://keybase.io/aleksi; my proof: https://keybase.io/aleksi/sigs/qhnH72xD_3_TdT9WvSCM6A_NRosP5WqsL2FIAqmljLI ]

submissionscomments
aleksi··on FerretDB Releases 2.0: A Faster, More Compatible MongoDB Alternative
It works on top DocumentDB PostgreSQL extension: https://github.com/microsoft/documentdb I don't think it could be made compatible with Cockroach without a complete rewrite in Go. Not sure about Yugabyte, though.
aleksi··on 1-800-ChatGPT
It is such a weird thing to see Afghanistan in a list of supported countries: https://help.openai.com/en/articles/7947663-chatgpt-supporte...
aleksi··on Borgo Programming Language
Yeah, but "view and fork" does not imply "compile and run", unfortunately.
aleksi··on Hyrum's Law in Golang
That is a bad idea: https://dev.to/wallyqs/gos-map-iteration-order-is-not-that-r...
aleksi··on Australia/Lord_Howe is the weirdest timezone
The most interesting timezone I ever encountered is Europe/Moscow on and around January 1, 1900. If you decide to use that date as a zero date in your code (for example, to handle the transition from two digits per year), you will be in a lot of pain: the offset was +02:30:17. Yes, with 17 seconds! Demo: https://go.dev/play/p/lq36Plr1sIL
aleksi··on Huly – Open-source project management platform
Huly is being built by Andrey Platov, who was previously infamously known for Xored from Novosibirsk. It is clearly intentional.
aleksi··on Clang vs. Clang
Russ Cox has a nice article about it: C and C++ Prioritize Performance over Correctness (https://research.swtch.com/ub)
aleksi··on Enums in Go
There are two linters that add those checks: https://github.com/nishanths/exhaustive for values and https://github.com/alecthomas/go-check-sumtype for types. Both are integrated into golangci-lint. I use both a lot and have only a positive experience.

Having support from the language would be nice, though.

aleksi··on Towards Idempotent Rebuilds?
It is possible to make Go builds reproducible. The first step might be to inspect two binaries with the diffoscope (https://diffoscope.org).
aleksi··on Mongo but on Postgres and with strong consistency benefits
If bait-and-switch were our strategy, we would have chosen a different license from the beginning. The Apache license allows everyone to fork FerretDB away and do whatever they like with it. It is unlike MongoDB with their initial AGPL that, in theory, allows everyone to, say, run MongoDB SaaS, but in practice, has enough strings attached to scare people off.

We want to have a piece of a bigger pie, not a bigger piece of an existing pie. Providing alternatives makes the whole market bigger.

> Also check you managed service links on GitHub, half are dead.

Thank you.

aleksi··on Mongo but on Postgres and with strong consistency benefits
That was the first time I heard about that project. Someone could check it using our guide: https://docs.ferretdb.io/migration/premigration-testing/ Or we will check it ourselves later: https://github.com/FerretDB/FerretDB/issues/4429
aleksi··on Mongo but on Postgres and with strong consistency benefits
(I'm FerretDB co-founder)

As far as I can tell, Pongo provides an API similar to the MongoDB driver for Node that uses PostgreSQL under the hood. FerretDB operates on a different layer – it implements MongoDB network protocol, allowing it to work with any drivers and applications that use MongoDB without modifications.

aleksi··on From RSS to My Kindle
Instapaper has "Kindle Automatic Delivery" in settings. No need to select individual articles if you want all of them.
aleksi··on Docker Hub is not accessible from Russia
I’m curious to know why it happened only today. Was it some new sanctions? Were they slow to apply existing restrictions? Does it have anything to do with official sanctions at all?
aleksi··on Video Game Module for Flipper Zero
It's a good thing that no one from the team is in Russia then
aleksi··on Video Game Module for Flipper Zero
The existing port (https://github.com/p4nic4ttack/doom-flipper-zero) just works with the game module.
aleksi··on Freenginx: Core Nginx developer announces fork
But anyone, including you and me, could re-license MIT/BSD-licensed open-source project under a different license, including non-free. CLA does not affect that.
aleksi··on Is ClickHouse Moving Away from Open Source?
6 PRs from the author were merged: https://github.com/ClickHouse/ClickHouse/pulls?q=is%3Apr+aut...
aleksi··on Show HN: MongoDB Protocol for SQLite
Right, we are going to add support for it.
aleksi··on Show HN: MongoDB Protocol for SQLite
FWIW, we use a version of SQLite transpiled into Go to avoid CGo problems: https://gitlab.com/cznic/sqlite
aleksi··on Show HN: MongoDB Protocol for SQLite
Not yet, but let us turn off fsync…
aleksi··on Show HN: MongoDB Protocol for SQLite
FerretDB is written in Go, can be used as a Go library, and you could call it from C via CGo… But I would not do that :)
aleksi··on Show HN: MongoDB Protocol for SQLite
Some time ago, we wrote a blog post about it: https://blog.ferretdb.io/pjson-how-to-store-bson-in-jsonb/ A few details changed after that (for example, type information is not mixed with values anymore), but the general idea is the same. We probably need to document it better.

Yes, querying it with SQL should be possible.

aleksi··on FerretDB 1.0 GA: open-source MongoDB alternative built on Postgres
FerretDB supports multiple backends: PostgreSQL, Tigris, with SQLite and SAP HANA being developed.
aleksi··on FerretDB: open-source MongoDB alternative
Yeah, that's planned: https://github.com/FerretDB/FerretDB/issues/77
aleksi··on FerretDB: open-source MongoDB alternative
GPL applies to a single program: https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00...
aleksi··on FerretDB: open-source MongoDB alternative
I think you mean https://github.com/dcramer/mangodb
aleksi··on FerretDB: open-source MongoDB alternative
Yeah, we want to do that: https://github.com/FerretDB/FerretDB/issues/226
aleksi··on FerretDB: open-source MongoDB alternative
Probably a custom PostgreSQL extension for BSON support.

The biggest issue right now is that MongoDB compares and sorts values differently than PostgreSQL/jsonb. For that reason, we have to do a lot of filtering on the FerretDB side, and that can't be great for performance. Pushing more work on the database size should make FerretDB perform much better.

aleksi··on FerretDB: open-source MongoDB alternative
> AGPL, to my understanding, makes it a requirement if you allow people to use the software via network levels.

AGPL requirements do not trigger if you don't modify the source code. The relevant text is in section 13:

> […] if you modify the Program, your modified version must prominently offer all users […]

See also [1], [2], [3].

> “Program as a Service” seems a lot more limited in scope.

AGPL scope:

> The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.

Basically, the software itself and build scripts.

SSPL scope:

> “Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.

As noted in another thread, that's not only beyond the scope of the software itself – it is beyond the scope you _can_ relicense and arguably beyond the scope of the copyright terms themselves.

[1] https://opensource.com/article/17/1/providing-corresponding-...

[2] https://fossa.com/blog/open-source-software-licenses-101-agp...

[3] https://opensource.stackexchange.com/questions/650/do-i-have...

← PreviousPage 2 of 6Next →