Is it time to rewrite everything in Rust?
#Rust is seen by many as the least bad #programming language but is still far from perfect.
So here is what I think it would take to make it the "perfect" language
Last week we saw which language's features we are going to use to implement our crawler in Rust, so today we start to actually implement it 👨💻
There is no one month without some popular dependencies found to be compromised or backdoored.
Let see how hackers get write access to software packages in practice 👉 https://kerkour.com/supply-chain-attacks-and-backdoored-dependencies
Scraping is the process of turning unstructured web data into structured data
Crawling is the process of running through a lot of interlinked data (web pages for example)
So let see how to create a crawler in #Rust
Scraping is the process of turning unstructured web data into structured data
Crawling is the process of running through a lot of interlinked data (web pages for example)
So let see how to create a crawler in #Rust
Some days I start thinking about if life is too short to fight #Rust's borrow checker 👉 https://kerkour.com/life-is-short-rust-borrow-checker
What do you think?
Concurrency issues are the fear of a lot of developers. Due to their unpredictable behavior, they are extremely hard to spot and debug.
Here is how Rust prevents concurrency issues in practice: https://kerkour.com/rust-fearless-concurrency
From lone wolves to teams of hackers, developers to analysts, the profile of attackers is highly diversified.
Here is a short summary of the different skills needed to carry offensive (cyber) operations: https://kerkour.com/profiles-cyberattacks
I sincerely believe that #Rust is a huge step forward in terms of software reliability and performance, which directly translate to $$ and time saved
But like all technologies, it has drawbacks that may not make it the best choice for your project. Today I want to explore what I think are bad use cases for Rust.
#Rust is designed by a committee, by choice.
If you ever have managed a project, you should smell the unfocused monstrosity from 100 KM away.
And yet, after many years, I've come to the conclusion that in Rust's case, it's a huge asset instead of a liability.
Turning a web browser extension into a botnet and exfiltrating sensitive data used for #cyberwar may be closer to reality than you think.
📖 https://kerkour.com/hacking-stories/puppet-master
#rust #rustlang #hacking #cybersecurity #100DaysOfCode #WebAssembly #wasm
I'll be honest, I never successfully learned #haskell, the holy grail of functional #programming languages
But, a language perfectly mixing imperative and functional programing now exists
You got it, we are talking about #Rust
👉 https://kerkour.com/rust-functional-programming
Job queues are a central piece of any web application but they come with a high operational cost
What if instead of adding another piece we could use something we already have?
I’m talking about our old friend #PostgreSQL
From my experience writing and digging into Rust codebases, lifetime annotations induce a cognitive load that distracts from getting the actual work done.
So here is my secret to write clean Rust code 🦀✨
👉 https://kerkour.com/blog/rust-avoid-lifetimes
For my French people, I highly recommend the @vousavezledroit 's YouTube channel :)
Let us not beat around the bush: Rust is not easy to learn. It took me nearly 1 year of full-time programming in #rust to become proficient, but it's absolutely worth it.
It requires a complete mental model switch 👉 https://kerkour.com/rust-mental-models
When 2 parties, let's say Alice and Bob, want to exchange messages over an insecure channel, they need to find a way to share a secret that can't be guessed by potential eavesdroppers
Here is how 👉 https://kerkour.com/end-to-end-encryption-key-exchange-cryptography-rust
#rust #crypto #cryptography #rustlang #100DaysOfCode #Programming #code
World is in turmoil.
While I can't predict what will happen on the physical side of things, there is one thing I'm sure: Cyberwar will intensify a lot in the coming weeks / months.
This is why I decided to create a big discount for my book Black Hat Rust.
More details + coupon: https://kerkour.com/black-hat-rust-discount-february-2022
What is your definition of success?
The answers to this question are almost universally the same:
- Making a lot of money
- Having a lot of sxx partners
- Being a famous
And these answers are universally wrong. They are the default answers, dictated by universal metrics, which are the lowest denominators of the ~8 billion Humans.
Due to its unmatched reliability and efficiency, Rust is greatly appreciated for web services
But it may be hard to choose which one to use
This is why I just did this comparative analysis to help you decide
👉 https://kerkour.com/rust-web-framework-2022
(Ab)using technology for fun & profit: Programming, Hacking & Entrepreneurship.
Author of http://kerkour.com/black-hat-rust
My weekly newsletter http://kerkour.com/subscribe