DEV Community

Rust for the Brave and True

Bastian Gruber on June 11, 2019

A few years ago, I wanted to make the switch from Frontend to Backend. One day I fell down the YouTube rabbit hole and (partly) watched a few tec...
Collapse
 
jesusgollonet profile image
jesús gollonet

Damn this hits it really close to home for me. I've been mulling on switching to arch linux for quite a while for pretty much the same reasons. I already spend my life on a terminal and linux servers.

Main reason for me not to do it is now down to evernote + ios (as user, not dev), which are quite key to my (work|think)flow.

It will happen eventually

Collapse
 
gruberb profile image
Bastian Gruber

Just pick a browser solution and the transition is easier!

Also: You could see the new iPad with ipadOS as a org/computer replacement, and use the Linux hardware to work and tinker.

Collapse
 
jesusgollonet profile image
jesús gollonet • Edited

Just pick a browser solution and the transition is easier!

That's fine for the tools that I want to use less but not the key ones. For me using evernote from a browser would be similar to running my editor from a browser. Technically possible, but not something you want to do every day.

I need a proper desktop replacement with keyboard shortcuts, instant sync across devices and seamless mobile experience.

iPad with mosh and a remote instance is also something i've played with and need to research more to see if it could be a full on replacement

Collapse
 
davidchase profile image
David Chase

Nice write up!

I found the book called "Clojure for the Brave and True"

Thanks for that suggestion !

What are your thoughts on Arch Linux?, thinking about trying out that distro too

Collapse
 
gruberb profile image
Bastian Gruber

It's not as comfortable, as lets say Ubuntu or Debian. However, it's nice that you really know what's on your system since it's completely bare bones and every addition has to be installed.

Collapse
 
davidchase profile image
David Chase

Yeah thats what i heard, ive used both Ubuntu and Debian before along with some others.

Guess im going to just give a go :)

Collapse
 
johncsimon profile image
John Simon

Building and rebuilding a work environment is a kind of yak shaving, and after a certain point I have to say Enough and get on with actual work.
But, yes, if someone is doing anything at the systems level for the first time, the blog posts are culturally geared toward Linux and anything else would be a kind of friction.

Now the question is "What to work on?" and
"Should I just be learning or should I be contributing to an existing project?"

Here's fifteen hours of live coding TCP in Rust youtube.com/watch?v=bzja9fQWzdA from Jon Gjengset (who is clearly a lot more confident in a top down interface based approach than I am).

I suppose a good first networking project would be to rebuild netcat in rust.

I'm also looking at github.com/uutils/coreutils which is remaking BusyBox in rust. There's lots of interaction with the file system there.

Collapse
 
r7e98kva profile image
Markus

What's the big difference between brew install an yay install/Pacman install?

Even on osx you can use an alternate window manager very similar to i3 🤷🏼‍♂️

Collapse
 
itsjzt profile image
Saurabh Sharma • Edited

Disclaimer: Not the original author

I think the difference is the feeling you get when you use something more near to metal.

I also got same-ish feeling by using knex.js instead of some ORM

Collapse
 
vjancik profile image
Viktor Jančík

Awesome resource! Thanks for putting this together.

I went down this rabbit hole myself two weeks ago. Two days spent tinkering with Arch + i3, ended up ditching it for Manjaro i3 and springboarding from there. Saved me a lot of blood and tears for essentially all I really wanted from the basic setup.

It did not work out for me however, because I have a Dell XPS 15 with an external graphics card that I actually need (for work), and there's terrible support for internal/external GPU switching on Linux.
So I can either have the GPU or I can have my battery (Nouveau / Nvidia drivers halve my battery as they run the GPU all the time).

So right now, I'm exploring WSL (Windows Subsystem for Linux) and with the release of WSL 2, and the expanding capabilities for Remote development in VSCode, I have to say it's working out so far.
Still no GPU bridge of course, but at least it's out of the box functionality with my graphical applications (Firefox, WebGL) running optimized in Windows.

It's worth checking out if you ever get bored of your current setup. :)

Collapse
 
gklijs profile image
Gerard Klijs

I just use my macbook with IntelliJ for all. Mostly Java, but Clojure is nice with Cursive, and the Rust plugin is great for Rust.

Collapse
 
moonpalace4 profile image
websealevel

Thanks for this wonderful article. It hits me, currently having the same approach and desires, to be closer to the machine. Free distraction environment. It is so rewarding to build your own environment and workflow from "low level" constructs

Collapse
 
jonathans profile image
Jonathan Sundqvist

Out of curiosity what prevents this?

I can't do Systems Programming on a MacBook Pro running macOS

Collapse
 
gruberb profile image
Bastian Gruber

I should have been more specific. I meant that if you read books/tutorials on TCP/IP, they all assume Linux command line tools. So yes, I can install them and all is fine.

However I like to be on the same machine as those writing the tutorials. At least for the time being. Who knows a few years down the road, but for now, I decided to "have a healthy fridge", as the analogy in the article would say.

Collapse
 
shenril profile image
Shenril

Let's ask the real question here
Why would you feel the need to buy another keyboard when you already the thinkpad one? :D

Collapse
 
russoue profile image
Mohammad Husain

Do you have links to the Thinkpad and the Dell monitor you bought?

Collapse
 
gruberb profile image
Bastian Gruber