janriemer

@janriemer@floss.social

Software Engineer with an incredible thirst for knowledge, who shares that knowledge with others, so that they can become their best selfs.

Interested in #Rust, #WebAssembly, #TypeScript, #OpenSource, #WebDev, #WebDesign and a lot of other interesting stuff.

Let's have some deep conversations about interesting topics. 🙂

I'm open-minded, but also hold strong opinions.

Dare to think for yourself.

Be kind.

Strive for excellence.

(moved from mastodon.technology - on Mastodon since Feb 2019)

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

janriemer, to ai

The AI Incident Database

https://incidentdatabase.ai/

"The Incident Database is dedicated to indexing the collective history of harms or near harms realized in the real world by the deployment of artificial intelligence systems. Like similar databases in aviation and computer security, the AI Incident Database aims to learn from experience so we can prevent or mitigate bad outcomes."

janriemer, to rust

So companies, can you please tell me again, why you are NOT using ?

Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022:

"In fact, when asked to compare whether they felt that Rust code was more correct than the code that they write in other languages, an overwhelming 85% of respondents are confident that their Rust code is correct. [...]"

"And, it’s not just correct—it’s also easy to review. More than half of respondents say that Rust code is incredibly easy to review."

janriemer, to rust

for

https://rust-for-linux.com/coccinelle-for-rust

"Coccinelle is a tool for automatic program matching and transformation that was originally developed for making large scale changes to the Linux kernel source (ie, C code)."

- GritQL is a language for searching, , and modifying code.

https://docs.grit.io/

- A tool for code structural search, lint and rewriting. Written in :ferris:

https://ast-grep.github.io/

janriemer, to ai

Aaaaaannnd we have another example of creating bullshit code. 💩

This time it tries to create a "simple" function that checks if a string is an acronym:

https://www.youtube.com/watch?v=Fvy2nXcw3zc&t=224s (YT, because timestamp)

The AI generated code absolutely does not care about at all, so it panics, when you give it a unicode character that happens to not have their char boundary at byte index 1.

1/2

janriemer, (edited ) to Futurology

We, as a society, really need to stop thinking that

popular == good/best

because it is very often simply false.

janriemer, (edited ) to programming

There is still plenty of room for in the space of 's:

sapling | A highly experimental vi-inspired editor where you edit code, not text.

https://github.com/kneasle/sapling

Accessible AST-Based for Visually-Impaired Programmers (2019)

https://dl.acm.org/doi/pdf/10.1145/3287324.3287499

Also related:
diffsitter | A tree-sitter based AST to get meaningful semantic diffs

https://github.com/afnanenayet/diffsitter

➡️ Edit: please check out part 2 of this post below...

1/2

janriemer, to bevy

Wow, is actually dangerous! ⚠️ :awesome:

I've just fixed a concurrency (yes, you've heard that right, even if it's ) in the bevy_mod_picking crate 🐛

https://github.com/aevyrie/bevy_mod_picking/pull/299

What was the problem?

Well, retrieving EntityCommands from Commands with commands.get_entity(entity_id) does not guarantee that the entity is still present when you try to insert a bundle afterwards, because another system could have despawned it.

You should use try_insert instead.

janriemer, to rust

Ah, yes, I've been waiting for this one:

Interview with Senior Rust Developer in 2023 - by Programmers are also human

https://farside.link/https://www.youtube.com/watch?v=TGfQu0bQTKc
(or YT: https://www.youtube.com/watch?v=TGfQu0bQTKc)

"And which part did you write in Rust? The frontend or the backend?" visible confusion "No, the browser!"😅

janriemer, (edited ) to javascript

This is mad 🤯

oxc - The Oxidation is creating a suite of high- tools for the / language re-written in - by Boshen:

https://github.com/web-infra-dev/oxc

Its linter is 50 - 100 times faster than ...

https://github.com/Boshen/bench-javascript-linter

...and its parser is even 2x faster than

https://github.com/Boshen/bench-javascript-parser-written-in-rust

tooling goes brrrrrrrrrrr! 🚀

janriemer, to rust

1 Hour Dive into Rust - by Herbert Wolverson:

https://farside.link/https://www.youtube.com/watch?v=0HwrZp9CBD4
(or YT: https://www.youtube.com/watch?v=0HwrZp9CBD4)

This is probably the best end-to-end overview of you can get! So much valuable information packed into 1 hour. Love it!

Thank you @herberticus for this excellent presentation. 🙏

Boost this to the moon, my fellow Rustaceans! :ferris: :boost_love: The video is one month old and only has ~1,500 views.😬

janriemer, to rust

Oh, this looks fantastic! ✨

library to compare strings (or any sequences). 25+ algorithms, pure Rust, common interface, support.

https://github.com/life4/textdistance.rs

Based on popular and battle-tested textdistance library (and written by the same author).

Apparently, it also takes algorithms from the library, which I wished for to be written in Rust.

https://github.com/Yomguithereal/talisman

janriemer, to opensource

Stirling PDF | locally hosted web application that allows you to perform various operations on files "such as splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more."

Website:
https://www.stirlingtools.com/

GitHub:
https://github.com/Frooodle/Stirling-PDF/

This looks awesome! :awesome:

janriemer, to webassembly

WebAssembly Micro (WAMR)

https://github.com/bytecodealliance/wasm-micro-runtime

" is a lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features for applications cross from embedded, IoT, edge to Trusted Execution Environment (TEE), [...], cloud native and so on."

Looks neat, especially the different running modes look useful:

https://bytecodealliance.github.io/wamr.dev/blog/introduction-to-wamr-running-modes/

janriemer, to rust

Software engineers should really look more into #ECS and #DataOrientedDesign architecture when designing software. This is especially useful in software systems written in #Rust.

It is mostly used in #GameEngine's, most notably in #Bevy #BevyEngine, but is very useful outside of #GameDev, too.

It all comes down to this:

  • separate data from behaviour
  • favor composition over inheritance

It's the antidote to #OOP.

#RustLang

1/2

janriemer, (edited ) to random

Magst Du Oliven?😋

Do you like olives?😋

janriemer, to rust

Magic Wormhole 🐛🕳️ - Get things from one computer to another, safely:

https://github.com/magic-wormhole/magic-wormhole

implementation of Magic Wormhole, with new features and enhancements:

https://github.com/magic-wormhole/magic-wormhole.rs

This thing literally works like magic! 💫 ✨

janriemer, (edited ) to ai

Seeing all this push to by big companies, there is a clear pattern emerging:
Companies have to somehow "proof" that are working by doing "scientific" studies, publishing papers and invite "special experts" who share their "success stories".

We have seen this pattern before: It was used in the tobacco industry as well! With the difference that the tobacco industry mostly tried to "unmake" scientific facts, whereas the AI industry seems to proactively create those "facts".

1/2

janriemer,

Inventing Conflicts of Interest: A History of Industry Tactics

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3490543/

"Within the industry, marketing experts had developed a powerful notion of social engineering, what early public relations theorist Edward Bernays had called the “engineering of consent.”"

Additionally, in the context of AI, companies like 's try to create in people: "Oh no, others are 55% more productive using AI! I don't want to be left behind!"

2/2

janriemer, to graphics

This is genius:

vong | The first compute-centric vector graphic video game

https://github.com/simbleau/vong

I think zooming should be an explicit feature in the game (which triggers some behaviour/state change in the game besides zooming).🙃

janriemer, to rust

How to speed up compile times by 16x 🚀

In their blog post "Speeding up Rust edit-build-run cycle" David Lattimore shows how you can speed up compile times by 16x by just changing some default compiler config:

https://davidlattimore.github.io/working-on-rust-iteration-time.html

Excellent read! Highly recommend!

Make sure to read to the end, as there is a surprise awaiting you - it's pretty wild.

janriemer, to random

V:
https://vlang.io/

Val:
https://www.val-lang.dev/

Vale:
https://vale.dev/

Can someone please pick the best ideas from all these 's above and call it Vax.

Thank you.

A vaccine against memory unsafety if you will.

janriemer, to rust

Tasks are the wrong abstraction - by Yoshua

https://blog.yoshuawuyts.com/tasks-are-the-wrong-abstraction/

"If we are able to bake concurrent and parallel execution directly into [], we no longer have to represent the computation as a type. [...] we would be able to solve the scoped parallel async execution problem directly from the language."

"The success of the Monoio and Glommio runtimes are putting into question whether work-stealing executors are the right fit."

This is what should focus on! Thank you, Yosh!❤️

janriemer, to rust

Practical suggestions for building around borrow errors - by quinedot

https://quinedot.github.io/rust-learning/lifetime-intuition.html

If you're struggling with the borrow checker and lifetimes, this is an excellent resource!

In some past toot I've said that Rust lends itself very well to intuition-based learning...

https://floss.social/@janriemer/109415274612140073

...so this learning resource takes the same line (according to its title)! Nice!

janriemer, to ArtificialIntelligence

Zed Decoded: Rope & SumTree - by Zed Industries

https://zed.dev/blog/zed-decoded-rope-sumtree

Absolutely fascinating deep-dive into the core data structures the folks at Zed Industries use for their #Zed #editor!

"Currently there are over 20 uses of the SumTree in Zed. [...] The list of files in a project is a SumTree. The information returned by git blame is stored in a SumTree. Messages in the chat channel: SumTree. Diagnostics: SumTree."

Oh, how I love this! ✨

#DataStructure #Algorithm #Rust #RustLang

janriemer, to random

Modular : Three Paths Forward - by Gregory Terzian ( 2024):

https://yewtu.be/watch?v=EA_1jxzR85M

(or YT: https://www.youtube.com/watch?v=EA_1jxzR85M)

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