Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
At some point in a project’s life, somebody runs a code generator.
-
Imagine you look after the software for a small 3D-print farm: a rack of printers and a Go service running on a box in the corner.
-
gcode 0.7.0 is on crates.io .
-
If you’re new to Personal Knowledge Management, let me share something that took me years to fully appreciate: daily notes are the secret sauce that transforms a collection of random notes into a living, breathing knowledge system.
-
An entity is a person, place, or organization that you want to track in your Second Brain.
-
Note The [!
-
I’ve been writing technical content for years, and I’ll be honest - I never really thought about how I was writing it.
-
I thought it might be helpful to write down some of the core principles and values that guide my professional life.
-
Have you ever been in a situation where, because of how the code is structured, it’s practically impossible to inject a dependency into the component that needs it?
-
You get an idea.
-
Introduction Link to heading My journey at Wasmer has been a profound chapter in my life, filled with both incredible achievements and challenging moments.
-
When developing locally, you can add a private GitHub repository to your Rust crate as a git dependency and cargo should be able to retrieve it just fine.
-
While at Hammer of the Gods, we wrote a lot of Rust code that gets compiled to WebAssembly for use in our containerization technology, Rune.
-
Way back in mid-2017 I created a crate called include_dir with a single goal in mind - give users an include_dir!
-
When you are coming to Rust from another language you bring all your previous experiences with you.
-
Iterators are part of Rust’s secret sauce.
-
Rust 1.26 introduced a nifty little feature called Basic Slice Patterns which lets you pattern match on slices with a known length.
-
The other day, someone on the Rust user forums posted a question that really nerd-sniped me.
-
In my spare time I’m a volunteer with my state’s emergency services and we have our own web app for managing unit-specific things like attendance, vehicle checks, newsletters, on-call rosters, and so on.
-
A while ago someone posted a question on the Rust User Forums asking how to achieve polymorphism in a C API and while lots of good suggestions were made, I’d like to explore my take on things.
-
As part of my previous job I worked on a CAD/CAM package, and a very common task would be to take a vague feature description, rephrase it as a more formal software problem, then use computational geometry algorithms to turn it into code which can be inte…
-
A really powerful tool in Computer Aided Design (CAD) is the ability to apply “constraints” to your drawing.
-
Macros in Rust tend to have a reputation for being complex and magical, the likes which only seasoned wizards like @dtolnay can hope to understand, let alone master.
-
Every now and then when using native libraries from Rust you’ll be asked to pass a callback across the FFI boundary.
-
With over 68,842 downloads, one of my most successful Rust projects is a nondescript little program called mdbook-linkcheck .
-
A couple days ago I was writing an install script for my dotfiles and reached a point where I wanted to grab some secrets (my SSH keys) from my LastPass vault and copy them to the file system.
-
Motivation is a funny thing.
-
The other day I needed to do a fairly routine graphical operation, to “simplify” a polyline with many points into a simpler polyline which has roughly the same shape plus or minus some tolerance factor.
-
One of the first things I learned when programming professionally is that global variables are bad.
-
A couple days ago I released markedit , a small crate for editing unstructured markdown documents.
-
One of the primary reasons computers are so ubiquitous in modern society is their ability to let humans and software cooperate to achieve a desired goal.
-
There’s a well-known saying about the hard problems in computer science, of which I think this is my favourite variant, There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. — Leon Bambrick (@secretGeek) Ja…
-
It’s been about 6 months since I watched Catherine West’s excellent Using Rust for Game Development sent me down the Entity-Component-System (ECS) rabbit hole, and I thought I’d share some of my findings.
-
In a project I’ve been playing around with recently, we’ve encountered the dilemma where you want to make it easy for users to write their own application logic using the system but at the same time want to keep that logic decoupled from the implementation
-
In a previous article we’ve talked about how you can avoid rewriting a library in Rust when you don’t need to.
-
If you’ve ever done much embedded programming in Rust, you’ve most probably run across the arrayvec crate before.
-
In my spare time I’m an emergency services volunteer, and one of the tasks our unit has is to run the radio network and keep track of what’s happening.
-
Once you get past the growing pains of the Borrow Checker and realise Rust gives you the power to do things which would be unheard of (or just plain dangerous) in other languages, the temptation to Rewrite it in Rust can be quite strong.
-
As mentioned in the previous post there are a handful of tasks which may be tackled next, but only one of them really allows us to make progress towards our goal of implementing the simulated firmware for a 3D Printer.
-
As we mentioned in the last AiMC post , the next task is to wire up communications between the simulator’s backend and frontend.
-
Imagine you are implementing a calculator application and want users to be able to extend the application with their own functionality.
-
Now we’ve got a half-usable motion controller, we need a graphical way for humans to interact with it.
-
Now we’ve got some simple automation code, lets start a proper Motion system.
-
Now we can communicate with the outside world, let’s start interacting with the “hardware” attached to our motion controller.
-
Now we have a mechanism for transferring bytes from the frontend to the simulator and back again, we need to translate those bytes into higher-level messages.
-
Prelude Link to heading The Communications system is arguably one of the most important parts of our simulator.
-
As mentioned in the previous article the next task is to implement our first proper System, the FpsCounter.
-
As mentioned in the intro article , the first task will be to set up the application’s structure and define how the various components will communicate.
-
This is the first installation in my Adventures in Motion Control series.