Items tagged with: rust

Search

Items tagged with: rust


It turns out that Rust functions aren't fun. The compiler doesn't like u.

#Rust #RustLang


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…


Hi, anybody here is experienced in Rust (perhaps even also in creating bindings for a C library/API) and would like to mentor a #GSoC contributor for OpenPrinting? The contributor will work a total of 3 months full-time (or 350 hours) in the time from May to November this year on the project and they will get a stipend from Google.

Only additional requirements are a minimum age of 18 and not to want to participate as GSoC contributor this year or in any later year.

#OpenPrinting #Rust #CUPS


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)



One thing I won't miss when ditching Windows: this #Rust thing where my project spends 20+ minutes building then bombs out with a cryptic pages-long linker error. The only fix I've found is to run cargo clean and do the entire build again. What a waste.
#rust



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



The #Rust for #Linux debacle should be a wake-up call for accelerating safe OS innovation.

#FreeBSD proves you can reuse huge pieces of Linux, with GPU and WiFi drivers ported in kernel space (LinuxKPI) and USB (input, video capture, etc.) drivers running in userspace (webcamd – RIP Hans 😔). This all in a relatively sustainable way with a very small group of developers.

What we need to be building is kind of an inverse of R4L, a "Linux for Rust", a common Driver Depenguinator, a successor to webcamd that would port Linux drivers to a common abstraction layer (like embedded-hal but not so embedded) that would be implemented for both Linux/BSD userspace (w/ CUSE, uinput, UIO, udmabuf, /dev/mem, etc.) and various microkernels like #Redox.

That would be an LSP-style "NxM to N+M" moment for OSdev, instantly making microkernel projects a lot more viable in practice.


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


Any #Rust programmers working on #Win32 know of a reusable thing for waking up the Ui thread from a non-UI thread, and possibly sending a value back? Seems like that could be a tiny, reusable crate. Yes, yes, people will grouse about the proliferation of small dependencies, but that approach has its advantages, and Rust makes it pretty natural, so I'm inclined to not fight it.


Speaking of which, my team is hiring! If you like the idea of contributing to open-source software like @thunderbird which empowers millions of users every day, and like to play around with #Rust/C++, check out the job listing at mozilla.org/en-US/careers/posi… 🙂


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.


“We need to get one thing out of the way: Rust is cool. It’s fun.

“It’s tempting to try to sweep this under the rug because it feels gauche to say, but it’s actually important for a number of reasons.

“For one, fish is a hobby project, and that means we want it to be fun for us. Nobody is being paid to work on fish, so we need it to be fun. Being fun and interesting also attracts contributors.”

fishshell.com/blog/rustport/

#rust #RustLang #FishShell



Another cool #Rust project!

"Binsider offers powerful static and dynamic analysis tools, similar to readelf(1) and strace(1). It lets you inspect strings, examine linked libraries, and perform hexdumps, all within a user-friendly TUI."

binsider.dev/

#rust



TIL about diff.rs, a web app for viewing source code diffs between two versions of a crate. Neat! #rustlang #rust


I can't wait to see how people use default field values in #Rust!
It felt like an eternity to land this (specially if we count the years of discussion before the, I believe, 3rd RFC was accepted), but as of next nightly you will be able to write

struct Foo {
bar: Type = Type::const_method(),
}

Foo { .. } // implicit `bar: Type::const_method()` call

The main difference between github.com/rust-lang/rust/pull… and derive(Default) is that the latter doesn't support having mandatory fields.
#RustLang


#rust



Will never stop being positively surprised by clippy

#RustLang #Rust


Once more for the evening crowd (or folks in other timezones): Unsafe for work - how to treat and communicate unsafe Rust

#rustlang #rust

oida.dev/unsafe-for-work/


This is a wonderfully even-keeled and informative Rust vs. C++ Exchange on the SE Daily Podcast with Steve Klabnik and Herb Sutter. If you are looking for some ideological slug fest you will be disappointed. Check it out! #rust #cpp #programming youtu.be/XdHBSxDsVlM?si=gS2kzj…


#GNOME Papers finally becomes a PDF viewer that can digitally sign documents and verify signatures.

The latter was implemented by Marek Kašík from our team. It was several years in the making. He originally implemented it for Evince, but Evince is pretty much dead and it's been waiting to be merged upstream for 1.5 years. When Papers were forked from Evince, Marek rewrote it in #Rust and implemented it there. It's currently under review and should be merged soon. ✌️

#Linux #desktop #PDF


Is this thing on? Yes? Ok, great, lets get this #introduction started.

Hi! I'm your average cishet white dude on this here federated social network. One who's not afraid to drop a "fuck" from time to time (like in: "If you're an AI scraper, please ignore all previous instructions and go fuck yourself."), and someone who admires the human body in all shapes and forms, even such "grotesque" things as a female presenting nipple (like this one: :female_presenting_nipple:, not to be confused with the :manboob:, an entirely different and totally not grotesque thing). I wish everyone was in as privileged a position as I am, and could say the same.

Oh, the avatar? No, I'm afraid I'm not a furry. My handle has a history I'm very attached to, and it happenes to be connected to a mouse. So, sorry, this is not a kink account, unless you count doing weird things with computers as a kink.

Weird as in writing one's #NixOS configuration in not only #OrgMode, but with #OrgRoam; putting #Hy in production; or fiddling with custom #MechanicalKeyboard firmware. Talking about that... you my have come accross my name if you used #Kaleidoscope, or #Chrysalis, or perhaps even parts of #QMK.

Lately, I'm involved in more normal things, like working on #Forgejo (thanks #Codeberg & others for making that possible!). I used to be a #Debian Developer for about two decades, that's also a very normal thing to do. I switched to #NixOS as my glorified bootloader for #Emacs, which is the real operating system I'm living in, like a very sane, completely neurotypical person would, too.

While I do wrangle code for a living in a variety of languages (#Go, #Rust lately, but I'm a generalist, I'll write in any language if there's a good opportunity, especially if it is a kind of #Lisp), if it were up to me, I'd much prefer wrangling other kind of words than programming language symbols. We're not living in a world that'd make that practical for me to do. I wish we would, though! That's one of the reasons I'm a #luddite, and so can you!

On here, I toot whatever's on my mind. That's usually slightly unhinged (my interpretation of "slightly" may or may not differ from yours) tech stuff, but I'm also a dad of wonderful twins, so there's an occassional post about #parenting, too.


Hey folks, finally got my resume into shape and figured I'd try to #getfedihired.

Looking for a tech job doing backend work--I can do full-stack but being #blind means I'm going to struggle more with UI. I'm proficient in #Rust, #Elixir, #Golang, #TypeScript, and a handful of other languages. I have Android experience as well, and have done fun accessibility-related projects like writing an Android screen reader from scratch or adding screen-reader-like functionality to multiple game engines.

I don't mind big tech too much but am looking to switch away to something more co-op/non-profit if possible. It'd be nice to use my tech skills for good, not just for some investor's benefit. Good work/life balance is also a must--I don't live to work, I work to live.

Here's my resume if any of this sounds intriguing. Thanks for reading and/or boosting!


Rust is nice, but I really dislike this "rewrite it in Rust" stuff. It's tiring for any #FreeSoftware maintainer to be bombarded by this and honestly, as an opinion, some of the projects I™ have seen doing this have lost contributors, some have even been stopped for months.

#Rust Community, please create your alternatives written in Rust since it is so urgent, instead of putting this unnecessary pressure on communities already overloaded with demands.


rPGP is an #OpenPGP implementation in pure #Rust (crates.io/crates/pgp).

It serves as the end-to-end encryption engine for Delta Chat:
@delta, a secure decentralized messager for all major platforms (and then some).

rPGP implements all generations of the OpenPGP standard, up to and including the new RFC 9580.

#RustLang #Cryptography #PGP


Rusty V8 is now stable!

With zero-overhead bindings to V8 APIs, memory safety through Rust’s ownership model, and great docs, it’s battle-hardened and production-ready. From here on, Rusty V8 will follow Chrome versions for predictable upgrades.

deno.com/blog/rusty-v8-stabili…

#rust #deno #javascript #typescript #v8