Update journal and index.org

This commit is contained in:
2025-11-20 16:51:58 +01:00
parent cec99cbdac
commit d56c60c514
51 changed files with 1241 additions and 1208 deletions

View File

@@ -210,13 +210,13 @@
</div>
</div>
<div id="content" class="content">
<div id="outline-container-org2e89913" class="outline-2">
<h2 id="org2e89913">My Experience with the Framework Laptop</h2>
<div class="outline-text-2" id="text-org2e89913">
<div id="outline-container-org04f4ffb" class="outline-2">
<h2 id="org04f4ffb">My Experience with the Framework Laptop</h2>
<div class="outline-text-2" id="text-org04f4ffb">
</div>
<div id="outline-container-orge7549c1" class="outline-3">
<h3 id="orge7549c1">Ordering</h3>
<div class="outline-text-3" id="text-orge7549c1">
<div id="outline-container-org714312c" class="outline-3">
<h3 id="org714312c">Ordering</h3>
<div class="outline-text-3" id="text-org714312c">
<p>
I&rsquo;d been eyeing the <a href="https:frame.work">Framework laptop</a> since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.
</p>
@@ -227,13 +227,13 @@ I asked their customer service to make a small change to the delivery address, b
</p>
</div>
</div>
<div id="outline-container-org4e6f20f" class="outline-3">
<h3 id="org4e6f20f">Set-up</h3>
<div class="outline-text-3" id="text-org4e6f20f">
<div id="outline-container-org403f1b3" class="outline-3">
<h3 id="org403f1b3">Set-up</h3>
<div class="outline-text-3" id="text-org403f1b3">
</div>
<div id="outline-container-org42265c2" class="outline-4">
<h4 id="org42265c2">Hardware</h4>
<div class="outline-text-4" id="text-org42265c2">
<div id="outline-container-orgf02b1e8" class="outline-4">
<h4 id="orgf02b1e8">Hardware</h4>
<div class="outline-text-4" id="text-orgf02b1e8">
<p>
I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn&rsquo;t seem worth the money to me. The RAM is probably overkill.
</p>
@@ -260,9 +260,9 @@ The more you look at it, the nicer it gets!
</p>
</div>
</div>
<div id="outline-container-orgabbd9e8" class="outline-4">
<h4 id="orgabbd9e8">Software</h4>
<div class="outline-text-4" id="text-orgabbd9e8">
<div id="outline-container-org27088a7" class="outline-4">
<h4 id="org27088a7">Software</h4>
<div class="outline-text-4" id="text-org27088a7">
<p>
I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn&rsquo;t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.
</p>
@@ -271,9 +271,9 @@ I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I us
The laptop held up well during compiling. It&rsquo;s not as fast as a desktop of course, but compile times are not limiting. I&rsquo;ve put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I&rsquo;ve ran, and it wasn&rsquo;t <i>that</i> painful.
</p>
</div>
<div id="outline-container-org2cb8fde" class="outline-5">
<h5 id="org2cb8fde">Display scaling</h5>
<div class="outline-text-5" id="text-org2cb8fde">
<div id="outline-container-org5b23ca5" class="outline-5">
<h5 id="org5b23ca5">Display scaling</h5>
<div class="outline-text-5" id="text-org5b23ca5">
<p>
Simply setting <code>Xft.dpi: 192</code> in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don&rsquo;t use Wayland.
</p>
@@ -283,33 +283,33 @@ The odd application requires its own scaling setting. Rofi requires setting <cod
</p>
</div>
</div>
<div id="outline-container-orgac8fdba" class="outline-5">
<h5 id="orgac8fdba">Display manager</h5>
<div class="outline-text-5" id="text-orgac8fdba">
<div id="outline-container-org846fd7e" class="outline-5">
<h5 id="org846fd7e">Display manager</h5>
<div class="outline-text-5" id="text-org846fd7e">
<p>
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don&rsquo;t usually use things in the whole QT ecosystem, so it&rsquo;s refreshing.
</p>
</div>
</div>
<div id="outline-container-orgeed1abf" class="outline-5">
<h5 id="orgeed1abf">Hibernate/suspend-to-disk</h5>
<div class="outline-text-5" id="text-orgeed1abf">
<div id="outline-container-org781dcf8" class="outline-5">
<h5 id="org781dcf8">Hibernate/suspend-to-disk</h5>
<div class="outline-text-5" id="text-org781dcf8">
<p>
This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I&rsquo;ve observed the laptop auto-hibernating when the battery runs out, but it doesn&rsquo;t do this reliably, so I should probably configure it myself.
</p>
</div>
</div>
<div id="outline-container-org0665874" class="outline-5">
<h5 id="org0665874"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
<div class="outline-text-5" id="text-org0665874">
<div id="outline-container-org828c1f2" class="outline-5">
<h5 id="org828c1f2"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
<div class="outline-text-5" id="text-org828c1f2">
<p>
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org445bac3">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org3f5fb33">Appendix A</a> to do this. The implementation is a bit hacky, and it&rsquo;s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
</p>
</div>
</div>
<div id="outline-container-orgd31ec3d" class="outline-5">
<h5 id="orgd31ec3d">Wallpaper-setting script</h5>
<div class="outline-text-5" id="text-orgd31ec3d">
<div id="outline-container-org8c56b93" class="outline-5">
<h5 id="org8c56b93">Wallpaper-setting script</h5>
<div class="outline-text-5" id="text-org8c56b93">
<p>
I wrote a script to set a random wallpaper.
</p>
@@ -320,11 +320,11 @@ I wrote a script to set a random wallpaper.
</div>
</div>
</div>
<div id="outline-container-orga4930b2" class="outline-5">
<h5 id="orga4930b2">Lockscreen</h5>
<div class="outline-text-5" id="text-orga4930b2">
<div id="outline-container-org4a20e66" class="outline-5">
<h5 id="org4a20e66">Lockscreen</h5>
<div class="outline-text-5" id="text-org4a20e66">
<p>
I hacked together some <a href="#orgf56dc82">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
I hacked together some <a href="#orgc41a2da">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
</p>
<p width="60%" class="center">
@@ -337,33 +337,33 @@ Is there a better lockscreen out there that will let me set my own image as the
</p>
</div>
</div>
<div id="outline-container-org645784b" class="outline-5">
<h5 id="org645784b"><span class="todo TODO">TODO</span> </h5>
<div class="outline-text-5" id="text-org645784b">
<div id="outline-container-org4a81be3" class="outline-5">
<h5 id="org4a81be3"><span class="todo TODO">TODO</span> </h5>
<div class="outline-text-5" id="text-org4a81be3">
</div>
<ul class="org-ul">
<li><a id="orgbc350da"></a>Battery level notifications<br></li>
<li><a id="orgfea08e1"></a>sleep-then-hibernate<br></li>
<li><a id="org4bba7ca"></a>Battery tuning<br></li>
<li><a id="org164eca0"></a>Battery level notifications<br></li>
<li><a id="org0723176"></a>sleep-then-hibernate<br></li>
<li><a id="org83d51d8"></a>Battery tuning<br></li>
</ul>
</div>
</div>
</div>
<div id="outline-container-org485ab48" class="outline-3">
<h3 id="org485ab48">Impressions</h3>
<div class="outline-text-3" id="text-org485ab48">
<div id="outline-container-orgfa62b7e" class="outline-3">
<h3 id="orgfa62b7e">Impressions</h3>
<div class="outline-text-3" id="text-orgfa62b7e">
</div>
<div id="outline-container-orgf61edce" class="outline-5">
<h5 id="orgf61edce">Build Quality</h5>
<div class="outline-text-5" id="text-orgf61edce">
<div id="outline-container-org0d675d2" class="outline-5">
<h5 id="org0d675d2">Build Quality</h5>
<div class="outline-text-5" id="text-org0d675d2">
<p>
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn&rsquo;t want to drop this thing. It looks sleek and elegant, but pretty muted.
</p>
</div>
</div>
<div id="outline-container-orgc7633cf" class="outline-5">
<h5 id="orgc7633cf">Screen</h5>
<div class="outline-text-5" id="text-orgc7633cf">
<div id="outline-container-org6e8f136" class="outline-5">
<h5 id="org6e8f136">Screen</h5>
<div class="outline-text-5" id="text-org6e8f136">
<p>
This is my first time ever using a high-DPI screen, and I&rsquo;m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.
</p>
@@ -377,51 +377,51 @@ The brightness goes up quite high, but colours feel somewhat washed out at high
</p>
</div>
</div>
<div id="outline-container-orgc38a1a0" class="outline-5">
<h5 id="orgc38a1a0">Keyboard</h5>
<div class="outline-text-5" id="text-orgc38a1a0">
<div id="outline-container-org330354b" class="outline-5">
<h5 id="org330354b">Keyboard</h5>
<div class="outline-text-5" id="text-org330354b">
<p>
Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.
</p>
</div>
</div>
<div id="outline-container-org30c796b" class="outline-5">
<h5 id="org30c796b">Touchpad</h5>
<div class="outline-text-5" id="text-org30c796b">
<div id="outline-container-org4ebcdba" class="outline-5">
<h5 id="org4ebcdba">Touchpad</h5>
<div class="outline-text-5" id="text-org4ebcdba">
<p>
I&rsquo;ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it&rsquo;s still a step down. Pinch to zoom doesn&rsquo;t work very well, but I don&rsquo;t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it&rsquo;s hard not to mess up left/middle/right click. That&rsquo;s a good incentive for me to practice relying on the mouse less, though. There&rsquo;s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It&rsquo;s a nice time to be a linux laptop user!
</p>
</div>
</div>
<div id="outline-container-org4cc7c9c" class="outline-5">
<h5 id="org4cc7c9c">Battery</h5>
<div class="outline-text-5" id="text-org4cc7c9c">
<div id="outline-container-org06a3709" class="outline-5">
<h5 id="org06a3709">Battery</h5>
<div class="outline-text-5" id="text-org06a3709">
<p>
With the disclaimer that I haven&rsquo;t tested very intensely and I haven&rsquo;t tuned power settings very much. <br>
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don&rsquo;t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I&rsquo;m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~
</p>
</div>
</div>
<div id="outline-container-org2f05c0f" class="outline-5">
<h5 id="org2f05c0f">Expansion cards/ports</h5>
<div class="outline-text-5" id="text-org2f05c0f">
<div id="outline-container-org94b9842" class="outline-5">
<h5 id="org94b9842">Expansion cards/ports</h5>
<div class="outline-text-5" id="text-org94b9842">
<p>
The little expansion cards are one of Framework&rsquo;s big marketing things. I think they&rsquo;re pretty neat, though I don&rsquo;t always quite understand the way people talk about them, as &ldquo;dongle killers&rdquo;. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I&rsquo;m looking forward to the USB4 era!
</p>
</div>
</div>
<div id="outline-container-orgd8965a4" class="outline-5">
<h5 id="orgd8965a4">Performance</h5>
<div class="outline-text-5" id="text-orgd8965a4">
<div id="outline-container-org9035a06" class="outline-5">
<h5 id="org9035a06">Performance</h5>
<div class="outline-text-5" id="text-org9035a06">
<p>
So far I haven&rsquo;t felt limited by performance at all, the experience has been really snappy. I haven&rsquo;t thrown particularly difficult things at it, though, but that&rsquo;s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn&rsquo;t play very much.
</p>
</div>
</div>
</div>
<div id="outline-container-org94393db" class="outline-3">
<h3 id="org94393db">Closing words</h3>
<div class="outline-text-3" id="text-org94393db">
<div id="outline-container-org28fcd3a" class="outline-3">
<h3 id="org28fcd3a">Closing words</h3>
<div class="outline-text-3" id="text-org28fcd3a">
<p>
Getting this laptop set up has been really fun! It&rsquo;s a good opportunity to take stock of where we&rsquo;re at. On the hardware side, I am very impressed that it&rsquo;s now possible to make a laptop that&rsquo;s this user-servicable, this well-specced and still not <i>that</i> expensive. It&rsquo;s a reminder of how much better things could be.
</p>
@@ -436,9 +436,9 @@ Personally, I&rsquo;m getting a rare chance to critically examine all the little
</div>
</div>
</div>
<div id="outline-container-org445bac3" class="outline-2">
<h2 id="org445bac3">Appendix A: Transient Terminal Sources</h2>
<div class="outline-text-2" id="text-org445bac3">
<div id="outline-container-org3f5fb33" class="outline-2">
<h2 id="org3f5fb33">Appendix A: Transient Terminal Sources</h2>
<div class="outline-text-2" id="text-org3f5fb33">
<p>
<code>togglescratch</code>
</p>
@@ -507,9 +507,9 @@ opacity-rule=["90:name = 'scratchterminal'"];
</div>
</div>
</div>
<div id="outline-container-orgf56dc82" class="outline-2">
<h2 id="orgf56dc82">Appendix B: lock.py</h2>
<div class="outline-text-2" id="text-orgf56dc82">
<div id="outline-container-orgc41a2da" class="outline-2">
<h2 id="orgc41a2da">Appendix B: lock.py</h2>
<div class="outline-text-2" id="text-orgc41a2da">
<div class="org-src-container">
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/python3</span>
<span class="org-builtin">import</span> os
@@ -539,7 +539,7 @@ opacity-rule=["90:name = 'scratchterminal'"];
<div id='footer'><div id='publish-date'>Published: 2022-03-17</div><div id='modified-date'>Last modified: 2025-11-08</div><hr>
If you have any comments about this page, you can email me at: <br>
<b>akk0</b> <i>{at}</i> <b>webbieweb</b> <i>{dot}</i> <b>org</b><br>
Proudly built using <a href="/posts/blog-tech.html">org-mode</a>. <br>
Proudly built using <a href="/source.html">org-mode</a>. <br>
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
<br>
<a href="http://validator.w3.org/feed/check.cgi?url=http%3A//webbieweb.org/feed.xml"><img src="/static/images/badges/css.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a><br>