I convinced my family to try Signal, and after a month of not being able to connect despite knowing each other's numbers - silent errors - I had to apologize and join them on WhatsApp.
They all use iMessage primarily, but that's a whole other can-of-worms conversation. (Screw Apple.)
Got my entire family on Signals (sisters, brothers, in-laws, parents, nephews…). We're very happy but could extend that to second degrees(?), to cousins and uncles. We're were close to succeed but we needed help (media, mostly).
People are sometimes unkind to the Division Bell, but it contains one of my personal favorites: "Wearing the inside out". Wright's lyrics and vocals (first time since The Dark Side of the Moon), Gilmore's guitar, it all comes together.
What I dislike about the license change is that by trying to extract an extra dollar from Amazon&Google, the entire community gets hurt in the process.
Can I "dnf/apt install redis" on my Fedora or Debian install? I cannot, it's no longer packaged because it's no longer open source.
Can I go buy a shared hosting plan and get Redis? Or a small PaaS that sits on top of AWS? I cannot, because we have decided that every hoster is now as exploitative as Amazon, regardless of their margin.
For decades we lived in a world where someone could sell you an Apache server and a MySQL instance without having to pay money to Apache or MySQL. We can change that social contract, but like all tariffs, this one will be paid by the end users, not by the companies providing the service.
> For decades we lived in a world where someone could sell you an Apache server and a MySQL instance without having to pay money to Apache or MySQL. We can change that social contract, but like all tariffs, this one will be paid by the end users, not by the companies providing the service.
Yeah, but the Internet community at large took care about funding. MySQL always had the commercial support leg to stand on, and Apache httpd... looking at the contributor list [1], it's a healthy mix of universities, large companies (IBM, HP), ISPs (Vodafone, Cable & Wireless), hosters (Rackspace), small consultancies and individual private contributors.
In contrast, the megacorporations are largely absent from FOSS contributions (the exceptions being Netflix and partially, where it suits them, Google, Microsoft and Apple).
Valkey, the Redis fork, is currently sponsored by Ampere, AlmaLinux OS Foundation, Broadcom, DigitalOcean, Memurai, NetApp, Aiven, Alibaba Cloud, AWS, Canonical, Chainguard, Ericsson, Heroku, Huawei, Google Cloud, Oracle, Percona, Snap Inc and Verizon[0].
There is enough interest in sponsoring the development of infrastructure software. But if you want to build a "commercial arm", get VC funding[1][2] and earn millions, then it will never be enough. And I can't say it's unreasonable to want to do that, it just ultimately ends up being against the long-term interests of the project as a whole.
How much did AWS and those contribute until they got locked out of using Redis? That's what's interesting. That they now have to sponsor an alternative isn't exactly surprising.
How do they manage the payout to the individual contributors?
If I fix a typo, do I get a payout at the end of year for my work?
IMO that’s what it comes down to, that contributors that work for these companies have they contributions reimbursed through their salary. Other contributors might not earn that salary.
One of my clients is using OpenSearch instead of Elastic.
Big mistake. It's already behind elastic search, and worse too. It has bugs, weird behaviour and updates are already slowing.
On top of that, elastic have cunningly changed parts of their offerings to mean OpenSearch users can't use the elastic examples. For example they completely changed their .Net Core library so all new documentation in elastic is totally useless for OpenSearch.
They've added a way in the dashboard to run SQL for quick queries, etc. The OpenSearch version of that is buggy as hell, and for all intents and purposes useless because if you get the SQL wrong it just shows a blank screen instead of the error.
I'd be very aware of those problems, which appeared pretty rapidly, when going to these big corporation supported branches.
You are asking for trouble and are totally dependant on the company keeping that branch going who have little incentive to maintain or improve it now you're locked into their PaaS.
Sort of. "Locked in" is a strong word, considering Redis will run on AWS just fine, either by buying their product or spinning up a couple EC2s and `docker run redis` (which is allowed under the license since you aren't reselling it). Yes, harder than clicking a button in the AWS console, but it's not like you're stuck completely.
I understand it more for OpenSearch, because scaling that is annoying, but Redis has built in cluster mode stuff that works fine without having Amazon's magic control plane.
(we're also using OpenSearch hosted by AWS but not for anything complicated, so haven't encountered what you have. seems like Elastic 7.10, frozen in time, which is fine for us. they forked the old version of the .NET library for people to continue using, but I guess you need to use the archived docs.)
> Valkey, the Redis fork, is currently sponsored by Ampere, AlmaLinux OS Foundation, Broadcom, DigitalOcean, Memurai, NetApp, Aiven, Alibaba Cloud, AWS, Canonical, Chainguard, Ericsson, Heroku, Huawei, Google Cloud, Oracle, Percona, Snap Inc and Verizon[0].
Took 'em long enough to realize. I 'member the Heartbleed catastrophe and what pittances OpenSSL got [1]. And as always, there's an XKCD fitting just too damn well [2].
> And I can't say it's unreasonable to want to do that, it just ultimately ends up being against the long-term interests of the project as a whole.
That's the thing... conflicting interests, incentives and most especially expectations. Let's say I'm unhappy with the current state of managing a fleet of hardware servers and VMs, especially after the VMware disaster.
I could bite the bullet and pay VMware. I could go and get OpenStack running. It would be an utter pain to set up and run (because it is funded primarily by universities who don't have the constraint of "administration time effort" because that's what you have aspiring student volunteers for, but instead do have the constraint that it's hard to get hardware so OpenStack has to be flexible enough to support a ton of crap that any enterprise would have sent off to e-waste a decade ago). I could go and get Proxmox up and running, but it's AGPL so corporate legal may chew up my ass. Or I could whip up my own orchestrator, fit to work for my needs, and say I open-source it... and it might even be decent enough others may want to use it as well.
But then, many of these "others" won't be willing to pay for support, but they'll flood the Github issue tracker with all kinds of stuff that I now have to care about (because who wants to present a Github repository with dozens if not hundreds of open issues?), tons of feature wishes and demands (because obviously while I may run Cisco network gear for SDN, someone else may be a Juniper or whatever shop, and wants integration for that), and in the worst case someone gets 0wned because of some vulnerability that I might not even have realized - and I get the shitstorm for it, my name gets dragged through the mud like it was for OpenSSL or log4j.
So, basically I'm left with the choice between either accepting being labeled "lazy" (for not caring about "my project" enough) or to raise enough money to get the product competitive with what the other players are offering, and the only way for that is to go the VC route. And unfortunately, unlike old-school "startup capital", modern VCs want (or rather, because they're following spray-and-pray in their hunt for the 1-out-of-100 unicorn chance, have to aim for) the expectation of insane hyper-growth.
And then, one day, Amazon might go and say "hey, this FOSS thing is pretty cool, we'll add some glue code to integrate with IAM, backups and high availability, a fancy web UI and sell it on towards our customers". And suddenly, people would flock towards Amazon, who'd not be required to contribute back (because I chose either the MIT or GPL license to make adoption by others easier)... but I as well as the investors who enabled the product to grow to the stage where it was usable and popular enough for Amazon to commoditize would not see a single cent of it.
And everyone but Amazon loses out. I may be lucky enough to have gotten a few years worth of salary from VC funding (the reality is, most startup founders prioritize ramen lifestyle), the VC and their investors in turn lose out because why contract with me when they already got a frame contract with AWS, and the developers who worked with me also lose out for the same reason.
They did a reprint of the original magazine from January 1984, to mark its 40 year anniversary. It can still be purchased online at https://prodavnica.pcpress.rs/issue/339/1, and they ship internationally.
I got my copy a few months ago, wanting to own a small piece of history.
You can buy the actual computer kit as well at https://pcpress.rs/galaksija/, but that one ships only within Serbia.
> "You can buy the actual computer kit as well at https://pcpress.rs/galaksija/, but that one ships only within Serbia."
Even though the website only allows domestic shipping, I suspect (without knowing anything about that country or their culture) that the sort of company which sells a product like that would be pleased enough by the idea that a foreigner wants to buy it that if you contact them there's a good chance they'd be willing to send it internationally if you paid the shipping cost.
The listed price is 8,000 RSD (Serbian Dinars) is equal to ~£57 / ~$74 - so even if the shipping was as expensive as the item itself, it still wouldn't be insanely expensive for someone who really wants it.
Please note that they're selling only few components specific to Galaksija - 2 eproms with OS and Basic, print board, keyboard mask (don't know what that is) and some plastic base for all that. You'll need CPU, case and other generic components and you'll have to order these elsewhere. They mention they might offer full set later with some partner but not for now.
Yeah, I was a bit dissapointed with that, but it's understandable that they don't expect to sell a lot of those, it's not a business, just some nostalgia fueled fun project.
I like the support for custom currencies, as that is an edge case that often pops up.
On the other hand, be careful about tying the symbol to the currency, as symbols are locale specific. For example, the symbol for USD is $ in eu-US but US$ in en-CA and en-AU (Canada and Australia), and then $US in French locales.
https://cldr.unicode.org/ is the magical dataset behind most good implementations that deal with currency display. Updated twice a year, available in JSON, providing currency symbols and formatting rules for all locales, as well as country => currency mappings and other useful information.
I'm curious, is there a standard practice of library developers in a certain space collaborating across languages, sharing issues and corner cases and solutions? Is this a common practice with a name? Or is it up to you to look through issues and release notes on projects in the same space to glean useful information?
I'll introduce l10n support in a future release. My starting point was to make currency names and symbols unaware of the locale as I embedded cryptocurrency data in the mix.
There is a middle ground and some common patterns that can help.
The address field names are fairly standardized[0] and Google has an open dataset (used by Chrome and Android) describing which countries need which fields[1].
I have an older PHP library[2] and a newer Go library[3] that build upon this, while crowdsourcing fixes (since Google hasn't updated their dataset in a while). The Go library allows me to serve all address formats and state lists in a single HTTP request, which can then power a very fast JS widget.
[0] Initially by the OASIS eXtensible Address Language (xAL) which trickled down into everything from maps to HTML5 autocomplete.
Do you know any specific case studies for unstructured logs on clickhouse?
I think achieving sub-second read latency of adhoc text searching over ~150B rows of unstructured data is going to be quite challenging without a high cost. Clickhouse’s inverted indices are still experimental.
If the data can be organized in a way that is conducive to the searching itself, or structured it into columns, that’s definitely possible. Otherwise I suppose a large number of CPUs (150-300) to split the job and just brute force each search?
In retrospective, I think it's obvious that Go's decision to have package and variable names be in the same namespace was a mistake. It is the main reason why people overuse single letter variable names, and have debates such as the one in the linked post.
I am guessing that using a different operator (e.g. rate::NewLimiter()) was deemed inelegant, but it would have avoided a whole set of problems.
retrospective? It was one of the first silly gotchas I hit picking up the language. And the stdlib authors chose those package names!
It's funny how when I was using Go, I couldn't wait until it got generics (which was only a matter of time despite the party line). When it finally got them, I was versed enough in the edges and nature of the language/ecosystem that I didn't really care anymore and moved on. I am glad that Go rose to popularity because it brought to light opinions that weren't all that popular: memory layouts matter and error values (rather than exceptions). I still prefer a sound type system over nil/zero values though.
Totally agree, it’s a bit of a strange design choice. I’d be curious to read about the tradeoffs made here, as it must have come up while developing the language.
I am going to be controversial for a hot second, and say that in many ways MySQL is a more advanced and better implemented database at its core. Disclaimer: as a developer I love and prefer Postgres. But I've been on many projects where MySQL won for ops-related reasons.
Postgres has a MVCC implementation that is recognized as inferior[0] to what MySQL and Oracle do, and requires dealing with vacuuming and all of its related problems.
Postgres has a process-based connection model that is recognized as less optimal than the thread-based one that MySQL has. There are ongoing efforts[1] to move Postgres to a thread-based model but it's recognized as a large and uncertain undertaking.
Other commenters have also explained the still very noticeable difference in replication support, the lack of query planner hints, the less intuitive local tooling.
One thing to keep in mind is that both databases keep evolving, and old prejudices won't take us far. Postgres is improving its performance and replication support with each release. MySQL 8.0 added atomic DDL and a new query planner (MariaDB did their own query planner rework in 11.0, widening their differences). Both are improving their observability. So the race is far from over. But I definitely wouldn't count MySQL out.
reply