Windows for Development

Recently, I started working on a flutter project. I started on my own 10-year old MBP. (running Linux mint 22.1 BTW) It has “just” 8GB RAM. Flutter development is (near) impossible on this machine.

As per the documentation Android Studio requires 8GB and with Emulator 16GB, while 32GB is the “recommended” configuration.

But it is not just the documentation. I tried to push through. Decided to use Physical device rather than Emulator. But even then, it was just too slow.

So my client gave me i7 Dell machine with 16GB memory. It came with Windows 10 (which is gonna be End of Support soon) I setup all the tooling (Android Studio

It works. (not like my machine)

I also needed to run mysql (in docker) and need to run REST API server. In my opinion, these two do not add any slowness - cause I had them running on my 10-year-old-MBP-running-linux as well.

I think Android emulator is what makes this thing slow. (Flutter build/loading to Emulator are the ones that feel slow)

I have not used Windows for development in ~years~ decades.1

So I had to start from scratch.

I had seen some people use Git Bash so I installed that. It gave me better “Terminal” and unix-like command line programs. But it was still Windows.

FWIW, my client allowed me to install linux on his machine, if I want. 🙏 2

I did the next best thing.

Ubuntu on WSL2

I also discovered “Terminal” app on Windows.

Allows me to open various kinds to command prompts like

This was better. I would open mysql shell in one, REST API server in another etc.

But Copy/Pasting in terminal was awkward. (I got used to Ctrl+Insert to Copy/Shift+Insert to Paste in Ubuntu terminal)

I would do some parts in Git Bash and some in Ubuntu but they didn’t share history

Yestersday, I started Ubuntu app (not the terminal, like I did all those days)

and I was blown away.

Ubuntu “session” in Terminal app is clunky/Big font

Ubuntu app (which is just a shell - but that is all I ever wanted) is much better. Smaller font. Right mouse click to paste (I think selecting via mouse automatically copies the text ¯_(ツ)_/¯)

Now, rather than having different tabs, I start a tmux session in Ubuntu.

Switching between mysql, REST API server, and bash is keyboard driven.

I will try this for few days before deciding to install (or not) Linux on it.

Another quirk I faced was Windows machine did not Hibernate.

Both my macOS and current Linux Mint hibernate. i.e. When I close the lid, everything is saved to disk, and no battery is consumed.

I was surprised that Windows didn’t do that.

I enabled it from some settings.

But I am not sure it works 😢

So I decided to add programs (VSCode, Ubuntu, Firefox) as Startup program.

But that too is not straight forward. At least one Bing suggested.

It involves typing shell:startup in a popup, and copying shortcut of each app there 3


  1. I think when I did the last time, Windows was used for Browser and Corporate Email, and then I used to ssh to Linux server. I think. It was really long time ago. So my memory might not be accurate ↩︎

  2. I might do that. But it will add to down time, so I am delaying it. Also, if Android emulator is making t feel slower, installing Linux may not help that part (Overall experience might be better) ↩︎

  3. Apparently there is a slightly simpler way, but Bing did not suggest that ¯_(ツ)_/¯ ↩︎