diff options
Diffstat (limited to 'gemfeed/atom.xml')
| -rw-r--r-- | gemfeed/atom.xml | 414 |
1 files changed, 175 insertions, 239 deletions
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index c08b8791..d15d1fec 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2026-02-28T17:31:13+02:00</updated> + <updated>2026-02-28T17:32:30+02:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="https://foo.zone/gemfeed/atom.xml" rel="self" /> @@ -326,244 +326,6 @@ mage test </content> </entry> <entry> - <title>Loadbars 0.13.0 released</title> - <link href="https://foo.zone/gemfeed/2026-02-29-loadbars-0.13.0-released.html" /> - <id>https://foo.zone/gemfeed/2026-02-29-loadbars-0.13.0-released.html</id> - <updated>2026-03-01T00:00:00+02:00</updated> - <author> - <name>Paul Buetow aka snonux</name> - <email>paul@dev.buetow.org</email> - </author> - <summary>Loadbars is a real-time server load monitoring tool. It connects to one or more Linux hosts via SSH and shows CPU, memory, network, load average, and disk I/O as vertical colored bars in an SDL window. You can run it locally or point it at your servers and see what's happening right now — like `top` or `vmstat`, but visual and across multiple hosts at once.</summary> - <content type="xhtml"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h1 style='display: inline' id='loadbars-0130-released'>Loadbars 0.13.0 released</h1><br /> -<br /> -<span class='quote'>Published at 2026-03-01T00:00:00+02:00</span><br /> -<br /> -<span>Loadbars is a real-time server load monitoring tool. It connects to one or more Linux hosts via SSH and shows CPU, memory, network, load average, and disk I/O as vertical colored bars in an SDL window. You can run it locally or point it at your servers and see what's happening right now — like <span class='inlinecode'>top</span> or <span class='inlinecode'>vmstat</span>, but visual and across multiple hosts at once.</span><br /> -<br /> -<a href='./loadbars-0.13.0-released/loadbars.gif'><img alt='Loadbars in action' title='Loadbars in action' src='./loadbars-0.13.0-released/loadbars.gif' /></a><br /> -<br /> -<span>Loadbars can connect to hundreds of servers in parallel; the GIF above doesn't do it justice — at scale you get a wall of bars that makes it easy to spot outliers and compare hosts at a glance.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/loadbars'>Loadbars on Codeberg</a><br /> -<br /> -<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> -<br /> -<ul> -<li><a href='#loadbars-0130-released'>Loadbars 0.13.0 released</a></li> -<li>⇢ <a href='#what-loadbars-is-and-isn-t'>What Loadbars is (and isn't)</a></li> -<li>⇢ <a href='#use-cases'>Use cases</a></li> -<li>⇢ <a href='#what-s-new-since-the-perl-version'>What's new since the Perl version</a></li> -<li>⇢ <a href='#core-features'>Core features</a></li> -<li>⇢ ⇢ <a href='#load-average-bars'>Load average bars</a></li> -<li>⇢ ⇢ <a href='#disk-io-bars'>Disk I/O bars</a></li> -<li>⇢ ⇢ <a href='#global-reference-lines-and-options'>Global reference lines and options</a></li> -<li>⇢ ⇢ <a href='#cpu-monitoring'>CPU monitoring</a></li> -<li>⇢ ⇢ <a href='#memory-and-network'>Memory and network</a></li> -<li>⇢ ⇢ <a href='#all-hotkeys'>All hotkeys</a></li> -<li>⇢ <a href='#ssh-and-config'>SSH and config</a></li> -<li>⇢ <a href='#building-and-platforms'>Building and platforms</a></li> -</ul><br /> -<h2 style='display: inline' id='what-loadbars-is-and-isn-t'>What Loadbars is (and isn't)</h2><br /> -<br /> -<span>Loadbars shows the current state only. It is not a tool for collecting loads and drawing graphs for later analysis. There is no history, no recording, no database. Tools like Prometheus or Grafana require significant setup before producing results. Loadbars lets you observe the current state immediately: one binary, SSH (or local), and you're done.</span><br /> -<br /> -<pre> -┌─ Loadbars 0.13.0 ─────────────────────────────────────────┐ -│ │ -│ ████ ████ ████ ██ ████ ████ ████ ██ ░░██ ░░██ │ -│ ████ ████ ████ ██ ████ ████ ████ ██ ░░██ ░░██ │ -│ ████ ████ ████ ██ ████ ████ ████ ██ ░░██ ░░██ │ -│ CPU cpu0 cpu1 mem CPU cpu0 cpu1 mem net net │ -│ └──── host1 ────┘ └──── host2 ────┘ │ -└───────────────────────────────────────────────────────────┘ -</pre> -<br /> -<h2 style='display: inline' id='use-cases'>Use cases</h2><br /> -<br /> -<ul> -<li>Deployments and rollouts: watch CPU, memory, and network across app servers or nodes while you deploy. Spot the one that isn't coming up or is stuck under load.</li> -<li>Load testing: run your load tool against a cluster and see which hosts (or cores) are saturated, whether memory or disk I/O is the bottleneck, and how load spreads.</li> -<li>Quick health sweep: no dashboards set up yet? SSH to a handful of hosts and run Loadbars. You get an instant picture of who's busy, who's idle, and who's swapping.</li> -<li>Comparing hosts: side-by-side bars make it easy to see if one machine is hotter than the rest (e.g. after a config change or migration).</li> -<li>NOC or on-call: glance at load average, CPU, and network for a known set of servers without opening multiple terminals or a heavy monitoring UI.</li> -<li>Local tuning: run <span class='inlinecode'>loadbars --hosts localhost</span> while you benchmark or stress a single box; the bars and load-average view help correlate activity with what you're doing.</li> -</ul><br /> -<h2 style='display: inline' id='what-s-new-since-the-perl-version'>What's new since the Perl version</h2><br /> -<br /> -<span>The original Loadbars (Perl + SDL, ~2010–2013) had CPU, memory, network, ClusterSSH, and a config file. The Go rewrite and subsequent releases added the following. Why each one matters:</span><br /> -<br /> -<ul> -<li>Load average bars: the Perl version had no load average. Now you get 1/5/15-minute load per host. Useful because load average is the classic "how queued is this box" signal — you see saturation and trends at a glance without reading numbers.</li> -</ul><br /> -<ul> -<li>Disk I/O bars: disk was invisible in the Perl version. You now get read/write throughput (and optionally utilization %) per host or per device. Whole-disk devices only (partitions, loop, ram, zram, and device-mapper are excluded). Useful when you need to tell "is this slow because of CPU or because of disk?" — especially with many hosts, one disk-heavy host stands out. Disk smoothing (config diskaverage, hotkeys b/x) lets you tune how much the bars are averaged.</li> -</ul><br /> -<ul> -<li>Extended peak line on CPU: a 1px line shows max system+user over the last N samples. Useful to see short spikes that the stacked bar might smooth out, so you don't miss bursty load.</li> -</ul><br /> -<ul> -<li>Tooltips and host highlight: hover the mouse over any bar to see a tooltip with exact values (CPU %, memory, network, load, or disk depending on bar type). The hovered host's bars are highlighted (inverted) so you can tell which host you're over. Useful when you have hundreds of bars and want to read a specific number or confirm which host a bar belongs to.</li> -</ul><br /> -<ul> -<li>GuestNice in CPU bars: CPU bars now show GuestNice as a lime green segment (above Nice). One more breakdown for virtualized or container workloads.</li> -</ul><br /> -<ul> -<li>Version in window title: the default SDL title is "Loadbars <version> (press h for help on stdout)". Override with --title when you need a custom label.</li> -</ul><br /> -<ul> -<li>Global average CPU line (key g): a single red line across all hosts at the fleet-average CPU. Useful when you have hundreds of bars: you instantly see which hosts are above or below average without comparing bar heights in your head.</li> -</ul><br /> -<ul> -<li>Global I/O average line (key i): same idea for iowait+IRQ. Useful to spot which hosts are waiting on I/O more than the rest — quick way to find the disk-bound or interrupt-heavy machines.</li> -</ul><br /> -<ul> -<li>Host separator lines (key s): a thin red vertical line between each host's bars. Useful at scale so you don't lose track of where one host ends and the next begins when the window is full of bars.</li> -</ul><br /> -<ul> -<li>Scale reset (key r): reset the auto-scale for load and disk back to the floor. Useful after a big spike so the bars don't stay compressed for the rest of the session.</li> -</ul><br /> -<ul> -<li>Toggle CPU off (key 1 cycles through aggregate → per-core → off): the Perl version didn't let you turn CPU bars off. Useful when you want to focus only on memory, network, load, or disk and reduce clutter.</li> -</ul><br /> -<ul> -<li>maxbarsperrow: wrap bars into multiple rows instead of one long row. Useful with many hosts so the window doesn't become impossibly wide; you get a grid and can still scan everything.</li> -</ul><br /> -<ul> -<li>maxwidth: cap on window width in pixels (default 1900). Stops the window growing unbounded with many hosts; use together with maxbarsperrow for a predictable layout.</li> -</ul><br /> -<ul> -<li>Startup visibility flags: --showmem, --shownet, --showload, --extended, --cpumode, --diskmode (and friends) let you start with the bars you care about already on. Useful so you don't have to press 2, 3, 4, 5 every time.</li> -</ul><br /> -<ul> -<li>Window title (--title): set the SDL window title. Useful when you run several Loadbars windows (e.g. one per cluster or environment) and need to tell them apart in your taskbar or window list.</li> -</ul><br /> -<ul> -<li>SSH options (--sshopts): pass extra flags to ssh (e.g. ConnectTimeout, ProxyJump). Useful on locked-down or jump-host setups so Loadbars works without changing your global SSH config for a one-off session.</li> -</ul><br /> -<ul> -<li>hasagent: skip extra SSH agent checks when you know the key is already loaded. Useful to avoid startup delay or warnings when you've already run ssh-add and are monitoring many hosts.</li> -</ul><br /> -<ul> -<li>Config file covers every option: any flag from --help can be set in ~/.loadbarsrc (no leading --). Perl had a config but the Go version supports the full set. Useful for reproducible setups and sharing.</li> -</ul><br /> -<ul> -<li>Positional host arguments: you can run <span class='inlinecode'>loadbars server1 server2</span> without --hosts. Convenience when you only have a few hosts.</li> -</ul><br /> -<ul> -<li>macOS as client: run the Loadbars binary on a Mac and connect to Linux servers via SSH. The Perl version was Linux-only. Useful to watch production from a laptop without a Linux VM or second machine.</li> -</ul><br /> -<ul> -<li>Single static binary: no Perl runtime, no SDL Perl modules, no CPAN. Useful for deployment — copy one file to a jump host or new machine and run it.</li> -</ul><br /> -<ul> -<li>Unit tests: mage test (or go test). The Go version has proper tests; useful for development and catching regressions.</li> -</ul><br /> -<ul> -<li>Window resize (arrow keys): resize the window with the keyboard (left/right = width, up/down = height). Useful to fit more or fewer bars on screen without touching the mouse. (The Perl version had mouse-based resize; Go uses arrow keys.)</li> -</ul><br /> -<ul> -<li>Hundreds of hosts in parallel: the Go implementation connects to all hosts concurrently and keeps polling without blocking. The Perl version struggled with many hosts. Useful for large fleets; you get a real "wall of bars" instead of a subset.</li> -</ul><br /> -<h2 style='display: inline' id='core-features'>Core features</h2><br /> -<br /> -<h3 style='display: inline' id='load-average-bars'>Load average bars</h3><br /> -<br /> -<span>Press <span class='inlinecode'>4</span> or <span class='inlinecode'>l</span> to toggle. Each host gets a bar: teal fill (1-min load), yellow 1px line (5-min), white 1px line (15-min). Scale: auto (floor 2.0) or fixed with <span class='inlinecode'>--loadmax N</span>. Press <span class='inlinecode'>r</span> to reset auto-scale.</span><br /> -<br /> -<h3 style='display: inline' id='disk-io-bars'>Disk I/O bars</h3><br /> -<br /> -<span>Press <span class='inlinecode'>5</span> to toggle: aggregate (all whole-disk devices per host) → per-device → off. Partitions, loop, ram, zram, and device-mapper are excluded. Purple fill from top = read, darker purple from bottom = write. Extended mode (<span class='inlinecode'>e</span>) adds a 3px disk-utilization line. Config: <span class='inlinecode'>diskmode</span>, <span class='inlinecode'>diskmax</span>, <span class='inlinecode'>diskaverage</span>. <span class='inlinecode'>b</span>/<span class='inlinecode'>x</span> change disk average samples.</span><br /> -<br /> -<h3 style='display: inline' id='global-reference-lines-and-options'>Global reference lines and options</h3><br /> -<br /> -<span><span class='inlinecode'>g</span>: global average CPU line (1px red). <span class='inlinecode'>i</span>: global I/O average line (1px pink). <span class='inlinecode'>s</span>: host separator lines (1px red). Other options: <span class='inlinecode'>--maxbarsperrow N</span>, <span class='inlinecode'>--title</span>, <span class='inlinecode'>--sshopts</span>, <span class='inlinecode'>--hasagent</span>. Hotkeys <span class='inlinecode'>m</span>/<span class='inlinecode'>n</span> mirror <span class='inlinecode'>2</span>/<span class='inlinecode'>3</span> for memory and network. Hover over a bar for a tooltip with exact values and host highlight.</span><br /> -<br /> -<h3 style='display: inline' id='cpu-monitoring'>CPU monitoring</h3><br /> -<br /> -<span>CPU usage as vertical stacked bars: System (blue), User (yellow), Nice (green), GuestNice (lime green), Idle (black), IOwait (purple), IRQ/SoftIRQ (white), Guest/Steal (red). Press <span class='inlinecode'>1</span> for aggregate vs. per-core. Press <span class='inlinecode'>e</span> for extended mode (1px peak line: max system+user over last N samples).</span><br /> -<br /> -<h3 style='display: inline' id='memory-and-network'>Memory and network</h3><br /> -<br /> -<ul> -<li><span class='inlinecode'>2</span> / <span class='inlinecode'>m</span>: memory — left half RAM (dark grey/black), right half Swap (grey/black) per host</li> -<li><span class='inlinecode'>3</span> / <span class='inlinecode'>n</span>: network — RX (top, light green) and TX (bottom) summed over non-loopback interfaces. Red bar = no non-lo interface. Use <span class='inlinecode'>--netlink</span> or <span class='inlinecode'>f</span>/<span class='inlinecode'>v</span> for link speed (utilization %). Default <span class='inlinecode'>gbit</span>.</li> -</ul><br /> -<h3 style='display: inline' id='all-hotkeys'>All hotkeys</h3><br /> -<br /> -<pre> -Key Action -───── ────────────────────────────────────────────────── -1 Toggle CPU (aggregate / per-core / off) -2 / m Toggle memory bars -3 / n Toggle network bars -4 / l Toggle load average bars -5 Toggle disk I/O (aggregate / per-device / off) -r Reset load and disk auto-scale peaks -e Toggle extended (peak line on CPU; disk util line) -g Toggle global average CPU line -i Toggle global I/O average line -s Toggle host separator lines -h Print hotkey list to stdout -q Quit -w Write current settings to ~/.loadbarsrc -a / y CPU average samples up / down -d / c Net average samples up / down -b / x Disk average samples up / down -f / v Link scale up / down -Arrows Resize window -</pre> -<br /> -<h3 style='display: inline' id='ssh-and-config'>SSH and config</h3><br /> -<br /> -<span>Connect with public key auth; hosts need bash and <span class='inlinecode'>/proc</span> (Linux). No agent needed on the remote side.</span><br /> -<br /> -<pre> -loadbars --hosts server1,server2,server3 -loadbars --hosts root@server1,root@server2 -loadbars servername{01..50}.example.com --showcores 1 -loadbars --cluster production -</pre> -<br /> -<span>Config: <span class='inlinecode'>~/.loadbarsrc</span> (key=value, no <span class='inlinecode'>--</span>; use <span class='inlinecode'>#</span> for comments). Any <span class='inlinecode'>--help</span> option. Press <span class='inlinecode'>w</span> to save current settings.</span><br /> -<br /> -<h3 style='display: inline' id='building-and-platforms'>Building and platforms</h3><br /> -<br /> -<span>Go 1.25+ and SDL2. Install SDL2 (e.g. <span class='inlinecode'>sudo dnf install SDL2-devel</span> on Fedora, <span class='inlinecode'>brew install sdl2</span> on macOS), then:</span><br /> -<br /> -<pre> -mage build -./loadbars --hosts localhost -mage install # to ~/go/bin -mage test -</pre> -<br /> -<span>Tested on Fedora Linux 43 and common distros; macOS as client to remote Linux only (no local macOS monitoring — no <span class='inlinecode'>/proc</span>).</span><br /> -<br /> -<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> -<br /> -<span>Other related posts:</span><br /> -<br /> -<a class='textlink' href='./2026-03-01-loadbars-0.13.0-released.html'>2026-03-01 Loadbars 0.13.0 released (You are currently reading this)</a><br /> -<a class='textlink' href='./2025-11-02-perl-new-features-and-foostats.html'>2025-11-02 Perl New Features and Foostats</a><br /> -<a class='textlink' href='./2025-09-14-bash-golf-part-4.html'>2025-09-14 Bash Golf Part 4</a><br /> -<a class='textlink' href='./2025-03-05-sharing-on-social-media-with-gos.html'>2025-03-05 Sharing on Social Media with Gos v1.0.0</a><br /> -<a class='textlink' href='./2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html'>2024-03-03 A fine Fyne Android app for quickly logging ideas programmed in Go</a><br /> -<a class='textlink' href='./2023-12-10-bash-golf-part-3.html'>2023-12-10 Bash Golf Part 3</a><br /> -<a class='textlink' href='./2023-06-01-kiss-server-monitoring-with-gogios.html'>2023-06-01 KISS server monitoring with Gogios</a><br /> -<a class='textlink' href='./2022-05-27-perl-is-still-a-great-choice.html'>2022-05-27 Perl is still a great choice</a><br /> -<a class='textlink' href='./2022-01-01-bash-golf-part-2.html'>2022-01-01 Bash Golf Part 2</a><br /> -<a class='textlink' href='./2021-11-29-bash-golf-part-1.html'>2021-11-29 Bash Golf Part 1</a><br /> -<a class='textlink' href='./2011-05-07-perl-daemon-service-framework.html'>2011-05-07 Perl Daemon (Service Framework)</a><br /> -<a class='textlink' href='./2008-06-26-perl-poetry.html'>2008-06-26 Perl Poetry</a><br /> -<br /> -<a class='textlink' href='../'>Back to the main site</a><br /> - </div> - </content> - </entry> - <entry> <title>My desk rack: DeskPi RackMate T0</title> <link href="https://foo.zone/gemfeed/2026-02-22-my-desk-rack.html" /> <id>https://foo.zone/gemfeed/2026-02-22-my-desk-rack.html</id> @@ -18333,4 +18095,178 @@ http://www.gnu.org/software/src-highlite --> </div> </content> </entry> + <entry> + <title>'Slow Productivity' book notes</title> + <link href="https://foo.zone/gemfeed/2024-05-01-slow-productivity-book-notes.html" /> + <id>https://foo.zone/gemfeed/2024-05-01-slow-productivity-book-notes.html</id> + <updated>2024-04-27T14:18:51+03:00</updated> + <author> + <name>Paul Buetow aka snonux</name> + <email>paul@dev.buetow.org</email> + </author> + <summary>These are my personal takeaways after reading 'Slow Productivity - The lost Art of Accomplishment Without Burnout' by Cal Newport.</summary> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h1 style='display: inline' id='slow-productivity-book-notes'>"Slow Productivity" book notes</h1><br /> +<br /> +<span class='quote'>Published at 2024-04-27T14:18:51+03:00</span><br /> +<br /> +<span>These are my personal takeaways after reading "Slow Productivity - The lost Art of Accomplishment Without Burnout" by Cal Newport.</span><br /> +<br /> +<span>The case studies in this book were a bit long, but they appeared to be well-researched. I will only highlight the interesting, actionable items in the book notes.</span><br /> +<br /> +<span>These notes are mainly for my own use, but you may find them helpful.</span><br /> +<br /> +<pre> + ,.......... .........., + ,..,' '.' ',.., + ,' ,' : ', ', + ,' ,' : ', ', + ,' ,' : ', ', + ,' ,'............., : ,.............', ', +,' '............ '.' ............' ', + '''''''''''''''''';''';'''''''''''''''''' + ''' +</pre> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#slow-productivity-book-notes'>"Slow Productivity" book notes</a></li> +<li>⇢ <a href='#it-s-not-slow-productivity'>It's not "slow productivity"</a></li> +<li>⇢ <a href='#pseudo-productivity-and-shallow-work'>Pseudo-productivity and Shallow work</a></li> +<li>⇢ <a href='#accomplishments-without-burnout'>Accomplishments without burnout</a></li> +<li>⇢ <a href='#do-fewer-things'>Do fewer things</a></li> +<li>⇢ <a href='#work-at-a-natural-pace'>Work at a natural pace</a></li> +<li>⇢ <a href='#obsess-over-quality-'>Obsess over quality </a></li> +</ul><br /> +<h2 style='display: inline' id='it-s-not-slow-productivity'>It's not "slow productivity"</h2><br /> +<br /> +<span>"Slow productivity" does not mean being less productive. Cal Newport wants to point out that you can be much more productive with "slow productivity" than you would be without it. It is a different way of working than most of us are used to in the modern workplace, which is hyper-connected and always online.</span><br /> +<br /> +<h2 style='display: inline' id='pseudo-productivity-and-shallow-work'>Pseudo-productivity and Shallow work</h2><br /> +<br /> +<span>People use visible activity instead of real productivity because it's easier to measure. This is called pseudo-productivity.</span><br /> +<span>Pseudo-productivity is used as a proxy for real productivity. If you don't look busy, you are dismissed as lazy or lacking a work ethic.</span><br /> +<br /> +<span>There is a tendency to perform shallow work because people will otherwise dismiss you as lazy. A lot of shallow work can cause burnout, as multiple things are often being worked on in parallel. The more you have on your plate, the more stressed you will be.</span><br /> +<br /> +<span>Shallow work usually doesn't help you to accomplish big things. Always have the big picture in mind. Shallow work can't be entirely eliminated, but it can be managed—for example, plan dedicated time slots for certain types of shallow work.</span><br /> +<br /> +<h2 style='display: inline' id='accomplishments-without-burnout'>Accomplishments without burnout</h2><br /> +<br /> +<span>The overall perception is that if you want to accomplish something, you must put yourself on the verge of burnout. Cal Newport writes about "The lost Art of Accomplishments without Burnouts", where you can accomplish big things without all the stress usually involved.</span><br /> +<br /> +<span>There are three principles for the maintenance of a sustainable work life:</span><br /> +<br /> +<ul> +<li>Do fewer things</li> +<li>Work at a natural pace</li> +<li>Obsess over quality</li> +</ul><br /> +<h2 style='display: inline' id='do-fewer-things'>Do fewer things</h2><br /> +<br /> +<span>There will always be more work. The faster you finish it, the quicker you will have something new on your plate.</span><br /> +<br /> +<span>Reduce the overhead tax. The overhead tax is all the administrative work to be done. With every additional project, there will also be more administrative stuff to be done on your work plate. So, doing fewer things leads to more and better output and better quality for the projects you are working on.</span><br /> +<br /> +<span>Limit the things on your plate. Limit your missions (personal goals, professional goals). Reduce your main objectives in life. More than five missions are usually not sustainable very easily, so you have to really prioritise what is important to you and your professional life.</span><br /> +<br /> +<span>A mission is an overall objective/goal that can have multiple projects. Limit the projects as well. Some projects need clear endings (e.g., work in support of a never-ending flow of incoming requests). In this case, set limits (e.g., time box your support hours). You can also plan "office hours" for collaborative work with colleagues to avoid ad hoc distractions.</span><br /> +<br /> +<span>The key point is that after making these commitments, you really deliver on them. This builds trust, and people will leave you alone and not ask for progress all the time.</span><br /> +<br /> +<span>Doing fever things is essential for modern knowledge workers. Breathing space in your work also makes you more creative and happier overall.</span><br /> +<br /> +<span>Pushing workers more work can make them less productive, so the better approach is the pull model, where workers pull in new work when the previous task is finished.</span><br /> +<br /> +<span>If you can quantify how busy you are or how many other projects you already work on, then it is easier to say no to new things. For example, show what you are doing, what's in the roadmap, etc. Transparency is the key here. </span><br /> +<br /> +<span>You can have your own simulated pull system if the company doesn't agree to a global one: </span><br /> +<br /> +<ul> +<li>State which additional information you would need.</li> +<li>Create a rough estimate of when you will be able to work on it</li> +<li>Estimate how long the project would take. Double that estimate, as humans are very bad estimators.</li> +<li>Respond to the requester and state that you will let him know when the estimates change.</li> +</ul><br /> +<span>Sometimes, a little friction is all that is needed to combat incoming work, e.g., when your manager starts seeing the reality of your work plate, and you also request additional information for the task. If you already have too much on your plate, then decline the new project or make room for it in your calendar. If you present a large task list, others will struggle to assign more to you.</span><br /> +<br /> +<span>Limit your daily goals. A good measure is to focus on one goal per day. You can time block time for deep work on your daily goal. During that time, you won't be easily available to others.</span><br /> +<br /> +<span>The battle against distractions must be fought to be the master of your time. Nobody will fight this war for you. You have to do it for yourself. (Also, have a look at Cal Newport's "time block planning" method).</span><br /> +<br /> +<span>Put tasks on autopilot (regular recurring tasks).</span><br /> +<br /> +<h2 style='display: inline' id='work-at-a-natural-pace'>Work at a natural pace</h2><br /> +<br /> +<span>We suffer from overambitious timelines, task lists, and business. Focus on what matters. Don't rush your most important work to achieve better results.</span><br /> +<br /> +<span>Don't rush. If you rush or are under pressure, you will be less effective and eventually burn out. Our brains work better then not rushy. The stress heuristic usually indicates too much work, and it is generally too late to reduce workload. That's why we all typically have dangerously too much to do.</span><br /> +<br /> +<span>Have the courage to take longer to do things that are important. For example, plan on a yearly and larger scale, like 2 to 5 years.</span><br /> +<br /> +<span>Find a reasonable time for a project and then double the project timeline against overconfident optimism. Humans are not great at estimating. They gravitate towards best-case estimates. If you have planned more than enough time for your project, then you will fall into a natural work pace. Otherwise, you will struggle with rushing and stress.</span><br /> +<br /> +<span>Some days will still be intense and stressful, but those are exceptional cases. After those exceptions (e.g., finalizing that thing, etc.), calmer periods will follow again.</span><br /> +<br /> +<span>Pace yourself over modest results over time. Simplify and reduce the daily task lists. Meetings: Certain hours are protected for work. For each meeting, add a protected block to your calendar, so you attend meetings only half a day max.</span><br /> +<br /> +<span>Schedule slow seasons (e.g., when on vacation). Disconnect in the slow season. Doing nothing will not satisfy your mind, though. You could read a book on your subject matter to counteract that.</span><br /> +<br /> +<h2 style='display: inline' id='obsess-over-quality-'>Obsess over quality </h2><br /> +<br /> +<span>Obsess over quality even if you lose short-term opportunities by rejecting other projects. Quality demands you slow down. The two previous two principles (do fewer things and work at a natural pace) are mandatory for this principle to work:</span><br /> +<br /> +<ul> +<li>Focus on the core activities of your work for your obsession - you will only have the time to obsess over some things.</li> +<li>Deliver solid work with good quality.</li> +<li>Sharpen the focus to do the best work possible.</li> +</ul><br /> +<span>Go pro to save time, and don't squeeze everything out that you can from freemium services. Professional software services eliminate administrative work:</span><br /> +<br /> +<ul> +<li>Pay people who know what they are doing and focus on your stuff. </li> +<li>For example, don't repair that car if you know the mechanic can do that much better than you. </li> +<li>Or don't use the free version of the music streaming service if it interrupts you with commercials, hindering your ability to concentrate on your work.</li> +<li>Hire an accountant for your yearly tax returns. He knows much more about that stuff than you do. And in the end, he will even be cheaper as he knows all the tax laws.</li> +<li>...</li> +</ul><br /> +<span>Adjust your workplace to what you want to accomplish. You could have dedicated places in your home for different things, e.g., a place where you read and think (armchair) and a place where you collaborate (your desk or whiteboard). Surround yourself with things that inspire you (e.g., your favourite books on your shelf next to you, etc.).</span><br /> +<br /> +<span>There is the concept of quiet quitting. It doesn't mean quitting your job, but it means that you don't go beyond and above the expectations people have of you. Quiet quitting became popular with modern work, which is often meaningless and full of shallow tasks. If you obsess over quality, you enjoy your craft and want to go beyond and above.</span><br /> +<br /> +<span>Implement rituals and routines which shift you towards your goals:</span><br /> +<br /> +<ul> +<li>For example, if you want to be a good Software Engineer, you also have to put in the work regularly. For instance, progress a bit every day in your project at hand, even if it is only one hour daily. Also, a little quality daily work will be more satisfying over time than many shallow tasks.</li> +<li>Do you want to be lean and/or healthy? Schedule your daily walks and workouts. They will become habits over time.</li> +<li>There's the compounding effect where every small effort made every day will yield significant results in the long run</li> +</ul><br /> +<span>Deciding what not to do is as important as deciding what to do. </span><br /> +<br /> +<span>It appears to be money thrown out of the window, but you get a $50 expensive paper notebook (and also a good pen). Unconsciously, it will make you take notes more seriously. You will think about what to put into the notebooks more profoundly and have thought through the ideas more intensively. If you used very cheap notebooks, you would scribble a lot of rubbish and wouldn't even recognise your handwriting after a while anymore. So choosing a high-quality notebook will help you to take higher-quality notes, too.</span><br /> +<br /> +<span>Slow productivity is actionable and can be applied immediately.</span><br /> +<br /> +<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> +<br /> +<span>Other book notes of mine are:</span><br /> +<br /> +<a class='textlink' href='./2025-11-02-the-courage-to-be-disliked-book-notes.html'>2025-11-02 "The Courage To Be Disliked" book notes</a><br /> +<a class='textlink' href='./2025-06-07-a-monks-guide-to-happiness-book-notes.html'>2025-06-07 "A Monk's Guide to Happiness" book notes</a><br /> +<a class='textlink' href='./2025-04-19-when-book-notes.html'>2025-04-19 "When: The Scientific Secrets of Perfect Timing" book notes</a><br /> +<a class='textlink' href='./2024-10-24-staff-engineer-book-notes.html'>2024-10-24 "Staff Engineer" book notes</a><br /> +<a class='textlink' href='./2024-07-07-the-stoic-challenge-book-notes.html'>2024-07-07 "The Stoic Challenge" book notes</a><br /> +<a class='textlink' href='./2024-05-01-slow-productivity-book-notes.html'>2024-05-01 "Slow Productivity" book notes (You are currently reading this)</a><br /> +<a class='textlink' href='./2023-11-11-mind-management-book-notes.html'>2023-11-11 "Mind Management" book notes</a><br /> +<a class='textlink' href='./2023-07-17-career-guide-and-soft-skills-book-notes.html'>2023-07-17 "Software Developers Career Guide and Soft Skills" book notes</a><br /> +<a class='textlink' href='./2023-05-06-the-obstacle-is-the-way-book-notes.html'>2023-05-06 "The Obstacle is the Way" book notes</a><br /> +<a class='textlink' href='./2023-04-01-never-split-the-difference-book-notes.html'>2023-04-01 "Never split the difference" book notes</a><br /> +<a class='textlink' href='./2023-03-16-the-pragmatic-programmer-book-notes.html'>2023-03-16 "The Pragmatic Programmer" book notes</a><br /> +<br /> +<a class='textlink' href='../'>Back to the main site</a><br /> + </div> + </content> + </entry> </feed> |
