faassen , to Random stuff
@faassen@fosstodon.org avatar

I wonder how to best describe how influences design, for better or worse. Here is some rambling...

It makes you avoid cyclical data structures, and you are far more aware of ownership. This makes surprising action at a distance harder. It also makes it more difficult to misuse globals or struct fields as globals just to pass data along to where it is needed no matter how.

Enums turn out to replace dynamic dispatch very often. Inheritance is just gone.

1/n

heaths , to Random stuff
@heaths@fosstodon.org avatar

“Dev by a thousand cuts”

That’s often what feels like. I started learning C in the late 80s and BASIC before that. Since then I’ve become an expert in several languages and proficient in several others. I’m an experienced and though the rust compiler is by far the most helpful - and pushing other compilers to improve - there’s a lot of sharp edges in the grammar itself. Some other polyglots I’m getting into the language agree.

swallez , to Random stuff
@swallez@mastodon.tetaneutral.net avatar

"cargo-buttplug: ensuring positive reinforcement during long, tiring code sessions". Yup, you guessed it right: 10 seconds of vibration if Rust compilation is successful 😅 Be careful: as you become fluent with the language compilation succeeds more often 🤣 https://github.com/vmfunc/cargo-buttplug

hywan , to A Test Magazine/Community/Group/Subreddit
@hywan@fosstodon.org avatar

cargo mutants, https://mutants.rs/

A useful tool to do mutation-based testing on Rust projects.

Reminder: mutants aim at testing your test suites —whether they catch all your code details—, not your code itself.

mizah , to Random stuff
@mizah@macrofurs.social avatar

It continues to surprise me how, with , stuff just kinda works once it compiles...

Yeah, not a 100% success rate, but... It's still surprisingly good at forcing you to put the square pegs into the square holes.

alice_i_cecile , to Random stuff
@alice_i_cecile@mastodon.gamedev.place avatar

Hi! I'm back from RustNL! Taking it light today (definitely still exhausted) but I'm feeling ready for another . Let's take a look at the PRs that our community has made and reviewed for us this week :) There was a request to check the website repo, so let's start there! 9 PRs are ready, so that's a great call: https://github.com/bevyengine/bevy-website/pulls?q=is%3Aopen+is%3Apr+label%3AS-Ready-For-Final-Review

zkat , to Random stuff
@zkat@toot.cat avatar

say what you will about how "bloated" web platform-based desktop applications are, the web is still probably the most flexible and accessibility-minded toolkit for building GUIs out there. And as cool as it sounds to "just" write your UI in immediate-mode , you're throwing away a LOT.

alice_i_cecile , to Game Development
@alice_i_cecile@mastodon.gamedev.place avatar

I just started my first day as a professional (well, engine dev) for @bevy.

Super exciting to have the bandwidth to start putting my plans into motion. I decided that I want to do a daily status update in engine-dev, and let folks track my current areas of focus using a GitHub project board.

https://github.com/orgs/bevyengine/projects/17/views/1

Today was focused on laying out my priorities and tasks, then diving straight into the thorniest project management challenges we have (see below).

ellie , to Random stuff
@ellie@hachyderm.io avatar

The first command in my shell history is me installing https://rustup.rs

Sums it up tbh ❤️🦀

jcbritobr , to Rust in Leaving Rust gamedev after 3 years
@jcbritobr@mastodon.social avatar

@kaffiene @asdfasdfasdf Its slow when you dont know what youŕe doing. For example, build a linked list in is different then build one in java, because you can´t leave the variables in a wrong state. It's only a different approach, not a slow approach.

gosim , to News from fediverse
@gosim@mastodon.social avatar

GOSIM 2024 Europe Will Be Held in the Netherlands on May 6th: Embrace the Global Open Source Wave and Build a New Era of AI Here comes the GOSIM 2024 Europe!
https://medium.com/@gosimfoundation/the-latest-guest-lineup-of-gosim-2024-europe-revealed-gathering-global-masters-in-ai-open-source-a706eff5196e

For more information please visit: https://europe2024.gosim.org

Scan or register here:
https://www.eventbrite.com/e/gosim-2024-conference-tickets-873572969267?aff=oddtdtcreator

orhun , to Random stuff
@orhun@fosstodon.org avatar

No more Postman! This TUI API client goes crazy 🔥

📡 atac: A simple API client in your terminal.

🚀 Supports importing collections from Postman.
🔓 Free, account-less, and offline.
🦀 Written in Rust & built with @ratatui_rs

⭐ GitHub: https://github.com/Julien-cpsn/ATAC

video/mp4

ethauvin , to Random stuff
@ethauvin@mastodon.social avatar
gabrielesvelto , to Random stuff
@gabrielesvelto@fosstodon.org avatar

In the light of the backdoor, if you're a developer, I recommend you familiarize yourself with cargo vet:

https://mozilla.github.io/cargo-vet/

Auditing your dependencies, or relying on external audits, adds an important layer of protection.

It's not a silver bullet against bad dependencies as there's no such thing. However adding more layers of protection makes attackers' lives harder and this is one of them.

jakub , to Random stuff
@jakub@jirutka.cz avatar

If were a Go or Rust dependency, you wouldn’t have a single copy of xz library on your system, but many, hidden in every executable that uses it. Distros would have to rebuild all packages using that lib (not just the lib itself), which could take days or weeks, and users would have to update them all, downloading tens or hundreds of megabytes.

If you install binaries directly from vendors/devs, it’s even worse – you wouldn’t even know which ones are affected and you’d (1/3)

jakub OP ,
@jakub@jirutka.cz avatar

libraries it’s linked with!

Now do you see the value of distros and dynamic linking? Please, stop this insane “single binary” mantra and work with distros, not against them.

If wants to replace C, devs need to acknowledge this and start providing dynamically linkable libraries with stable ABI. (3/3)

rene_mobile , to Random stuff
@rene_mobile@infosec.exchange avatar

My current take on the situation, not having read the actual source backdoor commits yet (thanks a lot for hiding the evidence at this point...) besides reading what others have written about it (cf. https://boehs.org/node/everything-i-know-about-the-xz-backdoor for a good timeline):

  1. This is going to be an excellent teaching example for advanced supply chain attacks that I will definitely be using in the future - after much more in-depth analysis.

  2. It seems to have been a long game, executed with an impressive sequence of steps and preparation, including e.g. disabling OSSFuzz checks for the particular code path and pressuring the original maintainer into accepting the (malicious) contributions.

  3. The potential impact could have been massive, and we got incredibly lucky that it was caught and reported (https://www.openwall.com/lists/oss-security/2024/03/29/4) early. Don't count on such luck in the future.

  4. Given the luck involved in this case, we need to assume a number of other, currently unknown supply chain backdoors that were successfully deployed with comparable sophistication and are probably active in the field.

  5. Safe(r) languages like for such central library dependencies would maybe (really big maybe) have made it a bit harder to push a backdoor like this because - if and only if the safety features are used idiomatically in an open source project - reasonably looking code is (a bit?) more limited in the sneaky behavior it could include. We should still very much use those languages over C/C++ for infrastructure code because the much larger class of unintentional bugs is significantly mitigated, but I believe (without data to back it up) that even such "bugdoor" type changes will be harder to execute. However, given the sophistication in this case, it may not have helped at all. The attacker(s) have shown to be clever enough.

  6. Sandboxing library code may have helped - as the attacker(s) explicitly disabled e.g. landlock, that might already have had some impact. We should create better tooling to make it much easier to link to infrastructure libraries in a sandboxed way (although that will have performance implications in many cases).

  7. Automatic reproducible builds verification would have mitigated this particular vector of backdoor distribution, and the Debian team seems to be using the reproducibility advances of the last decade to verify/rebuild the build servers. We should build library and infrastructure code in a fully reproducible manner and automatically verify it, e.g. with added transparency logs for both source and binary artefacts. In general, it does however not prevent this kind of supply chain attack that directly targets source code at the "leaf" projects in Git commits.

  8. Verifying the real-life identity of contributors to open source projects is hard and a difficult trade-off. Something similar to the -of-trust would potentially have mitigated this style of attack somewhat, but with a different trade-off. We might have to think much harder about trust in individual accounts, and for some projects requiring a link to a real-world country-issued ID document may be the right balance (for others it wouldn't work). That is neither an easy nor a quick path, though. Also note that sophisticated nation state attackers will probably not have a problem procuring "good" fake IDs. It might still raise the bar, though.

  9. What happened here seems clearly criminal - at least under my IANAL naive understanding of EU criminal law. There was clear intent to cause harm, and that makes the specific method less important. The legal system should also be able to help in mitigating supply chain attacks; not in preventing them, but in making them more costly if attackers can be tracked down (this is difficult in itself, see point 8) and face risk of punishment after the fact.

H/T @GossiTheDog @AndresFreundTec @danderson @briankrebs @eloy

slint , to Android
@slint@fosstodon.org avatar

🎉 Slint 1.5 is here! Embrace Android development and enjoy improved Live-Preview with our latest release. 🚀 Check out all the details at https://slint.dev/blog/slint-1.5-released.html

julia , to Random stuff

Heya! I'm in need of a new job. My current gig is contract based, which I don't see as a sustainable option going forward.

I'm a software developer based in Pennsylvania. I enjoy taking on complex problems and finding solutions to them, especially close to the hardware. I've been teaching myself to code for about nine years now, gaining experience in a myriad of technologies.

So, if anyone is in need of a developer with extensive experience in Rust, C/C++, CI/CD, or webdev, please reach out!

I can be reached via email at julia AT insertdomain DOT name.

BrodieOnLinux , to Random stuff
@BrodieOnLinux@linuxrocks.online avatar

How to piss C developers off 101:

Say that even the greatest programmers in the world make mistakes.
Nobody can always write perfectly memory safe code.

mo8it ,
@mo8it@fosstodon.org avatar

@BrodieOnLinux The pinned comment on your video is the good old "skill issue" argument. It completely ignores statistics and reports from the industry, here is one from Google:

https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html?m=1

So apparently, even huge companies have skill issue.

You don't need a seat belt in your car because otherwise you have a skill issue…

Often, people with such statements don't have public C/C++ repositories to browse their code and issues. Otherwise, they wouldn't write that.

ALT
  • Reply
  • Loading...
  • orhun , to Random stuff
    @orhun@fosstodon.org avatar

    Do you use Matrix for chatting? Do you like Vim? I got the perfect tool for you. ✨

    📨 iamb: A Matrix client for Vim addicts.
    💬 Use Vim keybindings for message editing, window navigation, and tab management in your terminal!

    🔗 Docs: https://iamb.chat
    ⭐ GitHub: https://github.com/ulyssa/iamb

    🦀 @matrix + @ratatui_rs

    video/mp4

    smallcircles , to News from fediverse
    @smallcircles@social.coop avatar

    attn..

    Give @julian comment some good reactions to show the folks of the Federated Identity CG that there's more than providers to take into account..

    https://github.com/fedidcg/FedCM/issues/240#issuecomment-1968574265

    🚀 Boosts appreciated.

    erlend ,
    @erlend@writing.exchange avatar

    @smallcircles @julian the author of the OIDC library Rauthy will accept a PR for FedCM if someone can give it a go 💫

    https://github.com/sebadob/rauthy/discussions/145#discussioncomment-8831943

    jdlbt , to Random stuff
    @jdlbt@techhub.social avatar

    I'm a Pythonista :python: learning to become a Rustacean 🦀!

    So far the interactive version of the Rust Book is very clear. https://rust-book.cs.brown.edu/title-page.html

    jdlbt OP ,
    @jdlbt@techhub.social avatar

    I'm still just in chapter 4 of the Rust Book but I wanted to practice what I learned so far so I made my first Rust application, a simple dice roller.

    I had to search a bit to use the Clap crate for CLI arg parsing.

    Screen capture of a terminal showing the use of the roll command (roll -t -s --d20 2 --d8 2) and the resulting output.
    Screen capture of a terminal showing the use of aliases like sword, backstab, crossbow set to specific roll commands with different dice settings for each.

    martijnarts , to Random stuff

    is coming into @thunderbird now too! I loved Thunderbird back in the day but--as acknowledged in this talk--it has fallen behind its competitors over time. Excited to see it gaining ground again!

    Here's a talk about Rust in Thunderbird: https://fosdem.org/2024/schedule/event/fosdem-2024-2469-thunderbird-how-to-exchange-rot-for-rust/

    thisismissem , to Random stuff
    @thisismissem@hachyderm.io avatar

    If someone wants a really cool rust project, port the algorithms in https://github.com/Facebook/ThreatExchange to rust, or write performant Node.js & Ruby bindings for them

    tchambers ,
    @tchambers@indieweb.social avatar

    @thisismissem That it would…

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Mordhau
  • WatchParties
  • Rutgers
  • steinbach
  • Lexington
  • cragsand
  • mead
  • RetroGamingNetwork
  • mauerstrassenwetten
  • loren
  • xyz
  • PowerRangers
  • AnarchoCapitalism
  • kamenrider
  • supersentai
  • itdept
  • neondivide
  • space_engine
  • AgeRegression
  • WarhammerFantasy
  • Teensy
  • learnviet
  • bjj
  • khanate
  • electropalaeography
  • MidnightClan
  • jeremy
  • fandic
  • All magazines