TL;DR: Expressions evaluate to a value, they return that value. Statements do not. Statements are instructions that do something, they don't return a value. Expressions evaluate to a value, they return that value. Rust is an expression-orie...
NOTE: Since this has been written, Bevy has received many awesome, but sadly, breaking updates. The code in this guide is no longer maintained. Welcome back! If you didn't see the previous article, you can find that here: You'll need to dow...
If you come to Rust from languages like Javascript which have support for optional arguments in functions, you might find it inconvenient that there is no way to omit arguments in Rust. However, there are good ways to simulate optionality a...
สร้าง Elixir Project ด้วย mix $ mix new ferris_ex --module FerrisEx ใส่ rustler เข้าไปใน mix dependencies defp deps do [ {:rustler, "~> 0.21.1"} ] end หลังจากนั้นก็สั่ง mix deps.get เพื่อ fetch dependencies ต่อมา generate rust project ผ่าน...
I'm writing this post while recovering from writer's cramp from all the keystrokes I've been striking. I've read Hanselman's concept of limited keystrokes in a lifetime before but this is the probably the first time it hit home. Ideally I w...
NOTE: Since this has been written, Bevy has received many awesome, but sadly, breaking updates. The code in this guide is no longer maintained. Since rust is The Best Language™, it's no surprise that it's been an attractive choice for game...
We introduced how to call Rust functions from Node.js in the last article. This article will introduce how to write a Node.js-based AI as a Service application. Today’s dominant programming language for AI is Python. Yet, the programming la...
Finding Rust Rust is an awesome language, and one of the few that I was excited to learn when I first heard about it. It has many amazing features, such as tagged Enums, thread support baked in language, ownership system, to name a few. Thi...
In the previous post, we covered using our protobuf compiled Rust code to implement our gRPC server and include it in our CLI frontend. It is recommended that you follow in order since each post builds off the progress of the previous post....
I feel like it's been a looooong minute since I was last able to give an update on AssemblyLift. Real life is busy, summer heat makes me sluggish, and I finally took a vacation! Still, in my spare time I've managed to finish core work aroun...
In the previous post, we covered creating our data schema in the Protocol Buffer (protobuf) format, and using Rust build scripts to compile the protobufs into Rust code. It is recommended that you follow in order since each post builds off...
Introduction Many languages today are object-oriented, support this paradigm or, not being object-oriented directly, allow for the programmer to define its own data types. Usually, we want these types to exhibit certain traits of behavior u...
Given its unique nature, a lot of people are curious to know if Rust is functional. Is it? Let's find out. For a programming language to be considered strictly functional it has to adhere to functional paradigm where functions are first cla...
This post describes my more-than-a-month long story of refactoring existing error definitions and error handling code in my largest project written in Rust. DICOM-rs is a pure Rust implementation of the DICOM standard, the near-ubiquitous s...
I've tried to learn Rust multiple times. Unsuccessfully. I want to be upfront about that because it's a bit hard to admit. I'm a pretty experienced software engineer, mostly in web development but I used to work in data science. I'm curious...
Hello again! Tonight we're drinking a Chardonnay from Murcia, Spain, so shoutout to my home country hope you're holding up I hear things have been rough lately. It's pleasantly dry if not particularly complex, tasting mostly like crunchy gr...
To some extent Rust is interesting because of unpopular design choices that achieve the same and sometimes better outcome than other languages. A good example is memory management, specifically heap memory management. Memory management can...
Generate static arrays during build time Update 2022-09-27 It's more than two years since I've published this article and Rust and its ecosystem has improved a lot. Unfortunately I will not update or correct this article in the near to mid...
In the previous post, we covered the scope of the project and we wrote the CLI frontend using StructOpt which we'll later use to package the implementation of our server and client. It is recommended that you follow in order since each post...
How to access Amazon Web Services from Rust-based Kubernetes applications using Rusoto and IAM Roles for Service Accounts I made acquaintance with Rusoto only recently, while building a Rust service that consumed messages from Amazon SQS. I...