Abid Omar

Read this first

Rust 2020: A better ecosystem

This article is written in a response to A call for blogs 2020.

I’m fairly new to Rust, and thus my perspective is that of someone who is not quite sophisticated with the language. I think Rust is hard to learn but should be manageable for your average software developer given enough persistence.

Once you are over that barrier, you start thinking of building something in Rust. Probably, for the web, or a desktop application, or a mobile application; because that’s largely what many developers are building today.

The problem is, in my opinion, the Rust ecosystem is pretty much under-developed at this point. Especially, if you are targeting web, desktop or mobile. The infrastructure is simply not there. The crates have little maintainers, little documentation, no tutorials, and the tooling is just bad.

So here is how I think this should be approached:

  • Focus on few angles and crates...

Continue reading →


A brief introduction to Rust

This blog post will take a deep dive into the Rust world of mutability. By deep dive, it means the blog post is considerably long. So it will take time to go through the different examples. The topic we will dive through is specific but we will have to go through various Rust concepts: Ownership/Borrowing, Lifetimes, Unsafe, Sync, Closures, Macros and more. This might be intimidating and I think this is where many developers are put off.

This article assumes some familiarity with Rust; that is if you have successfully run a “Hello World” program, then you are qualified! If you have struggled with some of the hard concepts then this article could be a good introduction. It will not go deep for each one of these but will give you enough knowledge to help you understand the bigger picture.


We will start from a reasonably easy problem: We want to access a particular variable from any...

Continue reading →


The VIM Experience

For the Vim crowd, my .vimrc file is available on Github.

I got introduced to Vim 7 years ago. Getting started with Vim was a challenge. I think it was a typical experience: Vim has a steep learning curve and requires lots of customization to hit that nice spot. There is even a cost to start typing actual text. As I’ve never been introduced to a Vim-like model, my intuition for a text editor is to just start typing. When you opt for a new experience to increase your productivity, it is hard to be convinced to hit a key to start typing. It seemed counter-intuitive.

That made me bail of Vim multiple times. But I always had the inklings to give it another shot. I think a part of it is “jealousy”. Seeing other developers wrangling code in unusual ways, I wanted to have that kind of power. Also, carpal tunnel syndrome is real and I needed to relieve my hands of constant switching.

It is...

Continue reading →