commit 3f169f81421b491528e81e172dce83abf19dace7
parent 8af18e7816919c5a58ab886e2213707cc38db8d1
Author: Samdal <samdal@protonmail.com>
Date: Sun, 2 Mar 2025 00:44:55 +0100
productivity through simplicity, change heading sz
Diffstat:
2 files changed, 79 insertions(+), 4 deletions(-)
diff --git a/_posts/2025-03-02-productivity-through-simplicity.md b/_posts/2025-03-02-productivity-through-simplicity.md
@@ -0,0 +1,75 @@
+---
+layout: post
+title: "Productivity through simplicity: How to be productive as programmer"
+description: How to be productive? Here are my tips for productivy, especially with programming.
+comments: true
+tags: [writing, programming]
+---
+
+## Preface
+
+Since I started programming, I have changed my setup many times. I began with Windows and Visual Studio. I have since then switched to Linux.
+
+This post will explore my productivity journey and why I believe I'm in a good spot.
+
+## Monitors
+
+I wanted to get a second monitor when I first got into coding.
+I figured I could use it to have both Unreal Engine and Visual Studio open simultaneously.
+I could even watch a tutorial at the same time!
+
+In reality, this monitor predominantly spent its days displaying Discord.
+
+Down the line, I replaced my primary monitor while keeping the old one. Now I had three monitors: one for Discord, music/docs/browsing, and my main work.
+
+Eventually, I changed direction. I now only have a single monitor.
+
+Two features made me change my mind: workspaces and tiling window managers.
+
+## Workspaces
+
+Instead of having tabs and minimizing windows, workspaces allow you to separate and sort windows manually.
+
+Most operating systems and window managers have workspace support. I prefer systems where switching between workspaces is a single keypress, which is one of the reasons I use [DWM](https://dwm.suckless.org/).
+Simple key binds make switching between workspaces nearly instant. It's almost faster than rotating your neck to look at a different monitor.
+
+Usually, I have a debugger and target program on workspace 1, an editor on workspace 2, a web browser on workspace 3, and Discord on workspace 4. The rest don't follow a convention.
+
+## Tiling window managers
+
+Tiling window managers are over-hyped, and many people will preach about them for no reason.
+I'm not here to do that. On a small screen, I sometimes find tiling window managers cumbersome.
+
+I use a tiling WM because they make the good aspect of managing windows easier while making the bad ones harder.
+Floating WMs make it easy to hide away your window mess. Meanwhile, tiling WMs force you to move windows to a different workspace to prevent cluttering.
+
+I usually favor having one window per workspace, so it wouldn't be that different if I didn't use a tiling WM. The cases where I fully appreciate applications automatically showing up side by side are rare, but they do happen.
+
+## Tabs are less helpful than you think
+
+Don't get me wrong. Tabs are occasionally pleasant to work with. However, they often do more harm than you realize.
+
+### Editors
+The standard workflow for text editors is to have a tab for each open buffer at the top and a tree view on the side. I have found this inefficient. It is much better to be able to search for files with an arbitrary query.
+
+Browsing through the folder tree or tab bar for the correct file wastes time. I would rather input any substring of a document path and have my editor search all files in my current project. Numerous editors can also list and search through open buffers, removing the need for the tab bar entirely.
+
+### Web browser
+On my desktop, I use the [I hate tabs extension](https://addons.mozilla.org/en-US/firefox/addon/i-hate-tabs-sdi-for-firefox/) in Firefox. It helps me stay focused and organized. When a tab has accomplished its task, I close it. If I need a tab for later, it will take up space as a reminder.
+
+Some tasks become slightly bothersome, like browsing electronics distributors, which often requires many tabs. Splitting away tabs doesn't work well on my laptop, as it doesn't have such a large screen.
+
+## Become fluent in your editor
+
+I use Vim key binds. Vim works well, but I see others shooting away with other setups. If you have yet to learn how to do everyday operations fast in your editor, you should. Whether it's auto-complete, auto-indent, cutting a line, or navigating quickly with just your keyboard, it's all worth it.
+
+However, don't waste your life trying to become a "Vim enthusiast." Yes, learning key bindings takes time. Some people are rightfully daunted by switching to something like Vim, but you don't have to go that far. Learning to be fast in a more typical editor like VS Code will go a long way.
+
+## Conclusion
+
+Find tools that suit you, and learn them well. I highly recommend exploring workspaces. Become as fluent as you can in the tools you end up using. Be self-conscious, and have a mindset where you strive toward higher efficiency.
+
+Simplicity over complexity. Tabs are less advantageous than you think, so don't overuse them.
+Opt for keyboard actions over mouse actions when it makes sense, but don't let that mindset extremeify you.
+
+Keep yourself level-headed. Make thoughtful decisions. You will eventually find out what works for you.
diff --git a/_sass/_main.scss b/_sass/_main.scss
@@ -140,15 +140,15 @@ a {
max-width: min(800px, 90%);
}
-h1,h2,h3,h4,h5 {
- margin: 1rem 0;
+h1,h2,h3,h4 {
+ margin: 1.0rem 0 0.5rem 0;
font-weight: bold;
}
h1 {font-size: 2.0rem; color: #f4ca96;}
h2 {font-size: 1.8rem; color: #bcd1cf;}
-h3 {font-size: 1.6rem; color: #a3bfa3;}
-h4 {font-size: 1.4rem; color: #e3bd6d }
+h3 {font-size: 1.5rem; color: #a3bfa3;}
+h4 {font-size: 1.2rem; color: inherit; }
.post h2:first-child, .project h2:first-child, .photo h2:first-child section h1:first-child {
margin-top: 0;