@chrisg@fosstodon.org
@chrisg@fosstodon.org avatar

chrisg

@chrisg@fosstodon.org

I want to raise my voice. I try to remember my dreams.

Fascism is a loser ideology. Trans rights are human rights. Abolish borders and eat the rich.

I do silly things with software.

#asmalldbms
#softwareforpunks
#glowdust

This profile is from a federated server and may be incomplete. Browse more on the original instance.

ekuber, to rust
@ekuber@hachyderm.io avatar

Sometimes I wish that rustc had a database of small breaking changes that affect only a handful of crates, so that we could on the fly patch them going forward. Things like "we now correctly check for lifetimes in assoc types" can technically be a breaking change that affects a handful of crates, but I want to ensure that building a project from today in 15 years doesn't require a compiler tool chain from today.

I guess this is the windows backwards compatibility approach.

chrisg,
@chrisg@fosstodon.org avatar

@ekuber At neo4j I called this the "we got addition wrong" problem.

What if Cypher had a bug that added 1 to every addition? Then users would need to -1 every result. Once we discovered it, it would mean that every codebase that had patched the issue would now be broken even though we fixed the issue.

I would argue that what you describe would be a compiler config, because from the user's perspective it's like a reverse experimental feature.

chrisg,
@chrisg@fosstodon.org avatar

@ekuber That means you put the burden on the user to flag which (now corrected) behaviors they depend on and, as long as they are present in the compiler, the project will keep compiling.

I'm not sure the compiler should know which crates depend on certain behaviors. That feels wrong.

chrisg,
@chrisg@fosstodon.org avatar

@ekuber Editions, in this context, would be collections of "feature flags", right? If so, that would require discipline on both sides. Not a deal breaker, of course, but perhaps a different approach.

baldur, to random
@baldur@toot.cafe avatar

those devs and tech “influencers” who pioneered the technical work of putting “AI” shit in everything everywhere, and are—for the most part—the assholes who enabled our brave new “AI” world by actually figuring out how to make it run, are also going to be the people who get credit for criticising it after the bubble pops, aren’t they?

Everybody will latch onto their vague concerns and ignore the fact that they literally implemented the shit that got smeared everywhere, aren’t they?

chrisg,
@chrisg@fosstodon.org avatar

@baldur The way I'm seeing it play out, the "concerns" they offer are functioning perfectly as the performative response to the criticism that targets them.

That's what propaganda is, isn't it?

chrisg, to random
@chrisg@fosstodon.org avatar

Remember kids - you can work yourself sick, but you cannot work yourself rich.

chrisg, to random
@chrisg@fosstodon.org avatar

Wait, JDBC does not have a Transaction class?

You can only do commit()/rollback() on the Connection object?

I guess it's really been a while since I last used a DBMS from Java.

chrisg, to random
@chrisg@fosstodon.org avatar

As a DBMS implementor, I have always assumed that a DB transaction should not be bound to a server side construct (a thread or a client connection, but instead should be an identifier that is transparent and transferrable between clients (subject to auth, of course).

So client thread A can start a tx, get a txId, that can be moved to client thread B which can use it to continue the tx.

Is that something useful for users of DBMSs? It's not hard to do, and I don't see many systems doing it.

chrisg,
@chrisg@fosstodon.org avatar

@mykhaylo Excellent point, and I didn't know Datomic calls them that. TIL, thanks.

But yes, the ability to transfer between clients assumes that Txs are reifiable entities, by definition.

And since does functions, the tx would start like:

tx = beginTx();

and tx is the handle, a Glowdust struct that you can return, serialize, inspect and pass around.

Commit is similarly

commit(tx);

and you can have

timestamp(tx), whatever_data(tx) etc

So fully reifiable, by design.

chrisg,
@chrisg@fosstodon.org avatar
jake4480, to random
@jake4480@c.im avatar
chrisg,
@chrisg@fosstodon.org avatar

@jake4480 In that situation, the choices really boil down to either whacking the ostrich skeleton on the head, or having a picnic with it.

And who among us hasn't had a day where you just had to whack an ostrich skeleton on the head?

stfn, to random
@stfn@fosstodon.org avatar

What is an electronics tinkerer worst nightmare?

Soldering Iron Maiden

chrisg,
@chrisg@fosstodon.org avatar

@stfn Spray it with flux, press it on a breadboard, starch it with solder.

Could work. All I need is a full suit of armor.

To try ironing it.

For science.

olafurw, to random
@olafurw@mastodon.social avatar

There's the time that I learned that MySQL, Main Street, San Francisco, German chocolate cake and Gasoline are named after people.

(My Widenius, Charles Main, Samuel German and John Cassell)

https://notes.rolandcrosby.com/posts/unexpectedly-eponymous/

chrisg,
@chrisg@fosstodon.org avatar

@olafurw Monty, one of the creators of MySQL and father to My, named MaxDB and MariaDB after his other two children.

chrisg, to rust
@chrisg@fosstodon.org avatar

I spent the whole day chasing a weird benchmark result - I would get twice the performance changing things that seemed unrelated.

It turns out that I hit upon a case where code alignment costs half the performance

(AMD Ryzen 9 3900, Rust 1.79 nightly 04-02)

This code

vector[index];  
vector[0..index].iter().any(|x| *x == needle)  

Is twice as fast (according to criterion.rs) as omitting the first line. You'll note the first line does nothing.

drewdevault, to random
@drewdevault@fosstodon.org avatar

Hm, bit of a long shot, but are there any physicists on here? I have a question: as the universe expands, light traveling through space is redshifted, which means it loses energy. Thermodynamics tells us that energy can't just disappear. Where does that energy go?

chrisg,
@chrisg@fosstodon.org avatar

@drewdevault Not a physicist, but from what I understand, energy is not "conserved" at the space and time scales that redshift happens.

For example:

https://physics.stackexchange.com/questions/1327/hubbles-law-and-conservation-of-energy

chrisg, to random
@chrisg@fosstodon.org avatar

StabilityAI looks like is going under, and if the numbers in this article are any indication, it gives a good idea of how massively (and therefore unsustainably) "AI" is subsidised

https://www.theregister.com/2024/04/03/stability_ai_bills/

chrisg, to rust
@chrisg@fosstodon.org avatar

Wrote a quick and dirty utility that extracts all Glowdust snippets from the markdown files of the documentation and runs them.

It runs as an integration test, so if I make a mistake in the docs, normal cargo test will let me know.

Also supports tags to skip examples that don't compile on purpose.

Helped me catch a few issues immediately, and I now know that my documentation is up to data with the actual implementation.

For the curious:

https://codeberg.org/glowdust/glowdust/src/branch/master/tests/book/check_book.rs

drewdevault, to random
@drewdevault@fosstodon.org avatar
chrisg,
@chrisg@fosstodon.org avatar

@drewdevault The most important bit (for me) in this post:

You don't have to sign the CLA. It is not normal. It is not the default. It is an attempt to take your work away and profit from it without compensation.

For those who work at companies that ask for CLAs (like I used to): Resist. Don't push people to sign them. Accept and defend their right to not sign them.

It is not normal.

chrisg,
@chrisg@fosstodon.org avatar

@drewdevault Don't sign stuff from them, or even talk to them.

chrisg,
@chrisg@fosstodon.org avatar

@drewdevault

Artists are not the only profession being played for fools

@affine @apophis

drewdevault, to random
@drewdevault@fosstodon.org avatar

Another day, another batch of people wrongly explaining how licenses work to me

chrisg,
@chrisg@fosstodon.org avatar

@drewdevault There is something about software licensing that draws the kind of people who because they understand one complex issue (software programming) think they understand every complex issue.

BigAngBlack, to random
@BigAngBlack@fosstodon.org avatar

Do vegan's eat billionaires?

chrisg,
@chrisg@fosstodon.org avatar

@BigAngBlack

Little known fact - billionaires are compatible with a vegan diet.

But you can always compost them instead.

chrisg, to Redis
@chrisg@fosstodon.org avatar

There goes Redis:

https://redis.com/blog/redis-adopts-dual-source-available-licensing/

This is such a mess, it is hard not to feel angry.

Briefly - the cloud providers are definitely a huge issue. They are the vampires of the software community and the root cause of many of our problems.

But redis didn't go against them. They went against the community that made them grow. Same like Mongo, Neo4j.

And as @jenniferplusplus said - don't sign CLAs. They are a big part that let moves like these happen.

chrisg,
@chrisg@fosstodon.org avatar

@dragnucs

I'll defer to @jer who seems to be the most involved with Redis in my timeline. He just posted about KeyDB:

https://hachyderm.io/@jer/112132897848069078

@jenniferplusplus

chrisg, to random
@chrisg@fosstodon.org avatar

@drewdevault Thank you for creating this community.

Signed up and started posting,

https://discourse.writefreesoftware.org/t/do-we-need-product-managers/84

PS: Hey @prma 👋

tante, to random
@tante@tldr.nettime.org avatar

Thinking about taking a month off of work to write a book and that might be the dumbest or smartest idea I ever had.

chrisg,
@chrisg@fosstodon.org avatar

@tante

I guess you won't know if it's smart or dumb until you've done it, but I can almost guarantee that writing a book ain't happening in a month.

You should do it.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • thenastyranch
  • magazineikmin
  • ngwrru68w68
  • mdbf
  • rosin
  • Youngstown
  • vwfavf
  • slotface
  • modclub
  • khanakhh
  • cubers
  • kavyap
  • DreamBathrooms
  • cisconetworking
  • PowerRangers
  • everett
  • Durango
  • InstantRegret
  • osvaldo12
  • tester
  • Leos
  • tacticalgear
  • ethstaker
  • GTA5RPClips
  • normalnudes
  • anitta
  • megavids
  • All magazines