Some of my #toolforge projects for #wikidata and #wikipedia (Mix'n'match, baGLAMa2) use #RustLang with a permanently running background process, which heavily uses multithreaded async.
There is an issue across these (pretty independent) codebases that the process runs fine for hours, then pauses, without explanation. Mutex locks, reqwest timeouts, all checked. Very difficult to debug.
Any ideas what it could be, or how to debug it?
#toolforge #Wikidata #wikipedia #RustLang
Wrote a little binary in #rustlang to scan a directory tree on disk, find image files with coordinates in EXIF, and output an aggregate. Can write JSON or KML. Bug reports, feature requests, and PR/MRs welcome
"You're not fighting the compiler you're fixing bugs."
🙏
So this is basically a shitpost, but if you ever thought to yourself "wow, I sure wish I had C++-style dynamic allocator mixing in #RustLang !" then here's how to do that cleanly on nightly: https://gist.github.com/Tamschi/cd6d490c5392d6fadcd92c075c87db36
I did this as a quick "how much of a mess would it be to implement this usefully?" and DIDN'T TEST IT. License is CC0 because how else would you even do this?
A version of this that's also `Clone` is left as exercise to the reader.
I'm experimenting life away from social media (and couldn't find a way to automate Mastodon).
You can now follow my posts by subscribing to my newsletter or using my RSS feed: https://kerkour.com/subscribe
Here is what you missed last week:
- iPhone = Privacy?
- Learn Rust by implementing a SHA-1 hash cracker
- Public Toilets and Social Credit
- Learning Rust: Async Combinators
- Multithreading in Rust
- and much more
#rust #RustLang #infosec #apple #iphone #privacy #tech
I'm experimenting life away from social media (and couldn't find a way to automate Mastodon).
You can now follow my posts by subscribing to my newsletter or using my RSS feed: https://kerkour.com/subscribe
Here is what you missed last week:
- Learning Rust: Combinators
- Black Hat Rust "Back2School" Discount
- Neuroplasticity and Spaced Repetition
- Winning in the Information Age with the Law of Diminishing Returns
- Links of the week #2022-35
I'm leaving social media for 1 month (or more if the experiment is successful) ✌️
You can get updates by subscribing to my newsletter or using the RSS feed: https://kerkour.com/subscribe
#rust #RustLang #100DaysOfCode
Writing shellcodes in assembly is not only hard, but also architecture dependent, and impossible to reuse
instead, let's see how to craft advanced & platform independent shellcodes in Rust:
👉 https://kerkour.com/advanced-shellcode-in-rust
#Rust #Rustlang #programming #100DaysOfCode #Infosec #hacking
#rust #RustLang #Programming #100DaysOfCode #infosec #Hacking
My book Black Hat Rust has been updated for #Rust 1.62 and is now available as an online course 🎉
It's the biggest update since its launch 👉 https://kerkour.com/black-hat-rust-update-2022-56
#rust #RustLang #100DaysOfCode #infosec #Hacking #Programming
It's an open secret that most of the time and costs spent on any serious software project are from maintenance.
#Rust is moving fast, and its ecosystem too, so it's necessary to automate your projects' maintenance
Here is how 👉 https://kerkour.com/rust-projects-maintenance-and-supply-chain-security
#rust #100DaysOfCode #RustLang
Here is how to build a Web Application with #Rust and #WebAssembly
https://kerkour.com/web-application-with-rust-and-webassembly
#rust #WebAssembly #RustLang #100DaysOfCode #Programming #WebDev #wasm
A lot of new readers recently joined us, so I thought it was the perfect moment to publish a short best-of of this past year's articles, in case you missed them :)
#100DaysOfCode #rust #Hacking #Programming #RustLang
Monomorphization, Static vs Dynamic dispatch, Trait Objects...
Generics allow programmers to write less code and produce less bugs, but are not easy to grasp.
So here is the second part of my introduction to Rust generics:
https://kerkour.com/rust-generics-trait-objects
#rust #RustLang #100DaysOfCode #Code #Programming
Generics allow programmers to write less code by reusing functions, structures & traits and thus produce less bugs
But generic #programming can be hard to learn so here is the simplest introduction to Rust generics:
https://kerkour.com/rust-generics-traits
#Programming #Rsut #RustLang #100DaysOfCode #Code
Tests are not meant to be manually run each time you write code. It would be a bad usage of your precious time as Rust takes a loooong time to compile
Here is how to automate your CI pipeline for #Rust projects: https://kerkour.com/rust-github-actions-ci-cd
#rust #RustLang #100DaysOfCode #Devops #GitHub
🔔 Reminder: Just a few days left to benefit from the big discount on my book Black Hat Rust
The coupon code is: HAPPY2022
Get it now: https://kerkour.com/black-hat-rust-discount-happy-2022
#Rust #rustlang #programming #100DaysOfCode #hacking #crypto #cryptography
#rust #RustLang #Programming #100DaysOfCode #Hacking #crypto #cryptography
Typosquatting attacks are well-known, but there are attacks that are way more pernicious and that may provide better results
Bitsquatting attacks
Here is how it works and how to perform it using #rust
👉 https://kerkour.com/bitsquatting-attack-generator-in-rust
#rust #RustLang #100DaysOfCode #Programming #Hacking
The most effective phishing attack I ever witnessed was not an email campaign. It was an evil twin attack. The success rate was in the order of 80%-90%
Here is how to perform it in practice with a #RaspberryPi and #Rust
https://kerkour.com/evil-twin-attack
#raspberrypi #rust #RustLang #100DaysOfCode #Hacking
Building a crawler in #Rust [6/6]
Nowadays, more and more websites use JavaScript framework to display their content which prevents basic data scraping.
Here is how to use a headless browser in Rust to crawl Single Page Applications (SPA)
https://kerkour.com/rust-crawler-javascript-single-page-application-headless-browser
#rust #RustLang #100DaysOfCode #Programming #Code
A few weeks ago, I wrote: "I believe that Rust moves too fast" and "a programming language is a platform".
Some people raised good objections, so I thought it would be good to write a follow-up
#rust #RustLang #Programming #100DaysOfCode