Search

Items tagged with: Rust


Biscuit – Eclipse Biscuit is an authorization token with decentralized verification, offline attenuation and strong security policy enforcement based on a logic language

Has anyone of you ever used @biscuitauth and implemented it in a web project? Can you omit this or should I stick to standards or use other alternatives?

🍪 biscuitsec.org

#webdev #authorisation #decentralization #biscuit #biscuitsec #itsec #websec #rust #decentralized #webapp #webapi #dev #web #rustlang #oauth #jwt


This weekend project (yes, another one instead of finishing the 100 others) is a #fastcgi handler to implement xep-0070, alnowing to use an #xmpp account to log in to a website. Writing it in #rust as a learning exercise.

I hope to replace "login with google" and the other things I had to add to my website ovwr the years in order to not store people's passwords. This should allow to do it in a decentralized way without forcing any specific provider.


Wanted: a #RustLang tool with 4 panes:
- desired generated code
- an in progress proc-macro being written
- input #Rust code where the proc-macro is being applied
- a live updating view of the actual generated code with diff annotations against what was desired

If you want to go fancier, tie things in the output to the input and provide suggestions on where things are missing pre-expansion for the output to march the expectation. I feel like 90% of this can be accomplished today with tmux+a file watcher+direct rustc invocations using -Zunpretty=expanded, but it'd be lovely to have an actual tool for this.


I used to use #OCaml quite a bit, though that was a number of years ago, and I use #Rust a lot now.

One of my main gripes about OCaml is how it wasn't very practical in some ways. There was no way to open a file read/write (very common for, say, databases), and because it lacked things like Haskel's typeclasses or Rust's traits, you'd use different functions to seek on a file opened for input vs. one for output.

Looks like it's still the same.


I did a RIIR again and:

Two apps nearly-identical in functionality now. On startup, before processing anything:

#Rust + #Axum: 3.5MB RES
#Elixir + #Phoenix: 75MB RES

Literally 20x difference, and I haven't even benchmarked throughput/perf. For a use case where a big goal is extremely low resource use, this is huge.

(both of these are running in release/prod mode btw)


Les quería presumir mi tapete de #Rust hecho con telar de pedal.
#rust



I am slowly oxidizing my unix CLI. A lot of people have made rust based versions of common unix utilities and some of them are REALLY good.

Like fd-find for doing essentially find . -name blah. And rg (ripgrep) which does grep -R but it's aware of git, files like pyc or .bak files, and it excludes them by default.

Now I have sd which is hopefully replacing the last thing I used perl for. I write perl -pi -e s/x/y/g a lot. Just doing a quick string replace inside a file. So sd can start doing that.

I'm also trying to get used to zellij instead of tmux and starship for modern prompt decorations like the kids do.

These kids, my friends, are welcome on my lawn.

#rust #cli #linux







🦀 Flattening #Rust's Learning Curve | corrode

「 Your learning pace doesn’t have much to do with whether you’re smart or not or if you have a lot of programming experience. Instead, what matters more is your attitude toward the language.

I have seen junior devs excel at Rust with no prior training and senior engineers struggle for weeks/months or even give up entirely. Leave your hubris at home 」

corrode.dev/blog/flattening-ru…

#rust




new security milestone reached: #chatmail relay servers are hardened to only transfer end-to-end encrypted e-mail with metadata minimization. No cleartext message can enter or leave the secure chatmail network anymore.

We now talk about "chatmail relays" rather than servers as they only ephemerally store messages until delivery. Dirt cheap to run.

We opened up our #rust "chatmail core" infrastructure library and set up an overview of the community driven ecosystem ...

chatmail.at



Long shot but worth it. I think I may have found my blocker for using #NixOS on my laptop/dev machines and am looking for help.

In short, I have multiple #Rust projects that build on the CLI just fine but not in VS Code/Rust Analyzer. I didn't spot this until very recently when I realized problems in my own code weren't being highlighted but compiled crates worked just fine.

Seems RA can't find some libraries but to the best of my abilities I've made those libraries available to the shell. I also launch code . from the terminal so it should have the environment set up correctly without need for Nix-specific extensions.

It's been suggested I not use the code-fhs Nix package, but that means starting from scratch and fixing existing extensions which work.

Please don't suggest abandoning VS Code or substantially changing my accessible workflows unless you also have 12 extra hours per day for me. Also please don't suggest abandoning Linux entirely--this issue is NixOS, not Linux.

More context: discourse.nixos.org/t/rust-pro…


Wow. #Rust is an unserious language. Unless you bend over backwards to fight the compiler and avoid the standard library, you cannot write code that doesn't try to terminate the calling process on arbitrary error conditions. news.ycombinator.com/item?id=4…

Terminating the process is never an appropriate action in a library. The library has no way to know its caller's uptime constraints. Libraries should only return error codes to callers. Only applications can decide whether to bail out or not.

#rust



the clarification is in a blog post, that may not be legally binding. so in my eyes any clarification outside of the ToS is worthless.

If #Mozilla wants to offer AI services or collect and use their users data, this should be a separate opt-in ToS in my opinion, not the terms of the base application.

But TBH #Mozilla is doing too much dumb management decisions these days, so I'm considering to stop recommending it. (colorways, firing #rust and #servo teams, ads for temu and so on)




Happy I Love Free Software Day! 💕

Unfortunately, this year I could not join nor organize any in-person celebration, BUT of course I want to share my gratitude to the many, countless #FreeSoftware services I don’t merely use, but actually depend on.

Last year, I decided to focus only on #YunoHost, because it would have been crazy to list all the projects I use and I love.

This time, even if I will most certainly forget someone, I am challenging myself to mention all the #LibreSoftware my life is powered by.

Without further ado, THANK YOU to:

  • @yunohost, for powering Nebuchadnezzar
  • @fedora, for running my beloved #Framework laptop
  • @frameworkcomputer, for designing and building repairable, #Linux-friendly and truly open hardware
  • @gnome and @GTK, for being just gorgeous
  • @calyxos (thus @LineageOS), for powering my #Fairphone5
  • #Obtainium, for making me directly download apps on my phone, and @fdroidorg for distributing them
  • #AuroraStore, for proxying the download of apps I am doomed to get from Google Play
  • @element, for developing #Synapse, even though the new proprietary Synapse Pro is VERY PROBLEMATIC AND DISAPPOINTING
  • #Fractal, for being the most beautiful and awesome #Matrix client ever
  • @signalapp, for keeping me connected with the people I love
  • @Mastodon, for also maintaining a feature-packed experimental fork (#GlitchSoc), that is what Pan runs
  • #Tuba and #Moshidon, for being the most beautiful and awesome #Mastodon clients ever
  • #Firefox, for still remaining the best possible #browser choice, despite #Mozilla’s governance messiness
  • @openstreetmap, for allowing us to find the right path, both literally and metaphorically!
  • @organicmaps, for being the simplest, cleanest, yet feature-rich #OSM client and navigation app
  • @protonvpn, for making me browse safely from/to anywhere in the planet and @protonprivacy #ProtonMail, for hosting my email, despite the latest alarming political statements…
  • @libreoffice, for allowing me to draft documents with ease, the last of which was my #CV
  • #LanguageTool, for preventing me from making embarassing spelling mistakes
  • @photoprism, for safely storing and indexing all my photographic memories, on Aby, and for providing stellar and friendly support too!
  • #Actual, for moderating the very likely risk of ending up completely broke, since it forces me to manage my finances consciously and coherently
  • @readeck, for storing and sorting ALL my varied and overwhelming inputs
  • @nextcloud, for storing and synchronizing my data, for its #calendar, its #tasks, and all its awesome apps
  • #Rustdesk, for preventing my friends and family members from going crazy, by allowing me to remotely connect to their devices and directly address the issues they have
  • #Listmonk, for sending out my newsletter
  • @eleventy, for powering all the websites I maintain, above all the virtual representation of my mind, and for being the only reason why I resist and try to continue learning #JavaScript
  • @forgejo, for giving us a chance to truly control and collectively develop the sources of our software, but most importantly @Codeberg, for RESISTING, RESISTING, RESISTING, despite the hatred and attacks nazi assholes throw at them
  • @musicbrainz for keeping music knowledge open and free, and @ListenBrainz for scrobbling the crazy music I listen to
  • The @fsfe, for promoting this celebration and fighting the good fight!

Lastly, but most importantly, the biggest thank you goes to all the free software libraries and dependencies the above mentioned #software are made of/built with, including #C, #JavaScript, #Python, #Rust, and all community-maintained programming languages.

I am super sorry if I forgot someone!

#OpenSource #ILoveFS #SoftwareFreedom #Fairphone #Android #LineageOS #FSFE #OpenStreetMap #PhotoPrism #LibreOffice #Readeck #Eleventy #11ty #GNOME #Signal #forgejo #Codeberg #MusicBrainz #ListenBrainz #MetaBrainz



Interested to take a little tour through how #deltachat apps and the #rustlang core library are wired together?

@treefit and @WofWca provide a deep-dive into the history of apps migrating from a C-Foreign-Function-Interface to a #Rust based JSON-RPC mechanism, with entertaining horror stories like how an iOS release some years ago could delete profiles without the user intending it 😬

The post also highlights a few areas where folks interested to help could start ... delta.chat/en/2025-02-11-why-j…


✨ My first technical blogpost is out now. ✨

If you ever wanted to learn a bit about how
#deltachat works internally and why we have two ways to communicate with our #rust core, then this is the introduction to read

delta.chat/en/2025-02-11-why-j…

#jsonrpc #cffi #c #rust #deltachat_desktop #deltachat_core


We've got some exciting job openings at #Thunderbird! We're hiring for a Sr. UX Design Specialist, A #Rust /C++ Software Engineer for the desktop app, and......a Senior #iOS Engineer to join our mobile team to help us bring Thunderbird to your iPhone and iPad!

Help us spread the word!

mozilla.org/careers/listings/?…


This marks my very first technical blog post, Interning at @servo has been an absolute joy—I’ve learned so much about browsers, Rust, and the open source community, and I’m beyond grateful!

chickenleaf.wordpress.com/2025…

#Rust #opensource #rustlang


anyone interested in helping out with maintaining the message parser for #deltachat desktop?

It's #test_driven_development like a #coding_puzzle, written in #rust :rust_ferris: with the #nom parser combinator library.

Repo: github.com/deltachat/message-p…

We have some bugs that I currently don't have the capacity to fix.


Spent the last 6 hours trying to get a hello world equivalent gui window with a button on rust under windows.

This task which one might think is simple ended up taking literal hours and still hasn't been achieved because: the tutorials for gtk on windows and rust suggest putting msys2 bin directory on the path. This causes rust to fail to build correctly because it uses the wrong gcc and linkers.
Afterwards I managed it by using the appropriate environment variables.
But then I found out the dynamically linked libarries weren't found. I tried getting a way to copy them but it turned out to be too much work so I just moved the executable to the same dir.
Only to find out that gtk4 has no accessibility on Windows. Not bad accessibility, not accessibility that needs to be turned on. No. Accessibility. At all.
So then I decided to try Qt, which wants me to create an account to get an installer. Absolute no.
Got the 1.5gb sources and trying now to get an off-line installer out of it.

To get a fucking window with a button in it.

I don't think it's unreasonable for me to say this state of affairs is complete bullshit, and that most people with a normal level of motivation would have found plenty of opportunities to have given up. I still might.

(Not using NWG because tying the data to the GUI elements is non-trivial, it seems to require copying a lot and using twice the memory.)

#a11y #rust #gui #windows


Came across this Hacker News comment by @rain which succinctly describes one reason #Rust's approach to ownership and borrowing is valuable: news.ycombinator.com/item?id=3…

> Which popular GC languages have mutexes owning the state they guard, such that it is structurally impossible to access that inner state without holding the lock? To do that you must have single ownership.

Posting for the benefit of anyone else who, like me, is sometimes swayed by the backlash against Rust.