- Evil Twin Attacks in practice (with Rust and a Raspberry Pi)
- Bitsquatting attacks and exploitation with Rust
- Building a crawler in Rust: Scraping Javascript Single Page Applications (SPA) with a headless browser
- The Tyranny of Updates
- Programming languages are platforms, not products
- Black Hat Rust discount: Happy 2022
- Building a crawler in Rust: Crawling a JSON API
- Patching the Linux kernel without reboot with Ubuntu livepatch
- How to enable automatic updates on Ubuntu
- Bugs that the Rust compiler catches for you
- Building a crawler in Rust: Scraping and Parsing HTML
- NPM install VS NPM ci
- What a better Rust would look like
- Building a crawler in Rust: Implementing the crawler
- Let's talk about supply chain attacks and backdoored dependencies
- Building a crawler in Rust: Synchronization (Atomic Types and Barriers)
- Hostname based router with axum in Rust
- I lost my focus
- Building a crawler in Rust: Design and Associated Types
- Is life too short to fight Rust's borrow checker?
- Rust's fearless concurrency in practice
- How to get started into Bug Bounty: The Guide
- The 5 profiles of cyber operators
- Cross-compilation in Rust
- When not to use Rust?
- Last week's newsletter incident postmortem
- Rust is minimalist
- Hacking Stories #3 - The Puppet Master
- Functional Programming in Rust
- Mental models for learning Rust
- The foundations of end-to-end encryption: Key exchange (with code example in Rust)
- Black Hat Rust Cyberwar Discount
- Alignment: What Buddhism can teach us about success
- Which Rust web framework to choose in 2022 (with code examples)
- Background jobs in Rust
- The foundations of end-to-end encryption: Domain separation (with code example in Rust)
- The simplest guide to error handling in Rust
- Entropy is Fatal
- The 9 indispensable features to learn for the new Rust programmer
- Async Rust: What is a runtime? Here is how tokio works under the hood
- Clean and Scalable Architecture for Web Applications in Rust
- Async Rust: Cooperative vs Preemptive scheduling
- CSRF vulnerabilities: How to exploit and how to defend
- How to securely encrypt a file with an insecure password in Rust (using Streaming Encryption + Argon2)
- Secure and immutable development environments with Dev Containers
- You can now buy Black Hat Rust with PayPal, Apple Pay & Google Pay
- Hacking Stories #2 - The virus that came in from the cold
- 4 ways to read a file in Rust
- How to encrypt a file in Rust (Using streaming AEAD encryption)
- The tools and services I used to write, edit and self-publish my book
- Black Hat Week (Black Hat Rust is out 🍾)
- Position Independent Shellcodes in Rust (PIC)
- Backdooring Rust crates for fun and profit
- Converting an Enum to a String in Rust
- Hacking Stories #1 - The Evil Twin
- Benchmarking symmetric encryption (AEAD) in Rust
- Default environment variables in Rust
- The foundations of modern end-to-end encryption: Signatures
- Black Hat Rust October Update (now in Beta 🍾)
- Fighting the Environmental Apocalypse as a technologist
- Building a static site generator in 100 lines of Rust
- Reproducible cross-compilation for Rust (with Docker)
- Freedom: the core value of hackers
- Rust on ESP32
- How to compile Rust and LLVM for ESP32 on a Raspberry Pi (aarch64)
- How to install Ubuntu Server on a Raspberry Pi 4
- How to implement HTTP Long Polling in Go
- Engineer vs Entrepreneur Mindset
- How to implement HTTP Long Polling in Rust
- How to Write and Compile Shellcode in Rust
- Why Rust for offensive security
- How to build a job queue with Rust and PostgreSQL
- Framing: the foundations of persuasion
- Smart pointers: The secret to write clean Rust code
- How to import a crate from git in Rust
- Bullshit jobs
- Overview of the Rust cryptography ecosystem
- How to sort a vector in Rust
- How to deal with large Cargo workspaces in Rust
- How to convert String to Int and Int to String in Rust
- Overthinking
- A fast port scanner in 100 lines of Rust
- The foobar challenge: Google's secret hiring program
- 15k inserts/s with Rust and SQLite
- How to deploy Rust on Heroku (with Docker)
- HTTP Security Headers: The Best Practices
- My Rust development workflow (after 2+ years)
- Black Hat Rust: July Update
- How to implement worker pools in Rust
- Hello Simplon
- 42 Companies using Rust in production
- How to create small Docker images for Rust
- How to execute shellcodes from memory in Rust
- The biggest threat to Rust's sustainability
- How to send emails with Rust
- Rust for web development: 2 years later
- The unusual way I'm funding my open source work
- Open Source Weekly #13
- Open Source Weekly #12 - A fast and sustainable web(site)
- Open Source Weekly #11 - Flavors of Linux
- Open Source Weekly #10 - The Fediverse
- Open Source Weekly #9 - Choosing the right Open Source license
- Open Source Weekly #8 - Content curation
- Open Source Weekly #7 - SIMD
- Open Source Weekly #6 - Ecology
- Open Source Weekly #5
- Open Source Weekly #4 - Gaming
- Open Source Weekly #3 - Copyrights vs Patents vs Trademarks
- Open Source Weekly #2 - Free Software vs Open source 2/2: Philosophy
- Open Source Weekly #1 - Free Software vs Open source
- Announcing OpenSourceWeekly.org
- Bloom December update: Native applications are coming
- What's next?
- Bloom : un Google libre et open source
- Bloom: a free and open source Google
- The just cause and the infinite game
- Polyglot programming frameworks
- Logging
- Cut the bullshit
- Introduction au reverse engineering - Android
Want to learn Rust, Cryptography and Security? Get my book Black Hat Rust!