This blog is about programming and other technological things. Written by someone developing software for fun and professionally for longer than I want to admit and in more programming languages that I can remember
Recently I found an interesting OpenCV behaviour.
OpenCV cv::Mat
is built to be easy to use. It will allocate, free and reallocate it's own internal data. That's fine for most of the uses, but what if you are sensitive to extra memory allocations?
As you might expect, C++ developers very often track the memory ownership of any allocated piece of memory, especially when copying memory is not an option.
To use cv::Mat
without copying the buffer, you can use this class constructor that does not own the memory:
If you are building a flutter application for apple processors using Silicon processors (M1+) and dealing with native packages for things such as playing a sound, you maybe encountered this error:
This is a body example Please remove it and replace with your content
I received a post from a friend of mine of a guy who developed games in rust and who also developed a small game engine in rust ranting about the language and about the borrow checker.
I sympathize with the guy - up to a certain point - as I had a similar experience
One common way to deal with serialised data in C++ is to map to a struct, but in Rust with memory ownership and some smart memory optimizations, it is a little more complicated.
For example, let's say a producer in C++ serialises this message:
struct book_msg {
uint8_t major_version, // byte 0: message major version
uint8_t minor_version, // byte 1: message minor version
uint8_t msg_type, // byte 2: message type
uint8_t title[20] // byte 3-23: title of the book
}
// ....
auto msg = create_msg();
comm.send(&msg, sizeof(book_msg));
How can we deserialise that in Rust?
A Rust developer on twitter posted:
"It would be nice to reed updates to your blog in an RSS feed."
Indeed that is a great idea and I implemented on Texted 0.3.6!
Now you can subscribe to this blog using your preferred RSS client using the url https://thiagocafe.com/rss
Happy reading!
When I was implementing the metrics task using tokio, I wanted to save the result JoinHandle
in a struct and I saw the type being displayed by the IDE: JoinHandle<?>
What does it mean?
In a previous post, I wanted to deserialise a date from a Toml file and implemented the Deserialize trait for a type NaiveDate. When I was implementing metrics, I had to do it again, but implement serialise and deserialise for NaiveDate and I found another way, possibly simpler, to serialise and deserialise NaiveDate.
First: add derive support to your Cargo.toml
This is a simple step-by-step guide to install nerd fonts in Ubuntu
Download the font you want from Nerd Fonts website https://www.nerdfonts.com/font-downloads
When implementing a new configuration parameter for Texted, I needed something to represent the date the blog started.
When looking into the TOML website, I was fortunate to discover that it has a data type for dates, so I could create the new parameter
blog_start_date = 2016-06-25
However, my fortune was gone as I found that the Toml crate does not support deserialising.
This blog is about programming and other technological things. Written by someone developing software for fun and professionally for longer than I want to admit and in more programming languages that I can remember