Setting up my Win-11 in 2024

Osher El-Netanany
Israeli Tech Radar
Published in
12 min readAug 1, 2024

This is not a tutorial post. The internet is full of how-to articles, many of which cannot even compete with GPTs.

What edge do I have over them? I have a mind (for good or evil).

So, this is a share of mind. Perhaps even a rant...

Analyzing Analysis, Qualifying quality

I rode with experts. I want it to stay that way. (image from here. That post missed most of the book, but it has the picture I wanted :P)

I’ve been in software development since 99.
Now, in 2024, in a world of constant change — my quest is to propagate and promote propagators of healthy development culture.

Alas, mind the contrast between the loads of materials available on the matter and the poor development culture we see across the board. This contrast shows how hard it is to understand, let alone endorse and assimilate.

I’m interested in the mindset that leads to expertise.

In this article, I’ll use the setting up my new PC as a bedding to seed a discussion. It may include instructions, but not teach you the grit.

The main goal is:

demonstrate the parts of the way of thought I adopt and nurture to maintain my expertise.

May it inspire you to find yours and nurture it.

Set for expertise

Actually, this was my first Lego-Technic set (image from here)

I grew up with MS-DOS, and later, Win ‘95, ‘97, 2000. ( — no Vista! 😆).

I had an early brush with Atari and Commodore of my more wealthy friends, and the occasional SSH session. I first worked with a non-windows OS in 2006.
However, It was not until 2015 that I started considering Linux as a home OS, and a few tries to really adopt it.

The frustration in the eyes of whoever tried kept me away until I felt it’s ripe enough.

Now, after years with Ubuntu, I thought to dust off my go’old Windows capabilities.

The recent reassignment came with a new computer. That gave me the opportunity.

If you want to skip to the bottom line — it’s here (link).

A new Laptop

Pun intended. (image from here)

After a few more days with my old Ubuntu machine, the new one arrived. Some hi-power variant of Lenovo L14. It did come with Win11 Pro.

No fancy wasteful unboxing. No posh glitter. No vain ego snares.

Simple. Robust. Functional.

I suppressed a momentary instinct to install Linux — I have some roadmap options there too, but no. I have already committed.

Windows for the modern cloud developer is set in two layers: the Host Windows, and a guest WSL.

The steps begin with the host.

1. Swap the Ctrl and the FN

That’s so WRONG!!! (image from here)

Some sharpshooter Lenovo designers thought to put the fn key on the bottom left corner in the place where ctrl should be. Because obviously, users need to play all day with volume and screen brightness and the rest of these once-in-a-long-while setups (Instead of doing actual work with the ctrl key).

As a mockery at the poor, the BIOS has a setting that lets you swap the fn and Ctrlkeys. Not ideal, because the Ctrl is rightfully bigger. And one cannot swap the physical keys…

Polishing this article, I found that nowadays it can be done from the OS:

Using the Lenovo Keyboard manager (image from here)

I get to use Lenovo models a lot, so that is the 3rd worst keyboard-related design decision that ruins my computers experience.

The worst is when some Steve decided that using the clumsy monkey thumb for control functions is preferable to the human-dexterous pinky.
The 2nd is when he decided that some (and ONLY SOME) functions that belong to Ctrl+something should move to CMD+something, making sure there is no simple keyboard mapping solution to that mess.

Head down, Bill. …Backslash? …Percent?

2. Remove animations

I curse every second these annoying effects steal from my life and my cognitive load.

For example, when I minimize a window — I expect it to disappear.
Instantly!
Not to demand my patience while it is stealing a precious bit of attention.

This is a work machine, not a toy.

Not your toy. (image from here)

So. Win + Rsysdm.cpl and off they go.
Under the Performance button in the Advanced tab.

3. Folder options

Move from Idiot-Proof mode to developer mode.

Search for the view tab of the options dialog invoked from the view menu.
I suggest you go over all of the list.

My highlights:

  • uncheck “hide extensions”
  • show hidden files and folders
  • restore windows at logon
  • turn off any annoying tooltips (affected by few checkboxes)

4. Separate partitions for the system and data

System back-up. An old dog’s habit, perhaps. From the time when Ghost was King (google it).

Not the Ghost busters (image from here)

I’m not talking about cloud drivers that back up your user data.

I refer to backing up your OS setup itself.

To be honest — I don’t remember the last time I had to reinstall Windows. But then again, I don’t remember the last time I used my life insurance😜.
So if I have to — I won’t need to copy data.

My MP3s alone justify that. Why downstream the same songs over and over? What runs all these MB? Do you think that CO2 grows on trees?

So, there’s C:\ for OS and apps, and D:\ for data (isn’t it why it’s called D?)

Disk Manager. Here’s some guide (image from here)

The exception is for portables that do not require installation and do not affect the registry. These can be placed in D:\bin and backed up like user data.

5. Start up Apps

Prepare for a multi-restart exhaustive Windows update.

I optimize what’s get run on start up.

Press Win and type st (for start-up apps).
Disable all the useless parts that come bundled in these days...

There’s also the Startup apps section on the Task Manager.

Not my picture (Here’s some nice guide— Image from here)

6. Energy Settings

Bottom line:

  • ☝️ I reserve the right to gaze at the screen for 15 minutes (or be otp) or more without touching the mouse or keyboard!
    As a developer, it is my job to engage with deep thinking.
    . . . Do not lock or turn off my screen if I did not tell you to!
  • ✋I will Win + L when I want to.

7. Exhaustive Windows update

I click the Win key, and type u.
95% that the “Windows Update” will appear as 1st result. If it does not — continue to spell update one letter at a time and check what you get — it will come.

Then, I check for updates and install everything it has to offer.
(Do we really have a choice…?)

Woupsy! Microsoft… really? (image from here)

A new machine requires several restarts — and there’s a “gotcha” here: after a restart of a Windows update, the updates page assumes there are no more updates. That is a lie.
It will check later and find new updates that could have not be listed as long as their dependencies are not performed.

It’s over only after a restart I initiate myself, I pre-emptively check for updates, and it says “You’re up to date”.

8. A custom scripts directory in the PATH

This is the Windows equivalent for shell-profile customizations. Obviously, the Linux shell profile is more elegant with its includes, functions, and aliases. But you can implement most of them in Windows shell using .cmd /.bat files.

I’ll create a directory and add it to the PATH. For example — D:\bin.

The shortest way I found to invoke that env-params dialog is to click Win and type varia(for edit system variables).

Do not follow orders. Do some reading. (image from here)

Now, that it is a part of my path, I open a new shell. I type in:
copy con D:\bin\x.bat and hit Enter.

The x will be my alias to exit — a CLI command to close a shell session.

So I type @exit, hit Enter, type Ctrl+Z, and Enter again.

No more reaching out for the mouse to close a shell window that was invoked arbitrarily from the files explorer (by typing cmd in the address-bar — which is so missing in other OS).

Now x and Enter will close my current shell session. If the shell is the top shell — it will close the window as well.

What? You don’t like the shell’s one-line-editor?
Create a d:\bin\newbat.bat with a single line of start notepad d:\bin\%1.bat.

And test it with newbat my-new-command.
You can replace the editor with your favorite once it’s installed.

I have more tools and shortcuts. If you paid attention — I got them backed up as a part of my D:. So, I don’t have to recreate them every time anew — but carry them on from machine to machine.

When Dropbox was banned from workplace networks I moved to a private git.

9. Customize the shell windows

I still use cmd.exe. I never bridged the gap to PowerShell. It looks like they forced a VB programmer to write a shell interface. The more time passes I get exposed to it more, but since WSL…

I set the font to Consolas, 16px (Yup, old and blind).
Plus — it’s a good setting for screen-share tutoring.

I make sure that the command buffer size is the maximum it allows.

And that the screen buffer in the Layout tab is maximal.

10. A shortcut for an elevated console on the desktop

Now that I got WSL I’ll want to manage it from CLI and this can be done only with elevated privileges.

Elevated — the Windows variant for sudo (yes, variant. Definitely not equivalent 😝).

the wonders of right-click (image from here)

Create on the desktop a shortcut to cmd.exe , rename it to Admin, and right-click → PropertiesShortcut tab → Advanced button. It’s there.

Then I try it and see that it requires me to approve the elevation to admin.

Last — I update the font color to matrix green, to make admin consoles unmistakable.

11. Taskbar on the left

I’ve been doing that ever since we abandoned the 3:4 ratio. It just seemed logical to me that the gained width is for utilities.

Win 11. Not everything is an improvement (image from here)

As I write this, there is no official way to do that. I cannot endorse or recommend any of the ways I found. The one I chose includes installing a 3rd party utility that nags about updates, and editing a registry key — so do your own research. The future reader just might find a better way...

11. Enable VM and WSL

VM and WSL are mostly development tools. Thus, they are features that require to be enabled explicitly.

It’s done in the Turn Windows Features On or Off dialog.

There’s also a CLI alternative. (image from here)

The shortest way I found is to click Win, type Turn w (for Turn windows features on or off) and Enter— you’ll find them both there.

12. Default search engine

Before we’re going to search and download some things — no Microsoft, I don’t want “Bing”. Nice try…

1997. (image from here)

While I’m there, I disable any fancy-schmancy homepage features.

When I open a new tab — I don’t want you to compete on my attention, I want it blank. If I want to know the weather — I’ll google it.
And I want to do it from the address bar.

Oh, I will install Chrome, but I will use both (yes, I know about incognito and profiles — not good enough for all my use cases).

13. Applications and Utilities I install

  1. Chrome
  2. Antivirus — this time I went with Total AV, because at the time it had the highest ranking among the common rankers. But I just might replace it if it continues with these marketing popups.
  3. VS Codium (the community’s cousin of VS Code that will not fiddle with your telemetry settings after updates)
    ❗️ — this comes with a whole setup of plugins, but this post is already too long.
  4. Slack — plus, login to the Tikal workspace, where I can offer help to my peers, and summon peer experts for my rescue.
  5. Zoom
  6. OpenVPN
  7. Windows Sysinternals-Suite, but I cherry-pick from it only the binaries for my architecture, and only of some like Process Explorer, Process Monitor, and some other goodies
    (they are all portables and go to D:\bin, but it’s nice to update them).
  8. putty
  9. Unlocker 1.9.2 (I have had it for over a decade, make sure you get it from a trusted source)
  10. WinAmp 2.95 (and deny it any internet access)
  11. SpaceMonger (1.4.0 portable version, goes to D:\bin, and have stopped updating, but I had to mention it)
  12. Git for windows

    Now, the following have been mostly replaced by WSL tools. I still install them to make the Win shell experience more consistent with the WSL shell:
  13. GOW (cygwinnever felt right for me…)
  14. jq + yq (portables)
  15. chocolately (even though I hardly used it since WSL matured)

Applications and Utilities I do not install

There used to be two tools that were obvious, but have fallen out of favor because of their new monetary policies:

  1. Docker Desktop
  2. Kubernetes Lens

The first I replaced with a Linux daemon in the WSL (I always preferred the docker CLI over the GUI, and the same for git)

The latter — I’m still evaluating. k9s in the WSL is a start, but not perfect. It’s also embeddable into a cloud bastion Docker image — so it’s important to feel at home with it.

Not one brick

Not a clear cut (image from here)

That’s about half of the way.

Windows for the modern developer is set in two layers: the Host Windows, and a guest WSL. We have hardly touched the latter.

I‘m afraid that’s too much for one time. I’ll have to do a part 2 for the WSL, and part 3 for the IDE. Besides, I’ll want to pick up some feedback and see you’re interested before I dive deeper.

The Pep Talk Behind

Phaedrus, I’m not a master like you, but I’m working on it… (Image from here)

Each point here connects to one or more of the following principles:

  1. Make yourself comfortable.
    Why suffer?
  2. Be present.
    Respect your time and space and other people’s time and space.
  3. Optimize concentration.
    Reduce cognitive load and kill distractions.
  4. Productivity Funnel Design.
    Set your workstation so that the easiest path of resistance, channels you to productivity.
  5. Find the shortest ways.
    Minor improvements of actions done a lot mount to big time saving and a jump in fluency.
  6. Mind the gap.
    Do your own research. Do it in depth.
    Copying is not understanding.
    Understanding is theory, implementing is practice.
  7. Prefer ubiquitous free tools.
    Avoid getting caught useless without your toolchain.
  8. Orient for business.
    Unless toying up is an essential part of your comfort, let it go.
    Take control of your reward system. But be sincere about it, it’s not for everyone, nor is it the only way.

In lieu of a conclusion

It’s common to set up clusters in the cloud using a full git-ops way. However, there are some profound differences between a PC and a cluster.

It could be that with the advances in tools like Chocolately and Powershell there could be a full CLI automation for much of the Windows hustle, covering many parts that are described here as manual steps.

I’m just not there with that on Windows, and I doubt I’ll ever be.

The reason is that I get to set up a single computer every long while. Few of them are windows. Often, it belongs to a corporate and is already half-baked when I get it. So there’s not much incentive to invest in this automation. But I would love to meet the expert who will take me for a ride :)

Looking for a ride (image from here)

If you made it so far — nice & thank you! I hope it was worth your time.
Leave me any kind of feedback so I can understand what you think of such content.

--

--

Osher El-Netanany
Israeli Tech Radar

Coding since 99, LARPing since 94, loving since 76. I write fast but read slowly, so I learnt to put things simple for me to read later. You’re invited too.