I want friends through Rust

That sounds great!

I have seen obs-websocket-rs a bit. I don't know what obs-websocket is, but your repository is somehow cool. To reach your level, I have to study Rust harder :fire:

Everyone creates something great with Rust :laughing:

Woah! Did you get a job in Japan? Or your company has a branch ofiice in Japan?
Rust is still not popular in Japan I think. My friends use Go or Ruby.

I don't think rust is popular anywhere yet. Hopefully it will be.

You can look at GO. I know GO somewhat as well. It's also fun to use. I'd say I've been learning GO and rust simultaneously. I use GO at my workplace too.

1 Like

I'm not good at Go at all. I have played Go for making trivial stuffs, so I just know a bit of syntax.

Do you use Go more frequently than Rust? I don't know how to choose best language depending on what I want to do...

It was at an ERP company in Tokyo called Works Applications. It was a good job I think, but they were moving me towards a sysadmin position rather than development, which I was not interested in. It's a big, Japanese company so the organization was pretty stiff and it didn't feel like I could easily move to a different team so I left eventually.

I've seen a lot of "buzz" around Rust at my university, more so than with other new-ish languages, so I'm pretty hopeful.

3 Likes

People often says Japanese company sometimes kill personality. I heard some companies in large cities are not stiff though.

My college was stiff as well. Although I wanted to use Rust for my schoolwork, they forced students to use Java for the development... I was not happy at that time :angry:

1 Like

Well I use it at work unlike rust. But I'm just making APIs and interacting with postgresql db. I'm not doing something all that interesting. I try to do my own hobby stuff in rust.

Go's syntax is childishly simple. That seems like one of the actual points of Go.

1 Like

Hi there and welcome to the rustaceans :wink:

What I use Rust for:
I've been using Rust mainly in personal projects to implement some stuff in bare-metal (so no OS at all) on a Raspberry Pi. I'm developing on a windows machine and do cross compile to the aarch32 or aarch64 targets of the Pi. As with this 1.5 years of experience with rust I'm loving it more and more I started to also inject the language within my work and started convincing my employer to start using rust in upcoming development projects.

Why I use Rust:
My previous bare-metal implementations where made in C and C++ and if those stuff got more and more complicated I started facing memory issues and the like that where quite hard to track in a bare metal environment where you typically have no debugger. So I started using Rust believing in its promises for strong type safety, memory safety and performance and the language really hold true for any promise so far. I like the functional programming style. Sometimes it takes longer to write a single line of code that should do the work that is easy to find a solution for in C/C++ (mainly consisting of a bunch of lines of code), but spending the time in evaluating the best and concise constructs from Rust to solve the problem is most (if not always) worth the time spent.

And one additional thing: The community around the language is awesome :smiley:

3 Likes

Cool.
I mostly make hobby stuffs in rust, too! :laughing:

Hello!

This is my first time hearing about the word, bare-metal. I've google it a bit, but I don't get it probably because of short of knowledge...
Could you explain that?

I've read what you use rust for and why you use rust. Both are difficult for me so I'm not able to imagine what you actually do :sweat_smile:
But I'm interested in what you do! What do you do in the bare metal environment?

Bare-metal generally refers to the situation where you have a computer, with it's processor, memory and peripherals but it has no software on it at all. It is "bare".

Typically we use machines that are already running an operating system. Like Linux or Windows or Android or many others. The OS provides functions for running programs and having those programs make use of keyboard, mouse, screen, disk, USB and all those other devices we have now a days.

But a bare-metal system has none of that. You have to find a way to get your code into the machine when it starts up. You code has to interface directly to all those hardware peripherals.

Bare-metal is often the case when using small micro-controllers. The Arduino being the most widely known of those. There are billions of others.

Some hardy people program things like the Rapberry Pi starting from bare-metal. It can be a great way to learn about building an operating system from scratch.

It's not something I have done much since the early 1980's when we were building our own computers from those 8 bit processors, like the Z80, 6502 and so on. Though I did once make a simple OS for the Intel 386 when that was a new thing.

4 Likes

Hey thanks for jumping in and give this neat and comprehensive explanation on "bare metal" :slight_smile:

And this is exactly what I do - implementing a small custom OS on the Raspberry Pi. This SoC (System On a Chip) micro computer is quite powerfull and able to be used for several IoT scenarios. It comes with several GPIO (General Purpose Input/Output) pins that can be used to control additional hardware or read specific sensors like humidity, pressure, acceleration etc.
I do have fun writing the direct interactions with complete control (without the operating system interfering here and there) as well as trying to gain the maximum out of the hardware.

I do have some kind of a vision but the first steps of my Rust attempts are driven by the goal to implement a small robotic OS on my raspberry Pi to drive a small robot :wink:

1 Like

Thank you for teaching about bare-metal! :wink:
Your explanation makes sense.

Hearing that, to develop in bare-metal environment is quite hard... I have never used micro-controllers. It made me surprised at that Rust is used in such a situation.
Rust is used widely :smile_cat:

I've used GPIO pins of raspberry pi in a class of college! The language was Python though :thinking:
I'm fun to hear that Rust is used for controlling robots like arduino and python.

1 Like

Hello!

I learned about Rust thanks to a cryptocurrency running on a Node.js software. A developer wanted to rewrite it in Rust, then he started teaching us Rust so we can contribute to the code.

Before Rust, I used Python for almost everything, and PHP for web (but this one disgusted me). Python was way too slow for physics simulation, so I was looking for a low-level language. I knew a bit C, but just enough to foresee complicated pointer and memory problems. Rust was the best solution.

Now I use it for distributed cryptocurrency mixing, and I'm trying video streaming/filtering/transcoding. I should explore javelin and obs-websocket-rs...

About bare-metal, I suggest using Wiktionary. Sadly, it's PHP, not Rust. (Are we wiki yet?)

1 Like

I don't think you can use rust for arduino yet, someone correct me if I'm wrong. Raspi gpio I'm guessing is possible.

1 Like

Sure you can. The Arduino is an AVR processor. We already have The AVR-Rust project: https://github.com/avr-rust

Well I know there is ongoing work. Is that ready for basic usage? I'm definitely gonna play around with it then.

No idea. I have always been meaning to give it ago. Looks like it is being maintained.

AVR support is not yet ready for prime-time, but people are working on it. However, there are also ARM-based Arduinos, which have much better Rust support.

I guess when people say arduino they mean unos or megas :sweat_smile: I keep forgetting to specify. Anyway as long as it can blink an led I'm willing to try it on the uno.