<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><![CDATA[Einar's blog]]></title>
<description><![CDATA[Einar's blog]]></description>
<link>https://einar.codeberg.page/</link>
<lastBuildDate>Sun, 10 May 2026 19:02:49 +0200</lastBuildDate>
<item>
  <title><![CDATA[Speed improvement hack for dired with EWW]]></title>
  <description><![CDATA[
<p>
I have used EWW in Emacs for some of my browsing for a while and it does the job very well unless browsing single page applications or other sites that do not send HTML unless you run JavaScript. Thank you to Lars Magne Ingebrigtsen for making EWW! Hitting R filters out all the noise for a really pleasant reading experience. It is good to browse within Emacs with no context switching in a keyboard-driven way.
</p>

<p>
(Apropos they joys of context switching: When I am a bit tired, I use Emacs keybindings everywhere. Tap-to-click is naturally off on my laptops to prevent insanity. I am often able to "help" my students a lot within just a few seconds of random keybindings and clicking everywhere on their laptops. It is really good for students to learn patience and tolerance towards people unable to handle computers. They need that for their user support class and future work in the IT industry.)
</p>

<p>
When <a href="https://joshblais.com/blog/emacs-as-my-browser/">Joshua Blaise wrote about his eww setup and use</a>, I read it with interest and stole most of his ideas for my own config. The important one for this little hack is that I set up media files with endings like .mp3, .mp4, .m4v, .mkv etc to launch in mpv when browsing to them. This makes watching videos and listening to audio content easy with eww.
</p>

<p>
In dired, I usually launch external programs for photo editing, media playback etc by pressing &amp; with point on a file name. This brings up the completing-read interface in the minibuffer which asks me if I would like to use dired's guess as to which program to use (which I have set to guess xdg-open first) or something else. I press return and then mpv, gimp, darktable or whatever launches with the file.
</p>

<p>
I had an html file in my downloads folder which I launched with W to read it in eww. I then, by mistake, hit W when on a .mp3 file, and it launched in mpv. Since W launches the file in eww and eww was configured to open .mp3 files in mpv, it did that without asking me which program to use. It is faster to hit W than to hit &amp; RET, or in worst case write a program name and RET. So now I launch media files with W in dired in stead of using &amp;. It speeds things up a bit.
</p>

<p>
(While writing this, I also remembered that I have functions for playing enclosure links and links in elfeed through mpv that I might replace or improve by shuffling the links to eww or einar-browse-url-mpv. I wrote my configuration for elfeed very early in my Emacs journey, without really understanding any of it, by copying snippets from the Emacs wiki, blogs and Reddit so it is high time to look at it again anyway. I can probably simplify it.)
</p>

<p>
Here are the relevant parts of my configuration for eww to get this working:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">einar-browse-url-mpv</span> (url <span style="color: #6ae4b9;">&amp;rest</span> _args)
  <span style="color: #9ac8e0;">"Opens URL in mpv."</span>
  (start-process <span style="color: #79a8ff;">"mpv"</span> nil <span style="color: #79a8ff;">"mpv"</span> url))

(<span style="color: #b6a0ff;">use-package</span> eww
  <span style="color: #f78fe7;">:config</span>
  (<span style="color: #b6a0ff;">setopt</span> browse-url-handlers
          '((<span style="color: #79a8ff;">"</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">youtube\\.com</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">youtu\\.be</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">vimeo\\.com</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">twitch\\.tv</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.mp3$"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.mp4$"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.webp$"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.m4v$"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.mkv$"</span> . einar-browse-url-mpv)
            (<span style="color: #79a8ff;">"\\.pdf$"</span> . einar-browse-url-pdf)
            (<span style="color: #79a8ff;">"."</span> . eww-browse-url))))
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/speed_improvement_hack_for_dired_with_eww.html</link>
  <guid>https://einar.codeberg.page/speed_improvement_hack_for_dired_with_eww.html</guid>
  <pubDate>Sun, 10 May 2026 16:47:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Fix Emacs python-mode REPL and org code block with python evaluation problems]]></title>
  <description><![CDATA[
<p>
For a while now, the python shell in Python mode in Emacs has not worked properly on my work laptop. I get some strange glyphs in the top of the python shell buffer when opening it from a file with C-c C-p and when I tried importing a file with C-c C-c, I would get an error saying stringp was nil and every character in what I tried to import was written first once, then together with the next, then the next three and so on. It looked somewhat psychedelic and was more or less unusable.
</p>

<p>
I also had trouble evaluating python code blocks in org mode which has been annoying when presenting with <a href="https://codeberg.org/einar/inter-present-mode">inter-present-mode</a> for my students or exporting from org files I used for presentations to PDF or docx to upload to our school's learning platform (it's learning). In org, I would get the same error saying stringp was nil when evaluating code blocks that I would get when trying to import files to the REPL in python mode.
</p>

<p>
I first thought the problem was related to my <a href="https://codeberg.org/einar/.dotfiles/src/branch/main/.emacs.d/config.org#headline-32">einar-python-virtualenv function</a> which locally changes the python-shell-interpreter for a file if it is in a project with a virtual environment since I made that quite recently, but the strange thing was that it worked perfectly on GNU Guix on my main machine at home. I then thought maybe it was a Windows 11 problem since I only experienced it at work, so I tried on a Raspberry Pi 4 at work with the latest Raspberry Pi OS and I had the same problem.
</p>

<p>
I then tried launching Emacs with -q to see if the problem was related to my config or not. When I then launched the python shell from a file with C-c C-p, the REPL itself worked slightly better, but I still got some strange glyphs at the top. I then spent some time trying to figure out where in my config the problem appeared and removed first the einar-python-virtualenv and then my configuration for python-mode, but the problem persisted. I also looked into whether some setting for comint-mode might cause the problem.
</p>

<p>
After spending one and a half hour trying to troubleshoot this on Monday, I today realised I updated Python to 3.14 on my work Windows 11 laptop a while ago. I checked the python version on the Raspberry Pi and it was 3.13. I checked packages.guix.gnu.org and Guix uses version 3.11. I thought maybe something changed in one of the newer versions. I had a look at news for version 3.14 and did not find anything promising. I then checked out what was new in 3.13 and one of the first things was a new and improved python shell.
</p>

<p>
Luckily, you can get the old shell that python mode in Emacs works with by setting the environment variable PYTHON_BASIC_REPL to something. When I added this function call to <a href="https://codeberg.org/einar/.dotfiles/src/branch/main/.emacs.d/config.org#headline-85">my Emacs config for python mode</a>, the python REPL works in python mode again and it is possible to evaluate org code blocks and export files that will evaluate them on export again:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setenv <span style="color: #79a8ff;">"PYTHON_BASIC_REPL"</span> <span style="color: #79a8ff;">"1"</span>)
</pre>
</div>

<p>
I write this so others experiencing the same problem can find a solution. In the long term, python-mode, python-ts-mode and org mode needs to work with the new and improved python shell since the old shell will probably be removed at some point in the future, but for now, just setting the environment variable is enough to get both the REPL and org code blocks working again.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-windows.html">windows</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[windows]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/fix-python-mode-repl-problem.html</link>
  <guid>https://einar.codeberg.page/fix-python-mode-repl-problem.html</guid>
  <pubDate>Tue, 28 Apr 2026 20:55:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Use python shell from virtual environment if there is one in Emacs]]></title>
  <description><![CDATA[
<p>
About a week ago, I made a function to use python from a virtual environment if there existed a directory called venv within the project the file is inside. This works for me since I tend to call virtual environment directories venv. The point of the function is to get access to the packages within that virtual environment when using the python shell to evaluate code from a file or interact with its functions, classes and variables through the REPL. I usually write my code and then test it through the REPL and do the necessary adjustments when there are mistakes. (I probably do this since I learned basic programming principles by teaching myself HyperTalk by reading the Help stack and experimenting in the Message Box (a REPL) in HyperCard in the late 80s.) I think a lot of people overlook this great way of working in interpreted languages.
</p>

<p>
Today, I had a look at that function again. I thought it would be really nice if I could find the python executable within a virtual environment no matter what the virtual environment directory is called. I found that this would work: 
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">einar-python-virtualenv</span> ()
  <span style="color: #9ac8e0;">"Sets the python shell to python from a virtual environment if one exists."</span>
  (<span style="color: #b6a0ff;">when</span> (project-current)
    (<span style="color: #b6a0ff;">let</span> ((pythonpath
           (nth 0 (directory-files-recursively
                   (nth 2 (project-current))
                   (<span style="color: #b6a0ff;">if</span> (eq system-type 'gnu/linux) <span style="color: #79a8ff;">"python$"</span> <span style="color: #79a8ff;">"python.exe$"</span>)))))
      (<span style="color: #b6a0ff;">when</span> (file-exists-p pythonpath)
        (<span style="color: #b6a0ff;">setq-local</span> python-shell-interpreter pythonpath)))))
</pre>
</div>

<p>
I need to run this function whenever I open a python file to set the correct path to the python shell for that file. This is done by adding the function to the python-mode hook like this since the mode hook is run every time you open a python file:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-hook 'python-mode-hook 'einar-python-virtualenv))
</pre>
</div>

<p>
With this in place, whenever I open a python shell with C-c C-p from a python file, I get a python shell from within the virtual environment of that file's project, or I get the system python if there isn't a virtual environment within the project the file is part of.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-python.html">python</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[python]]></category>
  <link>https://einar.codeberg.page/use-python-shell-from-virtual-environment-if-there-is-one-in-Emacs.html</link>
  <guid>https://einar.codeberg.page/use-python-shell-from-virtual-environment-if-there-is-one-in-Emacs.html</guid>
  <pubDate>Wed, 25 Mar 2026 23:12:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Fix error with Cider Clojure REPL in Emacs on Guix]]></title>
  <description><![CDATA[
<p>
I am currently reading <i>Clojure for the brave and true</i> by Daniel Higginbotham and in Chapter 2 about how to use Emacs for Clojure, there are instructions on how to set up Emacs with Cider, a Clojure REPL. I tried installing the package with a use-package configuration with :ensure t and I got the package. However, when I tried using it as the book instructed, I just got an error. I then realised the need for OpenJDK and Clojure and installed those with my home-config.scm file in Guix. I tried again and I still got the same error. I then tried installing emacs-cider from Guix as well with the hope that maybe there was some kind of incompatibility between OpenJDK, Clojure and Cider that was ironed out in the guix package. It still did not work.
</p>

<p>
I tried looking up the error and found a blog post that suggested installing OpenJDK non-Guixily by downloading a binary and adding it to the $PATH which solved the problem for that user. I did not really want this, since I really like the idea of installing my whole system with a scheme file or two in a reproducible way. (I'm not there yet, but I hope to get there over time. I just started using Guix as my main distro a few weeks ago. For now, after installing Guix System or Guix on another distro, I do some manual work and then run a Shell script to set up a few folders and run the command that applies my home-config.)
</p>

<p>
Tonight, a day later, I DuckDuckWent again and found another blog post about Clojure that told me that since there are three outputs for the openjdk package, to get everything I would need for Clojure, I should install openjdk:jdk, not simply openjdk which would give me openjdk:out. In addition, I also added openjdk:doc since I am a fan of having as much documentation as possible available on my local machine. I saw a video where that documentation was read from inside Cider a couple of days ago, so I thought it might come in handy. Come to think of it, maybe that was accessed over the internet, not from the local machine. Anyway, it doesn't hurt to have some documentation.
</p>

<p>
And now, everything just works. Turns out the problem was just user error. Whenever there are multiple outputs of a package in Guix, it is important to know what you get with each output and choose accordingly. As someone who just recently switched my main machine to Guix, this is very useful information that I had not seen before. I thought I would write this up in a blog post so people out there trying to fix the same problem have a chance of finding a solution faster than I did, and for my own future reference.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-guix.html">guix</a> <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-clojure.html">clojure</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[guix]]></category>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[clojure]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/fix-error-with-cider-rep-in-emacs-on-guix.html</link>
  <guid>https://einar.codeberg.page/fix-error-with-cider-rep-in-emacs-on-guix.html</guid>
  <pubDate>Wed, 11 Mar 2026 22:12:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Adventures in Guix]]></title>
  <description><![CDATA[
<p>
I have been interested in the <a href="https://guix.gnu.org/">Guix</a> functional package manager and GNU distribution for a long time. It has some brilliant features like being able to roll-back to a previous generation of your system if an update fails, easy spinning up of development containers where you can functionally and reproducibly install the dependencies you need for your project and you can configure your whole system with Guile Scheme (a dialect of Lisp). I have tried Guix from time to time with varying results. Since I have been busy the last few years learning technologies I need at work, haven't had the time to learn Guix as well until now. However, I have found some time and energy lately to play with Guix and when I did, things seemed to work a lot better than my previous attempts. Spending the time to read up on the documentation helped, in addition to the many contributions by the Guix community to improve the distro / package manager since my previous attempts.
</p>

<p>
I have just started to use Guix on my main machine. As with anything new and different, there has been some hiccups along the way. For example, hunspell-nb which is the spell checker I use for Norwegian Bokmål isn't packaged for Guix. However, aspell-nb is and the only reason I switched from aspell to hunspell was that I also use Emacs on Windows at work (native Windows Emacs since WSLg doesn't work properly and I need GUI Emacs) and native aspell-nb is hard to get on Windows, but Hunspell-nb can be used if you install LibreOffice and copy some files after installing hunspell from chocolatey (where of course hunspell-nb is not packaged either). I prefer not having if-statements in my Emacs config if I can avoid it, so I switched to hunspell on GNU/Linux as well, but since it is not pacakged in Guix, I reverted the config back to when I used aspell on GNU/Linux and Hunspell on Windows.
</p>

<p>
However, that did not work. At every startup, Emacs complained that it could not read the nb dictionary from the address to the aspell-package in my current home-config. I tried everything, but it just didn't work. I then tried M-x ispell-change-dictionary and hit tab to have a look at the suggested dictionaries. Turns out that aspell-nb on Guix supplies a dictionary it calls no, unlike on every other distro, where it is called nb. This makes absolutely no sense since there are two Norwegian written languages, Norwegian Bokmål (nb) and Norwegian Nynorsk (nn), but no written language called just Norwegian (no). Packages that supply both tend to be called no, like hunspell-no which supplies nb_NO and nn_NO. It is easy to change my config to use the no dictionary and my emo-ispell-toggle function to toggle between no and british on GNU/Linux. I had a look at the package definition for aspell-nb, but it seemed to just supply the upstream package as far as I could tell as a very inexperienced Guix-user.
</p>

<p>
Another strange thing is that mpc mode in Emacs does not want to speak with mpd. It also took me a while to understand that mpd was packaged for Guix since I looked for mpd, but the package is called mpd-mpc in Guix. The strange thing is that my own emo-play-album function in Emacs that uses mpc shell commands work fine from the same Emacs that give me an error that it could not communicate with mpd when I try to show the songs in an album in mpc mode. I use the same mpd config file as on other distros where it does work. I tried changing some settings in the config file to see if I was able to fix it, but no luck thus far.
</p>

<p>
I also miss the frogr package for easy uploading of photos and adding of metadata to Flickr. When I get a bit more experienced, maybe I can contribute a package definition for it?
</p>

<p>
Another thing I have noticed is that Guix calls my locale in the LANG environment variable nb_NO.utf8, not nb_NO.UTF-8 like every other distro. I wonder if this might break localisation in programs that use the environment variable $LANG to choose which localisation to use, but I don't really know how this works so this might not be a problem at all. It seems strange and random, but maybe there are good reasons for it that I don't know.
</p>

<p>
Except for these new user problems, the experience is nice. After some tweaking and trial and error, I now have a very simple and basic system config that just installs the absolute minimum I need to have at the system level, and then I use Guix home to deploy my user packages and services. I have some Bash scripts in my <a href="https://codeberg.org/einar/installscripts">installscripts repository</a> as well as my Scheme config files that I can use to set up a system, either on Guix or on a "foreign distro" after an install with just basic system tools. Ideally, I would do that with Scheme in the system config, but I don't know Guix and Scheme well enough to do that yet. I'll get there over time. Using Guix as a package manager on top of another distro can be useful if I need to use Secureboot which Guix does not support, for example for a dual boot with Windows 11 which demands Secureboot. I really like that Guix adheres to the Free Software Foundation's Free System Distribution Guidelines, but when used on hardware I have not chosen myself, it can be useful to have another distro underneath that supplies non-free drivers for that hardware as well as support for Secureboot. I am slowly climbing up the freedom ladder in my personal computing and at every step, there is less lock-in, privacy invasion and enshittification, and more freedom and empowerment.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-guix.html">guix</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[guix]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/adventures-in-guix.html</link>
  <guid>https://einar.codeberg.page/adventures-in-guix.html</guid>
  <pubDate>Fri, 13 Feb 2026 14:24:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Rethinking my lens setup]]></title>
  <description><![CDATA[
<p>
(All focal lengths in this blog post are for Micro Four Thirds, so to get equivalent Full Frame focal lengths, multiply by 2.)
</p>

<p>
My previous idea about using the 12-60, 14 and 20 was quite good, but when I have used the 12-60 or 12-32 zoom, I tend to shoot most often at 20 or 25. Sometimes I have also used 17, but much less frequently than 20 or 25. I much prefer the natural perspective of a standard lens unless I want to use exaggerated perspective or compression expressively. The first thing you learn in musical composition is not to over-use your expressive means, but save them for occasions where they actually mean something, and I think the same applies to photography.
</p>

<p>
One of my reasons to add the 12-60 to the 20 and 14 was that it is useful in bad weather. I also thought it would replace the Sigma 60 f/2.8 and Lumix G 42.5 f/1.7 for landscapes and close-up since f/4 is usually fast enough. I prefer using smaller and lighter primes to using a zoom, but if the weather is terrible, there are few weather-sealed primes in the MFT line-up except the M.Zuiko f/1.2 Pro lenses that I think are too big and heavy to make sense on MFT. Then I discovered that the mark II of the Panasonic Leica 25 mm f/1.4 is weather-sealed through <a href="https://www.youtube.com/watch?v=cDlgEzHIIng">one of Matti Sulanto's videos</a>. It is not freeze-proof like the 12-60, but it is dust and splash-proof. I have owned the mark I in the past and liked it a lot. Since I gravitate towards a natural perspective and aesthetically prefer the 25 over the 20, I thought maybe I would go the other way and use the 25 in bad weather, with the exception of snow-storms and such where the 12-60 is obviously the better choice.
</p>

<p>
So this summer, I bought the Panasonic Leica 25 f/1.4 mark II. Unfortunately, I did not get it until December. I also bought the Yongnuo 17 f/1.7 and enjoyed using that a lot this summer. I have wanted to have a 35 full frame equivalent for a while and from previous experience with the Olympus M.Zuiko 17 mm f/1.8, I knew that it was not the lens I wanted. The Yongnuo has much nicer rendering, is twice as sharp and cost half the price. It is a bit larger, but not so much that it matters. As I said earlier, 17 is my third-most used focal length when shooting zooms. I can fit the Lumix 14, Yongnuo 17, Lumix 20 and Panasonic Leica 25 in my very small camera bag without any trouble. There is actually room for one more lens as well since the 14 and 20 are so miniscule. I think the last lens to complete the others would be the Lumix 42.5 f/1.7 since it is smaller, faster, stabilised and focuses closer than the Sigma 60 f/2.8. With cropping to 10 MP, the 42.5 can be a 60 as well and 10 MP is enough for the odd picture here and there even though 20 is better. I used to shoot with a 6 MP camera&#x2026;
</p>

<p>
These days, I can afford to have lenses that I do not shoot constantly, even if I think there is no reason to own things unless they have a practical use or sentimental value. A set of primes at standard focal lengths definitely have practical value for me and so does the 12-60 for those cold winter-days, for close-up or for non-winter days where the weather is bad and I want another (or more than one) focal length than 25. Most days when I am going out to photograph, I will have my set of primes in the camera bag and one of them on the camera, usually the 25. Some days, I will bring my camera in a jacket pocket with the 20 mm just in case I see something worth photographing. And occasionally, I will fit the 12-60 on the camera. I don't have to be a minimalist that only owns three lenses.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-photography.html">photography</a> </div>]]></description>
  <category><![CDATA[photography]]></category>
  <link>https://einar.codeberg.page/rethinking-my-lens-setup.html</link>
  <guid>https://einar.codeberg.page/rethinking-my-lens-setup.html</guid>
  <pubDate>Thu, 22 Jan 2026 00:17:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[The good side-window side]]></title>
  <description><![CDATA[
<p>
I want the content I am working on to be the centre of attention on my screen. I want as little scrolling as possible and most of the content I work with is taller than it is wide (code and org documents). On wide screens, buffers with shells, for version control, REPLs, help, info etc should therefore be on the side of the screen where it does not steal space from the main content. Since I read left to right, I like such windows to pop up on the right side where they do not disturb the flow of my reading of the main content. Emacs has the concept of side-windows that is useful for <a href="https://einar.codeberg.page/fix-popup-windows-in-emacs.html">taming buffers that would otherwise pop up other places</a>.
</p>

<p>
I set the width of my side-windows to 80 since man pages expect that and it works well for help and shells as well. To be able to have a (wo)man page and a shell, an info node and a REPL, or a shell, REPL and help buffer at the same time, I use slots to divide up the side-window if more than one special buffer is open. I have not included ansi-term in the buffer-list for side-windows since I use it only occasionally when I want more than one terminal, in which case I need to be able to manage its windows in the normal way. Usually, there is no need for a full terminal emulator, but I use Eshell a lot.
</p>

<p>
At home, my laptops and my external screen are 16:9 or 16:10 wide screens. At my desk at work, I have a 16:9 screen, a 16:10 screen and another 16:9 screen flipped 90 degrees to the portrait orientation. I usually use the tall screen for Emacs to minimise scrolling. Since the tall screen is slim (9:16), I would rather have side-windows in the bottom instead of overlapping the main window on the right side when I use that screen. Even with the side-windows at the bottom, the screen is a lot taller than the wide screens which is nice.
</p>

<p>
However, I spend most of my time at work not at my desk, but in two classrooms where I either use my laptop only with its built-in screen, duplicated to a large screen in front of the class or only with an external screen when sitting in the back (for ergonomics). And there are also meetings where I use the laptop's internal screen only. All of these screens are wider than they are tall, so I want my side-windows on the right again.
</p>

<p>
So I made a function that checks whether the height of the frame is larger than the width and if so, side-windows are put on the bottom of the screen where they belong on tall screens, but if the opposite is true, then they are put on the right where they make more sense on wide screens. I call this function when Emacs starts in my configuration to adapt the side-windows to the screen in use, but I also have a keybinding (C-z w) for it so after moving from a classroom or meeting to my desk or vise versa, I can get the side-windows where I want them without having to end my Emacs session. I often prepare a file at my desk that I am going to present in class with <a href="https://codeberg.org/einar/inter-present-mode">inter-present-mode</a> or jot something in a file during class that I work on at my desk later, so it is useful to keep the session going.
</p>

<p>
Here is my function for deciding which side side-windows should be on:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">emo-side-window-side</span> ()
  <span style="color: #9ac8e0;">"Evaluates which side side-windows should be on based on whether the frame is in portrait or landscape orientation."</span>
  (<span style="color: #b6a0ff;">interactive</span>)
  (<span style="color: #b6a0ff;">let*</span> ((side-window-side (<span style="color: #b6a0ff;">if</span> (&gt; (frame-outer-height) (frame-outer-width))
                          'bottom 'right))
       (disp-buf-alist `((<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">Python</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">ielm</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">compilation</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . ,side-window-side)
          (slot . -1)
          (post-command-select-window . t)
          (window-width . 80))
(<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">shell</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">.*eshell</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . ,side-window-side)
          (slot . 0)
          (post-command-select-window . t)
          (window-width . 80))
(<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">help</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">info</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">man</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">woman</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Agenda Commands</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Org Agenda</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Occur</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Buffer.</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">xref</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . ,side-window-side)
          (slot . 1)
          (post-command-select-window . t)
          (window-width . 80)))))
  (<span style="color: #b6a0ff;">setq</span> display-buffer-alist disp-buf-alist)))
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/the-good-side-window-side.html</link>
  <guid>https://einar.codeberg.page/the-good-side-window-side.html</guid>
  <pubDate>Fri, 12 Dec 2025 19:50:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Boot RaspberryPi OS on an NVME larger than 2TB]]></title>
  <description><![CDATA[
<p>
RaspberryPi OS boots from an EFI partition. On other hardware, an EFI partition is used with UEFI which demands that your disk is GPT-partitioned or a hybrid GPT with MBR. However, the RaspberryPi imager and the installer you get when pressing Shift at boot uses MBR. MBR is a way to partition a disk that we used in the 1980s and that made sense back then, but it has the unfortunate limitation that it cannot use disks larger than 2 TB. So when I bought my 4 TB NVME to use with my Raspberry Pi 5, I was unpleasantly surprised that after installing RaspberryPi OS light, I could only see a 2 TB disk.
</p>

<p>
There are various solutions floating around the internet to get around this problem, but most of them are unnecessarily complex. The RaspberryPi 5 can boot from a disk partitioned with a GPT partition table just fine. The problem is just to get the right partitions with the right data onto the disk since the installer insists on using 1980s technology which means that you cannot use it on large disks. In the early 80s, a large hard drive had 40 MB capacity, so 2TB seemed like science fiction. Who would need all that space when Macintosh System Software, a few programs like MacWrite and MacDraw and a dozen files could fit on a 800kB diskette? (The Double Density 3.5 inch floppy disks that gave 720kB space on MS-DOS delivered 800kB on a Mac.)
</p>

<p>
In addition to your NVME, you will also need a USB stick and an SD card. If you use a case like my Argon Neo, installing the NVME and SD-card demands a bit of disassembly. The reason we need two other devices is that we need to clone one of them to the NVME and to do that we need to boot from the other. Here is what you need to do to your NVME working:
</p>

<ol class="org-ol">
<li>Insert the SD-card and the NVME in your case or hat or whatever you use and insert an ethernet cable connected to your router.</li>
<li>Boot your RaspberryPi while repeatedly pressing down the shift key until you get to the Raspberry Pi screen that downloads the installer.</li>
<li>Install RaspberryPi OS (light) on the SD card.</li>
<li>Boot from the SD card. If the boot order is set to boot from NVME first, you may have to press Space when booting to get to the boot order screen first. Since RaspberryPi OS reboots once as part of the isntallation, you may have to go through the boot order screen twice, so be ready to press space again after the first boot. After the second boot, the SD card has got RaspberryPi OS and the root partition (/) has been expanded.</li>
<li>Insert your USB stick into one of the blue USB3 ports.</li>
<li>Boot your Raspberry Pi again and repeatedly press down shift until you get to the screen that downloads the installer.</li>
<li>Install RaspberryPi OS on your USB-stick.</li>
<li>When the Pi reboots, press space repeatedly to get to the boot order screen and select USB and boot.</li>
<li>Be ready to press space repeatedly again since the Pi reboots once as part of the installation process and choose USB again to boot the USB stick and let it expand the root partition.</li>
<li>When you have booted into the USB stick for the second time after the root partition has been expanded, open a terminal (or use the TTY if you used RPi light).</li>
<li>Write sudo fdisk /dev/nvme0n1 to partition the NVME with fdisk.</li>
<li>Press g to make a new GPT partition table. You may have to confirm that you want to remove an MS-DOS (MBR) partition table already there.</li>
<li>Press n to make a new partition.</li>
<li>Choose the default as the first sector by pressing return.</li>
<li>Write +512M to make the size of the partition half a Gigabyte.</li>
<li>Press t to change a partition.</li>
<li>Choose the default 1 as the partition you want to change.</li>
<li>Set its type to 1 (EFI System).</li>
<li>Make a new partition with n.</li>
<li>Accept the defaults since it will use the rest of the disk.</li>
<li>Press w to write your changes to the disk.</li>
<li>Write dd if=/dev/mmcblk0p1 of=/dev/nvme0n1p1 &amp;&amp; sync and press return. This will clone the first partition, the EFI partiont, of the SD card onto the first partition of the NVME.</li>
<li>Write dd if=/dev/mmcblk0p2 of=/dev/nvme0n1p2 &amp;&amp; sync and press return. This will clone the second partition, the root partition, of the SD card onto the second partition of the NVME.</li>
<li>Write sudo mount /dev/nvme0n1p1 /mnt to mount the EFI partition of the NVME to /mnt on your running system (from the USB stick).</li>
<li>Write lsblk -f to get the UUID of the root partition of the NVME (/dev/nvme0n1p2).</li>
<li>Open the file /mnt/cmdline.txt with sudo in a text editor. (I prefer to combine step 25 up to and including 33 since Emacs has a built in terminal multiplexer and tiling window manager, and it is easier to copy the UUID from one window in Emacs to another window than to try to remember a UUID from lsblk -f from before I opened Emacs. I also use tramp inside Emacs to open the files with sudo instead of opening emacs with sudo. If you use another text editor in a TTY, then you probably have to write the UUID down after running lsblk -f since your text editor will hide the output from that command when you launch it to edit the file, unless you use GNU screen or tmux.)</li>
<li>Change where it says root=PARTUUID=somenumber to root=UUID= and write or paste the UUID from lsblk -f for /dev/nvme0n1p2.</li>
<li>Save the file and exit the text editor if you use a TTY editor without a built in terminal multiplexer.</li>
<li>Write sudo umount /mnt and press return to unmount the first partition.</li>
<li>Write sudo mount /dev/nvme0n1p2 /mnt to mount the root partition from the NVME to /mnt on your running system (the USB stick). If it tells you the disk is busy, wait for it. It means that the disk is still writing even if it has tld the OS it has finished. If you fail to wait, then you cannot boot.</li>
<li>Write lsblk -f again and note down the UUID of both /dev/nvme0n1p1 (the EFI partition) and /dev/nvme0n1p2 if you did not already note it down. (Or use a terminal multiplexer or Emacs to copy it over when you need it.)</li>
<li>Open the file /mnt/etc/fstab in a text editor with sudo.</li>
<li>Replace the part of the line that says PARTUUID=somenumber on the line where it says /boot/firmware with UUID= and write or paste the UUID number for /dev/nvme0n1p1 (the EFI partition).</li>
<li>Do the same with line where it says /, but use the UUID for /dev/nvme0n1p2 (the root partition).</li>
<li>Save the file and exit your text editor.</li>
<li>Wait for a while to allow time for the nvme to write out the change. Turn off the RaspberryPi.</li>
<li>Remove the SD card and the USB stick.</li>
<li>Reboot the Raspberry Pi. It should now boot from the NVME. If the boot order is set to boot USB or SD Card first, you may have to press space when booting to boot from the NVME. In such a case, you should write sudo raspi-config in a terminal and go to Advanced Options, choose A4 Boot order, and choose B2 NVME/USB Boot &#x2026; and then press OK and finish and reboot. It should now boot from the NVME. If something went wrong and you end up in an emergency shell, then reboot, insert the USB and SD card again, press space and try again.</li>
</ol>

<p>
I now have a 4TB NVME that boots my RaspberryPi 5. I also tried booting from SD card and using the NVME only as storage for a while, but it was slow and annoying, so it is really worth spending some time to get the Pi booting from the NVME. Hopefully, the RaspberryPi devs will change the imager and installer so they use the GPT partition scheme in the future. There is no reason to use MBR in the 21st century.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/boot-raspberrypi-os-on-an-nvme-larger-than-2tb.html</link>
  <guid>https://einar.codeberg.page/boot-raspberrypi-os-on-an-nvme-larger-than-2tb.html</guid>
  <pubDate>Sat, 15 Nov 2025 13:41:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Inter-present-mode]]></title>
  <description><![CDATA[
<p>
A while ago, I wrote that I made a few functions to present from org mode to replace org-present which removes too many glyphs to be practical for my use. I thought it would be nice to use use-package to defer loading these functions until I need them, and I was curious about how to make a minor mode. So yesterday, I created a minor mode around those simple functions.
</p>

<p>
I made functions for starting the presentation, going forward, going backward and stopping the presentation, so turning it into a minor mode that is turned on and then have some functionality bound to a keymap, and which you then can turn off again was a very natural fit. I added the ability to customize a few things and have some ideas for more functionality to include and more things to customize.
</p>

<p>
Have a look at <a href="https://codeberg.org/einar/inter-present-mode">the Readme.org at Codeberg.org</a> if you want to have a look or try it out. I might try to include it in a package archive in the future, but for now, you can install it with use-package's vc: keyword.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/inter-present-mode.html</link>
  <guid>https://einar.codeberg.page/inter-present-mode.html</guid>
  <pubDate>Mon, 10 Nov 2025 17:22:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Presentation functions]]></title>
  <description><![CDATA[
<p>
I use Emacs at work to present in class. I teach basic IT technology, programming and development, so it is very useful to be able to run code blocks interactively and get them syntax highlighted. If I get questions from the students, I can change the code to explain other ways of doings things or show them how small changes can yield very different results. I also quite often add additional useful information from the students into the slides while presenting if they mention something worth noting. <a href="https://einar.codeberg.page/interactive-presentations.html">I have written about this before</a>.
</p>

<p>
I have used <a href="https://github.com/rlister/org-present">org-present</a> to present from Emacs Org files thus far. It has been good in many ways, but there have been a few annoyances as well. One thing that has bitten me many times is that it hides too many characters. This means that when I show things like == on screen (except in code blocks), it looks like =. This is very annoying when teaching programming. It also ruins org tables since it removes + which means that tables with vertical lines that are fully aligned normally show up misaligned. I have stopped using lines to separate headings and content in tables, but it is not ideal. I have used org-present for two years now, and there is no way to configure it to remove these annoyances, so I am ready to switch to something else.
</p>

<p>
Today, I found some time to look into this and made a few, simple functions that does exactly what I need and nothing more. It is just ten lines more than my previous configuration for org-present. And since it is part of my Emacs config, there is no need to install additional packages. I almost always start presentations from the the start with the title, so my emo-present-start function does that. There is a bit of a rough edge in that it shows metadata keywords like #+Title: and #+Options: toc: nil when I present the title. I might sandpaper that rough edge off in the future. Otherwise, it works better for me than org-present and with a lot fewer lines of code.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/presentation-functions.html</link>
  <guid>https://einar.codeberg.page/presentation-functions.html</guid>
  <pubDate>Thu, 16 Oct 2025 18:53:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Now]]></title>
  <description><![CDATA[
<p>
At work, the school year is close to its end and it has gone quite well even though I have not been able to do everything I hoped I would. I have met some pedagogical challenges during the year as usual and it has taught me a few things. I realised a while ago that I needed to relax some of my ambitions for the school year since the vocational exam for my second year students, and therefore also their mock exam, is earlier this year than previous years. I also needed to put away some of my goals to get rid of some stress. There is a lot to learn about development, IT and pedagogy that could make me a better teacher, but I cannot learn everything at the same time.
</p>

<p>
Outside of work, I feel the need to get out more. I need to go for walks to prevent back pain and to stay somewhat in shape. Winter is cold and dark and there has been a lot of rain this year so I haven't been out as much as I wanted. But my camera is constantly nagging me to go for walks. When I walk with it, I appreciate my surroundings more. Often, I come home with no pictures worth sharing, but I still enjoy practising seeing, photography and walking around.
</p>

<p>
I also do some small programming projects for my own enjoyment in my spare time with irregular intervals. I have a calendar localisation framework for Emacs that is getting close to a state where I might show it to someone. I am also doing some minor tweaks here and there to add some useful functionality to Emacs. Since I am quite new to Emacs Lisp, I am learning the language while working on stuff, which works since it is so well documented and since the language is interpreted which means I can easily write something and try it out and then weed out mistakes or improve it further. It is very enjoyable and reminds me of how I used to play with HyperCard in the late 80s and 90s.
</p>

<p>
I also do some system crafting from time to time. David Wilson of System Crafters fame has been very inspirational. I have wanted to move to the functional package manager and GNU/Linux distribution Guix many times since the ideas underpinning it are really great, but when I have tried it in the past, I have had problems that stopped me from migrating to it on my main machine. I tried again in the start of this year and this time, it has worked much more smoothly.
</p>

<p>
(Maybe you are wondering <a href="https://nownownow.com/about">what a now page is?</a>)
</p>
<div class="taglist"></div>]]></description>
  <link>https://einar.codeberg.page/now.html</link>
  <guid>https://einar.codeberg.page/now.html</guid>
  <pubDate>Tue, 07 Oct 2025 21:42:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Fix popup windows in Emacs]]></title>
  <description><![CDATA[
<p>
Whenever you use a function that pops up a window in Emacs, it can be annoying and distracting. The buffer often take over one of the windows you already have on screen and that you are actively working in. For example, when using Python mode, I often felt that it was a bit random where the Python Shell buffer would show up when invoked with C-c C-p. The same problem occurs with help buffers, shell mode, eshell, ansi-term, async-shell-command, man, woman, occur etc. It isn't actually random, but the rules governing in which window new buffers show up, in the variable <code>display-buffer-alist</code> is quite opaque to a new user, so it seems random.
</p>

<p>
I lived with this seeming randomness for a while, but it annoyed me. Then I came across <a href="https://odysee.com/@SystemCrafters:e/hey-emacs-don-t-move-my-windows:3">a video by David Wilson of SystemCrafters</a> that showed me how I could use the concept of a side-window to not have popup windows take over my other windows. I also looked at <a href="https://github.com/daviwil/dotfiles/blob/master/Emacs.org#send-special-buffers-to-a-popup-window">his Emacs configuration</a> and stole some of his settings. It solved the annoyance of popup windows taking over my other windows. He places his side-window in the bottom third of the screen. It makes sense when you want to pop up a shell or terminal, write a few commands and then close it again which you often see David do on his videos.
</p>

<p>
I also watched <a href="https://archive.org/details/prot-codelog-2020-01-07-emacs-display-buffer">a video by Protesilaos Stavrou about side-windows</a> where he explained the concept of slots. It solves the problem you have when you have more than one side-window from a popup buffer open at the same time. Maybe you have a help buffer and shell mode for instance. Prot also uses the lower part of his screen for his side-windows.
</p>

<p>
Since almost every screen is wider than it is tall, I think a better placement for user interface elements and extra information is on the left or right, not the top or bottom of the screen. Most content, except a few videos and pictures, are higher than they are tall. I want the content I am working on to take up as much as possible of the screen real estate to avoid unnecessary scrolling. This is why I always turn on the sidebar and off the toolbars in LibreOffice Writer and detest the Ribbon interface in MS365's Word.
</p>

<p>
Back to Emacs. I had a look at <a href="https://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Side-Windows">the Emacs manual</a> which showed me how to tweak the settings David Wilson and Prot had taught me to get what I want. I think buffers with shells, for version control, REPLs, help, info etc should pop up on the side of the screen and leave the main buffer(s) alone. I want the content I am working on to always be the centre of attention. Since I read left to right, I like such windows to pop up on the right side of the screen where they disturb the other window(s) the least. (If I read right to left, I would have had them pop up on the left.) I set the width to 80 since man pages expect that and it works well for help and shells as well. (On smaller screens like the 1366 x 768 screen on the ThinkPad X230, this feels a bit large, but on larger screens like my 1440p external screen at home, it takes up less than a third of the screen. I could have used a ratio like 0.33 to have the side-window always take up one third of the screen, but that would mean it would be wider than necessary on large screens and too small for the content of [wo]man buffers on small screens, so after trying that for a while, I went with a fixed width in columns instead.)
</p>

<p>
To be able to have a man page and a shell, an info node and a REPL, or a shell, REPL and help buffer at the same time, I use slots to divide up the side-window if more than one special buffer is open. Slot -1 ends up at the top if there are more than one special window. Slot 0 ends up in the middle and slot 1 ends up at the bottom. I have REPLs at the top, shells in the middle and documentation in the bottom. I seldom use both a woman buffer and a help buffer at the same time, but I might use for example the Python REPL, Shell mode to launch and test out a python program and an info manual with Python documentation (yes, it is <a href="https://docs.python.org/3.13/download.html">available in info format</a>) at the same time, so it is useful to use different slots. If there is one buffer, the whole side of the screen is used and if there are two, the side is split in two if they occupy different slots.
</p>

<p>
Here is the code from <a href="https://codeberg.org/einar/emacs_config#headline-42">my Emacs config</a> for this:
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">setq</span> display-buffer-alist '((<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">Python</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">ielm</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">compilation</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . right)
          (slot . -1)
          (post-command-select-window . t)
          (window-width . 80))
(<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">shell</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">.*eshell</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . right)
          (slot . 0)
          (post-command-select-window . t)
          (window-width . 80))
(<span style="color: #79a8ff;">"\\*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">(</span><span style="color: #79a8ff;">help</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">info</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">man</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">woman</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">.*Ibuffer*</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Agenda Commands</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Org Agenda</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">Occur</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">|</span><span style="color: #79a8ff;">xref</span><span style="color: #feacd0;">\\</span><span style="color: #00c06f;">)</span><span style="color: #79a8ff;">.*\\*"</span>
          (display-buffer-reuse-window display-buffer-in-side-window)
          (side . right)
          (slot . 1)
          (post-command-select-window . t)
          (window-width . 80))))
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/fix-popup-windows-in-emacs.html</link>
  <guid>https://einar.codeberg.page/fix-popup-windows-in-emacs.html</guid>
  <pubDate>Sun, 05 Oct 2025 14:10:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Rethink about the prefix for my Emacs keymap]]></title>
  <description><![CDATA[
<p>
I wrote a blog post about binding &lt;menu&gt; as the prefix key to my own Emacs keymap and swapping CapsLock for Menu on GNU/Linux and its closest equivalent, &lt;apps&gt; on Windows. (I have deleted that blog post since I realised doing that was dumb, and I don't want to steer others down that path.) It worked as long as I used Emacs in its GUI on Windows 11 or Wayland. However, when I installed Guix on my laptop and was trying to figure out how to get Sway running on Guix, I naturally used Emacs in the TTY where it works just as well as in a graphical session except some limitations around showing pictures, using multiple faces and keybindings. TTYs and graphical terminals doesn't send through every key to Emacs and one of the many newer keys they don't send to Emacs is &lt;menu&gt;. So I was left with none of my own keybindings. It made me realise that using any special key not usable in a TTY for my own keymap is not very smart.
</p>

<p>
There is always M-x, so I could do everything I wanted to do, but without using my own keymap. The advantage of having a keymap that works everywhere is that it makes using commonly used functions a lot faster than using M-x. If the keymap isn't available everywhere, the advantage of having a keymap at all is severely limited and you have to think about in which situations it is usable and in which it isn't. Training oneself to remember the keychords through muscle memory also make little sense if it is only available some of the time.
</p>

<p>
I had a quick think about which possible prefix keys I could use that would work everywhere and in theory, every combo with ctrl or meta is usable except a few that has special meaning in a terminal like C-i and C-m. However, it is important not to remove a keychord I already use a lot for its original functionality to use it as the prefix for my own keymap instead, and I don't want a situation where a keychord both has its own functionality that I sometimes use and also is the prefix key for my keymap. That would be confusing and annoying to work with. I don't use C-z to iconify GUI Emacs or stop TTY Emacs, so I thought it was a keychord I could unbind and then use as my prefix.
</p>

<p>
Below is the code from my Emacs config for my keymap. It has just a few functions I use often that doesn't have a keybinding by default and a few of my own functions. Using it makes me faster than using M-x.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(global-unset-key (kbd <span style="color: #79a8ff;">"C-z"</span>))
(define-prefix-command 'emo-map)
(global-set-key (kbd <span style="color: #79a8ff;">"C-z"</span>) 'emo-map)
(define-key emo-map (kbd <span style="color: #79a8ff;">"a"</span>) 'tempo-complete-tag)
(define-key emo-map (kbd <span style="color: #79a8ff;">"b"</span>) 'tempo-backward-mark)
(define-key emo-map (kbd <span style="color: #79a8ff;">"c"</span>) 'org-insert-structure-template)
(define-key emo-map (kbd <span style="color: #79a8ff;">"d"</span>) 'org-display-inline-images)
(define-key emo-map (kbd <span style="color: #79a8ff;">"e"</span>) 'elfeed)
(define-key emo-map (kbd <span style="color: #79a8ff;">"C-e"</span>) 'eshell)
(define-key emo-map (kbd <span style="color: #79a8ff;">"f"</span>) 'tempo-forward-mark)
(define-key emo-map (kbd <span style="color: #79a8ff;">"h"</span>) 'emo-hjemmeside)
(define-key emo-map (kbd <span style="color: #79a8ff;">"i"</span>) 'emo-ispell-toggle)
(define-key emo-map (kbd <span style="color: #79a8ff;">"l"</span>) 'org-toggle-link-display)
(define-key emo-map (kbd <span style="color: #79a8ff;">"m"</span>) 'mu4e)
(define-key emo-map (kbd <span style="color: #79a8ff;">"o"</span>) 'emo-dired-convert-to-org)
(define-key emo-map (kbd <span style="color: #79a8ff;">"C-s"</span>) '(lambda () (<span style="color: #b6a0ff;">interactive</span>) (emo-present 'toggle)))
(define-key emo-map (kbd <span style="color: #79a8ff;">"s"</span>) 'shell)
(define-key emo-map (kbd <span style="color: #79a8ff;">"t"</span>) '(lambda () (<span style="color: #b6a0ff;">interactive</span>) (ansi-term <span style="color: #79a8ff;">"bash"</span>)))
(define-key emo-map (kbd <span style="color: #79a8ff;">"y"</span>) 'emo-systemcrafters)
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> <a href="https://einar.codeberg.page/tag-windows.html">windows</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <category><![CDATA[windows]]></category>
  <link>https://einar.codeberg.page/rethink-about-the-prefix-for-my-emacs-keymap.html</link>
  <guid>https://einar.codeberg.page/rethink-about-the-prefix-for-my-emacs-keymap.html</guid>
  <pubDate>Fri, 03 Oct 2025 23:46:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[What I have learned from the Panasonic Lumix GM1 and GM5]]></title>
  <description><![CDATA[
<p>
My first Micro Four Thirds camera was the Lumix GM5. It was a great improvement from my 1/2.3 inch sensor bridge camera. I was very enthusiastic when I started using it, and I got some nice pictures with markedly better image quality than on my previous camera. However, a rather large number of pictures came out a bit blurry. The great thing with the GM5 is that it is very small and light and easy to bring everywhere, but also a competent camera with one more dial than the GM1. The bad thing is that it is very small and light which means there is no room for image stabilisation in the camera and it is too small for my hands. I had trouble holding the camera still. So I ordered Panasonic's grip that screws on the bottom plate. It helped a bit, but I still got blurry pictures too often.
</p>

<p>
After about a year, I bought a used Lumix GX8 which I still use today. It is large enough to be ergonomic and has good stabilisation. There was an issue with shutter shock which is why it was cheap on the used market, but a firmware update fixed the issue by using the electronic shutter when needed with certain lenses at shutter speeds where the mechanical shutter was problematic. Unfortunately, the issue affected the 14-140 f/3.5 - 5.6 lens the most and it was one of the lenses offered with the camera as a kit when it was new. I don't use that lens with the camera and I have applied the firmware update and switched on the automatic selection of electronic or mechanical shutter that takes care of the shutter shock problem. It's a great camera that even if many people say it is large, is still small enough with the right lens (the 20 mm f/1.7 pancake, the 14 mm f/2.5 pancake, the 12-32 f/3.5-5.6 zoom or the 14-42 f/3.5-5.6 Electronic Zoom) on to fit in my jacket pocket.
</p>

<p>
A while ago I could not resist to buy a used GM1 that came with both the 14 mm f/2.5 which I had sold some years earlier, but wanted again, and the 12-32 zoom. My thought was to sell it off again with the 12-32 and keep the 14 which I hoped would give me a very good price on that 14. Once I got the GM1, I felt it called out to me to try it a bit before selling it off. It was even lighter and smaller than the GM5, but it lacked any dial except the wheel on the back of the camera which made my usual M mode shooting from the GX8 very impractical. With it set to iA or P, it makes a lot of sense as an emergency camera that fits even smaller jacket pockets than the GX8 + 20 mm f/1.7. However, I soon discovered that for more than a few pictures, it is very uncomfortable to hold and I shake more than with my GX8 which leads to blurry pictures, especially with unstabalised lenses.
</p>

<p>
The GM5 and lately the GM1 has taught me once again how much I love my GX8. It is large enough to fit my hands, so I shake a lot less with it than with the smaller cameras. And it also supplies in body stabilisation which works with any prime and even Dual IS with any stabilised Panasonic Lumix or Leica lens. It is large enough to also have a great EVF which is another weak point on both of the small cameras. On the GM1 there isn't one and on the GM5 there is one that uses a technology that makes my eyes water. And with the larger size of the GX8, I also get room on the camera body for two well-placed dials, one around the shutter button and the other on the back for thumb use which makes it easy to shoot in A, S or M mode which I prefer. In addition, there is a third exposure compensation dial which I seldom use. The GX8 is small enough to be a daily carry camera in a jacket pocket with one of the smaller MFT lenses, but also competent enough to be the only camera I need. With the GX8, what holds my photography back is me, not my camera.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-photography.html">photography</a> </div>]]></description>
  <category><![CDATA[photography]]></category>
  <link>https://einar.codeberg.page/what-i-have-learned-from-the-panasonic-lumix-gm1-and-gm5.html</link>
  <guid>https://einar.codeberg.page/what-i-have-learned-from-the-panasonic-lumix-gm1-and-gm5.html</guid>
  <pubDate>Sat, 20 Sep 2025 17:34:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Podcasts that aren't]]></title>
  <description><![CDATA[
<p>
I recently added the RSS feed of a podcast I like from NRK to a podcatcher for Android. When I listened to that podcast, in the end of every episode, NRK warned me and said that no more episodes will come to the feed and if I want to listen to more episodes, I have to use either NRK's app or radio.nrk.no. A similar thing happened to BBC podcasts a year or two ago as well. And a few more years back, Spotify began to distribute what they called podcasts that you could only hear in their app.
</p>

<p>
The definition of a podcast is an audio or video file shared through an RSS feed. An audio or video file only available through an app or a specific website isn't a podcast. The point of podcasts is that they use an open standard, RSS, for distribution. This makes it possible to listen to them on any device with any player. I use the RSS reader Elfeed inside Emacs with a few extra functions when I listen to podcasts at home via my computers, and AntennaPod which is available in F-droid on my Android phone. In the past, I used Newsboat and before that gPodder on GNU/Linux.
</p>

<p>
The idea is that the user can use whatever app or program they like on whatever device they like and get podcasts from a number of different media outlets in the same place and automatically get the new episodes whenever they are out. RSS is a great standard that has worked well for many decades and continues to be the best way to get not only podcasts, but also other web content from a lot of websites which has a feed (ie every good website) in stead of manually opening a number of sites to check if there is something new. RSS makes podcasts and other web content much easier to digest.
</p>

<p>
The infuriating thing is that I paid through my taxes for content that is now inaccessable to me unless I go to a number of different places to check manually. I get why the venture capital funded tech companies enshittify their users' experience if they can get more tracking data about their users to sell to advertisers, force subscriptions on people or force people into using their other services by exposing them inside their proprietary audio and video file distribution apps (even though it is very short term and makes me never want to ever use any of those companies' products or services ever again).
</p>

<p>
I don't get why public service broadcasters need to enshittify their offerings, though. NRK isn't going to sell tracking data to advertisers, sell subscriptions or other services any time soon. So why is it so important to them that I use their app or website instead of getting my audio through an open standard that is more convenient to use? Are they trying to do the same as the companies that offer worse services at terrible terms to seem more trendy and with it? Isn't the point of public service broadcasting to be publicly available? And isn't RSS the best way to do so when you have an audio or video show to distribute over the web? NRK and BBC probably lost many listeners since they no longer make podcasts. I won't listen to non-podcasts since I can't get them in my podcatchers of choice.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/podcasts-that-arent.html</link>
  <guid>https://einar.codeberg.page/podcasts-that-arent.html</guid>
  <pubDate>Wed, 10 Sep 2025 22:04:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Man pages are not the real manuals on GNU/Linux]]></title>
  <description><![CDATA[
<p>
Youtubers like Luke Smith and DistroTube have said for years that the man pages are the manuals for command line programs on GNU/Linux. That is not true. On the BSDs and other Unixes, it is true that your best manual is the man page, but on GNU/Linux distros, man pages are just short summaries of the manual to remind you how to use them while the real manual can be read with the GNU Info reader by writing info and the name of the program. All GNU programs and many others have info manuals that gets installed with the program by your package manager.
</p>

<p>
If you read the man pages for GNU programs, you will be underwhelmed if you want to read an actual manual, but if you read the info manual, you will find that most GNU programs are very well documented. I didn't know about info manuals before I started using GNU Emacs a couple of years ago, and I suspect many other newer GNU/Linux users don't know about the info manuals, so I thought it was a good idea to write about it. Maybe someone will discover the real manuals by reading this?
</p>

<p>
It is a good idea to start with "info info" to read the manual for the info reader to learn how to use it. On some distros, you have to install the info package before using it just like you have to install man-db to read man pages. If you use GNU Emacs, there is a better info reader with a nicer GUI built into Emacs which is used to read the Emacs manual, the Emacs Lisp reference, the Emacs Lisp introduction, manuals for all Emacs packages that supply one (which are most of them whether they are built-in or come in a package repository) and the info manual for every program on the GNU/Linux distro that supply one. There is a lot of good information in the manuals if know how to read them.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/man-pages-are-not-the-real-manuals-on-gnu-linux.html</link>
  <guid>https://einar.codeberg.page/man-pages-are-not-the-real-manuals-on-gnu-linux.html</guid>
  <pubDate>Mon, 04 Aug 2025 10:13:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Convert any file pandoc can read to org]]></title>
  <description><![CDATA[
<p>
I got an idea from an EmacsElements video by Raoul Comninos where he converts docx and odt files he finds with dired to org format with two separate functions. Doc-view mode is nice for viewing files from MS365 and LibreOffice and other programs that use Open Document Format with the help of unoconv (which comes with LibreOffice), but you cannot edit the files. So he made these two functions to convert it to Org markup which Emacs edits well in Org mode. After editing, he can export a .docx or .odt through ox-pandoc to send back to the people that sent him the original file.
</p>

<p>
I have experienced the same need at work where most documents coming from others are .docx even if all my own documents are pure text files. I thought that I could convert any file format to org by using its extension as the from format for pandoc instead of having separate functions for different file formats. It seems to work. My function will either convert the file if pandoc can use it as input or give an error. I bound the function to C-z o to make it easy to convert and open a file from dired.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">emo-dired-convert-to-org</span> ()
  <span style="color: #9ac8e0;">"Converts files pandoc can convert to org files for easy editing. Use in dired."</span>
  (<span style="color: #b6a0ff;">interactive</span>)
  (<span style="color: #b6a0ff;">let</span> ((endelse (file-name-extension (dired-get-file-for-visit)))
        (filnavn (dired-get-file-for-visit))
        (buffernavn (concat (file-name-nondirectory (dired-get-file-for-visit)) <span style="color: #79a8ff;">".org"</span>)))
     (<span style="color: #b6a0ff;">with-output-to-temp-buffer</span> buffernavn
       (princ (shell-command-to-string (concat <span style="color: #79a8ff;">"pandoc -f "</span> endelse <span style="color: #79a8ff;">" -t org --wrap=none \""</span> filnavn <span style="color: #79a8ff;">"\""</span>))))
     (switch-to-buffer-other-window buffernavn)))
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/convert-any-file-pandoc-can-read-to-org.html</link>
  <guid>https://einar.codeberg.page/convert-any-file-pandoc-can-read-to-org.html</guid>
  <pubDate>Mon, 04 Aug 2025 01:27:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Emacs' built-in tempo mode for templates (snippets)]]></title>
  <description><![CDATA[
<p>
A reason to use LLMs that is often repeated is that they can write boilerplate which speeds up the programmer. Why not use templates or snippets instead? They <a href="https://www.iea.org/reports/energy-and-ai/energy-supply-for-ai#abstract">use far less energy and do not contribute to climate change</a> or <a href="https://edition.cnn.com/2024/09/20/energy/three-mile-island-microsoft-ai">nuclear waste</a> unlike LLMs, they don't hallucinate, you don't have to give US$ 200 a month to Microsoft to get half-decent results, they don't <a href="https://codeberg.org/forgejo/discussions/issues/320">ruin the internet with scraping</a>, they don't <a href="https://einar.codeberg.page/llms-ruin-text-based-browsing.html">ruin text based browsing</a>, you know the output is correct since you wrote it yourself, you will never get sued for using your templates or snippets unlike LLM code whose legal status is questionable because of stolen, non-licensed and copyleft licensed training data, and you waste less time trying to "engineer" a prompt that will yield a usable result. There is some work up-front writing the templates or snippets, but you do that once and reap the benefit for as long as you use the same editor or IDE. I anticipate using GNU Emacs for the rest of my life since it has already been around for 40 years (or 52 if you count MIT Emacs) and is still developed for and by a vibrant free software community, unlike most IDEs and text editors which seldom survive more than a decade or two.
</p>

<p>
I have been thinking for a while that I would check out the snippet package Yasnippets which is recommended by a lot of Emacsers. I discovered tempo recently by stumbling upon <a href="https://www.taingram.org/blog/intro-to-emacs-tempo.html">Thomas Ingram's website</a>. Tempo is a built-in template or snippets package in Emacs without any built-in documentation (unlike most Emacs packages). There is an info manual on <a href="http://www.lysator.liu.se/~davidk/elisp/">David Kågedal's homepage</a> and some examples of its use and if you follow the link to Ingram's site, there is also some information there. The documentation is very readable when you find it. I tend to prefer built-in packages unless there is functionality only available in external ones that I want or need, and tempo looked like it had many interesting features, so I tried it.
</p>

<p>
There are two main ways of using tempo. Either you insert a template into a buffer and it can ask you interactively in the minibuffer for things to fill in into the template, like for instance names of function, type annotation or variables and the like. To use it this way, set tempo-interactive to t. The default way of using it will instead insert the template into a buffer and then use the command tempo-forward-mark to go to the next place in the template where you should fill in some value. There is also a tempo-backwards-mark to go back if you change your mind about something you already filled in.
</p>

<p>
There is also a third way where you mark a region, and use the universal argument before calling the function with the name of your template. You can use this whether tempo-interactive is t or nil. This includes the region in the part of the template with the r keyword and then either prompts you in the minibuffer for things to fill in or you do it with tempo-forward-mark and tempo-backward-mark depending on your setting of tempo-interactive. This may be useful if you want to wrap some code in a function definition, a class definition, a loop or an if-statement etc.
</p>

<p>
To me, the default "non-interactive" way of using it seems the fastest, so I set tempo-interactive to nil. Since I do not anticipate that I will switch to doing it that way in the future, I wrote my templates without prompts for the minibuffer. Whenever there is a p or an r, you can wrap them in parenthesis and add a string which will become the minibuffer prompt if you use tempo with tempo-interactive set to t, but this is optional and not needed if you, like me, use it the default way.
</p>

<p>
There are also different ways to insert a template into a buffer. Every template becomes a function you can run interactively with M-x with the name "tempo-template-" and the name you have given your template. The other way of invoking it is to write a tag and then run the function tempo-complete-tag which replaces the tag with the template. Thomas Ingram also writes that you can use abbrev mode to insert a template with the help of its function name, but since I have yet to learn abbrev mode, I thought using tags and binding the function to replace them with templates would be fastest for me. It also avoids having to configure tempo templates another place in the config, so even if/when I learn abbrev mode, I may continue to use it this way.
</p>

<p>
I have my own keymap using the menu key which I have rebound my CapsLock to on my GNU/Linux machines, and which I have as a separate key next to Alt gr on my Windows 11 work laptop. I could have bound Caps to Hyper on GNU/Linux, but then I would not be able to use that keymap on Windows without a lot of setup. I have set menu-n to tempo-forward-mark, menu-p to tempo-backward-mark and menu-a to tempo-complete-tag. To get a template inserted, I write the tag and hit menu-a. Then I hit menu-n to go to where the next p or r is in the template and fill it in.
</p>

<p>
This way of using tempo seems very efficient so far, as long as the tag names are short enough. I thought it was a good idea to start tags related to Python with py, Elisp with el, JavaScript with js, C with c etc to keep them short. The challenge is probably to remember the tags, but as with keybindings, the ones I use often will become second nature. Since every template becomes a function with a name starting with "tempo-template-", finding templates if you cannot remember their tags is easy through M-x and completions.
</p>

<p>
The first template I made was a template to create tempo templates with the name "definition" so the function name would be "tempo-template-definition" and with the tag tempo. This template makes it easier for me to create future templates. So far I have only made two for function definitions in Python and Elisp, but I will make more and more complex ones over time. I think tempo will increase my tempo when I have written enough templates to speed up writing boilerplate. And since I use Emacs for a lot more than programming, I may use tempo for boilerplate in other text as well.
</p>

<p>
In the code block below, you can see how I have configured tempo thus far. To not slow down Emacs start-up I don't ensure that it is loaded, but load it on demand when the function tempo-complete-tag is run (which I do with the keypress menu-a after writing a tag for a template).
</p>
<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">use-package</span> tempo
  <span style="color: #f78fe7;">:ensure</span> nil
  <span style="color: #f78fe7;">:commands</span> tempo-complete-tag
  <span style="color: #f78fe7;">:config</span>
  (<span style="color: #b6a0ff;">setq</span> tempo-interactive 'nil)
  (tempo-define-template <span style="color: #79a8ff;">"definition"</span>
                         '(<span style="color: #79a8ff;">"(tempo-define-template \""</span> p <span style="color: #79a8ff;">"\" '(\""</span> r <span style="color: #79a8ff;">"\") \""</span> p <span style="color: #79a8ff;">"\" \""</span> p <span style="color: #79a8ff;">"\")"</span>)
                         <span style="color: #79a8ff;">"tempo"</span> <span style="color: #79a8ff;">"A tempo template to define tempo templates."</span>)
  (tempo-define-template <span style="color: #79a8ff;">"python-def"</span>
                         '(<span style="color: #79a8ff;">"def "</span> p <span style="color: #79a8ff;">" ("</span> p <span style="color: #79a8ff;">": "</span> p <span style="color: #79a8ff;">") -&gt; "</span> p <span style="color: #79a8ff;">":\n"</span>
                           <span style="color: #79a8ff;">"    \"\"\"\n    "</span> p <span style="color: #79a8ff;">"\n    \"\"\"\n    "</span> r)
                         <span style="color: #79a8ff;">"pydef"</span> <span style="color: #79a8ff;">"Create a Python function definition."</span>)
  (tempo-define-template <span style="color: #79a8ff;">"elisp-defun"</span>
                       '(<span style="color: #79a8ff;">"(defun "</span> p <span style="color: #79a8ff;">" ("</span> p <span style="color: #79a8ff;">")"</span> n&gt; <span style="color: #79a8ff;">"\""</span> p <span style="color: #79a8ff;">"\""</span> n&gt; r <span style="color: #79a8ff;">")"</span>)
                       <span style="color: #79a8ff;">"eldefun"</span> <span style="color: #79a8ff;">"Create an Elisp function definition."</span>)
  )
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/emacs-built-in-tempo-mode-for-snippets.html</link>
  <guid>https://einar.codeberg.page/emacs-built-in-tempo-mode-for-snippets.html</guid>
  <pubDate>Sun, 03 Aug 2025 21:40:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[LLMs ruin text based browsing]]></title>
  <description><![CDATA[
<p>
I am an Emacs user. I have recently started to do more of my browsing in Emacs' built-in EWW browser. It is a text-based browser that also shows images, but it does not run JavaScript. It's not for running webapps, but it is a great browser for web pages. It has a nice reader mode to focus in on the content of the page and get rid of clutter. It also integrates well with my RSS reader (elfeed) and makes it easy to open links I find in other documents within my text editor.
</p>

<p>
Large Languague Models ("AI") are making the lives of people hosting websites harder by scraping their content which add cost to the owners of the sites for data transfer or spinning up extra infrastructure to not go down with the extra load. The scrapers tend not to respect robots.txt files that tell them not to scrape the sites. The legality of this scraping under current copyright law is questionable. The LLMs' owners are especially interested in software source code since this is an area where companies and users are willing to pay serious money to use LLMs. Free software git forges like codeberg.org and sourcehut.org are scraped so hard that it almost constitutes DDOSing. One of the companies doing this is Microsoft, their market-leading, near monopoly competitor on git forges and owner of proprietary git forge GitHub, to improve their CoPilot LLM.
</p>

<p>
To combat LLM content scraping, many websites use a program called Anubis that runs some JavaScript in the browser of the user to check whether it is in fact a human with a browser and not an LLM scraper that has changed the user-agent string that identifies which browser is being used. This program demands that JavaScript is run before serving the content. This means that when I want to go to a site that uses Anubis with Eww, I get a message that I have to turn on Javascript, which I cannot do since I use a text based browser. So in effect, LLMs ruin text based browsing.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/llms-ruin-text-based-browsing.html</link>
  <guid>https://einar.codeberg.page/llms-ruin-text-based-browsing.html</guid>
  <pubDate>Tue, 29 Jul 2025 15:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Emacs on Windows]]></title>
  <description><![CDATA[
<p>
<b>Updated: March 11th, 2026</b>
</p>

<p>
I use Emacs as my text editor. At work, I have a laptop with Windows 11. I use <a href="https://codeberg.org/einar/inter-present-mode">inter-present-mode</a> for interactive presentations every day. Since I sometimes have pictures in my presentations and inter-present-mode changes face height, I need to use GUI Emacs. (Emacs is also available in the TTY and terminal emulators.) There are two ways to get GUI Emacs on Windows. The first is through WSL2 with the graphical features Microsoft calls WSLg.
</p>

<p>
Unfortunately, the Wayland stack is implemented in a non-standard way in WSLg that doesn't currently work properly. Previously, there were two bugs related to Wayland-native programs: <a href="https://github.com/microsoft/WSL/issues/11261">the first bug</a> makes Wayland native programs use XWayland instead of Wayland. The community found a fix for that bug in 2023 and told Microsoft about it in a GitHub Issues thread where a representative for Microsoft said they applied the fix to the codebase, but did not ship the fix for many years. There was another bug that made Wayland windows unresponsive after locking the screen and unlocking it again. (There were also a similar bug for X windows where the windows disappear after screen locking, but if you open a new X window, you can alt-tab to the original window and use it.)
</p>

<p>
Microsoft fixed those two bugs with a release of Windows 11 recently, but when I tried Emacs with WSLg in March 2026 again, I found two other bugs. The first was the every time I launched Emacs, the first time, it would become unresponsive and I had to kill it. The second time, the window would respond normally. Having to launch a program twice is really annoying. The other bug was that Windows 11 window snapping did not work predictably with my Emacs window. As a user of a tiling window manager, I find snapping to be an annoyingly slow workaround made by people who think pressing keys or mousing around is the same as things happening automatically, which they are not, but not having snapping means manually having to resize the window to fit different screens (and I work with 5 different screen setups with my work laptop regularly) which is just unforgivably impractical and slow. Even if snapping is not tiling, it is better than nothing. The combination of these two bugs meant using WSLg Emacs was unpredictable, slow and annoying, even compared to the somewhat slower Windows-native Emacs which nonetheless works predictably and like a normal window.
</p>

<p>
This was the fifth or sixth time I have hoped WSLg actually worked since Microsoft released it. Microsoft is one of the richest tech companies, but is unable to ship working software three years after they started marketing the feature. I don't think I will try WSLg ever again. I have wasted enough time, energy and hope. So, if you need GUI Emacs, don't waste your time with WSLg. If you can use Emacs in a graphical terminal and don't need the Wayland GUI, then WSL2 with its superior package managers and all the packages that just work out of the box with Emacs on GNU/Linux is better.
</p>

<p>
Since I need GUI Emacs and WSLg doesn't properly work, I have opted to use native Emacs on Windows. Unfortunately, all the free software tools that integrate with Emacs and that is just an easy install away on GNU/Linux (and its WSL2 lookalike) is hard to come by as native Windows programs. There are also some extra configuration needed in Emacs to get features that just work on POSIX to work on Windows. I gradually discovered how to get the necessary external packages and how to configure Emacs on Windows to get as similar an experience as possible to the one I have on GNU/Linux. I use <a href="https://codeberg.org/einar/emacs_config">the same literate configuration</a> on both OSes to keep things as similar as possible.
</p>

<p>
People use Emacs in different ways, so you may find that you need something I don't, but I hope this blog post can give you a starting point. (It is also useful for me in case I need to set things up again.) Some other good starting points are <a href="https://ludicmanager.org/productivity/emacs-windows/">Using Emacs on Windows 11: An Installation Guide</a> by Dr. Peter Prevos and <a href="https://emeacselements/notes-videos/installing-emacs-windows.html">Properly Installing Emacs on Windows</a>, <a href="https://emeacselements/notes-videos/setup-emacsclient-on-windows.html">Properly Setting up Emacsclient on Windows</a>, <a href="https://emeacselements/notes-videos/printing-directly-from-emacs-on-windows.html">Printing Directly from Emacs on Windows</a> and <a href="https://emeacselements/notes-videos/getting-spelling-to-work-on-windows.html">Getting spelling to work in Emacs on Windows</a> by Dr. Raoul Comninos on the EmacsElements website and YouTube channel. I have used their ideas in my setup, but tweaked things to my own liking.
</p>
<div id="outline-container-orgd9d8cad" class="outline-2">
<h2 id="orgd9d8cad">Installation and basic use</h2>
<div class="outline-text-2" id="text-orgd9d8cad">
<p>
I use the Windows installer from <a href="http://ftpmirror.gnu.org/emacs/windows">a nearby mirror of GNU.org</a> as recommended on the Emacs website. Make sure to use runemacs.exe since it does not open an empty terminal before opening the Emacs GUI, unlike emacs.exe. It is a good idea to add runemacs.exe to your start menu and task bar to have it easily available. I have runemacs.exe as the leftmost icon in my task bar which means that I can launch it with Super-1.
</p>

<p>
You may also consider adding runemacs.exe as the default program to open .org, .md, .py, .js etc files. I find it easier to do so in File Explorer by right-cliking a file of that type and choosing Properties&#x2026; and setting the application to open that file type instead of using the Settings app which doesn't work by file type, but by program which always seems a bit backwards to me. The way I use Emacs, I tend to have a frame open at all times and visit files from inside Emacs, but when I use File Explorer, I often want files to open in other programs, usually because I want to show my students the files in the programs they use (Thonny, VSCode, Word, Excel, MySQL Workbench&#x2026;) even if I usually would use the files of the same file types inside Emacs, so I have only set a few file types to open with runemacs.exe. Since I don't use emacsclientw.exe on Windows, I don't want to double click files in File Explorer or open them through the start menu since that opens a new Emacs frame if runemacs.exe is set to open those file types. I like to almost always work in just one Emacs frame.
</p>

<p>
I have stopped using Emacsclient on Windows since it doesn't work the same way as on GNU/Linux. It does not respect my settings for faces (fonts) or scroll bars from my config. If I open Emacsclientw on Windows directly, it complains that I haven't opened it with a file. On GNU/Linux, if I open Emacsclient without a file, it opens up with the scratch buffer. Since I want to have an Emacs frame open at all times and more frequently open files from inside Emacs than from the File Explorer, I quite often want to open emacsclientw without a file. Another weird thing is that when I kill the buffer with the file I opened emacsclientw with, Emacsclient quits. It doesn't do that on GNU/Linux. Since I want to keep the frame for further work through the day, this behaviour makes emacsclientw more or less unusable for me. The third annoyance is that if I forget to use M-x kill-emacs before restarting or turning off the Windows machine, it uses forever to turn off. Together, these annoyances were just too much, so I went back to open an Emacs frame after booting the machine and continue to use it until I turn the machine off.
</p>
</div>
</div>
<div id="outline-container-org19fbe2d" class="outline-2">
<h2 id="org19fbe2d">Installation of tools that interact with Emacs</h2>
<div class="outline-text-2" id="text-org19fbe2d">
<p>
Below is a table that shows useful programs I use on Windows to get the functionality I need or want from Emacs. More details can be found in the relevant sections below.
</p>

<table>


<colgroup>
<col  class="org-left">

<col  class="org-left">

<col  class="org-left">
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Package</th>
<th scope="col" class="org-left">What it supplies</th>
<th scope="col" class="org-left">Where to get it</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">chocolatey</td>
<td class="org-left">Package manager</td>
<td class="org-left"><a href="https://chocolatey.org/install">https://chocolatey.org/install</a> Use Individual install.</td>
</tr>

<tr>
<td class="org-left">Hack</td>
<td class="org-left">Free programming font</td>
<td class="org-left"><a href="https://github.com/source-foundry/Hack-windows-installer">https://github.com/source-foundry/Hack-windows-installer</a></td>
</tr>

<tr>
<td class="org-left">Liberation</td>
<td class="org-left">Free variable pitch fonts</td>
<td class="org-left">Come with LibreOffice</td>
</tr>

<tr>
<td class="org-left">imagemagick</td>
<td class="org-left">For showing pictures</td>
<td class="org-left">Install with Chocolatey</td>
</tr>

<tr>
<td class="org-left">Pandoc</td>
<td class="org-left">Export org with ox-pandoc</td>
<td class="org-left">Install with Chocolatey</td>
</tr>

<tr>
<td class="org-left">MikTex</td>
<td class="org-left">Export org via LaTex</td>
<td class="org-left">Install miktex.install with Chocolatey</td>
</tr>

<tr>
<td class="org-left">Strawberry Perl</td>
<td class="org-left">MikTex needs Perl</td>
<td class="org-left"><a href="https://strawberryperl.com/">https://strawberryperl.com/</a></td>
</tr>

<tr>
<td class="org-left">mupdf</td>
<td class="org-left">PDFs in doc-view-mode</td>
<td class="org-left">Install with Chocolatey</td>
</tr>

<tr>
<td class="org-left">unoconv</td>
<td class="org-left">MS365 &amp; ODF in doc-view-mode</td>
<td class="org-left">Come with LibreOffice</td>
</tr>

<tr>
<td class="org-left">git</td>
<td class="org-left">Version control</td>
<td class="org-left"><a href="https://git-scm.com/downloads">https://git-scm.com/downloads</a></td>
</tr>

<tr>
<td class="org-left">hunspell</td>
<td class="org-left">Spell checking program</td>
<td class="org-left"><a href="https://sourceforge.net/projects/ezwinports/hunspell-1.3.2-3-w32.bin.zip/download">https://sourceforge.net/projects/ezwinports/hunspell-1.3.2-3-w32.bin.zip/download</a></td>
</tr>

<tr>
<td class="org-left"><code>nb_NO.aff</code>, <code>nb_NO.dic</code></td>
<td class="org-left">Bokmål hunspell dictionary</td>
<td class="org-left">Come with Libreoffice</td>
</tr>

<tr>
<td class="org-left">Node.js and npm</td>
<td class="org-left">NPM to install LSP servers</td>
<td class="org-left"><a href="https://nodejs.org/en/download">https://nodejs.org/en/download</a></td>
</tr>

<tr>
<td class="org-left">Python</td>
<td class="org-left">Pip to install LSP servers</td>
<td class="org-left">NPM installs Chocolatey and Python as well, otherwise Chocolatey</td>
</tr>

<tr>
<td class="org-left">LSP servers</td>
<td class="org-left">Completions, errors, linting</td>
<td class="org-left">pip and/or npm</td>
</tr>

<tr>
<td class="org-left">LibreOffice</td>
<td class="org-left">See above</td>
<td class="org-left"><a href="https://www.libreoffice.org/download/download-libreoffice/">https://www.libreoffice.org/download/download-libreoffice/</a></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgfa3c0bf" class="outline-2">
<h2 id="orgfa3c0bf">Setup of environment variables</h2>
<div class="outline-text-2" id="text-orgfa3c0bf">
<p>
Emacs looks for a <code>.emacs.d</code> directory or a <code>.config/emacs/</code> directory or a <code>.emacs</code> file in <code>$HOME</code>. To set <code>$HOME</code>, press the Windows key, write environment and you should see the <code>Edit Environment Variables</code> program (<code>Rediger systemmiljøvariabler</code> if you use Norwegian Bokmål). Set the User variables for <code>HOME</code> to wherever you want it. I also found that it was useful for git to set <code>LANG</code> and <code>LC_ALL</code> since git and other programs compiled with MSYS2 respects the text encoding from those. I did this as part of my trial and error process to find ways around git's default conversion of text encoding and line endings, but I am not certain it is necessary after setting the system locale to UTF-8 and/or setting Git Bash's text encoding in the GUI (see the dealing with text-encoding section for more on this).
</p>


<figure id="orgf763ce4">
<img src="https://einar.codeberg.page/media/windowsenv.jpg" alt="windowsenv.jpg">

</figure>
</div>
</div>
<div id="outline-container-org2b1ebd6" class="outline-2">
<h2 id="org2b1ebd6">Dealing with text-encoding</h2>
<div class="outline-text-2" id="text-org2b1ebd6">
<p>
Windows uses UTF-16 under the hood, but on the surface it uses different text encodings depending on your locale. (GNU/Linux, BSD and MacOS use UTF-8 unless you configure them to use something else.) Windows uses CR and LF to end lines while GNU/Linux, BSD and MacOS X use LF. (Mac OS &lt; 10 used CR.) There are different strategies to deal with this:
</p>
<ol class="org-ol">
<li>Use the locale's encoding on Windows and have git convert line endings on clone, pull and push.</li>
<li>Use UTF-8 and Unix line endings for every buffer and file inside Emacs, but configure Emacs to work with yanking (pasting) and killing (cutting) to and from the clipboard in Windows locale's text encoding. Tell git to not convert files and line endings.</li>
<li>Set Windows 11 to use UTF-8, set Emacs to use UTF-8 and Unix line endings and tell git to use UTF-8 and not convert line endings.</li>
</ol>

<p>
If you do 1, then you don't have to configure git, because that is its default behaviour on Windows. This supposes that you use your text editor(s) with Windows line endings, and possible also your locale's text encoding which makes writing a lot of glyphs, like emojis, Hangul, Hiragana etc,  impossible. Even VSCode defaults to UTF-8, even on Windows. I think there is absolutely no advantages to this approach unless you never use any other platform than Windows.
</p>

<p>
If you do 2, then you have files with only UTF-8 and Unix line ending in your repos, but you have to configure Emacs to convert text when yanking and killing to/from the system clipboard. You also have to configure git not to convert CRLF to LF. (See the below section on how to do this.) Below is how you configure yanking and killing to work to and from iso-latin-1 which is the common text encoding for Windows in Northern Europe and North America. I tried this approach for a while, but would rather avoid another if-statement in my config if I could avoid it to keep things as similar as possible between Windows and GNU/Linux.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">if</span> (eq system-type 'windows-nt)
   (set-clipboard-coding-system 'iso-latin-1)
  (set-clipboard-coding-system 'utf-8))
</pre>
</div>
</div>
<div id="outline-container-org39b3cb3" class="outline-3">
<h3 id="org39b3cb3">My strategy</h3>
<div class="outline-text-3" id="text-org39b3cb3">
<p>
I use the third strategy now. Windows 11 has a beta feature where you can choose to use UTF-8. You can set it up by following the step-by-step instruction from <a href="https://geekrewind.com/how-to-change-system-locale-in-windows-11/">geekrewind.com</a>. You still have to configure git not to convert CR LF to LF and vise versa on push and pull, but you don't have to configure Emacs to do anything when yanking and killing. To configure git to use UTF, I set the user environment variables <code>LANG</code> and <code>LC_ALL</code> since git and other programs compiled with MSYS2 respects the text encoding from those. In addition, I opened Git Bash, right-clicked the window title, selected Options&#x2026;, selected Text, chose <code>nb_NO</code> and <code>UTF-8</code> (you may want something else than <code>nb_NO</code> which is Norwegian Bokmål) since I read somewhere that git uses the settings set in Git Bash. I am not certain if you need to do both, but I did and it works. In my <code>.gitconfig</code> in my <code>$HOME</code>, I made a section called <code>[core]</code> and on the next line wrote <code>autocrlf = false</code>. This means that git will not convert line endings on push and pull from Unix (LF) to Windows (CRLF). Since all my files use Unix line endings anyway, this is no longer necessary.
</p>

<p>
I still have configuration to always use UTF-8 and Unix line endings inside Emacs and save every file as UTF-8 with Unix line endings. This is useful for getting rid of other encodings in previously made files. (In case I want that other encoding, for example for files I want to use under emulation of older systems, I can omit saving and they would still be in their original encoding.) I hope Microsoft will make UTF-8 and Unix line endings standard in Windows 12. The only small problem I have seen since switching to UTF-8 is that a few Norwegian glyphs in HP's notification about driver updates don't display properly. Otherwise, I have had no problems. Below is the configuration I use to set Emacs to use UTF-8 and Unix line endings and write every file with UTF-8 and Unix line endings.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(prefer-coding-system 'utf-8-unix)
(set-default-coding-systems 'utf-8-unix)
(set-language-environment 'utf-8)
(<span style="color: #b6a0ff;">setq-default</span> coding-system-for-write 'utf-8-unix)
(<span style="color: #b6a0ff;">setq-default</span> buffer-file-coding-system 'utf-8-unix)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org0e089ef" class="outline-2">
<h2 id="org0e089ef">Spell checking</h2>
<div class="outline-text-2" id="text-org0e089ef">
<p>
I used to use aspell with aspell-en and aspell-nb (or -no) depending on whether the distro ships both Nynorsk and Bokmål in the same package or have separate packages (nb = Norwegian Bokmål, nn = Norwegian Nynorsk, no = both Nynorsk and Bokmål). I did not find aspell-no or nb on chocolatey or msys2 and I had the same problem with the hunspell package available for Windows which comes with British and American English which I sometimes use, but not Norwegian Bokmål.
</p>

<p>
For a while, I turned off spelling on Windows, but I recently looked into it again and found that I could copy over the .dic and .aff files I get with LibreOffice since it uses hunspell as well. The LO installer installs Norwegian dictionaries with a "typical install" if you downloaded the installer by browsing to the download page with a Norwegian IP address. To use the dictionaries from LibreOffice, go to <code>C:\Program Files\LibreOffice\share\extensions\dict-no\</code> and copy the files <code>nb_NO.aff</code> and <code>nb_NO.dic</code>. If you use another language, have a look in the extensions folders to find the folder with your relevant dictionaries. Go to the <code>share\hunspell</code> directory under where you installed hunspell. I use <code>C:\Program Files\Hunspell\share\hunspell\</code> and paste the files there.
</p>

<p>
In addition I have taken the settings suggested by <a href="https://emeacselements/notes-videos/getting-spelling-to-work-on-windows.html">Getting spelling to work in Emacs on Windows</a> and modified them slightly for my use. I now also use hunspell on GNU/Linux. I have also made a convenient function in <a href="https://codeberg.org/einar/emacs_config#headline-56">my Emacs config</a> to toggle between Norwegian Bokmål and British English, and bound it in my keymap to C-z i. 
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">use-package</span> flyspell
  <span style="color: #f78fe7;">:hook</span> ((prog-mode . flyspell-prog-mode)
         (text-mode . flyspell-mode))
  <span style="color: #f78fe7;">:init</span>
  (<span style="color: #b6a0ff;">when</span> (eq system-type 'windows-nt)
    (<span style="color: #b6a0ff;">setq</span> ispell-program-name <span style="color: #79a8ff;">"C:/Program Files/Hunspell/bin/hunspell.exe"</span>))
  (<span style="color: #b6a0ff;">setq</span> ispell-dictionary <span style="color: #79a8ff;">"nb_NO"</span>)
  (<span style="color: #b6a0ff;">setq</span> ispell-dictionary-alist
    '((<span style="color: #79a8ff;">"nb_NO"</span> <span style="color: #79a8ff;">":alpha"</span> <span style="color: #79a8ff;">"[</span><span style="color: #ff5f59; font-weight: bold;">^</span><span style="color: #79a8ff;">[:alpha:]]"</span> <span style="color: #79a8ff;">"[']"</span> nil (<span style="color: #79a8ff;">"-d"</span> <span style="color: #79a8ff;">"nb_NO"</span>) nil utf-8)))
  (<span style="color: #b6a0ff;">setq</span> hunspell-default-dict <span style="color: #79a8ff;">"nb_NO"</span>))
</pre>
</div>
</div>
</div>
<div id="outline-container-org121b93b" class="outline-2">
<h2 id="org121b93b">Dictionary lookup</h2>
<div class="outline-text-2" id="text-org121b93b">
<p>
On my GNU/Linux systems, I install a dictd server and some dictionaries so I don't need to be connected to the internet to use dictionary-lookup-definition. Since there is no dictd server package for Windows, I first tried to use dict.org to look up words. When I tried dictionary-lookup-definition, Emacs just froze. It did not use a lot of CPU, but it just did not respond do anything, including C-g. I had to kill it with the three-finger salute (Ctrl-Alt-Delete). Maybe the relevant ports are blocked by my network at work, so it might work for you even if it did not for me. Below, you see my configuration for dictionary mode. I check if I am on GNU/Linux and otherwise, don't load it since I cannot get it to work at work.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">use-package</span> dictionary
   <span style="color: #f78fe7;">:if</span> (eq system-type 'gnu/linux)
   <span style="color: #f78fe7;">:config</span>
   (<span style="color: #b6a0ff;">setq</span> dictionary-server <span style="color: #79a8ff;">"localhost"</span>))
</pre>
</div>
</div>
</div>
<div id="outline-container-orgf85245d" class="outline-2">
<h2 id="orgf85245d">Viewing MS365 and Open Document Format documents</h2>
<div class="outline-text-2" id="text-orgf85245d">
<p>
Emacs can show .xlsx, .docx, .pptx, .odt, .odp and other MS365 (Formerly Microsoft Office) and LibreOffice (Open Document Format) files in doc-view-mode. It is very practical to go directly from dired to doc-view-mode in stead of waiting for LibreOffice or MS365 to start. To show these files it needs a python script called unoconv that comes with LibreOffice. You also need to set the path to that script to get it to work. Since newer versions of LibreOffice stalls when you open them on Windows 11, either if you launch Writer or use unoconv from Emacs, I had to install version 24.2.0.3 to get this to work properly. You find it with the Archive link on the LibreOffice download page.
</p>
</div>
</div>
<div id="outline-container-orge6f85d9" class="outline-2">
<h2 id="orge6f85d9">Pandoc and LaTex for export and import from Org mode</h2>
<div class="outline-text-2" id="text-orge6f85d9">
<p>
I use pandoc with Emacs and also ox-pandoc to be able to export from Org mode to .docx format. Upper Secondary schools in Norway use MS365, so it is useful to be able to write .docx documents occasionally. I use LaTex a lot for export of PDFs from org files I have used with inter-present-mode in class. Both pandoc and LaTex can be installed with Chocolatey, but when using LaTex to export PDFs on Windows 11, I always got an error that wrapfig.sty was not installed. It probably doesn't come with the LaTex package from Chocolatey. The solution is to use MikTex instead. Install the package miktex.install with chocolatey. MikTex needs Perl to function, so you also need to install Strawberry Perl from its website to get the export functionality to work. As with any external programs, you also need to set the exec paths (see further down this blog post) to get the actual functionality, unlike on GNU/Linux where it just works.
</p>
</div>
</div>
<div id="outline-container-org1056a7e" class="outline-2">
<h2 id="org1056a7e">PowerShell in Shell mode</h2>
<div class="outline-text-2" id="text-org1056a7e">
<p>
I prefer to use Eshell for most of my Shell needs. Since it is built in Elisp, it works just as well on Windows as on GNU/Linux. It is a much more pleasant experience than PowerShell and it integrates well into the rest of Emacs. However, sometimes it is useful to have PowerShell in Shell mode for doing something in Windows that you can only do through PowerShell, like turn on or off Hyper-V or delete a WSL2 distro.
</p>

<p>
By default, you get <code>cmd.exe</code> in Shell mode on Windows. I had some trouble finding good documentation of how to set it up with PowerShell. Some people suggest just setting PowerShell to <code>explicit-shell-file-name</code>, but that only partially worked since it gave me an error that PowerShell was invoked with a wrong argument. A lot of people pointed to someone on the Microsoft blogs that set up PowerShell in Shell mode, but in a way that removed the prompt. He had made an Elisp workaround to get the prompt back, but it seemed like there should be an easier way. The trouble is that comint mode, the mode shell mode is built on, sends <code>-i</code> by default to the shells it interacts with as an argument. I tried a couple of things and it turns out the solution is really simple.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">use-package</span> shell
  <span style="color: #f78fe7;">:config</span>
  (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
  (add-to-list 'comint-output-filter-functions 'ansi-color-process-output)
  (add-hook 'comint-output-filter-functions 'comint-osc-process-output)
  (add-hook 'shell-mode-hook (<span style="color: #b6a0ff;">lambda</span>() (company-mode 0)))
  (<span style="color: #b6a0ff;">when</span> (eq system-type 'windows-nt)
    (<span style="color: #b6a0ff;">setq</span> explicit-shell-file-name <span style="color: #79a8ff;">"C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe"</span>)
    (<span style="color: #b6a0ff;">setq</span> explicit-powershell.exe-args '(<span style="color: #79a8ff;">""</span>)))
  (<span style="color: #b6a0ff;">when</span> (eq system-type 'gnu/linux)
     (<span style="color: #b6a0ff;">setq</span> explicit-shell-file-name <span style="color: #79a8ff;">"/bin/bash"</span>)
     (<span style="color: #b6a0ff;">setq</span> system-uses-terminfo t)
     (<span style="color: #b6a0ff;">setq</span> comint-terminfo-terminal <span style="color: #79a8ff;">"xterm"</span>)))
</pre>
</div>

<p>
In the code block above, if on Windows, I tell Emacs to run PowerShell and give it the arguments <code>""</code> (ie, nothing) which remove the default <code>-i</code> argument, but adds nothing else. And now I have PowerShell in Shell mode. The rest of the configuration turns off company since the shells have their own tab-completion and turns on ansi-colours which both Bash and PowerShell can work with. If you prefer to use PowerShell 7 instead, use the path to it instead of the path to the built-in Windows PowerShell.
</p>
</div>
</div>
<div id="outline-container-org3b2caa5" class="outline-2">
<h2 id="org3b2caa5">Language Server Protocol servers</h2>
<div class="outline-text-2" id="text-org3b2caa5">
<p>
LSP is a standard Microsoft made for adding IDE-like language support to text editors. It was made for VSCode, but can also be used in other editors. In Emacs, you have to have the LSP servers you want installed and eglot, company and eldoc, if turned on, makes use of them in the mode for the associated programming or markup language. I tend not to like documentation constantly popping up with eldoc-mode since I find it visually distracting, but use the completions and warnings from LSP servers through eglot and company. Below is a table of the LSP servers I use and how to install them on Windows.
</p>

<table>


<colgroup>
<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Language</th>
<th scope="col" class="org-left">LSP-server names</th>
<th scope="col" class="org-left">install with</th>
<th scope="col" class="org-left">Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Python</td>
<td class="org-left">python-lsp-server (pylsp)</td>
<td class="org-left">pip or npm i -g</td>
<td class="org-left">FOSS, flake8 is an optional dependency</td>
</tr>

<tr>
<td class="org-left">Bash / Shell</td>
<td class="org-left">shellcheck, bash-language-server</td>
<td class="org-left">npm i -g</td>
<td class="org-left">FOSS</td>
</tr>

<tr>
<td class="org-left">JavaScript, TS, JSX</td>
<td class="org-left">typescript-language-server, typescript</td>
<td class="org-left">npm i -g</td>
<td class="org-left">Microsoft, LSP depends on typescript</td>
</tr>

<tr>
<td class="org-left">CSS</td>
<td class="org-left">vscode-css-languageserver-bin</td>
<td class="org-left">npm i -g</td>
<td class="org-left">Microsoft</td>
</tr>

<tr>
<td class="org-left">HTML</td>
<td class="org-left">vscode-html-languageserver-bin</td>
<td class="org-left">npm i -g</td>
<td class="org-left">Microsoft</td>
</tr>

<tr>
<td class="org-left">JSON</td>
<td class="org-left">vscode-json-languageserver</td>
<td class="org-left">npm i -g</td>
<td class="org-left">Microsoft</td>
</tr>
</tbody>
</table>

<p>
The Microsoft LSP servers give you the same completions, documentation and warnings as in VSCode. You may find more LSP servers at <a href="https://langserver.org/">https://langserver.org/</a>.
</p>

<p>
In addition, you have to turn eglot on in the relevant modes. I turn it on for all programming modes.
</p>
<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">use-package</span> eglot
  <span style="color: #f78fe7;">:hook</span> (prog-mode . eglot-ensure))  
</pre>
</div>
</div>
</div>
<div id="outline-container-org5c69aad" class="outline-2">
<h2 id="org5c69aad">Python Shell</h2>
<div class="outline-text-2" id="text-org5c69aad">
<p>
Python mode in Emacs on GNU/Linux works out of the box with no setup if you have Python installed on your system. On Windows, you have to set python-shell-interpreter (even if the exec path includes the path to Python). In the code below, I also set the docstring-style to Django which I prefer over the default pep-257.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">setq</span> python-fill-docstring-style 'django)
(<span style="color: #b6a0ff;">when</span> (eq system-type 'windows-nt)
  (<span style="color: #b6a0ff;">setq</span> python-shell-interpreter <span style="color: #79a8ff;">"c:/Python313/python.exe"</span>))
</pre>
</div>
</div>
</div>
<div id="outline-container-orgbd781fc" class="outline-2">
<h2 id="orgbd781fc">Paths that need adding</h2>
<div class="outline-text-2" id="text-orgbd781fc">
<p>
For Emacs to integrate with external packages on Windows, the exec path needs to include the file path to those packages. Below is my extra configuration for adding exec-paths in Windows. You may have placed the programs you have installed manually, like Hunspell, in other places, so adjust accordingly. You may also do this with customize, but I want to have it as part of my config since sometimes I let the custom-vars file where I keep the changes from customize drift a little bit away from the upstream <code>emacs_config</code> repo on some machines.
</p>

<div class="org-src-container">
<pre class="src src-elisp">(<span style="color: #b6a0ff;">when</span> (eq system-type 'windows-nt)
  (custom-set-variables
 '(exec-path
   '(<span style="color: #79a8ff;">"C:/Program Files/MiKTeX"</span> <span style="color: #79a8ff;">"C:/Program Files/ImageMagick-7.1.2-Q16-HDRI"</span> <span style="color: #79a8ff;">"C:/Python313/"</span>
     <span style="color: #79a8ff;">"C:/ProgramData/chocolatey/lib/findutils/tools/install/bin/"</span> <span style="color: #79a8ff;">"C:/WINDOWS/system32"</span>
     <span style="color: #79a8ff;">"C:/WINDOWS"</span> <span style="color: #79a8ff;">"C:/WINDOWS/System32/Wbem"</span> <span style="color: #79a8ff;">"C:/WINDOWS/System32/WindowsPowerShell/v1.0/"</span>
     <span style="color: #79a8ff;">"C:/WINDOWS/System32/OpenSSH/"</span> <span style="color: #79a8ff;">"C:/Program Files/dotnet/"</span> <span style="color: #79a8ff;">"C:/Program Files/Git/cmd"</span>
     <span style="color: #79a8ff;">"C:/Program Files/nodejs/"</span> <span style="color: #79a8ff;">"C:/ProgramData/chocolatey/bin"</span> <span style="color: #79a8ff;">"C:/ProgramData/chocolatey/lib/mpv/"</span>
     <span style="color: #79a8ff;">"C:/ProgramData/chocolatey/lib/mupdf"</span> <span style="color: #79a8ff;">"C:/Users/AFK01217/AppData/Local/Microsoft/WindowsApps"</span>
     <span style="color: #79a8ff;">"C:/texlive/2025/bin/windows"</span> <span style="color: #79a8ff;">"C:/Users/AFK01217/AppData/Local/Programs/Microsoft VS Code/bin"</span>
     <span style="color: #79a8ff;">"C:/Users/AFK01217/AppData/Roaming/npm"</span> <span style="color: #79a8ff;">"C:/Users/AFK01217/AppData/Local/Pandoc/"</span> <span style="color: #79a8ff;">"."</span>
     <span style="color: #79a8ff;">"C:/Program Files/Hunspell/bin"</span> <span style="color: #79a8ff;">"c:/Strawberry/perl/bin/"</span> <span style="color: #79a8ff;">"C:/Program Files/LibreOffice/program"</span>))
 '(image-load-path
   '(<span style="color: #79a8ff;">"c:/Program Files/Emacs/emacs-30.1/share/emacs/30.1/etc/images/"</span> data-directory load-path <span style="color: #79a8ff;">"c:/python313/"</span>)))
)
</pre>
</div>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-windows.html">windows</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[windows]]></category>
  <link>https://einar.codeberg.page/emacs-on-windows.html</link>
  <guid>https://einar.codeberg.page/emacs-on-windows.html</guid>
  <pubDate>Tue, 03 Jun 2025 16:30:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Skype and Microsoft]]></title>
  <description><![CDATA[
<p>
Skype was brilliant. It was end to end encrypted when voice, video or text chatting with another Skype user and you could send SMS and call phones with cheap rates from it. Then Microsoft bought it and removed the encryption. Skype was still good for calling cheaply from one country to another. Back in 2009, I bought a Skype feature phone with a "3 Vänner" subscription. At the time I lived in Malmö in Sweden, spent my days at the Danish Royal Academy of Music in Copenhagen, worked evenings and nights at Kone elevators outside Copenhagen and freelanced as a baroque cellist mainly in Jutland and Southern Sweden with the occasional gig in Norway. Skype and the Skype-phone was brilliant to call friends, colleagues and family anywhere with my own phone number from anywhere I was at cheap rates. Most of my fellow musicians also used Skype, so I also chatted in text, voice and video a lot. My parents started using Skype as well, so I could video chat with them from wherever I was as well.
</p>

<p>
Gradually, Microsoft did numerous overhauls of the user interface and every time, it got worse. The amount of bots and scams also skyrocketed under Microsoft's ownership. Microsoft also used the Skype name for their incompatible Link product which became Skype for business. Over time, the superior technology from Skype was incorporated into Skype for business and Teams. My use of Skype decreased with the Microsoftification of the once brilliant Nordic instant messenger, phone and video chat program.
</p>

<p>
A few weeks ago, I found out Microsoft is going to kill Skype and instead try to get consumers to use Teams even if Teams is for internal business communication and not very well suited for individual users. Skype will stop working on May 5th 2025. My personal Microsoft account only exists because of Skype, so I am now in the process of exporting all my data from Skype and afterwards, I will delete my Microsoft account. If you have a Skype/Microsoft account, it might be a good idea to export your data before it is to late, and if you don't need that account for anything else, you may as well delete it.
</p>

<p>
I have been curious about the free software decentralised platform Matrix for a while, so I think I will see if I can find a Matrix server that is open for new users or set one up myself. I have tried the Matrix app Element in the past, and it was rather good. There is also an Emacs package called ement.el that seemed good when David Wilson of SystemCrafters had a look at it a while back in one of his live streams. Maybe this is the push I need to start seriously looking into Matrix again.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/skype-and-microsoft.html</link>
  <guid>https://einar.codeberg.page/skype-and-microsoft.html</guid>
  <pubDate>Thu, 03 Apr 2025 21:39:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Why I replace Bash scripts with Elisp functions]]></title>
  <description><![CDATA[
<p>
Lately, I have spent some time replacing my Bash scripts with Emacs Lisp functions inside my Emacs configuration. I like programming and I haven't really gotten deeper into Elisp, so one reason was just to learn more Elisp and have some fun. Another reason is that replacing the Bash Shell scripts with Elisp functions removes the need to clone down an extra repository when I install a new system to get things up and running. It simplifies my installscripts a little.
</p>

<p>
Another advantage of having useful functionality inside my Emacs config is that whatever window manager or maybe even operating system I use, I can still use my functions from inside Emacs. Bash Shell scripts only run on GNU/Linux and POSIX Shell scripts only run on POSIX systems. But Emacs functions can be run inside Emacs on every platform it is available for without any external configuration. I might have to change my settings for wallpaper-command and wallpaper-command-args if I use another window manger, desktop environment or operating system, but most things will just work no matter where I am. Having the functionality in Emacs makes it easier if I ever were to change window manager from Sway as well.
</p>

<p>
The scripts I was able to replace with Emacs functions this weekend was my radio stream script, my two tv scripts for watching the latest news or satire broadcast from NRK, and my two wallpaper setting scripts, one that goes to the next file in a folder and sets it as the wallpaper so I can cycle through (and also around again when I get to the end) and another one that picks a random wallpaper from within the same folder. During the weekdays I was able to make a script to update my homepage and copy a youtube RSS feed link from a yewtu.be URL in primary selection. It was a lot of fun to dive into Elisp even if it took a lot of time since I was constantly searching for functions I could use for my purposes, both within Emacs and online.
</p>

<p>
I can still launch my scripts with keyboard shortcuts from my Sway config with emacsclient -e '(functionname)'. I start an Emacs server when I launch Sway, so I can always rely on having Emacs running. For the scripts that need user interaction in an Emacs frame, I can add -r to either reuse an open frame or make a new one.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/why-i-replace-bash-scripts-with-elisp-functions.html</link>
  <guid>https://einar.codeberg.page/why-i-replace-bash-scripts-with-elisp-functions.html</guid>
  <pubDate>Sun, 16 Mar 2025 22:45:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How I generate my blog from Org files]]></title>
  <description><![CDATA[
<p>
I have used <a href="https://github.com/bastibe/org-static-blog">org-static-blog</a> to generate HTML from org files for a while, but I have changed how I get those files onto my website. Org files are markup files used in Emacs Org Mode. The syntax is more regular than Markdown, there is only one standard unlike Markdown and the facilities in Org Mode to write these files make it a really great format to work with for any Emacs user.
</p>

<p>
In the past, I would manually delete all files except robots.txt, style.css and my media folder from the folder I exported to with org-static-blog. The reason is that org-static-blog only creates html files from org files where the html file does not already exist and then updates index.html, archive.html and rss.xml to reflect the changes. However, I sometimes edit older blog posts or my about page or change the header or footer which applies to all html pages, so I want to generate all the files every time and to achieve this, I delete all the html files before generating the new ones with the function org-static-blog-publish from my posts folder full of org files. I would then either use scp or FileZilla to upload those to my web server.
</p>

<p>
What I do now is use Codeberg Pages to serve my website instead. I have forwarded <a href="https://mostad.eu/">https://mostad.eu/</a> to <a href="https://einar.codeberg.page/">https://einar.codeberg.page/</a> so visitors to mostad.eu get to the URL where html files in my Codeberg repo called pages are served by Codeberg instead. I have also made a shell script (that I will replace with an Elisp function in the future) that removes the previously generated html files, generates the html files with Emacs, and once closed, adds, commits and pushes the files to the repository Codeberg Pages hosts my website from. This way, I can get out a new blog post a lot faster than I would in the past and most of the process is automated.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/how-i-generate-my-blog-from-org-files.html</link>
  <guid>https://einar.codeberg.page/how-i-generate-my-blog-from-org-files.html</guid>
  <pubDate>Wed, 12 Mar 2025 23:20:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[The ideal Micro Four Thirds lens setup]]></title>
  <description><![CDATA[
<p>
A few years ago, after buying my flat, I had very little money. I realised I could get some money in by selling off a few lenses. Since the lens I used the most was the 20 mm f/1.7 pancake, I sold off every other lens and got in enough money to get through the tight times. I had originally bought most of my lenses used, so I got back more or less what I invested in them in the first place.
</p>

<p>
The 20 mm served me well for the following two years as my only lens. The wide standard focal length is probably the most versatile focal length you can have if you only have one prime lens. In addition, the 20 mm pancake is small enough that my "large" Panasonic Lumix GX8 (which is still a lot thinner and lighter, but not smaller in width and height than any of the small full frame cameras) fits into jacket pockets which means I can bring a camera that is ergonomic enough to fit well in my hand and with good enough composition tools like the tilting EVF around as my daily carry camera. The f/1.7 aperture makes it a good lens for any lighting condition. The advantage of MFT when it comes to depth of field (since longer is almost always better) means that I can shoot at f/1.7 after sunset or indoors on low ISOs and still have the same depth of field as on a f/3.5 lens of an equivalent full frame focal length (40 mm). The disadvantage of more noise on higher ISOs on smaller sensors like APSC, MFT and 1 inch isn't a problem if you shoot fast enough lenses, but you get the advantage of the longer depth of field even in low light. The 20 mm has somewhat slow autofocus, so for video, I would use manual focus. I also experimented with manual focus for photography with it which also works well.
</p>

<p>
The 20 mm is in my opinion the most versatile and practical lens in the whole MFT system. I have used it for landscape, street, indoor events including video, close-up (with Ex.tele-conv, it becomes a 28 mm with a relatively larger reproduction ratio or you can crop when shooting RAW), environmental portraits, head shots and upper body portraits. I just wish it was weather sealed so I could confidently leave it on my camera during a blizzard. In other words, the 20 mm pancake will usually be the main lens in any lens set for me. Now that I have a bit more money again, I have felt that occasionally, it would be nice to have something wider or something longer. For a confirmation ceremony in a large hall, I bought the Sigma 60 f/2.8. I was very tempted by the Olympus 75 f/1.8, but it is a lot more expensive, larger and even though f/1.8 would be nice, f/2.8 is still fast enough to make decent images in low light. The Sigma is also small enough that I could keep it in my suit pocket when I used the 20 mm before and after the ceremony and easily switch over once inside. The 20 mm has taught me the value of small and light lenses.
</p>

<p>
I also missed the Lumix G 42.5 f/1.7 which is the best portrait and close up lens in the medium telephoto range unless you need one of the f/1.2 pro lenses. It also isn't larger than it needs to be like the otherwise great Sigma 56 f/1.4 which is an APSC lens and therefore larger than necessary for the focal length and aperture on MFT. The combination of built-in stabilisation, better sharpness and close focus abilities makes it a better choice than the Olympus 45 f/1.8 in my opinion. I have used it a lot for close-up in the past and also for the occasional portrait. I also missed having something wider occasionally, so when I saw a GM1 with a Lumix G 14 mm f/2.5 and a 12-32 for a decent price, that was a no brainer. I like the idea of the GM1 and my first MFT camera was the GM5, but both of those cameras are too unergonomic and fiddly in practical use for me. The lack of stabilisation is also a major drawback. The GX8 is so much more comfortable, and again, with the 20 mm or the 14 mm, it is small enough to fit in a jacket pocket which means the GM1's only advantage is lighter weight. I will sell the GM1 with its 12-32 and keep the 14 mm pancake.
</p>

<p>
I also bought the TTartisan 23 mm f/1.4 manual focus prime on a whim. My idea was that the slightly longer focal length would produce more winners for me since it would force me to think more about my composition. I owned the Panasonic Leica 25 f/1.4 in the past and even if it often felt too narrow, it also produced more winners than the zooms and primes I had owned before it. I actually came to it from the 20 mm pancake which at that time annoyed me because of it slightly slow auto-focus. This was also earlier in my photography journey. This time around, the 23 felt a bit restrictive coming from the 20 mm, but it did not actually help me produce anything I couldn't make with the 20. Even if it is rather small, it also surprised me by feeling heavy. Maybe the balance is towards the front of the lens or something, because on paper, it really isn't heavy at all. What the lens brings to the table is better manual focusing than the 20 mm, ideal for hyperfocal focusing for street or landscape. It is nice, but I don't really need it.
</p>

<p>
I still haven't written anything about the ideal setup. Up to this point, I did not really think in terms of a set of lenses, more in terms of what did I feel I wanted, needed or missed. I started thinking more about a versatile set for my uses at this point. There are many lenses I am curious about, but which focal lengths, apertures and features do I actually need? I am a hobby photographer that mainly shoot land/city/seascapes, (rural) street, travel and the occasional portrait. I live in southern Norway, close to the coast, which means wind, rain, snow, wave splashes, cold or a combination of these often occur. My GX8 camera is weather-sealed, but unfortunately, most of the small and light primes in the MFT system are not. On the other hand, most of the time, even in light rain or snow, being a bit careful and maybe keeping a hand on top of the lens is enough to keep the smaller 14 and 20 pancakes and the 42.5 safe. I have used these lenses a lot in all kinds of weather without any trouble, but I would feel more comfortable if they were weather-sealed.
</p>

<p>
When I started thinking more in terms of a set of lenses, I did a lot of thinking about what I actually need. I usually need a wide standard lens like the 20 mm. It is an ideal focal length as a walk-around lens. For travelling, maybe a medium wide angle like the Olympus or Youngnuo 17 would be better for large buildings and getting more context, but for most other things, a wide standard is better. I am not a fan of the exaggerated perspective a wider wide-angle lens produces unless it is used deliberately as an expressive means. I did use the Sigma 19 mm f/2.8 for a while as my walk-around lens some years ago and it was a very good lens, but I often felt that it exaggerated the perspective just a bit more than I like. That sensation disappeared when I went back to the 20 mm again. So even if the 20 mm can sometimes feel a bit narrow in very narrow streets when travelling, I think it is the main lens for me in any lens setup. When I could have only one lens, the 20 mm f/1.7 was that lens. Even when I can have more lenses, I keep the 20 on the camera and only occasionally use other lenses. It isn't perfect, but it is the best walk-around lens for me and after spending a lot of time with it, I know it well.
</p>

<p>
Occasionally, I want to exaggerate perspective or I am in a very tight place like an alley or in a small room where the 20 mm is just too tight. Then something wider would be useful. I already own the 14 mm f/2.5 which is a good lens. Robin Wong complained about auto-focus speed, but maybe that was a problem with the mark I on Olympus cameras. I have owned both the mark I and the mark II and I have never experienced slow autofocus with the GX8 (unlike the 20 mm pancake which is more like a full frame DSLR lens than a fast MFT lens in auto focus speed). It is also small and light which means it fits well into any lens set. It is sharp enough and it is faster than most zooms although the 15 f/1.7 is even faster and maybe with a bit nicer rendering, but that lens is also larger, heavier and more expensive. The 14 is much better than its reputation and extremely practical since it is the smallest and lightest autofocusing lens in the MFT system. (It can also become an 11 mm with the wide angle conversion lens and there is also a close-up attachment for it that can make it better at close focusing (which it already is quite good at). For my purposes, I think buying those are not really worth it since I seldom need anything wider than 14 and I have other lenses for close-up.)
</p>

<p>
For landscapes, the occasional animal, bird photo or portrait I sometimes need a longer lens. The 20 is good for portraits, but for closer head shots or upper body shots, you get a bit too close to the subject which makes the proportions of the face seem strange. I usually shoot environmental portraits which the 20 mm is good at, so for me, a longer lens is actually less about portraits and more about landscapes, birds or animals. I don't shoot any sport, but when Tour of Norway cycled by a few years ago, I made an attempt with the Sigma 56 f/1.4 that I owned at the time and got some decent shots. I don't usually shoot events either, but occasionally, I am at an outdoor concert or the Norwegian National Day celebrations or a confirmation or wedding and it is nice to have a lens that could work in such a situation.
</p>

<p>
For landscapes, weather is a factor. Ideally, I would have a lens I could use during a blizzard in -20 Celsius by the coast with a lot of humidity. Even though I own the 42.5 f/1.7, I don't use it that much because it feels a bit on the short side for telephoto landscapes, animals at a distance and events and I seldom shoot portraits that aren't environmental. The Sigma 60 f/2.8 is more ideal for those scenarios, except that it isn't weather sealed. I don't often shoot in low light at events or outdoors for landscapes. When I bought the Sigma 60, I also thought about the 12-60 f/2.8-4, but felt that f/4 was a bit too slow for the event I bought the Sigma for. The Olympus 75 has a better focal length and faster aperture than the other alternatives and back when I owned the Sigma 56, I sometimes used it for landscapes. I don't shoot birds or animals often enough that I need a dedicated telephoto zoom like the 35-100 f/2.8 or the Olympus 40 - 150 f/2.8. These lenses feel too large and expensive for something I only occasionally do and 60 is long enough for my needs.
</p>

<p>
I am still not 100% certain about the telephoto side, but I did buy the 12-60 f/2.8-4 since it is a useful occasional telephoto, superish zoom and bad weather lens. Since it covers the whole focal range I need, I can confidently go out in bad weather during winter with it on my camera. I can also use it as the second lens together with the 20 mm when travelling. Especially when travelling with other people and not knowing what to expect, a superish zoom can be useful. The 12-60 is super enough to cover all my needs with enough speed, but not so super that it looses its optical excellence or aperture speed like the 14-140 f/3.5-5.6. Maybe I will invest in the Olympus 75 f/1.8 if I find myself shooting a lot of low light events or landscapes, but as an occasional telephoto, the 12-60 at f/4 on the long end is good enough. It is larger and heavier which is the disadvantage of a zoom over primes and it is slower, but I can use it during winter or bad weather without worrying and it has a versatile zoom range. An advantage of the 12-60 is that it focuses closely and even though the spec sheet says 0.3 x magnification and the 42.5 f/1.7 spec sheet says 0.4 x, in reality, I get more magnification with the 12-60. Maybe 0.3x is at the wide end and they forgot to write the magnification at the long end?
</p>


<figure id="org0368ffb">
<img src="https://einar.codeberg.page/media/lenses.jpg" alt="lenses.jpg">

</figure>

<p>
My ideals are to have as few lenses as possible and as small and light as possible, but at the same time have all the lenses I need. I will sell the TTartisans 23 mm even if it is a good lens since I already have the 20 mm. I will also sell the 60 f/2.8 since I seldom shoot indoor events which is the main advantage of this f/2.8 over the 12-60 f/2.8 - 4. I am more hesitant to sell the 42.5 f/1.7 since it makes an excellent three prime set with the 14 and 20 pancakes even though I do not actually use it very much. The low light capabilities of f/1.7 can be useful when the 12-60 f/2.8-4 is too slow and weather sealing isn't needed. If I continue to not use it much over time, it will go, but for now, I hold onto it as a fourth lens.
</p>

<p>
I have been thinking about and trying out a lot of different MFT lenses over the years. In the past I was more concerned with getting the very best lenses, but over time, I have come to appreciate the value of compromising on some aspects, like auto-focus speed with the 20 mm or aperture size on the long side of the 12-60 or slightly on the 14 to gain practical advantages like small size and light weight, weather sealing or a practical zoom range. A camera and lens combination that you can keep in a jacket pocket like the GX8 + 20 mm pancake is more valuable than something like the GX8 + the OM System 20 mm f/1.4 which technically is a better lens and even brings weather sealing to the table, but is too large and heavy to be kept on the camera in a jacket pocket. On the days where weather sealing matters, I can bring the camera in a small camera bag with the 12-60 mounted so I don't have to mount it in bad weather, or I can carry the camera in my hand with a wrist wrap with the 12-60 on from the moment I leave home or wherever I stay. 
</p>

<p>
Another advantage of having few, small and light lenses are that there is space in my small camera bag insert for my charger, extra batteries, ND filter, mini-tripod etc. as well as the lenses. When I travel, I can travel with any shoulder bag or backpack and use the insert from my camera bag to keep my whole camera system. Or I can keep the camera with the 20 mm in my jacket pocket ready for action and have the rest of the equipment in the camera bag insert in a suitcase.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-photography.html">photography</a> </div>]]></description>
  <category><![CDATA[photography]]></category>
  <link>https://einar.codeberg.page/the-ideal-micro-four-thirds-lens-setup.html</link>
  <guid>https://einar.codeberg.page/the-ideal-micro-four-thirds-lens-setup.html</guid>
  <pubDate>Fri, 31 Jan 2025 10:46:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Insecure sudo settings in RaspberryPi OS]]></title>
  <description><![CDATA[
<p>
I have a RaspberryPi 5. Since <a href="https://raspi.debian.net/tested-images/">Debian does not supply an image</a> for use with the RPi5 and <a href="https://ubuntu.com/download/raspberry-pi">Ubuntu Server</a> comes with a lot of software I do not want preinstalled, I use RaspberryPi OS Lite and run <a href="https://codeberg.org/einar/installscripts">my own script</a> to set it up with Sway and the other packages I like. It is very similar to Debian even if it adds an extra repo, some settings that are different and a few programs for changing settings, both directly related to the hardware and some that replicate standard tools like localectl, passwd, systemctl enable etc in a more convenient TUI.
</p>

<p>
For a while, I have wondered why I only needed to write my password once when using sudo and then never again. It means that if you are logged in as your user, you have all the privileges of root if you just once wrote your password. It is convenient, but it is like logging in with the root user which is not a very good idea.
</p>

<p>
I had a look at visudo, the command to change the settings for sudo and everything looked quite normal. Except that in the end, the file sources any file in the directory <code>/etc/sudoers.d/</code>. So naturally, I had a look in that directory. There are some files there that cause problems. The first one is <code>010_pi-nopasswd</code> which sets up sudo to never time out the sudo password typed by the first user created on the system.
</p>

<p>
Another is that sudo isn't per shell, terminal or tty, but global. This is in the file <code>/etc/sudoers.d/010_global_tty</code>. Usually, you would have to type your password to get sudo privileges in each terminal, shell or tty, but on RaspberryPi OS, sudo accepts the password I typed once in tty1 in every shell, terminal or tty.
</p>

<p>
Finally, there is a file called <code>010_proxy</code> which accepts sudo from any proxy logged in as the first user, ie since I typed a password once in tty1, any proxy logged in as me doesn't have to type a password ever again to escalate privileges with sudo. Not the best setting either.
</p>

<p>
To mitigate the problem, you should make sure you are added to the sudo group by typing <code>sudo usermod -aG sudo username</code> in a terminal and press return, but replace username with your actual username. This is because we are going to delete the file that lets your users type your sudo password only once, but still want your user to be able to use sudo. The sudoers file on RaspberryPi OS is set up so users in the sudo group can use sudo.
</p>

<p>
Then you should write <code>sudo rm /etc/sudoers.d/010_pi-nopasswd</code> and return to delete the file that gives your user the ability to only type your password once. Continue with <code>sudo rm /etc/sudoers.d/010_global-tty</code> and return to remove the settings that doesn't ask for a new password in every tty, terminal or shell. Go on with <code>sudo rm /etc/sudoers.d/010_proxy</code> and return to avoid proxies not having to write a password. Finally, write <code>sudo visudo</code> and look for a line that says <code>Defaults env_reset</code>. Move your cursor to the end of that line with the cursor keys and hit return to get a new line. Write <code>Defaults timestamp_timeout=5</code> to get a five minute timeout for sudo. Then press ctrl-o, return when it asks for a filename to save to and then ctrl-x to quit Nano. (RaspberryPi OS does not respect your settings for $EDITOR and will use Nano.)
</p>

<p>
My installscript for Debian checks if I am on RaspberryPi OS and does the things I have listed above, except add the timeout in the sudoers file. It is supposed to be edited only with visudo, so I tell the user to do this manually in the end of my script. (It also checks if the user is on Debian or RaspberryPi OS and installs Firefox on RaspberryPi OS and Firefox-ESR (Extended Support Releas) on Debian. (I tried installing Firefox from Debian Unstable first, but there were dpendency problems with that approach.) Emacs is installed from Backports to get then newest one backported to work with Debian Stable, whether you are on RaspberryPi OS or Debian. In the past, I used the Emacs snap, but Emacs from backports is faster and I trust the Debian maintainers more than the proprietary Snap Store. Since Debian has a stricter interpretation of what Free Software is than the FSF, I also have to install the non-free repos to install Emacs documentation.)
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/insecure-sudo-settings-in-raspberrypi-os.html</link>
  <guid>https://einar.codeberg.page/insecure-sudo-settings-in-raspberrypi-os.html</guid>
  <pubDate>Sun, 24 Nov 2024 15:31:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[DOSbox and SDL error on Wayland]]></title>
  <description><![CDATA[
<p>
I tried installing DOSbox tonight to run some old games from the 90s. On first run, I got <code>Exit to error: Can't init SDL No available video device</code> as output in my shell (Shell mode in Emacs). I looked up the SDL packages I had installed and seemed to have everything needed. After an extensive search that did not really give me any solution, I tried something someone in a forum had tried, but in a slightly different way than they did and it worked.
</p>

<p>
I echoed out <code>$SDL_VIDEODRIVER</code> and got <code>wayland</code> as my answer since I run the tiling window manager Sway. I checked to make certain I had xwayland installed and then tried launching DOSbox again with <code>SDL_VIDEODRIVER=X11 dosbox</code> in a terminal and it worked. It will probably work for other programs that use SDL that won't launch on Wayland as well.
</p>

<p>
My search for solutions found a lot of users of different programs that used SDL that had trouble with getting their programs to run and with no credible solution given in any of the forums I visited. I hope this blog post will help people in that situation. Since most of the major desktop environments use Wayland by default now and some of us tiling WM users also use it, these kinds of problems should hopefully be eliminated by developers of most FOSS projects in the not too distant future. X11 has not been under active development since 2012 except for security updates, and Wayland is no longer the future, but has been the present for a long time.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/dosbox-and-sdl-error-on-wayland.html</link>
  <guid>https://einar.codeberg.page/dosbox-and-sdl-error-on-wayland.html</guid>
  <pubDate>Sat, 16 Nov 2024 21:45:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Interactive presentations]]></title>
  <description><![CDATA[
<p>
I often present new material for my students in class. I teach programming and information technology at a vocational school, so I often need to run code as examples of what I am presenting. When a student has a question about how the code works, I can show the answer by tweaking the code and rerun it. I might ask my students something and write down their answers in my presentation as well or I might hand out individual tasks, collect the answers and use the presentation to share the results with everyone on the screen. (We have large 4k touch screens that also have whiteboard functionality in every classroom.)
</p>

<p>
Emacs Org mode is a tool for outlining ideas (and a lot of other stuff like calendaring, todos and project planning) in a pure text markup format with support for inline images and code blocks in almost any programming language. You can run the code blocks when you want or tangle them out to a separate code file a la literate programming. Emacs is extendable and hackable enough that it can be made to work as presentation software. Ric Lister has made an Emacs package called <a href="https://github.com/rlister/org-present">org-present</a> which I use. I make my presentation in org mode as an org file (org markup is similar to markdown), and add the images and code blocks directly within the text with the markup. When I am in class, I run the function org-present to start a presentation.
</p>

<p>
Each top level heading in my org document becomes a slide. I can write directly into the slides while I present them since they are just text files in org markup displayed with larger font sizes and nicer headlines etc, which makes it possible to do things like ask my students something and write down their answers. I can also run code blocks by hitting Ctrl-C Ctrl-C with the pointer above the code block and the results pop up underneath in a separate results block within the text of my presentation. Another advantage is that if I alt-tab into another program like Firefox or Thonny, my presentation within Emacs does not switch out of presentation mode like most presentation software like PowerPoint tends to do. I can come back to my presentation after showing a Youtube video with Firefox and continue where I left off.
</p>

<p>
After class, I export the presentation including code blocks, images and results of running the code to a PDF and put it on our learning platform to make it easy for students not present to see what was happening or for later review before a test or an exam. I have set up org-present to work the way I like with <a href="https://codeberg.org/einar/.dotfiles/src/branch/main/.emacs.d/config.org#headline-39">a bit of code in my Emacs config</a>. I turn on display of inline images and set a standard width that usually works (that I can easily change with some metadata above an image if needed) and use org-present-big to make everything large. I then hook my configuration into the start of org-present and also have a function that resets my configuration that I hook in when org-present is quit. I highly recommend org-present if you want interactivity within your presentations, especially if you already use Emacs and Org mode. It lets me hold interactive presentations presentation software like PowerPoint, Prezi or Keynote cannot.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/interactive-presentations.html</link>
  <guid>https://einar.codeberg.page/interactive-presentations.html</guid>
  <pubDate>Mon, 19 Aug 2024 22:53:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Setting the background wallpaper for Sway and managing music with Emacs]]></title>
  <description><![CDATA[
<p>
I just watched an old video by Luke Smith which gave me the idea that it would be cool to change background in Sway from Emacs. I thought I would use dired and either open an image to see how it looks directly or use image-dired to get a preview of all the images in a folder. I would probably have to make a shell script to do the work and launch it with async-shell-command from an elisp function. It turns out I don't have to do anything. The functionality is already built into Emacs and it even gets which window manager or desktop environment is in use and selects the correct command to change the background for that WM or DE. The documentation tells me this functionality came with Emacs 29.1, at the same time a lot of other improvements were made to image-dired and opening images in general. I used image-dired in 28.2 and the improvements with 29.1 were many and greatly appreciated!
</p>


<figure id="orgf57aafe">
<img src="https://einar.codeberg.page/media/Moon_blue.jpg" alt="Moon_blue.jpg">

</figure>

<p>
A few months ago I did the same type of discovery. I was looking for a way to interact with mpd, the music player daemon, possibly through the command line tool mpc from within Emacs. EMMS and Bongo are often mentioned by people in the Emacs community and I have tried both, but they are both unable to list albums with many artists and/or many recording years as one album. All other mpd players I have tried, both TUI and GUI-based have the same problem, so this is not a unique shortcoming in these packages. Until recently, I have relied on a shell script I wrote that lists all the albums in the mpd database with fzf and lets me select the one I want to play. However, sometimes I don't want to play a whole album, but I still want my music sorted by album since I have been carefully tagging my files so I can easily find music by album.
</p>

<p>
(I kind of had to make a system for album names since having 11 albums named "Bach cello suites" doesn't really help me find the one I like to listen to when I have six different recordings, they usually span two albums and two recordings are by the same artist at different times. Hence, I have made a system that is fine grained enough for me to find the right album without being too detailed to avoid too long album names. For instance, I don't include first name initials of the composer in the album name when I only have one composer with that last name in my database (even if more exist), and I don't list artist in the album name when I have only one recording of a work. Every time I ripped an album, I manually changed the tags to match my system even if MusicBraniz through Rhythmbox and earlier, iTunes, often gave me terrible album names for classical albums when I ripped them, otherwise I would not be able to find anything.)
</p>

<p>
A few months ago, I discovered a built-in mpc mode in Emacs that gave me exactly what I wanted. I could continue to use mpd and mpc to manage my music playback and use mpc mode which looks very much like Rhythmbox, but has the advantage of having all of Emacs' superior keyboard centricity and text handling. I can easily search with C-s for an album name, add it to the playlist and start playing it and then q to quit out of that mode with the music still playing and I am back at whatever I was doing in Emacs before, all without having to lift my hands from the keyboard. It is really convenient. In mpc mode, the albums are correctly listed even when there are many artist and/or years on the same album. Since I can sort my music by album, I can easily also find a single track if I am so inclined.
</p>

<p>
These kinds of discoveries make me love Emacs and the Emacs community. Emacs is hackable enough that if you want some functionality, you can get it. And since the project wasn't started yesterday, someone has often already thought of my use-cases and spent some of their spare time to code up that functionality and often also even gone to the trouble to include it in the editor itself. Thank you!
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/setting-the-background-wallpaper-for-sway-from-emacs.html</link>
  <guid>https://einar.codeberg.page/setting-the-background-wallpaper-for-sway-from-emacs.html</guid>
  <pubDate>Mon, 22 Jul 2024 23:13:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Rapid Photo Downloader Error on Wayland on Arch]]></title>
  <description><![CDATA[
<p>
If you try to run rapid-photo-downloader on Arch on Wayland, you get this error message:
</p>
<blockquote>
<p>
qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
</p>

<p>
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
</p>

<p>
Fatal Python error: Aborted
</p>

<p>
Current thread 0x00007fa0cd669740 (most recent call first):
  File "/usr/lib/python3.11/site-packages/raphodo/ui/viewutils.py", line 975 in any_screen_scaled_qt
  File "/usr/lib/python3.11/site-packages/raphodo/ui/viewutils.py", line 991 in any_screen_scaled
  File "/usr/lib/python3.11/site-packages/raphodo/rapid.py", line 7489 in main
  File "/usr/bin/rapid-photo-downloader", line 33 in &lt;module&gt;
</p>

<p>
Extension modules: PyQt5.QtCore, gi._gi, zmq.backend.cython.context, zmq.backend.cython.message, zmq.backend.cython.socket, zmq.backend.cython._device, zmq.backend.cython._poll, zmq.backend.cython._proxy_steerable, zmq.backend.cython._version, zmq.backend.cython.error, zmq.backend.cython.utils, psutil._psutil_linux, psutil._psutil_posix, gphoto2._widget, gphoto2._version, gphoto2._result, gphoto2._port_log, gphoto2._port_info_list, gphoto2._list, gphoto2._filesys, gphoto2._file, gphoto2._context, gphoto2._camera, gphoto2._abilities_list, PyQt5.QtGui, PyQt5.QtWidgets, PyQt5.QtNetwork, tornado.speedups, PyQt5.QtXml, PyQt5.QtX11Extras, PyQt5.QtWebChannel, PyQt5.QtTest, PyQt5.QtSvg, PyQt5.QtSql, PyQt5.QtQml, PyQt5.QtQuick, PyQt5.QtQuickWidgets, PyQt5.QtPrintSupport, PyQt5.QtPositioning, PyQt5.QtLocation, PyQt5.QtOpenGL, PyQt5.QtDBus (total: 42)
Avbrutt (SIGABRT) (kjerne lagret i fil)
</p>
</blockquote>

<p>
Reinstalling the program does nothing. It turns out that there is a missing dependency. I have spent a lot of time trying to figure this out, but finding the information is hard, so I thought I would help my future self and maybe some others by supplying the fix I have found. It is not, as many suggest online, enough to install <code>Python-PyQt5</code>. It is already a dependency and installed. You need to install <code>qt5-wayland</code> to get it to work. On some distros, you also need to install <code>egl-wayland</code>, while on others, it comes as a dependency of <code>qt5-wayland</code>.
</p>

<p>
This is not just a problem with rapid-photo-downloader. There is a lot of discussion online about this error message with other Qt5 and Qt6 packages from different distros like Debian, Ubuntu and Arch. <code>qt5-wayland</code> is a dependency only if you run Wayland, so maybe that is why it does not come with the package as a dependency even if I think it should. Now that the larger desktop environments are all Wayland by default, I would guess X11 users are the minority of GNU/Linux users. Therefore, Wayland dependencies should come with all packages that need them. Legacy X11 users would probably not worry too much if a small extra package they do not need is installed. If they really worried about bloat, they would not have used X11 in the first place since it is a baroque collection of legacy cruft.
</p>

<p>
<b>Update August 6th, 2023:</b> I have experienced the same issue with Kdenlive on GNU Guix as well. It turns out that both Qt5-wayland (qtwayland@5.15.8 on Guix) and egl-wayland are missing dependencies for Kdenlive for Wayland users.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/rapid-photo-downloader-error-on-wayland-on-arch.html</link>
  <guid>https://einar.codeberg.page/rapid-photo-downloader-error-on-wayland-on-arch.html</guid>
  <pubDate>Tue, 11 Jul 2023 01:11:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Maximize screen real estate]]></title>
  <description><![CDATA[
<p>
Real estate is expensive. Bad room layout can make a large flat seem small. A space with too much furniture can seem small even if it is large and a place with just a few select pieces of furniture can seem large even if it is small. All of this also applies to screen real estate. Especially with smaller laptops with lower resolution displays, it is nice to get as much space as possible for the actual content and waste as little as possible on distracting UI elements that makes the screen seems smaller than it is. By having more space for the actual content, you also minimize scrolling.
</p>

<p>
I achieve max pixel efficiency by using the tiling Window Manager Sway. Since it is a tiler, it automatically places windows in a tiled layout. Compared to working in a floating WM or Desktop Environment, I save a lot of mousing around to move my windows. I have a nice wallpaper, but no icons that clutter up my desktop. I have set up Sway to have 2 pixels of border around each window and no title bar on top to get as much space as possible for the programs I work in. The two pixels are needed to see where one window ends and another starts and also to distinguish between the active window with a red border and the inactive window(s) with a blue border. One pixel was hard to see, so I went for the somewhat wasteful setting of two pixels in stead.
</p>

<p>
I have also set <code>smart_borders on</code> which means that if I have only one window on a virtual desktop, it is without any border at all. This saves four pixels in both directions and looks nicer. I use a small 12 inch Thinkpad X230 with an internal 1366 x 768 pixel display as my main machine and usually just one program per virtual desktop, so the <code>smart_borders</code> make a difference. On my external 2560 x 1440 pixel 25 inch wall mounted screen behind my standing desk, I am more inclined to have two programs side by side if I am actively working on something in one window and just need to look something up or do a related task in another window. Humans are generally worse at multitasking than we think, so I like to separate different tasks on different virtual desktops even on large screens to not get distracted.
</p>

<p>
I do not use a panel on the top or bottom of my screen since this wastes pixels in the directions most screens have the fewest (height). I have set up the built-in Swaybar to autohide. I use scripts launched with keyboard shortcuts for the few things I need that most people keep in their bar or panel, like getting battery status in a notification or turning wifi or bluetooth on or off. A benefit of using scripts launched by the keyboard in stead of a bar with lots of information or system tray applets is that I save mousing around in submenus of my system tray or clicking on my panel to get things done. Since Sway implements the system tray of Swaybar in an xdg standards compliant way, but most programs still use a legacy Gnome implementation, most tray applets do not work anyway and this is what forced me to think closer at what functionality from the system tray I actually needed in the first place.
</p>

<p>
Over time, I have gradually switched out some of the larger GUI programs I used with smaller, simpler, more customizable and easily scriptable tools. Some of them are terminal programs, some are Emacs packages and some are small GUI programs. Many of the small GUI programs also have a minimal GUI that only present a few very useful elements and is otherwise controlled through keyboard shortcuts, like zathura or mpv. By having very few user interface elements, these programs give more room to the actual content you read or watch. The same applies to the TUI programs and Emacs packages I use.
</p>

<p>
Since switching from vim to Emacs, I have integrated some of the tasks I used to do in separate programs into it. Emacs is very efficient since it is so keyboard and text centric and by having fewer programs, I save the cycles my brain would use for context switching with different keyboard shortcuts for different programs. Emacs also has the ability to run both in a GUI which is what I normally use (since it adds support for different fonts in different contexts, pictures and PDFs), but can also be used in a terminal emulator or the tty with most of the same functionality. An example of how I gradually have integrated my workflows into Emacs is that I recently stopped using PCManFM as my file manager and instead now use Emacs' dired and the GNU coreutils in a terminal (inside or outside Emacs).
</p>

<p>
To save space in Emacs, I turn the menubar, toolbar and scrollbar off which saves some pixels on the top and right side of every window. I instead use F10 for the occasional dive into the menu and keyboard shortcuts like C-v and M-v to scroll down or up and M-&lt; and M-&gt; to go the the start or end of a document. I also turn on showing column and line numbers in the modeline and do not turn on line numbers on the start of every line since I can easily find the right line with the modeline if I am debugging something with an error on a specific line. It looks a bit cleaner and saves some space on the left of the screen. Usually, this does not matter much since screens are generally wider than they are tall, but when having three windows with code side by side on a small laptop screen, it can be the difference between having to scroll horizontally or not.
</p>

<p>
All in all, by saving some pixels here and there, I get more space for the content I work with, watch or read while also reaping the efficiency benefits of a more text and keyboard-centric workflow that came as a consequence of having fewer visual clues on screen and using the mouse less. A lot of functionality is not obvious at first sight, but since I have set this up myself and know my keybindings and the available functionality, it works well for me. Sometimes less really is more.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/maximising-screen-real-estate.html</link>
  <guid>https://einar.codeberg.page/maximising-screen-real-estate.html</guid>
  <pubDate>Sun, 11 Jun 2023 12:11:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Offline dictionary lookups within Emacs]]></title>
  <description><![CDATA[
<p>
There is a dictionary-mode in Emacs. It used to be a separate package, but now comes as part of Emacs. The usual way to use it is to <code>(setq dictionary-server "dict.org")</code> in init.el (or equivalents) to tell Emacs to look up dictionary definitions from the internet when used. There are a lot of dictionaries in dict.org. The availability of the full text of the Webster 1913 dictionary within it has been much lauded in the Emacsphere by wordsmiths eager to vary their outpourings' formulations. However, I am not always online. I like to keep as much functionality as possible available to me offline to not become over-reliant on the internet or loose functionality when the internet is unavailable.
</p>

<p>
The solution is simply to install the <code>dictd</code> server and the dictionary packages you want on your computer. In Debian, these are available as <a href="https://packages.debian.org/testing/dictd">dictd</a> and a number of packages that supply <a href="https://packages.debian.org/bookworm/dictd-dictionary">dictd-dictionary</a> for it. In Arch, <a href="https://archlinux.org/packages/community/x86_64/dictd/">dictd</a> is an ordinary package in the community repo, but the dictionaries has to be added through the AUR. The dictd server and related dictionary files are however not available yet for GNU Guix. The Arch Wiki has an excellent page on <a href="https://wiki.archlinux.org/title/Dictd">dictd</a> if you want more information on its usage. Once installed, you can just change the aforementioned <code>dictionary-server</code> variable from <code>"dict.org"</code> to <code>"localhost"</code> and Emacs will find your installed dictionaries. Depending on the distro, you may also have to <code>systemctl enable dictd.service</code> and <code>systemctl start dictd.service</code> to make certain <code>dictd</code> runs at every startup as well as immediately.
</p>

<p>
The selection of freely available Norwegian Bokmål dictionaries is rather slim. I only found an English - Norwegian dictionary that seemed slightly useful to me. I wish there was as Norwegian Bokmål - English dictionary as well since that would sometimes be useful for me even if I have a decent English vocabulary. There are some dictionaries from other European languages to Norwegian Bokmål, but I seldom use other languages than English these days. (I used to play opera, cantatas and masses and then those would have been useful to me.) There is also a Norwegian Nynorsk - Norwegian Bokmål dictionary by <a href="https://freedict.org/">freedict</a>. It could occasionally be useful when I read very old Nynorsk (Landsmaal). I wish there were a comprehensive Norwegian Bokmål dictionary with word definitions, synonyms, IPA pronunciation, example of usage and expressions. I would use it especially for synonyms and spelling. Since I have lived and worked some years in Denmark and Sweden, my Bokmål spelling isn't as good as it used to be, and ten years of using English as my working language after I returned to Norway did not really improve it either. I naturally blame the morons in the government of Denmark-Norway that decided to support Napoleon for all my current spelling troubles. Or maybe the Swedes that broke up the Kalmar Union should ultimately be to blame? Ok, maybe I need to take some responsibility myself as well&#x2026;
</p>

<p>
American English is well covered by the GNU version of the Collaborative International Dictionary of English (<code>dict-gcide</code>) that includes the full text of the 1913 Webster's Unabridged Dictionary, the 1906 Century Dictionary and some other additions. I also installed WordNet (<code>dict-wn</code>) for synonyms. There are also some good computer term dictionaries like the Jargon File (<code>dict-jargon</code>), Virtual Entity of Relevant Acronyms (<code>dict-vera</code>) and the Free On Line Dictionary of Computing (<code>dict-foldoc</code>) available. I miss a dictionary with both British and American spelling and also IPA pronunciation since I try to stick with British spelling and RP. It is a pity that Oxford University Press do not release the Oxford English Dictionary or my favourite, the Oxford Advanced Learner's Dictionary, under a free culture license so it could be included as well. I have the Advanced Learner's Dictionary as a paperback in my bookshelf, and there is a website with it available gratis, but leaving Emacs breaks my flow when writing, the internet is not always available and my paperback is only available in my home. In my opinion, a university should use free culture and software licenses for everything they produce since when public money is used, it is only fair that the tax-payers get access to the works they funded. Also, the freedom to use, study, modify and share information should be the core values of any school or university.
</p>

<p>
I use both M-x <code>dictionary-search</code> and M-x <code>dictionary-lookup-definition</code>. The former lets you write in a search term while the latter looks up the word at point. The latter is obviously very useful while reading while the former may be more useful when writing, except if you want to find a synonym while revising your text where the latter becomes useful again. There is no need to change dictionary language for <code>dictionary-mode</code> unless you have installed too many dictionaries or dictionaries of languages with a lot of collision of vocabulary and spelling. Norwegian and English share a lot of vocabulary, but seldom collide in spelling, so I see no need to exclude any of the relevant dictionaries in either language. If you are overwhelmed with hits, it is possible to change dictionary inside the dictionary-mode buffer to limit the number of entries you get.
</p>

<p>
Combined with recently setting up <code>flyspell-prog-mode</code> for <code>prog-mode</code> and <code>flyspell-mode</code> for <code>text-mode</code> and <code>(setq ispell-dictionary "british")</code> in my init.el, I now feel more confident than before when writing text in Emacs, whether in code or not. (Dictionaries for lookup with dictionary mode and dictionaries for spell checking are separate and aspell or hunspell has to be installed with relevant dictionaries on your distro for ispell-dictionary to be set to the language you want for spell checking.) It's nice with spell checking for variable names and comments. Maybe I should add a toggle function with a keybinding for <code>ispell-local-dictionary</code> between "british" and "nb" to avoid having to use <code>ispell-change-dictionary</code>.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/offline-dictionary-lookups-within-emacs.html</link>
  <guid>https://einar.codeberg.page/offline-dictionary-lookups-within-emacs.html</guid>
  <pubDate>Sat, 29 Apr 2023 00:42:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[I Love Free Software Day]]></title>
  <description><![CDATA[
<p>
I want to thank all the developers, contributors, translators, designers and project leaders who have given me so much great software on <a href="https://fsfe.org/news/2023/news-20230126-01.html">I Love Free Software Day</a>! I also want to thank a harpsichordist from Bergen who many years ago showed me that GNU/Linux was a good alternative to Windows or MacOS. Even though I did not do anything about it at the time, some years later, curiosity led me to try out various GNU/Linux distros in VirtualBox on my Mac and that was the start of a gradual transition from Mac OS to GNU/Linux. I already used some free software like LibreOffice, Firefox and Thunderbird on my Mac and that helped ease the transition.
</p>

<p>
<a href="https://fsfe.org/freesoftware/freesoftware.html">Free Software</a> is about freedom. In practical terms for a normal user, it is very obvious how the users' interests is important for free software projects while non-free software often is more about forcing the users into usage patterns that strengthen the corporate interests of their creators even if it makes for a worse user experience. An example is how Microsoft tries to force people to use Bing, Edge and MSN by not respecting the user's browser and search engine settings when doing a web search from the start button in Windows 11. It makes advertising money for Microsoft, but it is very user-hostile, especially since the users already paid for Windows as part of the cost of their machine. This is just one small example, but there are many more.
</p>

<p>
I also like how I can help improve free software by contributing to projects I like. I have contributed money, bug reports, translations, feature requests and a bit of very simple code, and hope to do more of this in the future. It is also possible to influence the direction of a free software project by contributing to it. This puts the most active users in the driving seat. In a worst case scenario where a project goes in a direction people dislike, it is possible to create a fork since free software licenses give the freedom to modify a program and distribute your changes. A famous example is how OpenOffice was forked to create LibreOffice which is now the default Offie suite on most GNU/Linux distributions. (OpenOffice is no longer actively maintained.)
</p>

<p>
I also like how Free Software empowers me as a user to customize it to my liking and learn how to programme in the process. With Free Software, my computer is personal again. Not only can I choose between a lot of desktop environments or window managers to match my preferred workflow, I can also customize these further to my liking. While I prefer a tiling window manager with a keyboard-centric workflow without any panel or bar for maximum screen real estate for my programmes and a minimum of mouse clicks and movement to get things done, other people prefer a full desktop environment either of the more traditional type or a reimagination with new user interfaces like Gnome. GNU/Linux is modular enough to give us those choices by design.
</p>

<p>
GNU Emacs is another piece of software that is very customizable and when you customize it, you also learn how the code of the program itself works since you customize it in the same language as it is made with by adding your own functions and modifying built-in variables. The documentation of the program is very helpful for learning how to do this. It was the first programme made by the GNU project and a prime example of the freedoms of free software put into practice.
</p>

<p>
All in all, free software has empowered me as a technology user and put me in control of my own use of technology. It has also freed me from giving up my privacy, which is usually the cost of "free" non-free software.
</p>

<p>
Happy I Love Free Software Day!
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/i-love-free-software-day-2023.html</link>
  <guid>https://einar.codeberg.page/i-love-free-software-day-2023.html</guid>
  <pubDate>Tue, 14 Feb 2023 23:39:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Elfeed with useful scripts]]></title>
  <description><![CDATA[
<p>
<a href="https://melpa.org/#/elfeed">Elfeed</a> is an RSS feed reader package for <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>. RSS is a standard for getting content like podcasts, video channels from LBRY and Youtube, Mastodon and Twitter, blog entries, news articles etc from the web without using a browser. Before I started using elfeed, I used Newsboat, a terminal program, as my RSS reader. I was inspired by <a href="https://odysee.com/@NapoleonWils0n:6">Napoleon Wils0n</a> to add scripts to Newsboat so I could launch videos from RSS feeds directly in mpv or download them with youtube-dl (and later yt-dlp). After I started using Emacs, I wanted to try to integrate most of my computing into it and I looked at the two built in feed readers before trying the highly recommended elfeed package. I liked it, so the next step was to find a way to get the same functionality I had in Newsboat in elfeed.
</p>

<p>
I don't know Elisp well enough to script this myself yet, so I looked online. I read up on the documentation for elfeed on GitHub and also found some inspiration on Reddit that I tweaked to make some elisp scripts to be able to hit m if I want to watch a video in mpv and M if I want to download it with yt-dlp to my "Nedlastinger" (Downloads in Norwegian) folder. I tried a couple of different solutions before I was able to get what I wanted. The suggestion from Reddit was to use start-process to launch an external process with the url from the entry as its argument. That worked well with mpv. For yt-dlp that was less successful and I also wanted to change directory to ~/Nedlastinger before launching the yt-dlp process so I read up on how to run shell-commands asyncronously and used that functionality instead. I also made certain that any shell command run asyncronously doesn't display a new window. (A "window" is a split  within an Emacs "frame" (an X11 window) in Emacs parlance. Emacs is from before the Macintosh introduced the desktop metaphor's now common vocabulary (that Microsoft later copied in Windows), so it uses its own vocab for these concepts.) The reason why there are two scripts for each functionality is that I can use those keyboard shortucts both inside the view where you show the specific entry and in the view where you see all entries while one is selected.
</p>

<div class="org-src-container">
<pre class="src src-elisp"><span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Dette gj&#248;r at Async Shell Command ikke vises hver gang man kj&#248;rer en shell kommando med &amp; fra inne i Emacs 
</span>(add-to-list 'display-buffer-alist
  (cons <span style="color: #79a8ff;">"\\*Async Shell Command\\*.*"</span> (cons #'display-buffer-no-window nil)))

<span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Gir meg muligheten til &#229; bruke m i elfeed for &#229; &#229;pne en rss entry i mpv
</span>(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">browse-url-mpv</span> (url <span style="color: #6ae4b9;">&amp;optional</span> single)
  (start-process <span style="color: #79a8ff;">"mpv"</span> <span style="color: #79a8ff;">"*mpv*"</span> <span style="color: #79a8ff;">"mpv"</span> url))

(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-show-mpv-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with mpv"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'browse-url-mpv))
    (elfeed-show-visit use-generic-p)))

(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-search-mpv-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with mpv"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'browse-url-mpv))
    (elfeed-search-browse-url use-generic-p)))

(define-key elfeed-show-mode-map (kbd <span style="color: #79a8ff;">"m"</span>) 'elfeed-show-mpv-open)
(define-key elfeed-search-mode-map (kbd <span style="color: #79a8ff;">"m"</span>) 'elfeed-search-mpv-open)

<span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Gir meg muligheten til &#229; bruke M i elfeed for &#229; &#229;pne en rss entry i yt-dlp
</span>(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">browse-url-ytdlp</span> (url <span style="color: #6ae4b9;">&amp;optional</span> single)
  (shell-command (concat <span style="color: #79a8ff;">"cd ~/Nedlastinger &amp;&amp;"</span> <span style="color: #79a8ff;">"yt-dlp -f 'bestvideo[height&lt;=720]+bestaudio/best' "</span> url <span style="color: #79a8ff;">" &amp;"</span>)))

(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-show-ytdlp-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with ytdlp"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'browse-url-ytdlp))
    (elfeed-show-visit use-generic-p)))

(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-search-ytdlp-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with ytdlp"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'browse-url-ytdlp))
    (elfeed-search-browse-url use-generic-p)))

(define-key elfeed-show-mode-map (kbd <span style="color: #79a8ff;">"M"</span>) 'elfeed-show-ytdlp-open)
(define-key elfeed-search-mode-map (kbd <span style="color: #79a8ff;">"M"</span>) 'elfeed-search-ytdlp-open)
</pre>
</div>

<p>
Those scripts worked fine for video channels from LBRY and Youtube, but not for podcasts which use an enclosure url to give the url to the actual episode's video or audio while the general url field in the RSS entry is used for show notes. I tried searching for variables within elfeed with the built in self-documenting features of Emacs, but did not fully understand how to find the enclosure url. After some searching aorund the internet, I found a way to get the enclosure-url and recycled most of my previous code again with the new url to make two functions making it possible for me to listen/watch a podcast with mpv by hitting P and downloading it with yt-dlp with K. I only implemented this for one of the two views.
</p>

<div class="org-src-container">
<pre class="src src-elisp"><span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Gir meg muligheten til &#229; bruke P i elfeed for &#229; &#229;pne en podcast (enclosure) i mpv
</span>(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-show-play-enclosure</span> (enclosure-index)
  (<span style="color: #b6a0ff;">interactive</span> (list (elfeed--enclosure-maybe-prompt-index elfeed-show-entry)))
  (<span style="color: #b6a0ff;">let</span> ((url (car
              (elt
               (elfeed-entry-enclosures elfeed-show-entry)
               (- enclosure-index 1)))))
    (start-process <span style="color: #79a8ff;">"mpv"</span> <span style="color: #79a8ff;">"*mpv*"</span> <span style="color: #79a8ff;">"mpv"</span> url)))

(define-key elfeed-show-mode-map (kbd <span style="color: #79a8ff;">"P"</span>) 'elfeed-show-play-enclosure)

<span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Gir meg muligheten til &#229; bruke K i elfeed for &#229; laste ned en podcast (enclosure) med yt-dlp
</span>(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-show-dl-enclosure</span> (enclosure-index)
  (<span style="color: #b6a0ff;">interactive</span> (list (elfeed--enclosure-maybe-prompt-index elfeed-show-entry)))
  (<span style="color: #b6a0ff;">let</span> ((url (car
              (elt
               (elfeed-entry-enclosures elfeed-show-entry)
               (- enclosure-index 1)))))
    (shell-command (concat <span style="color: #79a8ff;">"cd ~/Nedlastinger &amp;&amp;"</span> <span style="color: #79a8ff;">"yt-dlp -f 'bestvideo[height&lt;=720]+bestaudio/best' "</span> url <span style="color: #79a8ff;">" &amp;"</span>))))

(define-key elfeed-show-mode-map (kbd <span style="color: #79a8ff;">"K"</span>) 'elfeed-show-dl-enclosure)
</pre>
</div>

<p>
I have set my default browser with my environment variables to Firefox and even though I like Emacs' built in browser eww a lot for text-based content with the occasional picture, I want to keep Firefox as my default browser for now. However, when I read an RSS entry in elfeed and it does not supply the full blog post, it is nice to stay within Emacs and read the linked blog post with eww instead of launching a heavy external browser. So I had to make two functions for the two view modes for that as well. So for those RSS feeds that do not supply the full content, I just hit B and the content opens up in eww. There is built in functionality to open the linked content in the default browser by hitting b in elfeed, so whenever I want or need to open the content in Firefox, I just hit b. For some content that is dependent on JavaScript or is full of media, I sometimes use that built in function, but usually, I use B instead.
</p>

<div class="org-src-container">
<pre class="src src-elisp"><span style="color: #ff9f80;">;; </span><span style="color: #ff9f80;">Gir meg muligheten til &#229; bruk B i elfeed for &#229; &#229;pne en rss entry i eww
</span>(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-show-eww-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with eww"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'eww-browse-url))
    (elfeed-show-visit use-generic-p)))

(<span style="color: #b6a0ff;">defun</span> <span style="color: #feacd0;">elfeed-search-eww-open</span> (<span style="color: #6ae4b9;">&amp;optional</span> use-generic-p)
  <span style="color: #9ac8e0;">"open with eww"</span>
  (<span style="color: #b6a0ff;">interactive</span> <span style="color: #79a8ff;">"P"</span>)
  (<span style="color: #b6a0ff;">let</span> ((browse-url-browser-function #'eww-browse-url))
    (elfeed-search-browse-url use-generic-p)))

(define-key elfeed-show-mode-map (kbd <span style="color: #79a8ff;">"B"</span>) 'elfeed-show-eww-open)
(define-key elfeed-search-mode-map (kbd <span style="color: #79a8ff;">"B"</span>) 'elfeed-search-eww-open)
</pre>
</div>

<p>
Comparing my present elfeed setup with my former Newsboat setup, one thing that is much nicer with these scripts and elfeed is that I don't have to use an external program for podcasts. Newsboat comes with podboat which is intended for use as a podcatcher after you have qued up the content within Newsboat. That process always felt cumbersome and I actually didn't use it because of that. With elfeed and a few scripts, I have all kinds of feeds within the one reader and use a few different keyboard shortcuts to get everything done that I want. Another nice thing with elfeed is its search functionality which is very powerful.
</p>

<p>
My Emacs journey is still in its infancy, but the more I delve into Emacs, the more I like it. It's powerful, personal and pleasant. Emacs extends the hackability of GNU/Linux further by allowing you to tweak not only your DE or WM through configuration and shell scripts, but also the program you do most of your tasks inside. Integrating more functionality into Emacs means less friction and context switching between different tasks. Thus far, I have only integrated RSS reader, email, pdf document creation (org mode with latex export to pdf), blogging (org mode and org-static-blog), some web browsing (Firefox is still my default browser, but I use eww more and more), note-taking in org mode (I used to use vim and markdown) and of course general text-editing.
</p>

<p>
It's interesting how much faster for instance navigating around my emails is in mu4e within Emacs than in Thunderbird which was my previous email program. I think the reason is that Emacs is both text and keybord-centric (while also allowing for mouse use if you are so inclined). Elfeed has also become more useful than Newsboat used to be for me since I now also use it for podcasts. The hackability of Emacs means you can add functionality you want or customize things to your own preferences easily. Emacs also uses less system resources than other programs while doing more. Fewer resources means less power use and longer battery life on laptops. You can save money and possibly also CO2 emissions if your electicity is produced in environmentally unfriendly ways.
</p>

<p>
I see Emacs as the ultimate step in my gradual move towards less resource usage for my computing that started when I switched from Mac OS X to GNU/Linux in 2011, moved to a light-weight desktop environment (LXDE and later LXQt), then to even lighter weight window managers, gradually switched some GUI programs with terminal programs and scripts and then in the end the gradual integration of many tasks into Emacs. (I did this mainly out of curiosity, but I have reaped other rewards like less resource usage and more freedom as well.) If you see Emacs as only a text editor, then it is more resource hungry than vim (but less than VSCode), but if you see it as what it is: an integrated, hackable computing environment, then it is less resource hungry than the combination of programs you would use to do the same tasks. It is also the ultimate expression of the FSF's ideal of empowering users through the use of free software. I am definitively going to delve deeper into Emacs in the months to come.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/elfeed-with-useful-scripts.html</link>
  <guid>https://einar.codeberg.page/elfeed-with-useful-scripts.html</guid>
  <pubDate>Sat, 26 Nov 2022 12:20:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Vim vs Emacs for fast text editing]]></title>
  <description><![CDATA[

<figure id="orgaafa64a">
<img src="https://einar.codeberg.page/media/vimvsemacs.jpg" alt="vimvsemacs.jpg">

</figure>
<div id="outline-container-orga04243f" class="outline-2">
<h2 id="orga04243f">Introduction</h2>
<div class="outline-text-2" id="text-orga04243f">
<p>
I used vim for 2 years and got it into my muscle memory before my Emacs curiosity led me to try out GNU Emacs in the spring of 2022. Many people say vim is the faster text editor, but Emacs is wonderfully extensible. After having used both, I don't think vim is faster than Emacs, so I am going to show how many consecutive key presses you need to accomplish some common tasks in both and compare. Of course, you can use evil-mode in Emacs and edit text the vim way, but I am comparing the usual non-evil default keybindings of Emacs with the defaults in vim. There is also the common halftruth about crazy key chords in Emacs contra simple one-key presses in vim. This is true for many workflows, but not so much for actual text editing. For text editing, the keyboard shortcuts in Emacs are usually just a modifier key plus an alphanumeric key.
</p>

<p>
I believe that pressing two keys at once takes the same amount of time as pressing one key. I call both "a keypress". On the other hand, pressing three keys consecutively takes three times longer than pressing three keys at once because you have to depress one key, lift up your finger, then depress the next key, lift your finger and then depress the next key and lift your finger. Therefore the actual speed of editing is determined by the number of consecutive keypresses to get something done, not the total number of keys depressed. As an example, I often press C-c C-, s (Ctrl-C Ctrl-, s) to insert a code block in org mode which is three consecutive key presses and a total of four keys (I hold Ctrl down from the time I start pressing c until I have finished pressing ,). This could have been faster if it involved fewer consecutive keypresses even with the same amount of totalt keys, like for instance the keypress C-M-S-, (Ctrl-Alt-Shift-,) which is just one keypress, but also four total keys. My point is that when thinking about the speed of editing, it is the number of consecutive keypresses that matter, not how many keys you press at once (although fewer is less akward for the hand).
</p>

<p>
In this blog post, I will use Emacs symbols for keybindings in Emacs where C = Ctrl, M = Meta (Alt or press and release Esc), S = Shift and s = super (Windows/Tux/Purism/Apple Commmand Key/&#x2026;). Emacs keybindings are generally written with a dash when pressed together and with a space in between when consecutive, for instance M-b C-p means Alt and b pressed at the same time and then Ctrl and p pressed at the same time. When the same modifier key is used for two consecutive key presses, it does not have to be released like the example above with C-c C-, s shows. When writing about Vim, I will use Esc for Escape and use no space between consecutive keypresses which is the usual vim way, for exampel 2gj for the three consecutive keypresses 2, g and j. All other glyphs just represent themselves.
</p>
</div>
</div>
<div id="outline-container-org220c191" class="outline-2">
<h2 id="org220c191">Comparison of keypresses for common editing tasks</h2>
<div class="outline-text-2" id="text-org220c191">
<p>
Before starting to write anything in vim, you have to press i (or a or o etc). In Emacs, you just start writing. That's one keypress for vim and zero for Emacs. After you have written a sentence, maybe you want to move back and do an edit. Let's say you want to move to the start of the sentence you just wrote and add something in front of the first sentence. In vim you would press Esc to get to normal mode and then 0 to move to the start of the line (not necessarily the line you see on screen, but the start of the chunk of text since the last newline character) and then you would have to press i. In Emacs, you would press C-a (or M-a if the sentence is longer than one visual line) and start to write. In vim, you would need three consecutive key presses and in Emacs one before you started to write your new first sentence. After you have written your new sentence, maybe you want to go to the end of your paragraph and add something. In vim, you would press Esc, then A and then start to write. In Emacs, you would press C-} and then start to write. Again, vim has two consecutive keypresses and Emacs has one before writing.
</p>

<p>
Maybe we want to move two visual lines up and correct the misspelling of the word "icnonsequently" next. The word is two visual lines up, but starts four columns (four letters) to the left of where we are now. In vim, you would press Esc to get to normal mode, then 2gk (that is not one keypress, but three consecutive key presses) and then 3h (two key presses), then d, l, i and c, which is 1 + 3 + 2 + 1 + 1 + 1 + 1 = 10 consecutive key presses. In Emacs, you would press C-2 C-p (or C-p C-p) (two consecutive key presses to move up two visual lines since Emacs works on those), then C-2 C-b, then C-t (to use the function transpose chars with the cursor at the third letter), ie 5 consecutive key presses.  
</p>

<p>
I could probably think of more examples, but the point is that for most edits, Emacs demands fewer consecutive key presses than vim. You can check out <a href="https://emacsrocks.com/">Emacs Rocks'</a> episode 3 and 4 where Emacs is faster than vim for a couple of Vim golf tasks. Protesilaos Stavrou has also made <a href="https://www.youtube.com/watch?v=oLY-X5BMjc8">a video</a> where he shows off Emacs Macros for solving Vim Golf tasks. I think most of these are faster than vim as well. There are probably more examples floating around the internet if you care to find them.
</p>
</div>
</div>
<div id="outline-container-org7e595c1" class="outline-2">
<h2 id="org7e595c1">How can vim be slower than Emacs? Everyone think it is the opposite&#x2026;</h2>
<div class="outline-text-2" id="text-org7e595c1">
<p>
The reason why we get more consecutive key presses and spend more time to get from one point to another and start writing in vim is because of the modal editing. Since we constantly have to hit Esc to get to normal mode before moving around and then hit a, o, i, r, c, A, O, C or I before actually getting to start typing our text, we generally need two or at least one (when combining movement and getting into insert mode like with A) more consecutive keypresses for moving around and starting to write in vim than in Emacs. Even if you count the total number of keys depressed and disregard that it is faster to press two keys at once than to press the same two keys after each other, Emacs usually ends up with fewer total number of keys pressed for doing the same edits.
</p>

<p>
Modal editing, as shown above, is slower since you have to go in and out of modes. In addition, it is very unlike any workflow most of us have ever used before, which means that it takes more time to learn text editing in vim than to learn text editing in Emacs. As someone who has spent time learning both vim and Emacs, I found vim to have a much steeper learning curve for text editing. The people that say vim is intuitive on the internet are lying to seem leet. Emacs can also do everything else than text editing, so you can continue to learn Emacs after your muscle memory has adjusted to its text editing workflow and that is the reason why many people think Emacs is hard to learn, but for text editing, it is easier to learn than Vim. Most Emacs users were (Neo)Vim users in the past, but there are very few (Neo)Vim users that were Emacs users. I think this means that when Vim users try Emacs, they never go back.
</p>

<p>
Both vim and Emacs have good tutorials that you should spend some time with when trying them out for the first time, but for vim, I felt like I had to go back to the tutorial a lot of times before I really mastered the concepts of modal editing and the keyboard shortcuts for doing things. When I finally made my own vim cheat sheet for my Norwegian keyboard layout and hung it on the wall underneath my screen, I finally started to get its keyboard shortcuts into my muscle memory. With Emacs, I felt that the text editing keyboard shortcuts were more intuitive and easier to learn and remember since many of them are mnemonic.
</p>
</div>
</div>
<div id="outline-container-orgd74c181" class="outline-2">
<h2 id="orgd74c181">Conclusion</h2>
<div class="outline-text-2" id="text-orgd74c181">
<p>
The joke that Emacs is a good operating system that just lacks a good editor is just a joke. It is a slightly faster text editor than vim and it is easier to learn for text editing because of its non-modal nature. There are other reasons for choosing a text editor than text editing speed, like using the same tool as your colleagues or fellow students, having the possibility to do more things within a hyper-efficient text-centric interface or having a tool that is very minimal. I think both (Neo)vim and Emacs are good choices for investing some time into learning since they both have strong communities that will make sure they will be around for fitfy years more. Even if you use a GUI-centric editor as your main editor, you will probably be in a situation where you need to edit a configuration file from at tty and then vim and Emacs are readily available where the GUI-centric editors are unusable. Nano is an option, but it is very inefficient compared to vim and Emacs, although it is a lot more noob-friendly since it lists the most used keyboard shortcuts inside the window.
</p>

<p>
Both editors demand a bit of configuration and going through a tutorial to learn how to do basic text editing in them which is a different approach than many of the newer GUI-centric editors with more of a one-size-fits-all approach with or without extensions that may tweak things a little, but not a lot. I think those editors are short term solutions that will disappear when the priorities of the companies or individuals who make them change, like Atom exemplified. Another reason they are not long-term solutions is that they will get enshittified by the companies that make them to nudge/force you to use their other services or to harvest your data. An example is how VSCode integrates with GitHub, but not other git forges, how it gathers telemetry (probably for LLMs as well as for usage statistics) and how it promotes GitHub Copilot over other LLM tools. Microsoft's marketing of it as open source is of course <a href="https://code.visualstudio.com/license">a lie</a>. Long term Emacs users remember other editors coming and going while Emacs and ed forks (ex, vi, vim, NeoVim&#x2026;) where always there. In the end, you choose the tools that work the best for you. Just don't lie and say you use vim because it is faster if you haven't given Emacs with default keybindings a try.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/vim-vs-emacs-for-fast-text-editing.html</link>
  <guid>https://einar.codeberg.page/vim-vs-emacs-for-fast-text-editing.html</guid>
  <pubDate>Sat, 27 Aug 2022 18:27:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[I now use org-static-blog to create this blog]]></title>
  <description><![CDATA[
<p>
I have moved from WordPress to Hugo to nothing and now on to <a href="https://github.com/bastibe/org-static-blog">org-static-blog</a> to create this blog. One reason to move to org-static-blog is that I have switched from using vim to using GNU Emacs as my text editor. When I used Hugo, I wrote my blog posts in vim and Hugo made it into a bunch of static pages that I uploaded to my webserver. Hugo has many features, like themes, RSS feeds, tags etc and is very practical to use if you use markdown on a regular basis. Since I was a vim user, my idea was to use markdown for everything and use Hugo for my website and pandoc to convert my .md files into LaTex-styled PDFs, LaTex Beamer presentation PDFs, ODTs and the occasional .docx when needed. I converted most of my older documents to .md and worked like this for a while. Then my Emacs curiosity got the better of me, and this spring, I started dipping my feet into Emacs.
</p>

<p>
I soon realised the power of Org Mode and that it could replace my former markdown workflow with practical features like automatic tables, lots of easy to use keyboard shortcuts for creating the .org markup syntax and very easy exporting to all the aforementioned formats plus many more. Not to mention that it is also a calendaring and todo-system, that you can use for literate programming, that it can also be used for journaling, a personal note taking system with reverse-linking etc. Naturally, I have been looking for a way to write my blog posts in Org Mode as well. Many people use Hugo and just convert their .org files to .md files with the emacs package ox-hugo. To me, this seems to be one step more than what I would actually like to do and what is actually necessary. After the war in Ukraine started, I left my website with just a static HTML page, but I have recently wanted to get back into blogging. I had started to work on making a program to make a static site from a bunch of .org files when I discovered the Emacs package org-static-blog that did the same. My plan with my program was to make it first in Bash Shell since I am more familiar with that language and then move it to Elisp for easy integration with Emacs later. Org-static-blog made all that work unneccessary.
</p>

<p>
Org-static-blog makes a nice index page with a blog-roll of the newest pages, an archive page and an RSS feed. You may also add links to other static pages you would like to include. If you use the tags feature, you can also get RSS feeds for each tag. Personally, I want to just keep things simple for now and have opted out of that feature. To make a new post, you just write an .org file with a title and date and optionally also a description and file tags metadata on the top and then just write your content. Each .org-file becomes a blog post. You can also use org-static-blog-create-new-post to automatically make that document with the correct tags for you which is nice for people like me that have yet to start using metadata heavily in Org files and would enjoy a helping hand with that.
</p>

<p>
When you are ready to publish your blog, you just run org-static-blog-publish in Emacs, and org-static-blog spits out all the HTML-files you need in your chosen export folder. To make the site look nice, you should make a style.css file that you put into your export folder and link to it in your header as described in the README. There are no themes, but the author links to his own website's Git repo where you can grab his style.css and tweak it to your own liking. As a dark mode lover that also likes to keep things simple, I have opted for a simple black and white look with the occasional light blue for links. The CSS styling is set it and forget it, so after the initial tweak, you are good to go. Just org-static-blog-publish and upload your static files to your website and there you go.
</p>


<figure id="orgf70cb09">
<img src="https://einar.codeberg.page/media/org-static-blog.jpg" alt="org-static-blog.jpg">

</figure>

<p>
The advantage of using a static site generator over something dynamic is faster load times and easier access to content for non-JavaScript enabled users. Not having unecessary JavaScript running just to show some content that is easily accessible without it also saves power for the site visitors which is good both for the environment and their economy and especially important when Europe is going through an energy crisis caused by Putin's invasion of Ukraine and energy war with Europe.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-emacs.html">emacs</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[emacs]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/i-now-use-org-static-blog-to-create-this-blog.html</link>
  <guid>https://einar.codeberg.page/i-now-use-org-static-blog-to-create-this-blog.html</guid>
  <pubDate>Thu, 04 Aug 2022 12:54:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Migration to Hugo]]></title>
  <description><![CDATA[
<p>
This is just a short blog post to tell you why things look differently on this site now than it used to. I used to use WordPress to manage the site. WordPress is nice because it gives you a nice GUI to manage everything, lots of nice templates to choose from for a nice layout of the site and many plugins available for extra features like contact
forms, comments and whatever else you may imagine.
</p>

<p>
There are however a few negative sides of using WordPress as well. Since a lot of sites around the web use WordPress, the login for any WordPress site gets constantly hammered by bots trying to break in. The security of plugins might vary. I get a constant flow of spam from my contact form. Since WordPress is quite complex and dynamically fetches content from its database as you view the site, sites using it are a bit slower to load than static sites where all content is stored in files on the server. Usually, this doesn't matter, but for people on slow connections or using text based browsers, it can make a difference. It can also matter if a site gets lots of traffic.
</p>

<p>
Hugo is a static site generator. I first heard of it in a video by Bryan Lunduke on LBRY. What Hugo does is that it makes it easy to write content in Markdown, pick a theme for the website and generate the files for a static site from it. You just upload those files to your web host and then you have your site. You get the speed of a static site, but the advantage of not having to make all the cod manually. It is sort of a best of both worlds approach where you get the conveniance of a CMS (Content Management System) with the speed and security of a static site. Hugo can even make an RSS feed out of your static site so people can follow you without having to visit your site all the time.
</p>

<p>
Making the content with markdown is smart because markdown is pure text that you can edit in any text editor on any device. It also appeals to me that I can make the content locally on my machine, spit out the static site, have a look at it with Hugo's built in web server and do any necessary changes before uploading it to my web host. I often revise things after seeing the end result, and maybe I can improve my content before uploading by having the ability to see the end result before it is online. I know I can do this with drafts in WordPress, but drafts are also online when using WordPress and they are included in RSS feeds before actually being posted (which I think many news sites around the internet is not fully aware of).
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/migration-to-hugo.html</link>
  <guid>https://einar.codeberg.page/migration-to-hugo.html</guid>
  <pubDate>Sun, 07 Jun 2020 13:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[A script to play radio streams through mpv]]></title>
  <description><![CDATA[
<p>
<b>Update 2022: You can find this script as well as some others at <a href="https://codeberg.org/einar/scripts/">https://codeberg.org/einar/scripts/</a>.</b>
</p>

<p>
<a href="https://einar.codeberg.page/media/radio_stream_script.mp4">In this video</a>, I show <a href="https://codeberg.org/einar/scripts/src/branch/main/radio.sh">a script</a> I have made to play radio channels through mpv after having selected which channel to listen to through bemenu.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/a-script-to-play-radio-streams-through-mpv.html</link>
  <guid>https://einar.codeberg.page/a-script-to-play-radio-streams-through-mpv.html</guid>
  <pubDate>Tue, 28 Apr 2020 20:04:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Emulating a G4 Mac on GNU/Linux]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/media/EmulatingG4Mac.mp4">In this video</a>, I show you how to emulate a G4 Mac on GNU/Linux by using QEMU.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/emulating-a-g4-mac-on-gnu.html</link>
  <guid>https://einar.codeberg.page/emulating-a-g4-mac-on-gnu.html</guid>
  <pubDate>Mon, 16 Mar 2020 03:48:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[My minimal Sway desktop]]></title>
  <description><![CDATA[
<p>
I have made <a href="https://einar.codeberg.page/media/Minimal_Sway.mp4">a video</a> where I show off my minimal sway desktop.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/my-minimal-sway-desktop.html</link>
  <guid>https://einar.codeberg.page/my-minimal-sway-desktop.html</guid>
  <pubDate>Thu, 05 Mar 2020 16:45:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[My Openbox Desktop]]></title>
  <description><![CDATA[
<p>
I used to use LXDE and later LXQt as my desktop environment on Linux, but recently, I have switched to the Openbox Window Manager instead. I made a video about how I use it that I uploaded to LBRY. There are lots of videos of how people use tiling WMs. Most videos with Openbox uses it in a #!-inspired way with tint2 and conky, but since my use of it is
quite different, I thought I would share how I use it and maybe someone might be inspired to use it the same way.
</p>

<p>
In the video, I don't go into the rc.xml since the default is quite good and I have only added a few things to get volume keys and brightness keys to work in addition to a few keyboard shortcuts, but I show how you can use synapse for launching apps through the keyboard and stalonetray for a systemtray in the built in "dock" feature of Openbox.
</p>

<p>
Link to video <a href="https://einar.codeberg.page/media/My-Openbox.mp4">here</a>.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/my-openbox-desktop.html</link>
  <guid>https://einar.codeberg.page/my-openbox-desktop.html</guid>
  <pubDate>Thu, 13 Feb 2020 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How to install Steam on Ubuntu]]></title>
  <description><![CDATA[
<p>
For some strange reason, installing Steam directly from the Software Centre doesn't always work, and I have often had to look it up. Someone needs to put in the logic to add i386 repositories and enable the partner repositories before trying to install Steam from the Software Centre.
</p>

<p>
There are lots of different advice out there and not all of it actually works, so I thought I would write a blog post to remember how to do it and possibly help others with the same problem. This worked for me in Ubuntu 19.10 and Ubuntu 18.04 and it will probably work in future versions like Ubuntu 20.04 as well.
</p>

<p>
For any of this to work, you have to have enabled repositories from Cannonical partners in your Software Sources control panel since Steam is in those.
</p>

<p>
Then open a terminal and execute the following:
</p>
<div class="org-src-container">
<pre class="src src-shell">sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steam-installer
</pre>
</div>

<p>
The first command adds the i386 architecture to your repositories. This is important because most Steam games are i386, not AMD64, so you need to get the i386 versions of libraries for things to work properly. Notice that before add, there are two dashes (they just look like a long dash here.=
</p>

<p>
The second command updates apt's list of packages available. You should always do this after adding an architecture or a repository.
</p>

<p>
The third command installs the steam-installer. When you run this later on, it downloads the newest update to the Steam runtime and installs Steam properly.
</p>

<p>
Since Steam uses the Microsoft Arial font a lot, you might also want to install the Microsoft fonts with this command:
</p>

<div class="org-src-container">
<pre class="src src-shell">sudo apt install ttf-mscorefonts-installer
</pre>
</div>

<p>
You may also just use the Liberation Fonts since those are free software and are made to match the Microsoft Fonts without any of the license restrictions of the MS Fonts.
</p>

<p>
Another option is to not just install the Microsoft fonts, but all of the Ubuntu restricted extras while you are at it for better DVD-reading/ripping support and such:
</p>

<div class="org-src-container">
<pre class="src src-shell">sudo apt install ubuntu-restricted-extras
</pre>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/steam-ubuntu1910.html</link>
  <guid>https://einar.codeberg.page/steam-ubuntu1910.html</guid>
  <pubDate>Fri, 07 Feb 2020 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Separation]]></title>
  <description><![CDATA[

<figure id="org8cdb39b">
<img src="https://einar.codeberg.page/media/Tree_Farsund.JPG" alt="Tree_Farsund.JPG">

</figure>

<p>
A few weeks ago, I took a picture of a tree at the town square in Farsund. I had wanted to take that picture for a while, but couldn't because the light came from the wrong angle every time I had visited the location. I came maybe three minutes too late at that time and were in a bit of a hurry to take the picture before the light disappeared from my subject, but I was able to take almost the picture I had envisioned. (Maybe I will go back a bit earlier and have time to get it right at some point.)
</p>

<p>
I tried to separate the tree by not overlapping the houses or the mountains in the background. It's not entirely successful as even more space between the lowest part of the leaves of the tree and the mountain would have been better, but it was what I was able to make while the sun was fast disappearing as you can see on the left side of the tree. I also got separation by only the tree being illuminated in
the foreground.
</p>

<p>
Anyway, this picture got me thinking about separation and how we can achieve it, mainly because I had a bit of trouble with getting the needed separation for this picture. As you can see, the tree is a bit too close to the houses and the hill in the background. If I had more time to think when taking it, I would have been able to make this picture better by separating the subject better from the background. In case it is still unclear, separation is when you want your subject to stand out from the rest of the image. I think there are a few different ways and I have listed them below.
</p>

<ul class="org-ul">
<li>Negative space and distance to other objects</li>
<li>Contrasting colours or complementary colours</li>
<li>Depth of field</li>
<li>Exaggerated perspective</li>
<li>Types of shapes and lines</li>
<li>Light and shadow</li>
<li>Blurred and not blurred</li>
<li>Framing the subject</li>
</ul>

<p>
These techniques could be used individually or in combination to create the desired separation between the subject and the rest of the content of the image.
</p>

<p>
<b>Negative space and distance to other objects</b>
</p>

<p>
The easiest way to separate the subject of a picture from the surrounding and let it stand out is to put it somewhere where there is negative space or empty space in the background and a bit of distance to other objects. Often objects or people have space in the background that is more cluttered, but by adjusting the composition, you might be able to put negative space in the background instead. Often this involves moving up and down to put the sky behind something instead of a more cluttered landscape or city scene, or maybe to put a calm fjord, sea or lake behind the subject.
</p>

<p>
To isolate the subject further, maybe you would have to move closer to it so other objects seem further away. (Be careful not to move too close if you shoot a portrait. If you get really close, the body part closest to the lens will be larger and further body parts will be smaller, especially if you also use a wide angle lens. To be able to be at a working distance that is far enough away to not give perspective distortion of people's body parts is why people use short telephoto lenses for close up portraits.)
</p>

<p>
You may also find that you can create more distance by simply looking at the subject from another angle. Say if there are close-by things on the left or the right, but not on the close &#x2013; far axes, simply move close to the thing on the left and shoot with the previous close-far axes as the new left-right axes in your photo and try to hide the thing now behind the subject (previously on the right) with the subject or by using a shallow depth of field.
</p>

<p>
<b>Contrasting colours or complementary colours</b>
</p>


<figure id="orgef7d236">
<img src="https://einar.codeberg.page/media/Flower_Contrasting_colours.JPG" alt="Flower_Contrasting_colours.JPG">

<figcaption><span class="figure-number">Figure 1: </span>A flower in a contrasting colour to its surroundings</figcaption>
</figure>

<p>
Another way to create separation is to have your subject in one colour that contrasts to its surroundings. If everything else in the scene is in pale autumn colours, having a subject in a springy green will set it apart. This would also be a complementary colour to red which makes even the contrasting colour fit in to the rest of the colour scheme.
</p>

<p>
Maybe the easiest is to choose a subject in a stronger or more vibrant colour than the rest of the frame, but it is also possible to do the opposite and have the subject be paler. The good old black and white photo with a person or object in colour is also a variation on this
concept. In the olden days, black and white portraits were sometimes coloured by hand and then you could really play with these kinds of effects.
</p>

<p>
<b>Depth of field</b>
</p>


<figure id="orgd6a0b1f">
<img src="https://einar.codeberg.page/media/Flower.jpg" alt="Flower.jpg">

<figcaption><span class="figure-number">Figure 2: </span>A flower with shallow depth of field</figcaption>
</figure>

<p>
This seems to be the most popular form of separation these days, especially for portraits. People buy an expensive lens with a fast aperture and want to show it off. It is a nice effect, but it is one of those tools in the toolbox that you should take care not to use just because it is there. Have a look at the pictures of great photographers and think about how many of their iconic shots use a shallow depth of field and why they do or do not. To create shallow depth of field is easy (even on MFT and APSC), but it doesn't make a picture good by itself.
</p>

<p>
On the other hand, shallow depth of field can look really nice and it is a nice way of creating separation, but there are a couple of pitfalls to avoid, like not having the whole face of the person in focus (or the whole object) by going for the fastest aperture available without any thought and thus rendering the picture less of a portrait or macro and more of a picture of boke, or not thinking about your background and having clutter or strong colours in the blurred out bits that are still somewhat distracting even when blurred out.
</p>

<p>
To create shallow depth of field, you have to be close to your subject (but beware of perspective distortion if you shoot people), have a large distance from the subject to the background, use a long focal length and use a wide aperture. The longer the focal length, the less wide an aperture or the less close you need to be to your subject to get the same width of your depth of field. A 50 mm f/1.4 gives you half the depth of field of a 25 mm f/1.4 at the same distance from your subject.
</p>

<p>
Even if it is possible to get a slightly narrow depth of field with a wide angle lens if it has a wide aperture, longer lenses are better for shallow depth of field. For portraits, standard lenses or short telephoto lenses are generally used to get a long enough working
distance to not make the closest parts of people's bodies unproportionally large. They also make shallow depth of field easier because of their longer focal lengths. If you are unable to get the effect you are after, get closer to your subject or use a lens with a
wider aperture or longer focal length.
</p>

<p>
<b>Exaggerated perspective</b>
</p>

<p>
Another way to create separation is to use an exaggerated perspective with a wide angle lens (19 mm or less on MFT) to create the illusion of a larger space between the subject and the background. With wide angle lenses, the background becomes smaller than when using longer lenses and this creates the feeling in the viewer that there is more distance between the subject and what is in the background. The shorter the focal length, the more exaggerated the perspective.
</p>

<p>
Street photographers often use wide lenses this way. With a person as their main subject quite close to the camera and other people, houses and other objects in the background. If they are really close to their subjects, the subject's faces will look strange and unnatural, but sometimes a flattering or natural looking portrait is not the effect the photographer wants. In narrow streets, you get more of the scene into the frame while also making everything except the foreground look further away with a wide angle lens.
</p>

<p>
Films also often use close-ups with (mild) wide angle lenses to get separation through the exaggerated perspective. Maybe that's the reason why half of Hollywood has nose jobs. (The nose, as the protruding part, is the one body part most often looking unnaturally large when shot close-up with a wide angle lens while the rest of the face, because of the exaggerated perspective, looks unnaturally small and distant in comparison with the nose.)
</p>

<p>
<b>Types of shapes and lines</b>
</p>

<p>
It is also possible to create separation by the types of shapes and lines used. What I mean by this is that some lines and shapes are hard, squared and use 45 degree angles or factors of it frequently, while other lines and shapes are soft and rounded. If the subject of a
photograph has soft shapes and lines and the rest of the scene has hard shapes and lines, then that contrast will separate the subject from the rest of the scene.
</p>

<p>
There are many pictures of hard shaped fences and gates with soft shaped landscapes in the background. In urban exploration, abandoned factories or warehouses might have old machines that have round wheels for hand-cranks, gears or power transmission while the surroundings are buildings with hard, squared shapes and sharp corners.
</p>

<p>
I don't think people think so much about the contrast in shapes and lines as they think about colours and shallow depth of field. Or maybe that is just me not being very aware of this before thinking more about it now.
</p>

<p>
<b>Light and shadow</b>
</p>


<figure id="org32c8883">
<img src="https://einar.codeberg.page/media/Marin_Marais_by_Andre_Bouys.jpg" alt="Marin_Marais_by_Andre_Bouys.jpg">

<figcaption><span class="figure-number">Figure 3: </span>Marin Marais - Portrait by Andre Bouys</figcaption>
</figure>

<p>
Separation through use of light and shadow is an old technique used a lot in baroque era paintings. Often the light would illuminate the subject while most of the background lay in shadow. You can achieve the same effect by lighting your subject with a flash like in the painting of Marais where the light source is on the left side of the subject at approximately a 45 degree angle, lighting him down from above and use an aperture that renders little of the available light in the background visible in the shot. In a studio, if you use separate background lighting, you would usually illuminate the background less than the subject to make the subject stand out.
</p>

<p>
Today, many people lighten up areas within their image they want the viewer to focus on in post-processing, especially for images shot with only available light. If you do not overdo it, it can look quite natural even if the lighting is a bit uneven. This is basically the same concept as "dodging and burning" that people do in the darkroom to expose different parts of their image differently when developing film.
</p>

<p>
The use of a kicker light or hair light (or the sun if outdoors) to illuminate the hair from behind in addition to a key light in front or slightly to the side is another variation of separation by light and shadow where the idea is that the hair (especially if dark) should not blend into the background, but rather stand out by being more illuminated than the background.
</p>

<p>
<b>Blurred and not blurred</b>
</p>

<p>
It is also possible to create separation by having everything in a picture blurred by motion blur except the subject. If you shoot something or someone still while the rest of the scene moves with a slightly long exposure, like a statue on a busy street, you get this effect. The night photograph of blurred out lights and dark surroundings made by a long exposure by night is sort of the same idea, but in reverse.
</p>


<figure id="org5038416">
<img src="https://einar.codeberg.page/media/Moon_blue.jpg" alt="Moon_blue.jpg">

<figcaption><span class="figure-number">Figure 4: </span>Moon blue, a picture I shot with a slightly long shutter speed and where I chose the version with a bit of extra motion blur (especially on the left side, but also slightly to the righ) to get even more of the intended effect of having only the moon and the cabin on the other side of the bay unblurred.</figcaption>
</figure>

<p>
Many landscape and cityscape photographers use long exposures of the sky or the sea, especially on windy days, to create an otherworldly blurred out cloud where only the still bits of the scene sticks out, like stones in the sea or the top of tall buildings in front of a blurred out sky. This is usually achieved by using ND filters to not overexpose the image.
</p>

<p>
You can also get the effect of one relatively unblurred subject with a blurry background if you pan with the same speed as your subject while it is in motion. Sport photographers are often good at this technique and it is used a lot for shooting cyclists, formula one and other fast moving sports.
</p>

<p>
<b>Framing the subject</b>
</p>

<p>
Another way to create separation is to use some kind of "frame" around the subject. The "frame" could be either something in front or around the subject that blocks the rest of the view further back or it could be something behind the subject that puts it within a frame. Arnold Newman used this technique in his famous photo of the the Nazi war criminal Alfred Krupp where there is a square "frame" where we see the factory of Krupp's behind him and walls to either side of him that put him within that frame.
</p>


<figure id="orgfc2164a">
<img src="https://einar.codeberg.page/media/FerryLandscape.jpg" alt="FerryLandscape.jpg">

<figcaption><span class="figure-number">Figure 5: </span>The ferry frames the landscape in this shot.</figcaption>
</figure>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-photography.html">photography</a> </div>]]></description>
  <category><![CDATA[photography]]></category>
  <link>https://einar.codeberg.page/separation.html</link>
  <guid>https://einar.codeberg.page/separation.html</guid>
  <pubDate>Sun, 30 Jun 2019 13:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Reasons I have deleted my Facebook account]]></title>
  <description><![CDATA[
<p>
I have deleted my Facebook account. Everyone should do the same. Don't take my word for it. Read a few articles about Facebook instead and make up your own mind whether you should give them your personal data and thereby legitimise their business practices:
</p>

<ol class="org-ol">
<li><a href="https://www.google.com/url?q=https://arstechnica.com/tech-policy/2019/02/facebook-is-a-law-breaking-digital-gangster-uk-government-report-says/&amp;sa=U&amp;ved=0ahUKEwj0gNiDqMrgAhWCi8MKHb0JBJ4QFggFMAA&amp;client=internal-uds-cse&amp;cx=009773542741016272635:e6s_fsvpe7o&amp;usg=AOvVaw1ktwJJ5OaRyE1qCH-xSBDR">Facebook    is a law-breaking "digital gangster," UK government report says.</a></li>
<li><a href="https://www.google.com/url?q=https://arstechnica.com/tech-policy/2019/02/facebook-may-face-multi-billion-dollar-fine-for-cambridge-analytica-scandal/&amp;sa=U&amp;ved=0ahUKEwj0gNiDqMrgAhWCi8MKHb0JBJ4QFggIMAE&amp;client=internal-uds-cse&amp;cx=009773542741016272635:e6s_fsvpe7o&amp;usg=AOvVaw1wrk_9hbuqAqeJ9Ois-FeH">Facebook    may face multi-billion dollar fine by the US Federal Trade Commision    for Cambridge Analytica scandal</a></li>
<li><a href="https://www.google.com/url?q=https://arstechnica.com/science/2019/02/facebook-working-on-additional-changes-to-beat-down-anti-vaxxers/&amp;sa=U&amp;ved=0ahUKEwj0gNiDqMrgAhWCi8MKHb0JBJ4QFggLMAI&amp;client=internal-uds-cse&amp;cx=009773542741016272635:e6s_fsvpe7o&amp;usg=AOvVaw2DDdjZRIZ2wzC-a4XJufDJ">Facebook    is told by American lawmakers to stop spreading Anti-Vaccination    propaganda that has led to US outbreak of measles</a></li>
<li><a href="https://www.google.com/url?q=https://arstechnica.com/gadgets/2019/01/facebook-and-google-offered-gift-cards-for-root-level-access-to-ios-users-data/&amp;sa=U&amp;ved=0ahUKEwj0gNiDqMrgAhWCi8MKHb0JBJ4QFggRMAQ&amp;client=internal-uds-cse&amp;cx=009773542741016272635:e6s_fsvpe7o&amp;usg=AOvVaw2OugT_W0zCIyVvLJNRECK5">Facebook    has misused a developer certificate for iOS to get data from underage    children's mobile phones even if it violates Apple's terms of    service.</a></li>
<li>And <a href="https://arstechnica.com/search/?ie=UTF-8&amp;q=Facebook">the list    goes on and on and on</a> about how this company has no morals and a lot of greed and treats their users as garbage for the sake of earning money.</li>
</ol>

<p>
I would suggest not just deleting your account, but also actively blocking any Javascript from Facebook through browser extensions to avoid them building a shadow profile on you. They are known to build profiles on anyone visiting any site with a Facebook "like"-button or Facebook "Share this on Facebook"-button, even for people that are not Facebook users. Ie, even if you are not a user, you are contributing your data to Facebook if you do not actively block their Javascript on all sites on the internet.
</p>

<p>
(Blocking all Javascript that is unnecessary for the sites you actually use to function is a good way to make the web experience faster and more secure (since a lot of malware comes in the form of advertising, or malwaretising, that runs Javascript on your machine through your browser) and generally a good idea. A good way to do this is to use Firefox with NoScripts. I also add uBlock Origin and https everywhere for added security against man-in-the-middle attacks and malwaretising.)
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/facebook-dislike.html</link>
  <guid>https://einar.codeberg.page/facebook-dislike.html</guid>
  <pubDate>Wed, 20 Feb 2019 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How to calibrate the screen on a Thinkpad X230 on Linux]]></title>
  <description><![CDATA[
<p>
If you run Gnome or KDE Plasma as your desktop environment, there are built in tools for you to calibrate your screen. You just need to find an .icm or .icc profile file that matches your screen to calibrate it. The best is to make one yourself with a hardware calibrator, but if you do not have a calibrator you may get close by using a profile another user of the same screen has made even if it will be slightly less accurate. (See below to find one that matches the X230 with the IPS screen.)
</p>

<p>
I have run LXDE up to now and have just switched to LXQt. Neither of these lighter and smaller desktop environments have a built in screen calibrator, so I needed to find another solution. The solution I found will work in any desktop environment or window manager as long as you use X11.
</p>


<figure id="orgd597c9c">
<img src="https://einar.codeberg.page/media/Flower.jpg" alt="Flower.jpg">

<figcaption><span class="figure-number">Figure 1: </span>Flower</figcaption>
</figure>


<p>
On the Arch Wiki I found a good solution called <a href="https://github.com/OpenICC/xcalib">xcalib</a>. This is a command line
tool that takes an .icc colour profile and calibrates the screen with it. I tried with the .icm profile I had extracted from a Windows executable supplied by Lenovo on their site and it didn't work. I then <a href="https://duckduckgo.com/">DuckDuckWent</a> and found on a Thinkpad forum that there was a colour profile for the X230 available in the Display section of a review of the X230 on <a href="https://www.notebookcheck.net/Lenovo-ThinkPad-X230-2306-2AU-Laptop-Review.75317.0.html">notebookcheck.net</a>. The profile is hidden on the bottom of a table with technical info on the right of a picture with the text "distribution of brightness" underneath. (If it should ever disappear, contact me through my contact page and I will happily email you a copy.)
</p>

<p>
I downloaded the .icc profile file and fed it to xcalib and the colours changed. I also have a Thinkpad W520 with a calibrated screen and know how my pictures on <a href="https://www.flickr.com/people/einar_mostad/">Flickr</a> should look from seeing them on that screen, so I took a look at the same pictures on the X230 screen and they looked as they should as far as I was able to ascertain. It was really obvious that they did not look right before the calibration, but after the calibration, they looked alright.
</p>

<p>
To make this change permanent, all you need to do is to execute the xcalib command with the .icc profile file that fits the screen at the start up of your desktop environment or window manager. In LXQt, you can use the Session Settings to autostart <i>xcalib thenameoftheprofile.icc.</i> In LXDE, you can use the LXsession session manager to do the same. I put the .icc profile file in my home folder to be certain I back it up
properly.
</p>

<p>
To me, getting the screen calibrated was the one missing piece to make the Thinkpad X230 an excellent ultraportable machine that can replace my Thinkpad W520 as my main machine. I like the small and light 12 inch form factor, the IPS screen, the excellent keyboard, the relatively powerful i7 M-class processor, the long battery life and the generous selection of ports.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/calibrate-x230.html</link>
  <guid>https://einar.codeberg.page/calibrate-x230.html</guid>
  <pubDate>Sun, 02 Dec 2018 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[The advantages of Linux seen from a Mac user's perspective]]></title>
  <description><![CDATA[

<figure id="org81c6a38">
<img src="https://einar.codeberg.page/media/WelcometoUbuntu.png" alt="WelcometoUbuntu.png">

<figcaption><span class="figure-number">Figure 1: </span>Welcome to Ubuntu</figcaption>
</figure>

<p>
Lately, many Mac users have been disappointed in the hardware and to a lesser degree also the software that Apple makes. It seems like Apple is focused mainly on iOS since their earnings mainly stem from it. Some of the core Mac users in creative industries that have used Macs since the 80s are now leaving or thinking about leaving since it seems like Apple no longer makes the best hardware for these use-cases. For video editors that need the ultimate in processing power, graphics processors, RAM and storage space, there hasn't been a good Mac since 2013. Therefore, some companies like Pixar that traditionally used Macs have been using System76 machines with Ubuntu for some years now.
</p>

<p>
For long time Mac users, Windows 10 doesn't necessarily look like a good alternative to macOS. Linux is the lesser known alternative, but it is in many ways more similar to macOS than Windows, although there are of course a lot of differences as well. Since I have gradually switched from Macs to Linux over the last few years, I thought it would make sense for me to share some of my thoughts about the main advantages of Linux seen from a Mac user's perspective.
</p>
<div id="outline-container-orgcb8dd28" class="outline-2">
<h2 id="orgcb8dd28">Choose the hardware that best fits your needs</h2>
<div class="outline-text-2" id="text-orgcb8dd28">
<p>
The main advantage of Linux is freedom of choice. Since Linux runs on a vast range of hardware from embedded devices to supercomputers, you can choose whatever hardware suits your needs when using Linux. With Macs, you have to live with the machines Apple make, or you can hack together a useable, but often not upgradable hackintosh solution that will usually be a hassle to maintain. Windows is also installable on lots of different computers, but Windows limits your choices in other ways. Read about desktop environments, the influence you have over software projects, the Unixy goodness and the choice of Linux distribution to understand what Windows lacks that Linux has.
</p>

<p>
With Linux, the easiest way to get good hardware support is to buy hardware with Linux preinstalled. However, building a desktop computer yourself from parts may give you more freedom of choice as to what to prioritise, and buying new or second-hand computers that originally came with Windows will give you many more models to choose from, but no customer support from the vendor. On most hardware, Linux just works, especially if you use one of the more newbie-friendly distributions (distros) like Ubuntu and derivatives (Mint, Ubuntu MATE, Lubuntu, Xubuntu, KDE Neon, Elementary OS&#x2026;), PCLinuxOS or Manjaro. To avoid buying hardware that is less than ideal on Linux, if you do not buy hardware with Linux preinstalled, you should do some research before buying. So, when it comes to hardware, you have more choice with Linux than with macOS.
</p>
</div>
</div>
<div id="outline-container-orgdfd0b8f" class="outline-2">
<h2 id="orgdfd0b8f">Choose the core technologies you prefer</h2>
<div class="outline-text-2" id="text-orgdfd0b8f">
<p>
Unlike on macOS, where you have a couple of supported versions of the same operating system, on Linux, you have hundreds of Linux distributions (distros) to choose from. Some are tailored to special use cases like media production, security audits, servers without a GUI, education&#x2026; while others are more general-purpose desktop distributions. Some come with long term support and stay on the same version numbers of software while delivering security updates for five (Ubuntu LTS) or ten years (CentOS, Red Hat, Ubuntu LTS if you pay for extended support), while others churn out new versions every 6 months (Ubuntu non-LTS, Fedora) or at other regular intervals. Some distros only have new releases when they are absolutely certain the next version is stable and ready for use (Debian, Makulu) and yet again others are continually rolling out updates after a short period of testing so that you never have to reinstall (Arch, PCLinuxOS, Solus, Manjaro). Some distros focus on a particular technology, while others focus on designing a pleasant user interface with tailor-made apps to suit the desktop environment.
</p>

<p>
The abundance of choice is sometimes portrayed as a problem by non-Linux users, but in reality, it means that no matter what sort of user you are, you will find a distro that suits your needs and wants. The many distro projects also contribute free and open source code to the wider free and open source software ecosystem which means that even if an app, a library, a command line tool or a desktop environment was made for one particular distro, it will often find its way to other distros if it becomes popular among users. With the GPL licences giving people the freedom to use and change the software at will, every good idea that comes along can be furthered by everyone else to fit their needs or tastes. This sharing is one of the core philosophies of free software and the GNU/Linux world.
</p>

<p>
Although the many possible choices may be intimidating for a new user, starting out with a user friendly distribution with good hardware support and a pleasant desktop environment will give you all of the benefits of the wider Linux ecosystem, while keeping things easy to manage. If you or your company then over time learn that there are particular tools available in another distro, or maybe you prefer another desktop environment or other core technologies, then it is usually easy to change from on distro to another. The hardest part is to switch from Mac OS X to Linux. Once on a Linux distro, there are very few lock-ins, so it is usually easy to change distro. Some do this so often that they are considered "distro hoppers".
</p>
</div>
</div>
<div id="outline-container-org3856309" class="outline-2">
<h2 id="org3856309">Choose the desktop environment you like</h2>
<div class="outline-text-2" id="text-org3856309">
<p>
On macOS and Windows, you either have to use the graphical user interface your operating system (OS) delivers or use another OS. On Linux, most distributions (distros) have lots of desktop environments and window managers (lower weight and simpler desktop environments) to choose from. If you like the core technologies of a distro, but dislike its desktop environment (DE), then you can install another DE instead. Some distros come with only one desktop environment by default (elementaryOS with the Pantheon DE). Other distros ship more than one desktop environment that the user can choose at install time (Antergos, Debian, Arch&#x2026;) while others have different editions with different DEs (Manjaro, Linux Mint). Yet again other distros come with one official desktop environment, such as Ubuntu (with Unity), but with official and/or unofficial community projects, flavours or respins that deliver other desktop environments like Lubuntu (with LXDE), Xubuntu (with XFCE), Ubuntu MATE (with MATE), Ubuntu Gnome (with Gnome), Kubuntu (With KDE), Ubuntu Budgie (with Budgie).
</p>


<figure id="org23e3747">
<img src="https://einar.codeberg.page/media/elementaryOS.png" alt="elementaryOS.png">

<figcaption><span class="figure-number">Figure 2: </span>elementaryOS</figcaption>
</figure>

<p>
Even where only one desktop environment is available in a distro, other desktop environments and window managers are usually available in the software repositories, and it is trivial to install your favourite. This also means that if a family shares a desktop computer, the mother might like to use KDE, the father might prefer Unity, the oldest daughter might like LXQt while the youngest son enjoys Joe's Window Manager. These different desktop environments and window managers will happily live on the same system and with multiple users logging into their favourite. It is also possible to use Gnu/Linux without a user interface at all and just log into the command line interface. Most servers (whether on real hardware or in virtual machines) are setup this way.
</p>

<p>
<b>Use familiar Unix command line tools</b>
</p>

<p>
Just like macOS and the BSDs, Linux has its roots in Unix. Unix had multi-user environments, networkability and stability as some of its strengths. The Linux kernel itself was originally made by Linus Torvalds to make a usable Unix system out of a desktop PC, even if it is now used on a vast range of devices and hardware architectures. Many of the command line tools used in Mac OS X are the same or have the same name as the GNU utilities used in Linux. That is why Linux distros are also called GNU/Linux or GNU+Linux. This means that if you used Unix back in the day, or if you have become familiar with the Mac OS X terminal, most of that knowledge is usable on Linux as well. So, for macOS power users, the Linux terminal will be a cosy and familiar place.
</p>
</div>
</div>
<div id="outline-container-org0ccd3ba" class="outline-2">
<h2 id="org0ccd3ba">Linux is the natural choice when operating system does not matter</h2>
<div class="outline-text-2" id="text-org0ccd3ba">
<p>
Sometimes, the operating system does not matter at all, and the choice is more down to economics and practicalities. In these cases Linux is a natural choice as it runs well on lots of different hardware, can be used cheaply, gives you better security than Windows during the supported lifespan of your distro while giving you maximum flexibility. This is the case when you use software that is running in "the cloud", such as Microsoft's Office 365, Google Docs, Visma Enterprise&#x2026; The trend is that many programs that used to be native to Windows or macOS, but did not ship a Linux version is now available in the cloud through any browser. This means that some software that in the past was unavailable to Linux users (or at least only available through the use of Wine or a virtual machine that ran Windows) is now available. If you prefer to continue to use MS Office even after trying LibreOffice, Calligra and WPS Office, then you can use Office 365 in the cloud. Or you could continue using Office 365 while gradually checking out and getting used to the alternatives. For some users, this takes care of their "I would use Linux if only X was available" problem.
</p>

<p>
You could argue that when using web based software, then ChromeOS might be the natural choice, but the advantage of using a better Linux distro than ChromeOS (ChromeOS is actually based on Gentoo Linux with a custom made desktop environment and Chrome) is that in addition to the cloud services and web apps, you can also run desktop software and if you are a developer or sysadmin, you have access to the terminal. A Linux distro gives you everything ChromeOS does and runs just as great on the same type of low end hardware that ChromeOS runs on, but gives you a lot more flexibility and freedom of choice. ChromeOS also has the disadvantage of being tied into the Google ecosystem, which means that you have no privacy, as Google's business model is to learn as much about you as possible and use this information to give you targeted ads. You can run the same webapps on any Linux distro as on ChromeOS, but block ads and spyware if you like.
</p>

<p>
In addition to cloud services, there are also more traditional scenarios where the operating system does not matter, like for instance when a developer uses her laptop just as a terminal to gain access to the server where all the code is hosted and the software is built or a system administrator just needs a machine with SSH to monitor all his virtual servers in the cloud or machines at different locations. Many of the more technical, newer Mac users that came to Mac OS X in the early 2000s was enticed by the Unix underpinnings and the Aqua interface on top and the shiny hardware, but have recently found macOS to be gradually more locked down and less Unixy while the hardware have become less good (for instance with keyboards that makes your fingers hurt like on the new MacBook and MacBook Pros). At the same time as Macs have become less enticing, Linux distributions have become more user friendly and Linux desktop environments have become more polished. Combined with great hardware now on offer, many of these users now embrace ultrabooks with Linux preinstalled. Dell has specifically targeted developers in its line of Developer Edition computers with Ubuntu and this bet seems to be paying off for them. System76 and Entroware also have a great offering of high end laptops and desktops for pro users and are selling even more Linux machines than Dell.
</p>
</div>
</div>
<div id="outline-container-orgbb84cdc" class="outline-2">
<h2 id="orgbb84cdc">Open standards without lock-in</h2>
<div class="outline-text-2" id="text-orgbb84cdc">
<p>
Most programs you run on a Linux system use open standards for organising and saving documents. This means that if you want to switch from one photo library program to another one, you probably do not need to spend a lot of time exporting pictures or rearranging folders or anything like that. Just install the new software and start using it. The same applies to other categories of software like music players, word processors, spreadsheet programs, presentation software&#x2026; Some programs like the GIMP or OpenShot use their own document formats, but they usually also open and export all the open standard formats in addition to a few well known non-open standard formats.
</p>

<p>
The use of open formats give you more freedom of choice. If you dislike the direction a program is going in, then you may switch to another program without any hassle. This is much harder if you are using programs with proprietary document formats (like MS Office), or where the content is stored inside a database you have to import or export from (like iPhoto). Once you have transitioned from the lock-in of the non-open formats to the open formats, you can continue to use these documents with whatever software you like for years to come, but if you stay with the non-open formats, those have a tendency to change every now and then, not because there is a need for change, but because Microsoft, Apple and others like to make it impossible for people with an older version of their software to open documents made in newer versions, and thus force people to pay once more for the same programs in a new version.
</p>

<p>
With more and more countries and regions switching to open standard formats like Open Document Format on their official websites, the future of these formats are much more guaranteed than the proprietary, ever-changing, non-open formats of Microsoft Office and others. Even if you use MS Office, iWork or Google Docs, you probably have to exchange documents with people that do not use the same programs as you, and the use of open standard document formats guarantees a higher rate of success, since most programs imports and exports them.
</p>
</div>
</div>
<div id="outline-container-orgf33f76e" class="outline-2">
<h2 id="orgf33f76e">Economic advantages</h2>
<div class="outline-text-2" id="text-orgf33f76e">
<p>
Depending on what you use your computer(s) for, the use of Linux instead of Windows or macOS may save you some money. Most distros include a lot of free and open source software both preinstalled or in their software repositories. Much of this software can handle tasks you might have had to buy software to do on a Mac or Windows PC just fine. Most free and open source software is initially free of cost, but if you use the software, you are encouraged to contribute back either monetarily or by helping develop the software further through coding, design, translations or documentation or by simply spreading the word about it. This means that you can evaluate software without buying it, and when you decide which software you will continue using, you are free to postpone contributing back until you have the money, knowledge or time to do so. You are also in a position where you can influence the direction of a project by taking part in it.
</p>

<p>
Even if you primarily use paid for software (whether open source or closed source) and are a decent person contributing to your distro of choice, you may end up saving some money by getting hardware that is more future-proof or suited to your needs than what a Mac might deliver. With Apple going in the direction of non-upgradable hardware with built in forced obsolesensce and a focus on thinness over functionality, especially users which need high-end GPUs, CPUs, lots of storage and RAM or writers depending on good keyboards, will probably be better off economically by buying more upgradable hardware from other vendors. And you can choose the hardware you want, not the hardware Apple thinks you
should want.
</p>

<p>
Macs have traditionally been more expensive, but you used to get a longer life-span out of the machines than their PC counterparts, but now, they are more expensive, but with the same standard PC parts as other X86 PCs, but with less future-proof designs. A high end laptop from Entroware, System76 or Dell beats a MacBook Pro both on price, raw performance, customisability and longevity, and thus delivers lower cost of ownership per year. Apple is also notorious for charging a lot for built to order options, even if these options are the only way to future proof a machine that is not user upgradable. If you use Linux, you can choose whatever hardware you like, and many vendors cater for both high end, mid-range and low end use cases.
</p>


<figure id="orgf3518ba">
<img src="https://einar.codeberg.page/media/Ubuntu1404MacBook.png" alt="Ubuntu1404MacBook.png">

<figcaption><span class="figure-number">Figure 3: </span>Ubuntu 14.04 on a MacBook2,1</figcaption>
</figure>

<p>
If you do not need high-end hardware, the choice in low-end hardware for reasonable prices for Linux use is much greater than on macOS. Older Macs that no longer get security updates to their installed Mac OS X version and that are unable to be upgraded to later versions of Mac OS X can run many Linux distros just fine. (I used to run Ubuntu side by side with Snow Leopard on my late 2006 white MacBook.) For really low-end needs like thin clients, any used netbook, desktop or laptop from the last ten years will work fine. Just use a lightweight Linux distro like Lubuntu, Peppermint OS, Puppy Linux or AntiX. Even PowerPC Macs are still usable with Linux. And for digital signs, media centres, routers, firewalls, DNS servers and other low power needs, a Raspberry Pi or Intel Compute Stick works well. I use a Raspberry Pi3 with LibreElec for my entertainment system. It cost less than half of an Apple TV and does everything the Apple TV does and more.
</p>
</div>
</div>
<div id="outline-container-orga211f56" class="outline-2">
<h2 id="orga211f56">Free and open source software gives you influence</h2>
<div class="outline-text-2" id="text-orga211f56">
<p>
With Apple, what you get is what you get. You can choose to postpone to upgrade, but at some point in time, you will no longer get security updates and you need to move on. Many long time Mac users have been bitten by Final Cut or Mac OS X updates that went against their wishes. Sometimes, Apple discontinue software either to replace it with something else that is worse (iPhoto) or not at all (ClarisWorks/AppleWorks, HyperCard, FrontRow). If these programs were open source projects, the code would be available and the users that relied on them could influence what features were implemented and what features were removed. In worst case scenario, they could fork the projects.
</p>

<p>
If you are dependent on a particular free and open source software, you might want to participate in the project. You can do this by donating money, report bugs and missing features, make translations or take part in the coding of the software. When you do that, you also get the power to influence the direction of the project together with other users. This means that if you need the software to work in a certain way, you can make that happen through participation. Often one user with good ideas can have tremendous influence on a project if she engages with the community in a friendly way. Most projects consists of users of the software, and more often than not, there are many people which want the software to fulfil the same needs. Most projects welcome constructive feedback that will help them towards being more useful for more people.
</p>

<p>
If the project nevertheless goes ahead in another direction than you wish, if the software is free and open source software, then you have the right to fork it. Forking software means that you make a new project based on the source code of the other project, and develop it further in the direction you and your like-minded would like it to go. It is a huge undertaking to fork a large project, but sometimes the fork becomes more popular than the parent project if enough people are onboard. A famous example of such a fork was when OpenOffice forked into LibreOffice and Apache OpenOffice. LibreOffice became the more popular fork and is now the standard office suite on many Linux distros as well as hugely popular on Mac and Windows as it has better compatibility with foreign file formats and many more features than OpenOffice.
</p>

<p>
This might all sound a bit theoretical. Most people are not programmers and do not have the knowledge or time to fork software projects. However, if you work for a firm that relies heavily on a particular software project, knowing that the source code for the program is available and that the licence allows you to fork means that you could put an in-house developer or an external contractor to work if you find that the project is moving in a direction that is bad for your business. This ability empowers users to make of the software what they want. It also ensures that open source projects do not become like the proprietary software makers that first and foremost think about how they can sell you more software as often as possible with new versions with change for the sake of change (often to the detriment of functionality) and new document formats that are incompatible with the old in an attempt to force people to update to be compatible with the rest of the world. Free and open source software is there for their users, not for the sake of a company, a project or a foundation.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/advantages-of-linux-mac-user.html</link>
  <guid>https://einar.codeberg.page/advantages-of-linux-mac-user.html</guid>
  <pubDate>Tue, 31 Jan 2017 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[MacOS 9 in QEMU on GNU/Linux]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/media/MacOS9-QEMU.mp4">This is a video</a> where I show how you can run Mac OS 9 in QEMU on GNU/Linux. I followed the documentation on the Arch Wiki and on the QEMU website to get things going.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/macos-9-in-qemu-on-gnu-linux.html</link>
  <guid>https://einar.codeberg.page/macos-9-in-qemu-on-gnu-linux.html</guid>
  <pubDate>Thu, 24 Nov 2016 21:23:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How to scale LibreOffice to work better on the M10 FHD Ubuntu tablet]]></title>
  <description><![CDATA[
<p>
The M10 FHD has  a 1920 x 1200 resolution on a 10 inch screen. By default, LibreOffice is installed as one of the Xapps, but it is not scaled, so it looks tiny on the high resolution display. I used to scale the documents themselves by using the slider in the lower right corner in LibreOffice Writer, but this was a bit annoying since even if the document was scaled, the user interface was not.
</p>

<p>
I have found that by simply choosing “Options…” from the “Tools” menu and selecting the “View” tab, it is possible to choose scaling of the whole programme. As with Firefox, I have found that 180% works well. This makes LibreOffice the same size it would be on a 1067 x 667 screen of 10 inches and that works fine. Everything is large enough to be easily viewed, but at the same time there is enough space for content.
</p>

<p>
I also like to remove the toolbars by deselecting “Formatting” and “Standard” in View &gt; Toolbars and in stead drag the Sidebar out from the right to show more options and be more useful. With the tablet in landscape orientation, this gives me the most space for contents on the page as long as the document is in portrait orientation (which almost all LibreOffice Writer documents are). It gives the least amount of scrolling and the largest possible view of the page. Especially on smaller screens, making the most of the available space is really nice (but I also do this on my 24 inch desktop screen).
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-scale-libreoffice-to-work-better-on-the-m10-fhd.org.html</link>
  <guid>https://einar.codeberg.page/how-to-scale-libreoffice-to-work-better-on-the-m10-fhd.org.html</guid>
  <pubDate>Wed, 10 Aug 2016 11:46:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Fun with the iBook Clamshell G3 300MHz]]></title>
  <description><![CDATA[
<p>
I made some videos in 2016 about fun things you can do with an iBook Clamshell G3 300MHz like switch out the hard drive with a CF-card, max the RAM and install Debian 7 on it. I orginally posted these videos to vid.me and later when they disappeared moved on to LBRY and Odyssee. Since I have room to spare on my website and this is a place I have control over myself, I thought I'd post them here now.
</p>

<p>
<a href="https://einar.codeberg.page/media/ibook-Debian.mp4">In the first video</a>, I show how you can install Debian 7 on the iBook. <a href="https://einar.codeberg.page/media/iBook-upgrades.mp4">In the second video</a> I show you how I maxed the RAM and exchanged the ancient and clicking hard drive in my Blueberry iBook with a CF-card and CF-to ATA board. <a href="https://einar.codeberg.page/media/iBook-after-upgrades.mp4">In the third video</a>, I show how the iBook runs after the upgrades from the second video.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/fun-with-the-ibook-clamshell-g3-300mhz.html</link>
  <guid>https://einar.codeberg.page/fun-with-the-ibook-clamshell-g3-300mhz.html</guid>
  <pubDate>Fri, 05 Aug 2016 14:12:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to watch YouTube channels in gPodder]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/media/gPodder.mp4">This video</a> shows how you can subscribe to a Youtube channel with gPodder.
</p>

<p>
<b>Update 2020</b>
This method no longer works, but it is possible to find and RSS feed from a youtube-channel at <a href="https://yewtu.be/">yewtu.be</a> and copy that link into your RSS reader.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/how-to-watch-youtube-channels-in-gpodder.html</link>
  <guid>https://einar.codeberg.page/how-to-watch-youtube-channels-in-gpodder.html</guid>
  <pubDate>Fri, 05 Aug 2016 13:36:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to use an Apple remote with KODI on Ubuntu on an Intel NUC]]></title>
  <description><![CDATA[
<p>
I use an Intel NUC i5 as my desktop computer. With Ubuntu 16.04 and KODI (formerly XBMC) it also doubles as a home theatre PC. To make this media centre really usable, I was plannig to use an infrared remote to control KODI. It’s much more practical when sitting at a distance than using a wireless keyboard or trackpad. Most (if not all) of the Intel NUCs have an infrared sensor.
</p>

<p>
I happen to have a white Apple remote that I got with my white MacBook in 2006. It’s a really minimalist infrared remote control that originally was meant for use with FrontRow before Apple discontinued it when they launched the Apple TV and Mac OS X 10.7 “Lion”. It is literally made for controlling media playback.
</p>

<p>
I found <a href="https://web.archive.org/web/20161011120736/http://blog.crsantos.info/2015/01/25/apple-remote-a1156-intel-nuc-kodibuntu-14-helix-ir-keytables/">an excellent guide on how to set it up</a> that worked very well for me, so I wanted to share it and write it down here to remember where I found it for later reference. It’s not too hard to follow and after setting it up with the correct addresses for each key, I am now able to remote control KODI. 🙂
</p>


<p>
2 Comments on How to use an Apple remote with KODI on Ubuntu on an Intel NUC
</p>

<p>
Carlos Santos 3rd August 2016 at 12:35 pm
</p>

<p>
Thanks for the reference 😉
</p>

<p>
Reply
    Einar 3rd August 2016 at 2:21 pm
</p>

<p>
Thank you for finding the information in the first place! It’s easy to follow your guide, but it must have taken a lot of time to figure it all out. 🙂
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-use-an-apple-remote-with-kodi-on-ubuntu-on-an-intel-nuc.html</link>
  <guid>https://einar.codeberg.page/how-to-use-an-apple-remote-with-kodi-on-ubuntu-on-an-intel-nuc.html</guid>
  <pubDate>Tue, 02 Aug 2016 17:11:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Second impressions of Ubuntu touch on the BQ M10]]></title>
  <description><![CDATA[
<p>
With OTA 12 and many app updates, Ubuntu touch is gradually improving. Last time I travelled, I did not take my laptop, and I could do everything that I needed with the tablet. All the basic needs like email, web browsing, chatting, podcasts, watching TV series, listening to music… The BQ M10 is good enough for it now.
</p>

<p>
The most important fix in OTA 12 for me was that alt gr now works on external keyboards. This means that with an external keyboard, I can write just like on the desktop in LibreOffice and Firefox. However, there is still <a href="https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1607237">a bug</a> with accented characters in native apps (but not the traditional X apps) and this is a bummer, especially for people using languages like French, Spanish, Portugese, etc that use accented characters a lot. Special glyphs that you get to with alt gr work fine, but accented characters do not in the native apps. Hopefully, this will be fixed soon.
</p>

<p>
As I have used the tablet more recently, I have noticed some more bugs and missing features. In the music player app, I found some minor annoyances such as <a href="https://bugs.launchpad.net/music-app/+bug/1607798">albums with more than one artist showing up as more than one album in the album view</a>, that there is <a href="https://bugs.launchpad.net/music-app/+bug/1607803">too little space for album and artist names in album view</a> and artist view and that I would like to have <a href="https://bugs.launchpad.net/music-app/+bug/1607811">a list view for easier navigation</a> with a lot of music.
</p>

<p>
After OTA 12 shipped, I also noticed that <a href="https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1607785">traditional X apps disappear from the launcher after a restart</a>. This is a bit annoying, as it is easier to get to the launcher than to go to the Xapps scope to launch a traditional app like Firefox.
</p>

<p>
There are probably a number of small changes in OTA 12 that I have not noticed or tried yet. For instance, I know that it is now possible to use Aethercast to connect to an external screen from my M10, but since I don’t have an Aethercast-compliant Miracast dongle, I haven’t tried it. I haven’t used the tablet much with external screens this far (I have a desktop computer at home), but I have tried it and it worked fine. For presentations, lectures or just watching films at a hotel room, the Aethercast support is cool, but if you really want to be certain that you will be able to connect, an HDMI cable seems a safer bet, since not all Miracast devices support Aethercast.
</p>

<p>
Another missing feature in Ubuntu touch at the moment is <a href="https://bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/1607860">the ability to choose default browser</a>. I would like to be able to set Firefox as my default browser on Ubuntu touch, since I use some add ons and syncing in Firefox that I would rather not be without. With no such setting, any links from any app will open in the Ubuntu touch browser.
</p>

<p>
Another small annoyance is that it is presently impossible to copy and paste between traditional X apps and the native Ubuntu touch apps. Especially since Firefox is not the default browser and clicking a link opens it in the Ubuntu touch browser, I would like to be able to copy it from there and paste it into Firefox, but there seems to be no way of doing this presently. A bug is open, and it seems to be fixed for the libertine sandbox X apps run inside, but not in all the other projects needed for it to work. So, this will probably be fixed soon.
</p>

<p>
Some of the other important bugs for everyday use, such as calendar syncing and contacts syncing have not been fixed yet. This is disappointing, but given time, I am certain someone will fix it. Syncing through Google works, but standards compliant ways of syncing or importing/exporting to other services do not. Since Google is not exactly the FOSS enthusiasts’ most obvious choice of syncing service, as their business model is to use all your private data for advertising purposes, it seems strange that the Ubuntu touch developers found time to implement Google syncing, but not syncing to other more privacy respecting services through standards like iCal and CalDAV, since most Ubuntu touch users at this point is Linux enthusiasts.
</p>

<p>
All in all, Ubuntu touch is really impressive when bearing in mind that it is only a few years old and that it is developed by quite few people compared to Android or iOS. It is already a viable alternative for tablets and phones (unless you speak a language reliant on accented characters and want to use an external keyboard, but this will be solved soon) and in not too long, the Unity 8 interface used on the tablets and phones when in desktop mode will also come to the regular Ubuntu distro on laptops and desktops. This means that all the work going into the tablets and phones will also benefit the desktop in the long run.
</p>

<p>
I really like the M10, and even if the software is still a bit rougher around the edges than an iPad or Android tablet of the same size would be, I find it exciting to take part in the Ubuntu touch journey as it is maturing. The hardware itself is very good with its high DPI 1920 x 1200 screen, quad core 1.5 GHz processor and I particularly like the well sounding speakers. LibreOffice and Firefox are quite heavy programs, but they run decently on the M10 FHD with a bit of time to start up. They might not be as usable on the slightly slower white M10 HD tablet (1280 x 800 screen and 1.3 GHz processor with slightly slower GPU as well), so I am glad I bought the more expensive and slightly faster and higher DPI black FHD version. The Ubuntu touch experience on the M10 FHD is nice, and gradually improving to become even better. With OTA 12 it is a bit closer to being ready for everyman, but there are still quite important bugs that need fixing and some features missing.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/second-impressions-of-ubuntu-touch-on-the-bq-m10.html</link>
  <guid>https://einar.codeberg.page/second-impressions-of-ubuntu-touch-on-the-bq-m10.html</guid>
  <pubDate>Fri, 29 Jul 2016 18:17:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Making Lubuntu 16.04 more pixel efficient]]></title>
  <description><![CDATA[
<p>
With the panel on the left or right, you get more visible space for content in portrait orientation, like word processing documents and websites and you don’t have to scroll as much. Ubuntu‘s Unity desktop environment got that right.
</p>

<p>
If you have a low resolution screen this is even more important. If you only watch films on your computer, then the “traditional” Gnome 2 and Windows layouts work fine. The traditional layouts also make more sense on “traditional” a 4:3 screen since the screen has more space in the height compared to the width than modern wider screens (16:9 or 16:10).
</p>

<p>
In addition to scrolling less and seeing more content, I also find this layout functional and a bit more beautiful than the «traditional» layout. It is possible to use a more fancy dock like docky or plank in stead of the LX panel that comes with Lubuntu, but then you also need compositing and that makes the machine a bit less energy efficient, even if it looks beautiful, so I prefer to just use LX panel. It is possible to use translusency without compositing and it looks quite nice in my opinion.
My tweaked Lubuntu with LibreOffice Writer open
My tweaked Lubuntu with LibreOffice Writer open
</p>

<p>
The advantages of using Lubuntu with the LXDE desktop environment in stead of standard Ubuntu with Unity is mainly that it is faster, runs better on older hardware, uses less RAM and CPU and GPU cycles, uses less energy (= longer battery life on laptops) and is more tweakable. Even if I like Unity, Lubuntu lures me back time and again and I enjoy using it a lot. At present, I use it on my laptop after a period of Manjaro Gnome. I am probably more of an LTS kind of guy even if I like the idea of a (slow) rolling distro.
</p>

<p>
I have made <a href="https://einar.codeberg.page/media/Pixel-efficient-Lubuntu-16-04.mp4">a video</a> showing how to tweak LXDE to be more pixel efficient than it is out of the box on Lubuntu. I also change some other aspects of the look and feel more to my liking. The goal is to get something like what you see on the screenshot above. (There is no sound in the video.)
</p>

<p>
Here is a step by step guide if you didn’t get all of it from the video.
</p>

<p>
Openbox configuration manager
</p>
<ol class="org-ol">
<li>Choose “Lubuntu-small” theme in “Theme” tab</li>
<li>Make font sizes 10 in “Appearance” tab</li>
<li>Make 4 desktops and name them in “Desktop” tab in Openbox configuration manager</li>
<li>Set left margin to 33 in “Margins” tab</li>
</ol>

<p>
Customize look and feel
</p>
<ol class="org-ol">
<li>Set icon theme to “Ubuntu-Mono-Light” in “Icon theme” tab</li>
<li>Check / set that theme is “Lubuntu-small” in “Window border” tab</li>
<li>Check / set font size to 10 in “Title bar tab”</li>
<li>Check /set font sizes to 10 in “Misc” tab</li>
<li>Choose “Small toolbar icon” as “Toolbar icon size” in “Other” tab</li>
</ol>

<p>
Desktop preferences (right-click desktop)
</p>
<ol class="org-ol">
<li>Set font size to 10 for “Font of label text”</li>
<li>Deselect “Use desktop as a folder (show icons on it) by path:” in “Advanced” tab</li>
</ol>

<p>
LXpanel (right-click it and choose “Panel settings”)
</p>
<ol class="org-ol">
<li>Set “Edge” to “Left” in “Geometri” tab</li>
<li>Set height to 100 percent</li>
<li>Set width to 32</li>
<li>Set Icon size to 30</li>
<li>Select “Solid color (with opacity)</li>
<li>Click color field and choose a nice light grey and set opacity to 128 and click “OK”</li>
<li>Set Size to 7 under Font.</li>
<li>Remove everything except “Menu”, “Spacer”, “Volume control”,”System tray” and “Digital clock” in “Panel Applets” tab</li>
<li>Move “Digital clock” to before “Volume control” by selecting it and clicking “up”</li>
<li>Select “Stretch” for the spacer</li>
<li>Add new “Spacer” between “Menu” and “Application launch bar”.</li>
<li>Set width of new “Spacer” to 4 pixels by double clicking it.</li>
<li>Add programs to “Application launch bar” by double clicking it</li>
</ol>
<p>
(14. Set Tux image as menu icon by double clicking “Menu” in the “Application launch bar” tab and selecting the Tux image in the open dialog.)
</p>

<p>
A special thanks go to Leszeck Lesner for the Lubuntu screencasts from some years ago that taught me how to tweak Lubuntu! 🙂
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/making-lubuntu-16_04-more-pixel-efficient.html</link>
  <guid>https://einar.codeberg.page/making-lubuntu-16_04-more-pixel-efficient.html</guid>
  <pubDate>Fri, 08 Jul 2016 13:41:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Folkeskolens Kokebok]]></title>
  <description><![CDATA[
<p>
Jeg har arvet en bok som jeg tenker kan ha interesse for flere enn meg selv og som jeg derfor gjør tilgjengelig <a href="http://einar.codeberg.page/media/folkeskolenskokebok.pdf">her</a>. Det dreier seg om Folkeskolens kokebok (Lærebok i huslig økonomi I) av Dorothea Christensen og Helga Helgesen. Boken er utgitt i Kristiania av H.
Aschehough &amp; co. (W. Nygaard) og dette er sjette opplag av 1916. Jeg har arvet denne boken fra Bestemor som man på side 2 kan se at gikk i klasse 7 b da hun fikk den. Bestemor ble født i august 1903, så om hun fikk denne i 7. klasse må det ha vært i 1917, da dette opplaget var ett år gammelt. Her noen ord fra forordet:
</p>

<p>
“I 1907 blev huslig økonomi indført som fast fag ved Kristiania folkeskoler. 6te klasses piker fik 1 time matvarelære, hvori indbefattet kemi, pr. uke. 7de klasse fik 1 forevisningstime, 3 timer praktisk øvelse i matstel, og 1 time helselære. Men mange byer utenfor Kristiania har beholdt praktiske øvelser ogsaa i 6te klasse, og matvarelæren gives i forevisningstimene. Saavel av denne grund som av hensynet til min avdøde medarbeiders ønske, at <i>teori og praktisk arbeide skulde gaa haand i haand</i>, har jeg i nærværende oplag beholdt den samme ordning av stoffet som før. De fleste skolekjøkkenlærerinder rundt om i by og bygd har uttalt sig for bibehold av matvarelæren i forbindelse med matopskriftene. Ved de praktiske øvelser bør hver elev helst faa halv portion at lage paa egen haand.
</p>

<blockquote>
<p>
Undervisningen i matvarelære og kemi bør likesom forevisningstimer i matstel bygges paa <i>iagttagelse</i> og paa <i>eksperimenter</i>. [&#x2026;]
</p>
</blockquote>

<p>
Helga Helgesen, Kristiania, september 1911
</p>

<p>
Jeg syns boken er interessant, både historisk, kulinarisk og språklig og i og med at den er såpass gammel er den åpenbart frigitt fra opphavsretten og kan fritt formidles via nettet. Jeg skænnet boken i 300 dpi og farger. Filen ble på 335 MB og kan ta litt tid å laste ned.
</p>


<p>
<b>In English:</b>
</p>

<p>
I have inherited a book that I think might be of interest for more people than myself, hence, I have made it available <a href="http://einar.codeberg.page/media/folkeskolenskokebok.pdf">here</a>. The book is Folkeskolens kokebok (Lærebok i huslig økonomi I) [The primary school's cook book (Tutor of home economics I)] by Dorothea Christensen and Helga Helgesen. The book was published in Kristiania (the "new" name for Oslo used between the 16th century and the early 20th century, when we returned to using the old name) by H. Aschehough &amp; co. (W. Nygaard), and this is the sixth edition from 1916. I have inherited this book from my Grandmother, which on page 2 has marked that she went in class 7 b when she got it. My Grandmother was born in August of 1903, so by the time she got this book in the 7th grade, it must have been 1917 by which time this edition was a year old.
</p>

<p>
I find this book interesting historically, culinarily and linguistically. The book is obviously old enough to be in the public domain and thereby freely distributable through the internet. I have scanned it in 300 dpi and colours. The file is 335 MB large and might take a bit of time to download.
</p>
<div class="taglist"></div>]]></description>
  <link>https://einar.codeberg.page/folkeskolens-kokebok.html</link>
  <guid>https://einar.codeberg.page/folkeskolens-kokebok.html</guid>
  <pubDate>Sun, 07 Jun 2015 13:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[The netbook - a cheap and flexible alternative in the tablet and ultrabook age]]></title>
  <description><![CDATA[
<p>
There has never been a better time to buy a netbook than today. Netbooks are being replaced by tablets and ultrabooks by a lot of people and the netbook is no longer the new and exciting device it used to be some years ago. Prices are low on the used market and the later netbooks with dual core processors can be had just as cheaply as the less powerful earlier models. There are also netbooks with GPUs (not just integrated graphics), USB 3.0 and HD screens that you could buy cheaply used.
</p>

<p>
Different people have different needs for different tasks. Fore some, an ultrabook is perfect, for others a tablet, for some a laptop, for some a chromebook and for some a netbook. There are different considerations, such as which operating system(s) you want to use, what form factor(s) you like to use, how much money you are willing to spend, whether mobility or screen real estate is more important to you, how much storage space you need, how long battery life you need, if you want a keyboard or not, if you like touchpads or touch screens or both&#x2026;
</p>

<p>
I am touch typist, so I really want a keyboard on my device, but I also want a small and ultraportable devices that is easier to bring with me than my 13,3 inch MacBook Pro. It is just too big and heavy. The 10 inch form factor of most netbooks is very portable, but big enough that the screen, keyboard and trackpad are useable even for adults. There are also netbooks with 11 and 12 inch screens if you prefer a slightly larger size and some people get along fine with 7 and 9 inch netbooks as well. I have got thick fingers, so smaller keyboards than the one on my 10 inch Asus EeePC would be too hard to write on for me.
</p>

<p>
Netbook keyboards are of varying build quality and size, but I find that the Asus EeePC 1015 PEM I have got is ok to type on, even if it has taken some time to get used to the 93% keyboard size. People often use tablets with bluetooth keyboards, but then you have to carry two devices and you are back to the clamshell form factor of traditional laptops anyway. For me, the price of a tablet combined with apps for it and a keyboard is just overkill when I can get a netbook much cheaper that suits my needs better. I also prefer a full desktop operating system and a full set of ports. For others, a tablet with iOS, Android or Tizen might be perfect. And for the people that want more processor power in a light and portable package, an ultrabook might be right. Personally, I really like the good old-fashioned clamshell laptop form factor.
</p>

<p>
One advantage of netbooks is that they have all the usual ports like USB, Ethernet, VGA and/or HDMI, sound in and out and SD card reader. If you ever use a USB stick or mobile broadband or want to plug your device into a projector, this might be important to you. Combined with a full desktop operating system, you get all the flexibility of the traditional desktop computer in a light, compact and mobile package. You can run any version of Windows or any Linux distro you want. You can even hackintosh it if you are so inclined. And if you prefer a simpler interface, you might try running Android, MeeGo, Tizen, JolliCloud or any tablet/phone operating system in stead. Choice is good!
</p>

<p>
Battery life is a reason many people state as their main reason to use a tablet in stead of a laptop. Since netbooks are now getting really cheap on the used market, you could buy a netbook and a high-capacity battery for half the price of a tablet and get more or less the same battery life (some Asus Eee with dual core processors can get up to 13 hours of claimed battery life, which is probably more like 8 to 10 hours in real life). Of course, netbooks with GPUs have shorter battery life, while netbooks with integrated graphics have longer battery life. On my netbook, I am getting around 4 and a half hours of normal use with Wifi on and the screen brightness set to maximum with the three year old low capacity battery that came with the netbook. So far I haven’t bought a high capacity battery, but I am thinking about it. Might be smart to do so before they become too scarce.
</p>

<p>
With a netbook you have more upgradability than on a tablet or ultrabook. RAM is usually easily upgradable. It is also so cheap now that there is no reason not to max the RAM. Most older netbooks came with 1 GB of RAM and maxed out at 2 GB, but some of the newer ones max out at 4 GB. More RAM will usually increase speed, specially if you are multitasking a lot. A tip if you are running a Linux distro is to maximise the RAM and set the swappiness to 0, so that the netbook will use the faster RAM in stead of using the swap partition on your hard disc as long as there is still RAM available. Since disc writes and reads are draining the battery more than RAM writes and reads, this will also increase battery life as well as make the overall experience faster.
</p>

<p>
If you buy one of the newer netbooks, they usually come with 160 GB or 250 GB hard disc drives. Compared to tablets which often have 16, 32 or 64 GB SSDs, there is a lot more room for movies and music and whatever you might want to bring with you on most of the newer netbooks. On some netbooks, the hard drive is easily swapped out for another disc if you need more space by just opening a hatch on the back of the computer. On my Asus EeePC, the hard drive is harder to get to, but there are tutorials on youtube and blogs for upgrading it, so it is still user upgradable. Be aware that 2,5 inch SATA drives come in different heights and that your netbook might use a 7 or 9 mm high drive and taller drives might not fit. With hard disc drives up to a Terabyte being quite cheap now, it is not very expensive to get more storage space or a faster hard drive if you want or need to. SSDs bring silent computing since the fans don’t have to remove excess heat produced by a spinning disc. They also bring longer battery life, since there are no moving parts and motors, but the price is high per GigaByte. It is probably overkill to invest in an expensive SSD for an inexpensive netbook. On the other hand, a SATA SSD might be brought over to a newer device or put in a USB, eSATA or FireWire enclosure at a later time, so if you really want one, you might be able to justify it somehow. Personally, I am thinking they are still too expensive and for now, the 250 GB hard disc that came with the netbook is large enough. I keep my ripped DVDs on my MacBook Pro.
</p>

<p>
Another upgrade choice I mentioned in an earlier paragraph is the battery. Unlike many new ultrabooks and tablets, the battery is usually user replaceable in a netbook. This means that you will be able to use the device for a longer time, since you do not need to pay an authorized serviceperson to open your device to change your battery and you don’t get the dilemma of buying new or a high price for a repairsperson to fix the machine when it is getting old. More user-upgradability means that the device will stay in service longer, which is good for the environment.
</p>

<p>
There are many things to love about netbooks, but there are also some drawbacks. The main drawbacks are usually the processor, GPU or lack thereof, screen resolution and keyboard. Most netbooks have a screen with a resolution of 1024 x 600, which is useable, but somewhat limiting, specially the 600 pixels of height. Some netbooks have GPUs and higher definition screens, usually 1366 x 768. Even if my Asus has an integrated Intel graphic chip, I have had no trouble utilising projectors or external screens in addition to the internal screen when using Lubuntu. Video playback is fluid. Usually this is not a problem with the newer netbooks.
</p>

<p>
Keyboards on netbooks are usually smaller than 100%. Some are mushy and very small, while others are quite ok, once you get used to the smaller size and the placement of the keys. I think the keyboard of an Asus EeePC 1015 PEM compares quite well to the chicklet keyboard on the Macbook and Macbook Pro. The main difference is the size and that the keys have slightly more resistance on the Asus. Asus actually used to produce Macs for Apple in the past, so they certainly know how to produce well designed computers.
</p>

<p>
The processor is usually the main drawback of netbooks. Earlier netbooks had single core Intel Atom processor and later have AMD fusion or dual core Intel Atoms. Even the later netbooks are quite slow compared to full-fledged laptops with Core 2 Duo, i3, i5 or i7 or AMD processors. The ultrabooks, which usually have a slightly bigger screen and a slimmer body beneath the keyboard, have more processing power, but they usually lack the upgradability of netbooks and cost much more.
</p>

<p>
For most daily tasks like email, websurfing, watching movies, listening to music, podcasts and internet radio, watching online videos and streams, writing documents, making spreadsheets, instant messaging, video conferencing, VOIP &amp;c a netbook is really all you need, but it might take some seconds more to boot the operating system and launch programs than an ultrabook would have used. That is the main trade off for the small size and the quite long battery life. For the low prices of netbooks on the used market, getting a quite new, high-end netbook is a no-brainer if you want a very portable computer and do not need a lot of processor power or a high resolution screen.
</p>

<p>
After I got my netbook, my huge and heavy 13,3 inch MacBook Pro has become my desktop computer. I still use it a lot at home and when I am away for longer periods at the same place, but for mobile computing, the 10 inch Asus is much more practical. Of course, if you are not a touch typist or don’t want to or need to write on a traditional keyboard, then maybe a tablet might be just as good, but for me, the freedom to install whatever operating system I want and the ability to connect with VGA to a projector or an external screen or use USB to connect to my camera or phone or a mobile broadband USB stick is invaluable. It is much lighter in my backpack than my MacBook Pro. Of course, I might as well have used a small 11 or 12 inch ultrabook, but it would have cost at least triple what I payed. Since I don’t really need the extra processing power, a netbook is perfect for me.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/the-netbook-a-cheap-and-flexible-alternative-in-the-tablet-and-ultrabook-age.html</link>
  <guid>https://einar.codeberg.page/the-netbook-a-cheap-and-flexible-alternative-in-the-tablet-and-ultrabook-age.html</guid>
  <pubDate>Thu, 28 May 2015 12:54:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Ubuntu 14.04 on MacBook 2,1 (late 2006) and how to get iSight working]]></title>
  <description><![CDATA[
<p>
Ubuntu 14.04 "Trusty Tahr" runs quite well on my MacBook 2,1 from late 2006. Now that security support from Apple is (silently) ended for Mac OS X 10.6 "Snow Leopard", installing Ubuntu is a good choice if you want the latest software, want to stay secure and don't rely on Mac-specific programs. (It is possible to dual-boot or keep one of the
OSes on an external FireWire hard drive you can boot from if you want to have both. Or you could upgrade to Mac OS X 10.7 "Lion" to get security support from Apple a while longer, but lose Rosetta and FrontRow.)
</p>

<p>
I initially ran Ubuntu 12.04, the previous long term support (LTS) version, but Ubuntu 14.04 is faster and leaner and comes with more up-to-date programs. If you are thinking of using Ubuntu on your MacBook, use the newest LTS. There is a new version of Ubuntu every six
months, but personally, I prefer staying on the long term support version that comes out every two years. This gives me stability and security and I don't need to upgrade or reinstall that often. The LTS release is supported for five years, so even after the next LTS is out, you have some time before needing to upgrade.
</p>


<figure id="orga728ecc">
<img src="https://einar.codeberg.page/media/Ubuntu1404MacBook.png" alt="Ubuntu1404MacBook.png">

<figcaption><span class="figure-number">Figure 1: </span>Ubuntu 14.04 on the MacBook (late 2006)</figcaption>
</figure>

<p>
Ubuntu 14.04 comes with all the newest programs and everything "just works". All the hardware on the MacBook works fine out of the box, except the internal iSight camera, the internal microphone and the fans. Apple doesn't supply drivers for their fans for Linux or Windows, which means that although you can run Windows or Linux on the machine, the
fans are either off or on at full speed. This makes the machine more noisy when not running Mac OS X and also shortens the battery life. The solution is to install macfanctl. You can find it in the Ubuntu software centre or by using apt install macfanctl.
</p>

<p>
To get the webcam working, I found some tips in an old <a href="https://help.ubuntu.com/community/MactelSupportTeam/AppleiSight?action=show&amp;redirect=AppleiSight">how-to
on the Ubuntu MacTel support wiki</a>,but the page was somewhat hard to understand and I had to do some additional thinking and experimenting to get it working. So I thought I'd share the solution here:
</p>
<ol class="org-ol">
<li>Step one was to get the iSight firmware from a machine/disk with Mac OS 10.6.8 Snow Leopard installed. You have to go to <i>system/Library/Extensions</i> and find IOUSBFamily.kext. Then ctrl-click (or right-click) on it and select "Show contents". Then navigate to the</li>
</ol>
<p>
Contents folder within it, and to the PlugIns folder within it and ctrl-click on AppleUSBVideoSupport.kext and select "Show contents" again. Then navigate into the Contents folder and into the MacOS folder and copy the file "AppleUSBVideoSupport" to a USB memory stick.
</p>
<ol class="org-ol">
<li>Open a Terminal and write <code>sudo apt-get install isight-firmware-tools</code> and hit enter and write your password and hit enter again. You need to install this program to extract the parts of the firmware file that Ubuntu will use and place it where it should be. Don't close the Terminal window yet, you will need it later.</li>
<li>Insert your USB memory stick and copy the "AppleUSBVideoSupport" to your home folder. 4. In the Terminal, write</li>
</ol>
<p>
<code>sudo ift-extract -a /home/yourusername/AppleUSBVideoSupport</code> (with the name of your user instead of "yourusername") and hit enter. (You might have to write your password again.) If everything works fine, you will get notified that isight.fw have been added to /lib/firmware. Now restart, and you can enjoy using your iSight webcam and internal
microphone with Skype or Cheese or whatever program you like.
</p>

<p>
There is also another minor annoyance in Ubuntu for me: the Norwegian Macintosh keyboard layout does not correspond to the physical Norwegian Macintosh keyboards on one key, which makes it impossible to write apostrophes. All other glyphs and modifiers work fine. My solution is to use the Norwegian [PC] keyboard layout and remap the right command key
(called the right Win key) to Alt-Gr with the Keyboard system settings panel (as shown above).
</p>

<p>
<i>Update as of 28th August 2019: I got a message through my contact page that the above procedure to get iSight working also works with Debian. Since Ubuntu is downstream from Debian, that seems natural, but it was nice to hear from someone that has actually done it with success.</i>
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/ubuntu-1404-MacBook-2_1.html</link>
  <guid>https://einar.codeberg.page/ubuntu-1404-MacBook-2_1.html</guid>
  <pubDate>Fri, 02 May 2014 13:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Dependent clauses]]></title>
  <description><![CDATA[
<p>
Being a student of English grammar, (non-finite ing-clause) which I find interesting, (adjectival relative clause, non-restrictive) having found (non-finite ing-clause) that it is necessary to compile a list (nominal that-clause) describing the different types and functions of dependent clauses, (non-finite ing-clause) to be presented to my fellow students at a get-together tomorrow, (non-finite infinitive clause) before the fast approaching exam, (adjunct adverbial clause) and being inclined towards freedom of information, (non-finite ing-clause) therefore making available (non-finite ing-clause) what I have found in the form of a list (nominal relative clause) that may be viewed and saved by cliking <a href="https://einar.codeberg.page/media/dependentclauses.html">here</a> (adjectival relative clause, restrictive) if anyone should be interested in it, (nominal clause, inderect question) I am who is responsible for writing this dribble. (nominal relative clause) (Complex sentence)
</p>
<div class="taglist"></div>]]></description>
  <link>https://einar.codeberg.page/dependent-clauses.html</link>
  <guid>https://einar.codeberg.page/dependent-clauses.html</guid>
  <pubDate>Mon, 31 Mar 2014 12:23:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to bring Rhythmbox radio streams from one computer to another]]></title>
  <description><![CDATA[
<p>
I recently installed Ubuntu on a new machine and wanted to bring along my music collection to use with Rhythmbox. This was trivial, I just copied the Music folder from my old machine to my new via an external USB hard drive and let Rhythmbox on the new machine search through the folder at first run. Then I wanted to listen to the radio and tried the radio tab in the sidepanel in Rhythmbox, but all the stations I had added to my old installation was no where to be found. So I did a little digging around the internet to come up with a solution.
</p>


<figure id="orgb5dff45">
<img src="https://einar.codeberg.page/media/Rhythmboxradio.png" alt="Rhythmboxradio.png">

<figcaption><span class="figure-number">Figure 1: </span>Rhythmbox db</figcaption>
</figure>

<p>
It turns out that the Rhythmbox radio stations are stored in the same database file that the whole music library database is stored in. Unfortunately, I could not just copy the database file, since the links in the file are hard links and the user names (and home folder names) are different on the two machines. Changing all the song entries would
have been tedious, but I found another way.
</p>

<p>
What I did was open the file ~/.local/share/rhythmbox/rhythmdb.xml in gedit. (Open a terminal and write <b>gedit ~/.local/share/rhythmbox/rhythmdb.xml</b> and press return.) Then I
searched for "iradio" by clicking on the magnifying glass and scrolled down until I found the radio stations I had added. I then selected everything from &lt;entry type="iradio"&#x2026; until <i>entry&gt; after the last of my added radio streams and copied it (press <b>ctrl-c</b>). Next, I opened a new file in gedit and pasted my text (<b>ctrl-v</b>) and saved the new file to a USB thumbdrive. On the other machine, I inserted the thumb drive, opened my saved file in gedit (right-click the file name in Nautilus and select "Open with" and "Text editor") and copied everything in the file (press <b>cttrl-a</b> and <b>ctrl-c</b>). Then I opened the
~</i>.local/share/rhythmbox/rhythmdb.xml file in gedit (open a terminal and type <b>gedit ~/.local/share/rhythmbox/rhythmdb.xml</b> and press return), searched for "iradio", scrolled down to the last radio station, set the marker after the last "/entry&gt;", hit return, pasted my radio station entries (<b>ctrl-v</b>), checked that there were no extra empty lines before or after my radio entries and then I saved the file. When I opened up Rhythmbox, my radio stations were there and streaming radio was working fine.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/rhythmbox-radio-streams.html</link>
  <guid>https://einar.codeberg.page/rhythmbox-radio-streams.html</guid>
  <pubDate>Mon, 17 Mar 2014 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How to switch between programs on different workspaces in Ubuntu (with Unity)]]></title>
  <description><![CDATA[
<p>
One of the things I always customise when using the LXDE desktop environment is to <a href="https://einar.codeberg.page/alt-tab-lubuntu.html">get alt-tab to not only change programs on one desktop/work space, but on all of them</a>. On Unity I was looking for a way to do the same and discovered that I don’t need to change anything, there is aleady a built-in keyboard shortcut: ctrl-alt-tab. Although slightly more akward than just alt-tab, it works.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-switch-between-programs-on-different-workspaces-in-ubuntu-(with-unity).html</link>
  <guid>https://einar.codeberg.page/how-to-switch-between-programs-on-different-workspaces-in-ubuntu-(with-unity).html</guid>
  <pubDate>Sat, 08 Feb 2014 11:07:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[The Mac is dead, long live the Mac!]]></title>
  <description><![CDATA[
<div id="outline-container-orgece79e4" class="outline-2">
<h2 id="orgece79e4">The 30th anniversary of the Macintosh</h2>
<div class="outline-text-2" id="text-orgece79e4">
<p>
I start up that old <a href="https://einar.codeberg.page/ems-quadra-pages.html">Quadra 700</a> in System 7, and I am back at the personal computer that lets me put whatever I want in the Apple-menu, a truely Wozniakian machine. I’m back at the desktop where I ResEdited all the desktop patterns and changed those STR# resources so my Mac would tell me «Welcome
to Einar’s Mac» at start-up, back at the computer where I could put a picture in a special StartUpScreen format in the system folder, and see my picture as the background when the machine booted. I am back at that operating system that lets me choose which control panels and extensions should run, the system that lets me allocate the amount of RAM I want for my programs, the amount of virtual memory used and whether I would like a RAM-disk or not.
</p>


<figure id="org131175f">
<img src="https://einar.codeberg.page/media/about.gif" alt="about.gif">

</figure>

<p>
These were the days of System 7: The IBM-compatibles were the machines of the corporate office drones, opening their 3,11 Windows so their 1,6 children could Excel in Word with 4 colours. On my Mac, I could publish «newspapers» with the kids in my neighbourhood using ClarisWorks, while others were struggling with config.sys, autoexec.bat and extended memory. I could write orchestral scores in Finale at the age of learning my first words of English at school. I could program my own games in HyperTalk, make a contact database in ClarisWorks or chill with Prince of Persia or Maelstrom. I could draw superbly in SuperPaint even if not on paper. I could MacDraw, MacPaint, MacLISP and MacWrite II. These were the days of PowerBook 140s, the days when PCs didn’t have norwegian characters in the fonts used by MS-DOS while Macs had whatever keyboard layout I would like and the fonts to match them. These were the days of WriteNow, PageMaker, GraphicConverter, Netscape, iCab, WordPerfect and PhotoShop.
</p>

<p>
Alas, it had to end. Steve Jobs’ second coming at Apple brought a revolution. Bill Gates from MICROSOFT! was presented as Apple’s saviour at MacWorld. Hell had frozen over and Steve Jobs held a funeral for Mac OS 9. Our corporate overlords decided that everything on screen should be grey from now on and that the Apple logo should loose its colours. Resistance was futile and the brushed aluminium age of Apple Inc. had commenced. All the colour, charm, humour and personality of the good old Macintosh System Software was gone. Forever lost to retro-computing was Clarus the dog-cow, the view of the Cupertino campus hidden in «About Finder», the program menu from the days of ye olde MultiFinder, the customisable and colourful Apple-menu, and the illogical charm of logging into a network server over AppleTalk with the Chooser DA.
</p>

<p>
It was a new jungle of Panthers, Tigers, Snow Leopards and Mountain Lions. It was a Quartz Extreme time of Carbonised Aqua and imprisonment in brushed metal interfaces. It was a time of confusion of keyboard shortcuts, and a time of mousing into the menu after not having had to do so since System 6 in the late 80s. It was a time of every program having a menu called the name of the program, but not containing much other than «Settings..» and «Quit», in stead of the File menu being next to the Apple menu, as Atkinson intended and sense predicted. It was mayham and confusion. It was a time of accepting being a user, not a poweruser. It was brutal, but I adapted.
</p>

<p>
Macs are more popular than ever, with the Mac-hating sheep of the MS-DOS days now flocking to the glass-walled, consumerist temples that are the Apple stores. For the new converts, the Mac delivers the friendly interface Windows users never knew they could have. (Try out the control panel on a Mac and compare with Windows, and you get what I mean.) But for me, the magic has faded with the six colours. I still use Macs, and in many ways, they are greater than ever, but I don’t like that Apple’s designs are forcing obsolesence while Cook is talking green on stage. I find myself drawn towards the open source world, where lots of the exciting new technological developments are happening. Maybe it is just a matter of wanting to think different(ly)?
</p>

<p>
This is the legacy of the Macintosh: the idea that a computing device needs a user-friendly Graphical User Interface (GUI) to be efficient and compelling. It’s everywhere today, not necessarily greatly executed, but everywhere. I love my iBook, Macintosh Server G3, MacBook, MacBook Pro and EeePC, but nothing gets me moofing like starting System 7.6.1 on the <a href="https://einar.codeberg.page/ems-quadra-pages.html">Quadra</a>, hearing the major chord chime, seeing the happy Mac, and booting into the good old Finder. I get the warm feeling of coming home to my personal computer.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/the-mac-is-dead-long-live-the-mac.html</link>
  <guid>https://einar.codeberg.page/the-mac-is-dead-long-live-the-mac.html</guid>
  <pubDate>Fri, 31 Jan 2014 11:30:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Notation in Telemann's Sonata for Treble Viol, TWV41:G6]]></title>
  <description><![CDATA[
<p>
I have been looking a little at a <a href="http://imslp.org/wiki/Viola_da_Gamba_Sonata,_TWV_41:G6_%28Telemann,_Georg_Philipp%29">sonata by Telemann for the treble viol in G major from Der getreue Music-Meister</a>.
</p>


<figure id="org2df90c5">
<img src="https://einar.codeberg.page/media/TWV-41_G6.jpg" alt="TWV-41_G6.jpg">

<figcaption><span class="figure-number">Figure 1: </span>First page of TWV41:G6</figcaption>
</figure>

<p>
Often, on the treble viol, a practical challenge is that a lot of music is ascending quite high, but in this piece everything keeps moving on the lowest strings in stead. The music actualy descends to c#, a semitone lower than my treble viol, if tuned normally, but the music also clearly states "Dessus de viole" on the top right side of the page,
so it is obviously not meant for the bass or tenor viol.
</p>

<p>
So, what does this mean? I think it means that Telemann's notation is to be played an octave up. When playing this Sonata an octave up, it lays in the usual range utilised for solo pieces on the treble viol. If not played <i>ottava alto</i>, the piece could just as well be played on the bass viol.
</p>

<p>
This notation makes it very easy for a player used to the bass viol to play this Sonata on the treble viol. He would just play as if playing the bass viol and it would sound an octave up on the treble viol. On the other hand, a player used to reading the alto clef <i>loco</i> on the treble viol would have to transpose the piece an octave up.
</p>

<p>
Maybe I am over-interpreting, but this also suggests to me that it might have been common practise at the time to play music for the bass viol on the treble viol from the same notation, thus sounding an octave up. If it wasn't customary to play solo music written in the alto clef an octave up on the treble viol, Telemann would have had to mention that
<i>8va alto</i> is how the music should be played in his print, but since he didn't, either I am wrong in assuming it is to be played an octave up, or this was the usual way of playing solo music written in the alto clef when the treble viol was used. (At least in northern Germany in Telemann's time.)
</p>

<p>
Playing bass viol solo repertoire an octave up on the treble viol would add a lot of solo repertoire for the treble viol. Of course, French repertoire needing the 7th string would be problematic to play on a treble, but otherwise, any piece for the bass could be played on the treble and vise versa, as long as it is in the usual solo + continuo
format. (The viol sonatas by J. S. Bach, that are in fact trio sonatas with the viol on the middle part would not work on the treble viol without some alterations, since suddenly the middle part would be above the real upper part.)
</p>

<p>
The ironic thing is that the "easy" octave transposing notation that I believe is used in this piece, is not easy at all for me, as I didn't come to the treble viol from the bass viol, but from the baroque cello, which means that I have absolutely no point of reference to where I would play if playing as written on the bass viol (ie transposing an
octave up). On the treble viol, I am more used to reading the treble clef, which is a second lower than the alto clef an octave up, and the french treble, which is a second higher than the alto clef an octave up (or could be read as the bass clef two octaves up). So, I can easily play a diatonic second wrong in either direction as a result. For me,
this "easy" notation actually makes the piece much harder to play, at least during the inital phase of deciphering the notation.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/notation-in-twv41_G6.html</link>
  <guid>https://einar.codeberg.page/notation-in-twv41_G6.html</guid>
  <pubDate>Fri, 22 Nov 2013 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Things to do to get the most out of Debian Wheezy]]></title>
  <description><![CDATA[
<p>
I have recently installed Debian Wheezy with LXDE on my netbook. As anticipated, there were a number of things that needed to be done to get it to work as I like. Debian is a bit more work than Ubuntu, but also slightly lighter on resources, and I enjoy learning how to do this stuff. Having used some time to find out how to do things, I thought I might make a list to remember it all and share some Debian info with the interwebs.
</p>

<p>
(There are two ways of getting root, which you need to install software. Either you have no root account and you use «sudo» in an ordinary terminal, or you have a root account and do not use «sudo», but in stead use the root terminal. If you do the latter, you have to subtract «sudo» from all terminal commands mentioned here to get them to work.)
</p>
<div id="outline-container-orgf279f21" class="outline-2">
<h2 id="orgf279f21">Adding software sources:</h2>
<div class="outline-text-2" id="text-orgf279f21">
<p>
Debian’s package installer APT uses the file /etc/apt/sources.list to determine where to get its software from. By adding new lines to this file, new software repositories can be added. I like to add the following to my software sources:
</p>
<ul class="org-ul">
<li>Adding «contrib» and «non-free» software sources (for non GPL software like drivers, fonts, media codecs): How to and more on software sources at <a href="https://web.archive.org/web/20140605070008/https://wiki.debian.org/SourcesList">Debian sources.list</a></li>
<li>To get newer versions of software in Debian repos, add <a href="https://web.archive.org/web/20140605070008/http://backports.debian.org/Instructions/">Debian Backports</a></li>
<li>To get newest Mozilla software, add <a href="https://web.archive.org/web/20140605070008/http://sourceforge.net/apps/mediawiki/ubuntuzilla/index.php?title=Main_Page">Ubuntuzilla</a></li>
</ul>
</div>
</div>
<div id="outline-container-org887e0dc" class="outline-2">
<h2 id="org887e0dc">Software from the Debian repos:</h2>
<div class="outline-text-2" id="text-org887e0dc">
<ul class="org-ul">
<li>MSttcorefonts (TimesNewRoman, Aerial and so forth, «contrib» must be in your sources.list): open a terminal, write «sudo apt-get install msttcorefonts», hit enter and type your password and enter again.</li>
<li><a href="https://einar.codeberg.page/how-to-add-drivers-for-the-asus-eeepc-1015pem-in-debian-wheezy.html">How to add drivers for the Asus EeePC 1015PEM</a></li>
</ul>
</div>
</div>
<div id="outline-container-org15db8d4" class="outline-2">
<h2 id="org15db8d4">Software installations from backports (to get newer versions):</h2>
<div class="outline-text-2" id="text-org15db8d4">
<p>
To install programs from backports, open a terminal and write «sudo apt-get -t wheezy-backports install &lt;Program name&gt;». These are the programs I like to install from backports:
</p>
<ul class="org-ul">
<li>libreoffice, the free and open source office suite (if it is already installed, you must first deinstall the old version by opening a terminal and writing «sudo apt-get autoremove libreoffice», and then install the newer version from backports.)</li>
<li>gpodder, a podcatcher</li>
<li>vlc, a video/audio player that plays most formats</li>
<li>liferea, a RSS and Atom feedreader, to avoid having to visit lots of site to see new content</li>
<li>fbreader, an ebook reader that reads most DRM-free formats</li>
<li>gimp, the GNU Image Manipulation Program, great for editing photos or images</li>
<li>rhythmbox, an audio player and music organiser with live radio streams</li>
</ul>
</div>
</div>
<div id="outline-container-orgce2e636" class="outline-2">
<h2 id="orgce2e636">Newest release of FireFox and Thunderbird (And Seamonkey if you like):</h2>
<div class="outline-text-2" id="text-orgce2e636">
<p>
Debian Wheezy’s Icedove (Thunderbird) package doesn’t properly display my calendar and tasks with the matchning Iceowl-extension (Lightning), and the Debian Mozilla group’s slightly newer versions don’t work either, so I had to look elsewhere. <a href="https://web.archive.org/web/20140605070008/http://sourceforge.net/apps/mediawiki/ubuntuzilla/index.php?title=Main_Page">The Ubuntuzilla project</a> keeps up with Mozilla’s newest builds and the repos work on APT-based distros like Mint, Ubuntu and Debian.
</p>
<ul class="org-ul">
<li>To install FireFox: «sudo apt-get install firefox-mozilla-build» (the Ubuntuzilla sources must be in your sources.list.)</li>
<li>To install Thunderbird: «sudo apt-get install thunderbird-mozilla-build»(the Ubuntuzilla sources must be in your sources.list.)</li>
</ul>
</div>
</div>
<div id="outline-container-org5e97ec8" class="outline-2">
<h2 id="org5e97ec8">Other software installations:</h2>
<div class="outline-text-2" id="text-org5e97ec8">
<p>
Some software is not available through the above mentioned repos, and must be installed from other sources. Here is a list of a few of those that I like, and how/where to get them:
</p>
<ul class="org-ul">
<li>LibreOffice dictionaries: <a href="https://web.archive.org/web/20140605070008/http://extensions.libreoffice.org/extension-center">LibreOffice Extensions</a></li>
<li>BitTorrent Sync user package, a brilliant way to sync files between computers: <a href="https://web.archive.org/web/20140605070008/http://forum.bittorrent.com/topic/19560-debian-and-ubuntu-desktop-packages-for-bittorrent-sync/">BTSync User</a></li>
<li>Skype, the instant messanger, VOIP and video call program: <a href="https://web.archive.org/web/20140605070008/https://wiki.debian.org/skype">Installing Skype on Debian</a> (As Skype comes as a 32 bit «multiarch», you need to read the section for amd64 on this page to get it to install properly on a 64-bit Debian install)</li>
<li>Flashplayer, to be able to play some contents online: <a href="https://web.archive.org/web/20140605070008/https://wiki.debian.org/FlashPlayer/">Debian Wiki</a></li>
</ul>
</div>
</div>
<div id="outline-container-org3a37be8" class="outline-2">
<h2 id="org3a37be8">LXDE:</h2>
<div class="outline-text-2" id="text-org3a37be8">
<ul class="org-ul">
<li>Getting Alt-Tab to cycle across all desktops: <a href="https://einar.codeberg.page/alt-tab-lubuntu.html">how to get Alt-Tab to show all windows on all desktops</a></li>
<li>Changing panel set-up to whatever you like (I prefer an autohiding dock on the left side, to get the most vertical pixels possible (I only have 600 in all).): <a href="https://youtube.com/watch?v=IAXHO4Ou5BQ">Leszek Lesner’s Lubuntu screencast: LXPanel</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgaf09619" class="outline-2">
<h2 id="orgaf09619">Adding radio streams’ URLs:</h2>
<div class="outline-text-2" id="text-orgaf09619">
<p>
Unfortunately, my favorite radio streams are not available by default in Rhythmbox, so I have to add them manually. (Find your European favorites on listenlive.eu.):
</p>
<ul class="org-ul">
<li>BBC World Service: <a href="http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-eieuk">http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-eieuk</a></li>
<li>DR P1: <a href="http://live-icy.gss.dr.dk/A/A03L.mp3.m3u">http://live-icy.gss.dr.dk/A/A03L.mp3.m3u</a></li>
<li>DR P2: <a href="http://live-icy.gss.dr.dk/A/A04L.mp3.m3u">http://live-icy.gss.dr.dk/A/A04L.mp3.m3u</a></li>
<li>DR P3: <a href="http://live-icy.gss.dr.dk/A/A05L.mp3.m3u">http://live-icy.gss.dr.dk/A/A05L.mp3.m3u</a></li>
<li>DR P4 København: <a href="http://live-icy.gss.dr.dk/A/A08L.mp3.m3u">http://live-icy.gss.dr.dk/A/A08L.mp3.m3u</a></li>
<li>DR P5: <a href="http://live-icy.gss.dr.dk/A/A25L.mp3.m3u">http://live-icy.gss.dr.dk/A/A25L.mp3.m3u</a></li>
<li>DR Nyheder: <a href="http://live-icy.gss.dr.dk/A/A02L.mp3.m3u">http://live-icy.gss.dr.dk/A/A02L.mp3.m3u</a></li>
<li>DR P8 Jazz: <a href="http://live-icy.gss.dr.dk/A/A22H.mp3.m3u">http://live-icy.gss.dr.dk/A/A22H.mp3.m3u</a></li>
<li>NRK P1 Østfold: <a href="http://lyd.nrk.no/nrk_radio_p1_ostfold_mp3_l">http://lyd.nrk.no/nrk_radio_p1_ostfold_mp3_l</a></li>
<li>NRK P2: <a href="http://lyd.nrk.no/nrk_radio_p2_mp3_l">http://lyd.nrk.no/nrk_radio_p2_mp3_l</a></li>
<li>NRK P3: <a href="http://lyd.nrk.no/nrk_radio_p3_mp3_l">http://lyd.nrk.no/nrk_radio_p3_mp3_l</a></li>
<li>NRK Alltid Nyheter: <a href="http://lyd.nrk.no/nrk_radio_alltid_nyheter_mp3_l">http://lyd.nrk.no/nrk_radio_alltid_nyheter_mp3_l</a></li>
<li>NRK Klassisk: <a href="http://lyd.nrk.no/nrk_radio_klassisk_mp3_h">http://lyd.nrk.no/nrk_radio_klassisk_mp3_h</a></li>
<li>NRK Jazz: <a href="http://lyd.nrk.no/nrk_radio_jazz_mp3_h">http://lyd.nrk.no/nrk_radio_jazz_mp3_h</a></li>
<li>NRK Folkemusikk: <a href="http://lyd.nrk.no/nrk_radio_folkemusikk_mp3_h">http://lyd.nrk.no/nrk_radio_folkemusikk_mp3_h</a></li>
<li>SR P1: <a href="http://sverigesradio.se/topsy/direkt/132-hi-mp3.m3u">http://sverigesradio.se/topsy/direkt/132-hi-mp3.m3u</a></li>
<li>SR P2: <a href="http://sverigesradio.se/topsy/direkt/163-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/163-hi-mp3.pls</a></li>
<li>SR P3: <a href="http://sverigesradio.se/topsy/direkt/164-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/164-hi-mp3.pls</a></li>
<li>SR P4 Värmland: <a href="http://sverigesradio.se/topsy/direkt/204-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/204-hi-mp3.pls</a></li>
<li>SR P4 Malmöhus: <a href="http://sverigesradio.se/topsy/direkt/207-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/207-hi-mp3.pls</a></li>
<li>SR Klassiskt: <a href="http://sverigesradio.se/topsy/direkt/1603-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/1603-hi-mp3.pls</a></li>
<li>SR Din Gata: <a href="http://sverigesradio.se/topsy/direkt/2576-hi-mp3.pls">http://sverigesradio.se/topsy/direkt/2576-hi-mp3.pls</a></li>
</ul>

<p>
Other stuff:
</p>
<ul class="org-ul">
<li>to browse the Debian repos, check out Packages for Debian Wheezy</li>
</ul>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/things-to-do-to-get-the-most-out-of-debian-wheezy.html</link>
  <guid>https://einar.codeberg.page/things-to-do-to-get-the-most-out-of-debian-wheezy.html</guid>
  <pubDate>Mon, 18 Nov 2013 19:11:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[How to add drivers for the Asus EeePC 1015PEM in Debian Wheezy]]></title>
  <description><![CDATA[
<p>
I used some time to find out how to add wireless support and the use of the function keys on the Asus EeePC 1015PEM after installing Debian «Wheezy» 7.2 with LXDE. I thought others might be having the same issues, so I wrote this post. (And to remember how, if I ever need to do this again.) You have to be connected to the internet via ethernet to install the software that solves these issues.
</p>
<div id="outline-container-org8b220ea" class="outline-2">
<h2 id="org8b220ea">Wireless network</h2>
<div class="outline-text-2" id="text-org8b220ea">
<p>
To get the wireless working, I had to install a driver called brcm80211. This is how:
</p>
<ol class="org-ol">
<li>If you haven’t already done it, add the non-free package sources to your sources.list file. Write sudo leafpad <i>etc/apt/sorces-list in the terminal, then press enter and write your password, then add «contrib non-free» after the line saying deb <a href="http://http.debian.net/debian">http://http.debian.net/debian</a></i> wheezy main so it reads deb <a href="http://http.debian.net/debian/">http://http.debian.net/debian/</a> wheezy main contrib non-free and save.)</li>
<li>Then write sudo apt-get update in the terminal and hit enter. This updates the package index from the sources in the sources.list file.</li>
<li>Then write sudo apt-get install firmware-brcm80211 and hit enter to install the driver.</li>
<li>Then write sudo modprobe -r brcmsmac and hit enter. This will remove the driver from the Linux kernel if it is already installed.</li>
<li>Write sudo modprobe brcmsmac and hit enter. This will add the driver module to the Linux kernel.</li>
</ol>
</div>
</div>
<div id="outline-container-org365d115" class="outline-2">
<h2 id="org365d115">Brightness keys, hibernate key and wireless on/off key</h2>
<div class="outline-text-2" id="text-org365d115">
<p>
To get the brightness keys, the on/off wireless network key and the hibernate key do what you would expect, you have to install a package called eeepc-acpi-scripts. And of course, you have to use Fn tgether with the key. The volume keys still don’t work after this package is installed. This is how:
</p>
<ol class="org-ol">
<li>Open a terminal and write sudo apt-get install eeepc-acpi-scripts and hit enter and write in your password. When/if apt prompts you, press y and enter to finish the install.</li>
</ol>
</div>
</div>
<div id="outline-container-org4362a77" class="outline-2">
<h2 id="org4362a77">My sources for these solutions:</h2>
<div class="outline-text-2" id="text-org4362a77">
<p>
This is where I found these solutions originally, in case you want to know more:
</p>
<ul class="org-ul">
<li><a href="https://web.archive.org/web/20140523011655/https://wiki.debian.org/brcm80211">Debian wiki: brcm80211</a></li>
<li><a href="https://web.archive.org/web/20140523011655/http://packages.debian.org/wheezy/eeepc-acpi-scripts">eeepc-acpi-script package</a></li>
</ul>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-add-drivers-for-the-asus-eeepc-1015pem-in-debian-wheezy.html</link>
  <guid>https://einar.codeberg.page/how-to-add-drivers-for-the-asus-eeepc-1015pem-in-debian-wheezy.html</guid>
  <pubDate>Sun, 03 Nov 2013 21:18:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Fix Alt Tab in Lubuntu]]></title>
  <description><![CDATA[
<p>
I usually keep one or a couple of similar programs running at each desktop. On the Mac, I use 9 Spaces that I alt-tab or ctrl-arrowkey to and from, but when using 4 desktops in LXDE on my netbook, alt-tabbing doesn't show me all my programs, but only the programs running on the current desktop. Of course, I could alt-scroll to the right desktop and then alt-tab if there are more than one program running there, but it seems a bit too complicated.
</p>

<p>
While trying out some distros that had openbox in virtualbox, I discovered that there is a way of alt-tabbing across all desktops. This method will work in any Linux distro that uses the LXDE desktop environment and/or the openbox window manager, if the version of openbox is 3.4 or higher. (<a href="http://lubuntu.me/">Lubuntu</a>, <a href="http://lxle.net/">LXLE</a>, <a href="https://www.debian.org/intro/about">Debian LXDE</a>, Mint LXDE, Semplice, #!&#x2026;)
</p>

<ol class="org-ol">
<li>Open ~/.config/openbox/lubuntu-rc.xml (Either use PcManFM, rightclick and choose "show hidden" when in your home folder, then double click the .config folder, double click the openbox folder, then double click lubuntu-rc.xml or open a terminal and write leafpad ~/.config/openbox/lubuntu-rc.xml and press enter.) In other distros this file might be called lxde-rc.xml or just rc.xml.</li>
<li>Scroll down to the "keybindings for window switching" section and find "keybind key="A-Tab”</li>
<li>Change the text so it looks like this:</li>
</ol>

<div class="org-src-container">
<pre class="src src-xml"><span style="color: #989898;">&lt;</span><span style="color: #feacd0;">keybind</span> <span style="color: #00d3d0;">key</span>=<span style="color: #79a8ff;">"A-Tab"</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #feacd0;">action</span> <span style="color: #00d3d0;">name</span>=<span style="color: #79a8ff;">"NextWindow"</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #feacd0;">allDesktops</span><span style="color: #989898;">&gt;</span><span style="color: #ffffff; background-color: #0d0e1c;">yes</span><span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">allDesktops</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">action</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">keybind</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #feacd0;">keybind</span> <span style="color: #00d3d0;">key</span>=<span style="color: #79a8ff;">"A-S-Tab"</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #feacd0;">action</span> <span style="color: #00d3d0;">name</span>=<span style="color: #79a8ff;">"PreviousWindow"</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #feacd0;">allDesktops</span><span style="color: #989898;">&gt;</span><span style="color: #ffffff; background-color: #0d0e1c;">yes</span><span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">allDesktops</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">action</span><span style="color: #989898;">&gt;</span>
<span style="color: #989898;">&lt;</span><span style="color: #989898;">/</span><span style="color: #feacd0;">keybind</span><span style="color: #989898;">&gt;</span>
</pre>
</div>

<ol class="org-ol">
<li>Save.</li>
<li>Open a terminal and type “openbox -reconfigure and hit enter. Hopefully, you will now have a working alt-tab between all desktops. (Thank you Peppa, for the tip!)</li>
</ol>

<p>
If it doesn't work or if you get an error message when trying to use OpenBox configuration manager, it might be because you didn't remember to delete the backslash (/) after "action name="NextWindow”, so that the later "/action" breaks the syntax of the XML file.
</p>

<p>
<b>Update February 2021:</b> <i>Since this is a problem with the OpenBox configuration and not the desktop environment on top of OpenBox, the problem was still in Lubuntu after the switch to LXQt. I reported a feature request to be able to alt-tab between all desktop, and the
Lubuntu team implemented my fix in the next release, Lubunut 20.04. Since then, there has been no need for this fix.</i>
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/alt-tab-lubuntu.html</link>
  <guid>https://einar.codeberg.page/alt-tab-lubuntu.html</guid>
  <pubDate>Fri, 01 Nov 2013 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Inside Macintosh Quadra 700 or Essential upgrades]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>


<figure id="org3363f56">
<img src="https://einar.codeberg.page/media/open.jpg" alt="open.jpg">

</figure>

<p>
There are many different ways of upgrading your Quadra, but the easiest and most essential upgrade is to maximise the RAM. This makes it possible to run later versions of Mac OS that need more RAM to run properly, it makes multitasking smoother, it makes it possible to make the disk cache larger for faster reads from disk and it makes it possible to add a RAM disk. (I wonder why Apple didn't include the possibility to make a RAM disk in Mac OS X&#x2026;)
</p>

<p>
In addition to maxing the RAM, I needed to change my PRAM battery. This is the battery that keeps settings for screen resolution, sound volume, disk cache, virtual memory, boot disk, etc. and keeps the date and time counter going even if the machine is off.
</p>

<p>
I was buying some other stuff from <a href="http://eshop.macsales.com/MyOWC/Upgrades.cfm?sort=pop&amp;model=48&amp;type=Memory">OtherWorld Computing</a> anyway, and saw that they still sold RAM for the Quadra, so I thought I'd better order some while it is still available. I also got a PRAM battery. Sadly, they do not offer VRAM for Quadras anymore.
</p>

<p>
Before I started upgrading the machine, I consulted <a href="https://einar.codeberg.page/media/manual.pdf">the Macintosh IIcx/IIci/Quadra 700 hardware repair manual</a> that I found somewhere on the internet. (It's copyrighted by Apple, but I suppose they don't mind if I make it easily available.) I then put the Quadra on its side and opened the lid by pulling up the tabs on the back of the machine. There was no screw to unscrew on this Quadra, even if it is supposed to be one in the middle of the back of the computer. The last time this computer was opened was probably when the hard drive failed in the late 90s some time. It was naturally very dusty inside. I blew off the dust before taking the picture below.
The power supply is easy to remove once you have pressed the latch
</p>


<figure id="orgec77aca">
<img src="https://einar.codeberg.page/media/power.jpg" alt="power.jpg">

</figure>

<p>
Initially, I had some trouble getting the power supply out. After a long while of fiddling about underneath the power supply, I found the latch that the repair manual mentions. It is a white latch located on the underside of the slot the power supply is resting on, on what is usually the top of the computer. After I found this latch, it was easy to lift the power supply out of the computer.
</p>

<p>
I then followed the repair manual's sections for removing the hard drive and removing the floppy drive and disk mount. And finally, I could see the four SIMM slots for RAM and the PRAM battery next to it. I wonder why the RAM slots and PRAM isn't situated on the part of the motherboard that isn't covered by the disk drives and the power supply. It could have been much simpler to upgrade this machine and there is plenty of room above the two expansion slots. Strange design decision.
</p>

<p>
The repair manual suggests using a special SIMM removal tool to get the RAM SIMMS out of their sockets. I don't have such a tool, so I looked closly in the repair manual at the illustration showing what the SIMM tool does and then I looked closley at the SIMM sockets and realised that all I needed to do to get the sockets to release the SIMMs is to press the two black latches on each side of the SIMMs away from the SIMM circuit boards with something. Two small flat screwdrivers worked well for this job.
</p>

<p>
The new SIMMs from OWC was slightly taller than the old ones, wich made me worry about wheter the disk mount would still fit into the case on top of the new SIMMs. I installed the new SIMMs anyway by sliding them into the slot from the side and raising them until they were vertical. There was no loud click of the black latches, but after raising the SIMMs to 90 degrees, they sat firmly. I had to start with the one furthest to the right, since all of them had to be slided in from the left.
Quadra 700 without the power supply
</p>


<figure id="orgff13cfd">
<img src="https://einar.codeberg.page/media/wopower.jpg" alt="wopower.jpg">

</figure>

<p>
The PRAM battery is sitting inside a small black plastic box, next to the SIMM slots. Yesterday, I changed the PRAM battery in my Beige G3, so I didn't have to look up how to get the battery out of the box (as I had to yesterday). The trick is to stick in a small, flat screwdriver on both of the short sides of the box, between the inner plastic covering the poles of the battery and the upper plastic cage and lift the plastic cage upwards. When changing the battery, it is important to remember wich way the battery sat. I took out the battery without thinking about that until it was too late, but luckily there are + and - indicators on the bottom of the battery cage in the Quadra 700.
</p>

<p>
Then I reassembled the machine by putting everything back. My worries about the SIMMs being to high turned out to be unnecessary. The disk mount and the power supply both fit perfectly even with the higher RAM and the lid closed properly afterwards. Then I plugged the Quadra into my monitor through the VMAC-1 VGA to Apple DB 15 plug and plugged in the keyboard and mouse, connected the ethernet through the Farrallon AAUI to RJ45 plug to my Macbook Pro, turned on internet sharing on the Macbook Pro and turned the machine on.
</p>

<p>
Bong! The machine booted just fine into Mac OS 7.6.1. In the "About this Macintosh" (in the Apple menu) it said I now have 68 MB or RAM. I then went into the Memory control panel and upped my disk cache and into the Date and Time control panel to set the current date and time. Everything seems to be working fine. My plan is to install Mac OS 8.1. Mac OS 7.6.1 is a good operating system, and it is possible to bring some of the newer features of Mac OS 8 back to 7, but since I never used Mac OS 8 back in the day (I jumped directly from a Performa 450 with 7.6.1 to an iBook Clamshell with 9.2.2 in 2002), I am looking forward to trying out the latest operating system the Quadra can run. My plan is to use this Quadra as I used my Performa 450, that is for musical notation, sequencing, patch editing, word processing, picture editing, HyperTalking and some light gaming. With iCab and Transmit, the old gal can even surf web pages and upload files to my web hotel. :-)
</p>


<figure id="orgf435020">
<img src="https://einar.codeberg.page/media/naked.jpg" alt="naked.jpg">

</figure>

<p>
The Quadra 700 after removing the power supply and the disks
</p>


<figure id="org590fc2d">
<img src="https://einar.codeberg.page/media/about.gif" alt="about.gif">

</figure>

<p>
The About this Macintosh desktop accesory in Mac OS H-7.6.1
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/inside-macintosh-quadra-700-or-essential-upgrades.html</link>
  <guid>https://einar.codeberg.page/inside-macintosh-quadra-700-or-essential-upgrades.html</guid>
  <pubDate>Wed, 03 Jul 2013 14:27:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Why i switched to Ubuntu from Lubuntu on my netbook]]></title>
  <description><![CDATA[
<p>
When I got my netbook in january, I backed up the Windows 7 starter restore partition before installing Lubuntu. I had been playing with Ubuntu, Lubuntu, Bohdi, Xubuntu and other Linux distros in virtual machines on my Mac for a while and I had been thinking that it would be practical to have a smaller, more portable computer. So I watched some sites where people advertise used stuff for sale and got myself an Asus EeePC 1015PEM cheaply.
</p>

<p>
Ubuntu seemed to be the best distro for a Linux newbie like me, with lots of online documentation, lots of available software that is easily installed and a big community of users and developers, but the Unity desktop environment that comes with stock Ubuntu was a bit too slow on my netbook. I looked into Xubuntu, but I didn’t really like it that much and it wasn’t really that much faster than Ubuntu, so I went a step further in lightness to Lubuntu. I found it user-friendly and fast. The look is slightly Windows 95ish, but it is tweakable and generally quite pixel efficient, wich is important on a netbook. So I tweaked away the bottom panel and changed some font sizes and was generally happy with it.
</p>

<p>
However, I have allways liked Unity. The integrated menu and window title bar saves some vertical pixels and the content of my programs get more space. It makes a lot of sense, specially on smaller screens. The dock on the left side also saves some vertical pixels compared to a panel or dock at the bottom of the screen. I am also a fan of the dash. Using the Windows Super key to get to the dash and just starting typing whatever you are searching for is very efficient. I am looking forward to seeing what types of «lenses» for the dash will be available in the near future.
</p>

<p>
Some time ago I read on OMGUbuntu (or was it Phoronix) about how much faster Unity was in Ubuntu 13.04 Developer Beta than in previous versions and how stable the developer beta was. I tried the beta, and it was actually stable enough for day to day work and much faster than 12.04 and 12.10 on my netbook and on par with Lubuntu 12.04.2. I went back to Lubuntu because in the developer beta of Ubuntu 13.04, I had trouble setting up external monitors properly without mirroring the internal monitor and limiting my resolution options because of it. I need to be able to connect to projectors sometimes when I am substituting as a teacher, for showing a video or presentation, even if I usually don’t have log on credentials to the school computers. And using beta software is not that smart, since things can stop working with the next update.
</p>

<p>
But using the faster Unity desktop environment of the developer beta of 13.04 was enticing. When Lubuntu 13.04 came out, I upgraded, but the speed wasn’t much faster in 13.04 than in 12.04.2. (12.10 was troublesome for me, so I went back to 12.04.2.) Lubuntu 13.04 wasn’t as much faster compared to previous Lubuntu versions as Ubuntu 13.04 was compared with 12.04. Some weeks ago, I tried the final version of Ubuntu 13.04 on the Live CD and tried out the screen settings panel and discovered that it no longer limited my choices when it came to mirrored or unmirrored screens and that it gave me independent resolution settings for each screen, just as in Lubuntu.
</p>

<p>
After half a year of Lubuntu on my netbook, suddenly my reasons for choosing Lubuntu over Ubuntu had disappeared. Ubuntu 13.04 is just as fast on my netbook and Unity has matured and become faster and more good-looking than in 12.04 and 12.10. And the screen settings panel has become much more useable for me.
</p>

<p>
I have also switched back to Firefox from Midori. Midori had a tendency to crash all the time and whenever I turned off my computer without first quitting Midoring, it said that it had crashed last time it ran and asked me wether or not I wanted to restore my tabs. Annoying stuff. Firefox might be slightly slower, but not having to deal with bugginess is better than speed. I might swith back to Midori if a later version is more stable.
</p>

<p>
2 Responses to "Why I switched to Ubuntu from Lubuntu on my netbook"
</p>
<ol class="org-ol">
<li>vayne says: 
05.07.2013, kl. 00:16 
hello what are the specs of your netbook i have a netbook sony vaio with ubuntu 10.04 (its the only that dont cause trouble) i test lubuntu to but i thinks it has battery problems so i install 10.04. i have a 1gb ram do you think is a good idea to change? thanks</li>
<li>Reply
Einar Mostad says: 
08.07.2013, kl. 17:08
Hi Vayne! My netbook is an Asus EeePC 1015PEM with a dual core Atom at 1,5 GHz and 2 GB RAM. Lubuntu ran fine on it and earlier versions of Ubuntu were slow, but in 13.04 the difference in speed between Ubuntu and Lubuntu more or less disappeared, so I chose Ubuntu, since I like the Unity desktop environment. 1 GB RAM is not much, so a more lightweight linux distribution, like Lubuntu, is probably faster on your machine. (I would max my RAM to whatever the machine can take. It is usually quite easy and cheap these days, and then you will get a bit more speed.) I have heard lots of good things about Peppermint OS, which is based on Lubuntu, so maybe that is worth a try. Another option if you want a modern looking desktop that is lightweight is to try Bohdi Linux, which is based of Ubuntu, but uses the Enlightenment desktop. I’m very tempted to switch to it, but the setup panel for screens keep me away for now.
Anyway, you are probably better off with a newer version than 10.04. I would try 12.04 which is a long time support realease (LTS) or 13.04, which seems faster, but might be more unstable, to keep up with security updates and to get access to newer versions of software. Might be smart to look for any issues concerning your specific machine model and any version of (L)Ubuntu you are thinking of installing on Ask Ubuntu to see if others are experiencing problems before installing it. If you want to try Bohdi or Peppermint OS, then those are based on Ubuntu, so they probably have the same issues as the (L)Ubuntu version they are based on.</li>
</ol>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/why-i-switched-to-ubuntu-from-lubuntu-on-my-netbook.html</link>
  <guid>https://einar.codeberg.page/why-i-switched-to-ubuntu-from-lubuntu-on-my-netbook.html</guid>
  <pubDate>Tue, 18 Jun 2013 13:08:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to import Mac OS X Adress Book contacts in Thunderbird]]></title>
  <description><![CDATA[
<p>
I am migrating from Mac OS X Mail to Thunderbird (to make syncing between machines easier) and as part of that process I wanted to import my contacts from the Mac OS X Address book. It is possible to use contacts from the Mac OS X Address book without importing them, but since I am going to sync Thunderbird on my MacBook Pro with Thunderbird on my netbook running Ubuntu, I want to import the contacts.
</p>

<p>
On the <a href="https://web.archive.org/web/20130724050102/https://support.mozillamessaging.com/en-US/kb/switching-thunderbird?s=importing+from+mac+os+mail&amp;as=s">help pages for switching from Mac OS X Mail to Thunderbird</a> it is suggested that one could drag and drop contacts from the Mac OS X Address Book to the Personal Address book inside the Address book window in Thunderbird. But sadly, it doesn't work. The «Personal Address book» will not get highligheted if I drag contacts to it and if I release them over it anyway, nothing happens.
</p>

<p>
In stead, many forums on the net suggest selecting all contacts from the Mac OS X Address book, dragging them to the desktop, and thus creating a .vcf file of all your contacts. When importing this file into Thunderbird, I experienced that half of my contacts were not properly imported and had blank firstnames and surnames. It might be a text encoding problem, since all names starting with «Å» were blank after importing, but on the other hand, names starting with «Ø» were imported correctly, so maybe it is not about text encoding at all. Many contacts without any sepcial characters were blank as well. Anyway, this way of importing contacts doesn't work either.
</p>

<p>
I also tried «asking a question» on the Thunderbird support pages, but that process just stalled when I hit submit. I am using the newest Firefox, so I suppose the browser is not the issue&#x2026;
</p>

<p>
Finally, after having searched for a long time on many forums online for help and ending up with lots of broken links to scripts that were supposed to solve the problem, I found <a href="http://web.archive.org/web/20130724050102/http://www.vcf2csv.com/">VCF to CSV</a>. It converts vCard files (.vcf files) to the LDIF CSV format that Thunderbird imports. I just had to open Mac OS X Address book, select all contacts, drag them to the desktop, rename the file to the name I wanted for my new address book in Thunderbird, open the tab with <a href="http://web.archive.org/web/20130724050102/http://www.vcf2csv.com/">vcf2csv.com</a> in Firefox, select «Choose file&#x2026;», select the file I had just created, wait for the conversion to finish and then choose «import&#x2026;» from the «Tools» menu in the Address book window of Thunderbird, select «Address book» and select the newly converted file. And all my contacts were finally correctly imported.
</p>

<p>
I find it very strange that Thunderbird does not correctly import Mac OS X Address book without the use of some third party tool. It is probably the most used Address book after Outlooks address book. Ideally, the drag and drop method suggested in the oficial Mozilla documentation for switchers should work, but even if that didn't work, the importing of vCards should work. Neither does in Thunderbird 17.0.6.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/how-to-import-mac-os-x-adress-book-contacts-in-thunderbird.html</link>
  <guid>https://einar.codeberg.page/how-to-import-mac-os-x-adress-book-contacts-in-thunderbird.html</guid>
  <pubDate>Sat, 15 Jun 2013 13:16:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to sync podcasts between a Mac and Linux computer]]></title>
  <description><![CDATA[
<p>
I have been looking for a good way to sync podcasts between my Macbook Pro and Asus EeePC running Lubuntu. On the Mac, I have been using iTunes and for a while I just synced the \~/music/iTunes/iTunes Music/Podcasts folder from my Mac to my netbook with <a href="http://web.archive.org/web/20130724050107/http://labs.bittorrent.com/experiments/sync/technology.html">BitTorrent Sync</a>. Then I only had to download the podcasts once on my Mac, and all podcasts would be synced to the netbook. The main problem with this apporach was that there was no way of seeing wich podcasts I had allready heard/seen without either remembering its file name or opening it to check if I had allready heard/seen it. There was also no nice GUI to see the metadata for the podcasts on my netbook without opening the files in a media player.
</p>

<p>
I stumbled across <a href="http://web.archive.org/web/20130724050107/http://gpodder.org/">gPodder</a>, an easy to use open source podcatcher for Linux, Windows and Mac. gPodder is a program that only does podcatching, but it does it really well.  It doesn't play video or sound by itself, but the user can choose any desired program to do that. There is a sync service built into the program, but I am not a fan of trusting third party servers in «the cloud», so I am not using that.
</p>

<p>
gPodder stores all its settings and all downloaded podcasts in a folder called gPodder in your user directory. The formats of the files in the folder are the same no matter which operating system you are running. This means that to keep the same settings and the same downloaded content across machines, you could just sync the gPodder folder with BitTorrent Sync from one machine to the other. The smart thing about this is that it doesn't matter if I am at my Mac or my netbook, I can now download podcasts on wichever machine and they will be available on the other machine as well.
</p>

<p>
With the same settings, syncing from one machine to the other, you are not able to choose different programs on each machine for playing your podcasts, and even if you choose the same program on the Mac and Linux machine, you will get into trouble, since they are not stored at the same place. What you need to do is set gPodder to use the «Default program» for both audio and video in the «General» tab in the «Settings» panel and change that program to whatever you like on each machine. On the Mac, mp3 files defaults to open in iTunes if you haven't changed this setting, and this is not ideal, since iTunes will, by default, add any files to its library, thus storing the same file twice on the machine.
</p>

<p>
I am using VLC as the default program for most video and sound files on both my Mac and EeePC. To set wich programs act as default on a Mac, choose a file of the desired format in the Finder, press command-I (or choose «Get info» from the «File» menu) and choose the desired program in the pull down menu on the lower left. Then click «Change all&#x2026;» to make this change universal for all files of this type. On Lubuntu, just select «Default programs» from «System settings» in the Lubuntu menu and change to your desired programs. On Ubuntu, choose «System settings» from the dash or dock, then choose the «Details» settings panel and the «Default programs» tab from the menu on the left and set music and video to whatever you prefer.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-sync-podcasts-between-a-mac-and-linux-computer.html</link>
  <guid>https://einar.codeberg.page/how-to-sync-podcasts-between-a-mac-and-linux-computer.html</guid>
  <pubDate>Tue, 04 Jun 2013 13:28:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to sync files between computers securely and fast]]></title>
  <description><![CDATA[
<p>
Behold, the end of the time of the sneakernet has come! For a long time, I have wanted to sync some files back and forth between my various computers. So far, I have been using AFP over TCP/IP, FTP or sneakernet with USB dongles to transfer files between machines. The downside to this way of syncing files is that I have to manually copy any file I have changed from one machine to the other. It is easy to get conused about wich machine ha the newest version of a file. A disadvantage of using AFP over TCP/IP is that I have to have file sharing (or netatalk on linux) enabled all the time on one or more machines, wich might be a bad idea since it is probably not that hard to crack the password and get full access to my files. Or I have to turn it on and off every time I am tranferring some files back and forth.
</p>

<p>
The other option, so far, has been using one of the many cloud services out there. The problem with cloud services is that they are slow, since they have to transfer all your files from machine A to a server on the internet (or «the cloud») before machine B can download the files from that server. Even with a fast internet connection at both ends, this is much slower than just transferring the files manually over a local area network (LAN) from one machine to the other. It might also be slower than sneakernet.
</p>

<p>
The other problem with cloud services is privacy. DropBox was recently hacked and since it encrypts every dropbox folder of every dropbox client with the same encryption key, all data uploaded to DropBox was suddenly public information. Even if the companies behind your cloud service might have better security in place, you have no garantee that the data you upload to <b><b>their</b></b> servers will not be sold to marketing companies. You better read those terms of service&#x2026; How much do you really trust Apple, Microsoft, Google, Dropbox or Cannonical?
</p>

<p>
The brilliant solution to the syncing problem is <a href="http://web.archive.org/web/20130724073151/http://labs.bittorrent.com/experiments/sync.html">Bittorrent Sync</a>. It is a new syncing service using peer-to-peer connections with the bittorrent protocol. If you are syncing two machines on the same local area network, these two machines will connect to each other and sync the data between folders on the two machines. This is <b>much</b> faster than any cloud service, since it doesn't have to upload any data to any server on the internet before downloading from the same server.
</p>

<p>
If the machines syncing folders are situated in different locations, the connection is made over the internet from the first machine to the second machine directly. Since no server is involved this is also faster than the cloud services.
</p>

<p>
If more than two machines are syncing a folder, the bittorrent protocol will make sure that data gets conveyed as fast as possible from the machines that have got the data to the other ones syncing the same folder, with different mchines contributing different parts of the folder, just as when you download files with a normal bittorrent client program.
</p>

<p>
Since all connections are made between the computers syncing the folder and no server in «the cloud» is involved, there are no third parties that will have a copy of the data transmitted. The connections between machines are encrypted, wich means that the data is not easy to sniff out either. Every folder you sync gets a random generated «secret», a key that you have to input at all the other machines syncing the same folder. By inserting the secret, the other machine gets to know wich machine(s) to connect to and wich folder to sync.
</p>

<p>
With some cloud services you have to put the files you want to sync in a special folder, but with Bittorrent sync, you can sync <b>any</b> folder on one machine with any folder on another machine. So, if you for instance want to keep your LibreOffice settings synced between a couple of Macs, you could sync the LibreOffice folder inside Application Support folder in your Libraries folder. Or you could update programs only on one machine and sync the program folder to all the other machines to avoid having to download the same programs more than once from the internet.
</p>

<p>
Another advantage of Bittorrent Sync is that there are no limitations on the amount of data you can sync, since there are no servers in «the cloud» that could limit your capacity. There are no extra fees for transferring more data than a certain amount and no need to buy extra space on cloud servers. However, If you want to, you may limit the upload and download bandwith BitTorrent Sync is allowd to use.
</p>

<p>
There is also a possibility to sync only one way. A scenario where this might be usefull is if you want to share some photos with some friends, but don't want to let them add their own files to the folder to be synced back. There is also a possibility to make a one-time «secret» that will let a person sync a folder only within 24 hours of the generation of the secret. These secrets might be one-way (read only) or full access.
</p>

<p>
At this point, Bittorrent Sync is only available for Mac OS X, Windows and Linux, but Bittorrent labs are working on making clients for mobile phones and tablets as well. The Linux version is managed through a webbrowser in stead of the program having its own GUI. Check out <a href="http://web.archive.org/web/20130724073151/http://forum.bittorrent.com/topic/19560-debian-and-ubuntu-desktop-packages-for-bittorrent-sync/">this blog post</a> for the lastest Ubuntu and Debian user packages. Many thanks to tuxpoldo for making the packages!
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-sync-files-between-computers-securely-and-fast.html</link>
  <guid>https://einar.codeberg.page/how-to-sync-files-between-computers-securely-and-fast.html</guid>
  <pubDate>Mon, 20 May 2013 13:22:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Free sheet music on the internet]]></title>
  <description><![CDATA[
<p>
There are lots of old music prints, handwritten scores and parts and facsimiles of old editions that are in the public domain because their copyright have expired. There are also some generous people that publish their original music scores or their arrangements and transcriptions directly online for free use. Here are some links to some of my favourite sites for music prints and manuscripts:
</p>

<ul class="org-ul">
<li><a href="https://imslp.org/wiki/Main_Page">IMSLP / Petrucci Music archive</a> Comprehensive collection of music prints and manuscripts uploaded by users of the site</li>
<li><a href="https://www.dlib.indiana.edu/variations/scores/scores.html">Opera Scores Demo</a> old editions of opera scores</li>
<li><a href="https://icking-music-archive.org/ByComposer.php">Werner Icking Music Archive</a> modern prints, lots of early music, often in arrangements</li>
<li><a href="https://www2.cpdl.org/wiki/">Choral Public Domain Library</a> choral music with or without instrumental accompaniment</li>
<li><a href="https://www.gutenberg.org/browse/categories/4">Project Gutenbergs category for sheet music</a> Mainly string quartets</li>
<li><a href="https://www.mutopiaproject.org/browse.html">Mutopia</a> a little bit of everything, mainly older prints</li>
<li><a href="https://www.lysator.liu.se/%7Etuben/scores/">Free sheet music from Johan Tufvesson</a> modern urtext prints of early music</li>
<li><a href="https://www.cantatedomino.org/cd/index.shtml?Start.txt">Cantate Domino</a> sacred music, both for choir and organ</li>
</ul>

<p>
A lot of libraries have digitised their collections lately as well:
</p>
<ul class="org-ul">
<li><a href="https://www.kb.dk/da/nb/samling/ma/digmus/index.html">Danmarks Digitale Nodebilbiotek</a> The Danish Digital music library consisting of digitised collections from the Royal Library in Copenhagen</li>
<li><a href="https://www.europeana.eu/">Europeana</a> The EUs digital library where you can search many digital collections from different European libraries at once</li>
<li><a href="https://www.musik.uu.se/duben/Duben.php">Dübensamlingen</a> The Düben collection at Uppsala University Library, consisting of lots of 17th and 18th century music collected by the leaders of the Royal Chapel of Sweden of the time</li>
</ul>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/free-sheet-music-on-the-internet.html</link>
  <guid>https://einar.codeberg.page/free-sheet-music-on-the-internet.html</guid>
  <pubDate>Fri, 19 Apr 2013 18:33:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Music links]]></title>
  <description><![CDATA[
<div id="outline-container-org68c7931" class="outline-2">
<h2 id="org68c7931">Music organisations, music websites &amp;c</h2>
<div class="outline-text-2" id="text-org68c7931">
<ul class="org-ul">
<li><a href="https://antikkmusikk.com/">Antikk Musikk</a>, early music in Bergen, Norway</li>
<li><a href="https://casalemilio.wordpress.com/">CasalEmilio</a>, Italian-Norwegian centre for musical studies</li>
<li><a href="https://natmus.dk/en/visit-the-museums/the-danish-music-museum/">The Danish Music Museum</a>, Copenhagen, with lots of interesting old instruments and books</li>
<li><a href="https://earlysound.wordpress.com/">Early Sound</a>, early music in Denmark, the Öresund regionen &amp;c</li>
<li><a href="https://mic.no/">MIC.NO</a>, Norwegian Music Information Centre</li>
<li><a href="https://www.musikkonline.no/">Musikkonline.no</a>, Norwegian online music store</li>
<li><a href="https://www.nordem.org/">Nordem</a>, Nordic Early Music Federation</li>
<li><a href="https://www.nymusikk.no/">Ny musikk</a>, Norwegian organisation for contemporary music</li>
<li><a href="https://www.renaissancemusik.dk/">renaissancemusik.dk</a>, Renaissance music in Denmark</li>
<li><a href="https://www.ricc.dk/">R.I.C.C.</a>, early music courses in Copenhagen, Denmark</li>
<li><a href="https://kobbakonserter.info/">Sommarkonserter på Kobba Klintar</a>, summer concerts on Åland</li>
<li><a href="https://www.stringking.net/">StringKing</a>, online shop with strings &amp;c for early music, fast shipping and excellent service</li>
<li><a href="https://www.tidigmusik.com/">Tidig Musik</a>, the association for early music, Sweden</li>
</ul>
</div>
</div>
<div id="outline-container-org5b05b26" class="outline-2">
<h2 id="org5b05b26">Musicians</h2>
<div class="outline-text-2" id="text-org5b05b26">
<ul class="org-ul">
<li><a href="https://stemmespesialisten.no/">Maria Berglund</a>, singer and music teacher</li>
<li><a href="https://www.fredrikbock.com/">Fredrik Bock</a>, guitarist, lutenist, theorbist, baroque guitarist &amp;c</li>
<li><a href="https://www.nla.no/nor/sok/?&amp;displayitem=72&amp;module=admin">Ingrid Mostad Bråten</a>, pianist, singer, composer, college teacher and my sister</li>
<li><a href="https://www.ingeborgchristophersen.com/">Ingeborg Christophersen</a>, recorder player and harpsichordist</li>
<li><a href="https://barokksolistene.com/alfa/?page_id=242">Bjarte Eike</a>, baroque violininst and ensemble leader, former teacher of performance practice and chamber music of mine in Copenhagen</li>
<li><a href="https://denlillemusikskole.dk/wp/teachers/hanna-englund/">Hanna Englund</a>, cellist and baroque cellist</li>
<li><a href="https://www.currentes.com/">Jostein Gundersen</a>, recorder player</li>
<li><a href="https://louisehjorth.dk/">Louise Hjorth</a>, experimenting recorder player</li>
<li><a href="https://www.larshenrikjohansen.no/">Lars Henrik Johansen</a>, harpsichordist, ensemble leader</li>
<li><a href="https://www.nickiejohansson.dk/">Nickie Johansson</a>, singer</li>
<li><a href="https://www.joachimknoph.com/">Joachim Knoph</a>, pianist and composer</li>
<li><a href="https://katrinekristiansen.dk/">Katrine Immerkjær Kristiansen</a>, organ player and teacher</li>
<li><a href="https://www.jankvapil.com/">Jan Kvapil</a>, recorder player</li>
<li><a href="https://www.christinalauridsen.dk/">Christina Lauridsen</a>, recorder player</li>
<li><a href="https://www.luolajan-mikkola.fi/">Markku Luolajan-Mikkola</a>, baroque cellist, viola da gamba player, cellist and teacher at the Sibelius acadamy, and my former teacher of baroque cello in Bergen</li>
<li><a href="https://jonmostad.no/">Jon Mostad</a>, composer and my father</li>
<li><a href="https://www.myspace.com/jonasnoergaard">Jonas Nørgaard</a>, organist and harpsichordist</li>
<li><a href="https://assai.parsig.dk/">Birgitte Parsig</a>, viola da gamba player, cellist and baroque cellist</li>
<li><a href="https://www.hillenet.net/">Hille Perl</a>, viola da gamba player and my former chamber music and performance practice teacher in Copenhagen</li>
<li><a href="https://www.pernillepetersen.dk/">Pernielle Pettersen</a>, recorder player</li>
<li><a href="https://thomaspitt.wordpress.com/feed/">Thomas Pitt</a>, baroque cellist and my former teacher in Copenhagen</li>
<li><a href="https://www.rachelpodger.com/">Rachel Podger</a>, baroque violinist, and my former teacher of chamber music projects in Copenhagen</li>
<li><a href="https://www.boletteroed.com/">Bolette Roed</a>, recorder player</li>
<li><a href="https://www.ronimus.dk/">Nikolaj Ronimus</a>, recorder player, music pedagogue and flute maker</li>
<li><a href="https://saers.com/">Niklas Saers</a>, computer programmerer and recorder player</li>
<li><a href="https://www.christine-schornsheim.de/">Christine Schornsheim</a>, harpsichordist and fortepiano player, and my former chamber music teacher at the Royal Danish Acadamy of Music</li>
<li><a href="https://spissky.dk/Peter/Welcome.html">Peter Spissky</a>, baroque violinist, teacher and ensemble leader, my former teacher of chamber music projects in Copenhagen</li>
<li><a href="https://bergen.barokk.no/?page_id=66">Hans Knut Sveen</a>, harpsichordist, teacher at the Grieg academy, and my former teacher of chamber music and baroque interpretation</li>
<li><a href="https://bergen.barokk.no/?page_id=66">Frode Thorsen</a>, recorder player, teacher at the Grieg academy, and my former teacher of chamber music and baroque interpretation</li>
<li><a href="https://www.tyrmi.com/">Erlend Tyrmi</a>, singer</li>
<li><a href="https://gunnhildtonder.com/">Gunnhild Tønder</a>, harpsichordist and pianist</li>
<li><a href="https://www.fiolmusik.com/">Silvia Östersjö</a>, violinist</li>
</ul>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/music-links.html</link>
  <guid>https://einar.codeberg.page/music-links.html</guid>
  <pubDate>Thu, 18 Apr 2013 20:44:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to get the Ubuntu software Centre in Lubuntu]]></title>
  <description><![CDATA[
<p>
The Lubuntu software centre in Lubuntu 13.04 Beta is not yet populated. In other versions of Lubuntu, the software centre works fine, but there are more programs available in the Ubuntu software centre than in the Lubuntu software centre, so you might want to add the Ubuntu software centre anyway.
</p>

<p>
To add the Ubuntu software centre, open a terminal <i>(Lubuntu menu \&gt; Accessories \&gt; LXTerminal)</i> and type <b>sudo apt-get install software-center</b>. Make sure that you are spelling software-centre in the American way in stead of the British spelling (software-center, not software-centre). Type your <b>password</b> when prompted and press the <b>return</b> key. Then type <b>y</b> and press the <b>return</b> key when it asks wether on not you would like to continue. And wait untill the process is finished and you get a normal prompt. Then close the terminal window and if you want to check out the Ubuntu software centre, select it from <i>Lubuntu menu \&gt; System tools \&gt; Ubuntu software center</i>.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/how-to-get-the-ubuntu-software-centre-in-lubuntu.html</link>
  <guid>https://einar.codeberg.page/how-to-get-the-ubuntu-software-centre-in-lubuntu.html</guid>
  <pubDate>Mon, 08 Apr 2013 13:20:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[How to get rid of tap to click in Lubuntu, LXLE, MintPPC,]]></title>
  <description><![CDATA[
<p>
Debian LXDE etc
</p>
<p>
Tap to click is usually on by default, but I know that I am not the only one that disables it on all my computers to avoid clicking all over the place. In most desktop environments (Unity, MATE, Gnome, KDE..), the <i>Mouse and trackpad</i> system settings panel lets you turn off tap to click, but in LXDE, there is no such option in the <i>Keyboard and Mouse
settings</i>.
</p>

<p>
However, there is a method that should work in LXDE on most distros that use it (<a href="http://lubuntu.me/">Lubuntu</a>, <a href="http://lxle.net/">LXLE</a>, <a href="https://www.debian.org/intro/about">Debian with LXDE</a>, <a href="http://mintppc.org/">MintPPC</a> etc) Unfortunately, this only works if your trackpad uses the synaptics drivers. This is how you do it: Open the <i>LXDE menu</i> &gt; <i>Preferences</i> &gt; <i>Customize default applications for LXSession</i>. Choose the <i>Autostart</i> tab. Choose <i>config-only</i> from the drop-down menu where it says "Disable autostarted applications?". Write "@synclient MaxTapTime=0" in the text field next to the "Add" button and
hit the button. You will now see "@synclient MaxTapTime=0/”/ in the bottom of the list of"Manual autostarted applications”. Log out and log in. Now tap to click should be disabled.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/no-tap-to-click-lubuntu.html</link>
  <guid>https://einar.codeberg.page/no-tap-to-click-lubuntu.html</guid>
  <pubDate>Mon, 08 Apr 2013 13:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Lubuntu 12.04 on an iBook Clamshell 300 MHz]]></title>
  <description><![CDATA[
<p>
<b>Update 2022: Neither Ubuntu nor Debian support the 32bit PowerPC architecture any longer (PPC). Most of the information in this blog post is therefore only of historical interest.</b>
</p>

<p>
I recently installed Lubuntu 12.04 on my iBook. Lubuntu is running slightly faster than Mac OS X 10.4.11 «Tiger» on the same machine, but slower than Mac OS 9.2.2. This is the Clamshell revision B with a 6 GB 4200 rpm hard drive, 300 MHz G3 processor and I’ve maxed the RAM to 576 MB.
</p>
<div id="outline-container-org20a6957" class="outline-2">
<h2 id="org20a6957">Why Linux on an old PowerPC Mac?</h2>
<div class="outline-text-2" id="text-org20a6957">
<p>
Even if Mac OS 9.2.2 runs very well with 576 MB RAM on the iBook and AirPort works fine (but not with WPA and WPA 2 networks), the problem with using an old OS is that there are no current internet browsers, there is no up-to-date JAVA and Flash and there are no security updates (wich isn’t really that important on such a small and long dead platform anyway). OS 9 is very pixel efficient on the 800 x 600 screen and I like the good old familiar GUI, but there is absolutely no future in it and going to the internet bank or watching a youtube video is impossible. As I recently got my father’s Quadra 700, I am able to use all of my legacy System 7 – 9 software on that machine, so I don’t really need OS 9 for legacy software support. (Most of it is from my old Performa 450 and thus 68k or «fat banary» programs, so they will work just as well on a 68040 Quadra as on a G3 iBook.) The Clasilla browser is the only more or less up-to-date browser that is still maintained, but the browsing experience is far from FireFox on a modern OS.
</p>

<p>
Mac OS X 10.4.11 «Tiger» is capable of running on the iBook, but it is much slower than OS 9. Mac OS X 10.3.9 «Panther» is even slower in my experience. (Tiger is oficially not supported on machines without FireWire and is delivered on DVD, but it is still installable if you hack the installer to not refuse to install on your machine, start from a volum with Tiger allready installed (since starting from USB is only possible on PowerPC Macs with Mac OS X 10.4.7 or newer) and then install from an external HD via USB 1.1 with an external power source. It is not easy, but it is possible.)
</p>

<p>
Tiger is less pixel efficient and more cluncky on the small 800 x 600 screen and suffers from the same problem as OS 9 with no security updates and no up-to-date Flash or Java. TenFourFox is a port of FireFox that is up-to-date and it works well, but since Tiger is slow on my iBook and there is no Java or Flash, it is still not the best experience on the web. TenFourFox is also not very pixel efficient on the small 800 x 600 screen, even if it much better than many other browsers.
</p>

<p>
One of the advantages of Linux on the PowerPC platform is that there is a community of people maintaning, porting and building both OSes and programs for the PowerPC platform, wich means that up-to-date software is available for old PowerPC Macs and IBM Power machines. Open Source software available as source code also means that you could port any program to any platform (or OS) if you know how to compile software from source. I don’t, but if you really want a program that is unavailable, it might be something worth learning how to do.
</p>

<p>
Linux comes in lots of distributions or distros. At <a href="http://mac.linux.be/">http://mac.linux.be/</a> there are some information about Linux distros for Macs, including PowerPC Macs. Distrowatch.com has a more comprehensive list of Linux distros. It seems like Ubuntu is the most popular distro and also one of the easier to use and configure for new users (as far as I know). The advantage of using a popular distro is that there are lots of people working on development and killing bugs and getting support is easy via forums or irc chat.
</p>

<p>
The Ubuntu «family» consists of Ubuntu and distributions based on it, but with different desktop environments and/or bundled software. There are also many other Ubuntu-derived distributions that are not part of the oficial Ubuntu «family». Ubuntu uses a desktop environment called Gnome Unity. It is quite Mac OS X-like, with a dock on the left side and menu on top of the screen, with a Spotlight-like «dash» on top of the dock. Kubuntu uses another desktop environment called KDE that is more highly configurable. Both of them are modern and slick and full of visual GUI goodies like half-transparent menus and such. This also means that they are quite demanding on the hardware and will run quite slow on machines with little RAM or slow processors.
</p>

<p>
For older machines, Xubuntu and Lubuntu are often recommended. Xubuntu uses that XFCE wich is quite light and fast. The looks are modern and it is highly configurable. Lubuntu is the newest memember of the official Ubuntu family and it is even faster and smaller than Xubuntu. It uses a desktop environment called LXDE wich is made specially for being small, lightweigt, visually appealing and configurable. Lubuntu also includes some preinstalled software that is among the lightest and fastest of its type, but with the options to install any program usable in Ubuntu. I like the graphical user interface in Lubuntu. It is very uncluttered and has an elegance of simplicity. It could also be configured to be very pixel efficient for my 800 x 600 screen. It seems very intuitive to me and after having used it for a while in a virtual machine on my MacBook Pro, I felt ready to install it on my iBook.
</p>
</div>
</div>
<div id="outline-container-org9e13a11" class="outline-2">
<h2 id="org9e13a11">Installing Lubuntu on a PowerPC Mac</h2>
<div class="outline-text-2" id="text-org9e13a11">
<p>
There are at least three ways of installing Lubuntu for PowerPC: The Live CD, the alternate installer and the minimal install (mini.iso). For most people, downloading the Live CD for PowerPC Macs (<a href="https://help.ubuntu.com/community/Lubuntu/GetLubuntu">https://help.ubuntu.com/community/Lubuntu/GetLubuntu</a>), burning it to a CD, starting your Mac from the CD by holding down the C key at startup and then answering the relevant questions in the installer will work fine. And it looks good too.
</p>

<p>
It might be a good idea to read the PowerPC Known Issues (<a href="https://wiki.ubuntu.com/PowerPCKnownIssues">https://wiki.ubuntu.com/PowerPCKnownIssues</a>) and the PowerPC FAQ (<a href="https://wiki.ubuntu.com/PowerPCFAQ">https://wiki.ubuntu.com/PowerPCFAQ</a>) before installing to avoid suprises. The page (<a href="https://help.ubuntu.com/community/OSXApplicationsEquivalents">https://help.ubuntu.com/community/OSXApplicationsEquivalents</a>) comparing OS X programs to open source alternatives might also be interesting.
</p>

<p>
Installing, even if you can’t…
</p>

<p>
Unfortunately, the CD-ROM drive in my iBook is starting to fail, wich means I got lots of I/O errors and bad sector alerts when trying to install from the Live CD. I also tried the alternate install, wich does the same as the Live CD, but with a text based installer, and it left me with the same problems. I also tried using a USB stick, but since booting from USB does not work unless Mac OS X 10.4.7 or newer is installed on a PowerPC Mac, I was unable to boot from USB. Not even an external Superdrive would work. I then tried the mini.iso (available here: <a href="https://help.ubuntu.com/community/Installation/MinimalCD">https://help.ubuntu.com/community/Installation/MinimalCD</a>), and since the mini.iso is so much smaller (27 MB compared to 700 for the live CD), there are less sectors for the CD-ROM to read, and I had more success.
</p>

<p>
This page (<a href="https://help.ubuntu.com/community/Lubuntu/Documentation/MinimalInstall">https://help.ubuntu.com/community/Lubuntu/Documentation/MinimalInstall</a>) describes how to install from the mini.iso. The method described on this page is slightly out of date, but just boot from the CD (after having burned the mini.iso to it) by holding down C and just wait. The installer will start by itself, but if it doesn’t, type install. Answer the questions and if you do not know the answer, just go with the default. At one point, the installer doesn’t show any progress bar and seems to have freezed up, but just wait and after a quite long time, a progress bar will appear and it will continue to show you that it is still alive.
</p>
</div>
</div>
<div id="outline-container-org69c2fb0" class="outline-2">
<h2 id="org69c2fb0">Fixing a few problems after install</h2>
<div class="outline-text-2" id="text-org69c2fb0">
<p>
There are a few things in Lubuntu 12.04 that does not work properly out of the box on the PowerPC platform. First, there is a crossed out Chromium symbol in the application launcher in the lower left side of the screen. This is because Chromium, wich is the standard browser in Lubuntu, is not available for PowerPC. In stead FireFox is installed by default. (Personally, I would switch to FireFox anyway, since I don’t trust the company that earns its money by tracking peoples browsing to not track my browsing if I am using their browser. I also like the user interface in FireFox better than Chromium.) To get rid of the symbol and replacing it with FireFox, direct your cursor to the panel on the bottom of the screen (the grey line) and press the F12 key. (F12 is the same as right-click in Lubuntu and F11 equals middle-click.) This will bring up a context menu. Choose «Panel settings». In the following window, choose the tab «panel programs». Then choose the second line on the left «Program launcher» and then press the «Edit» button. Choose the strange symbol and press the «Delete» button. Then press the little triangle on the left of «Internet» and choose «FireFox» and press the «Add» button. Now you have a FireFox launch button on your bottom panel.
</p>

<p>
The other thing that does not work, at least not for me, is AbiWord. It either crashes when I start it, or after a few seconds of running. I uninstalled it with the Lubuntu Software Centre and installed LibreOffice Writer in stead. It might not be as lightweight, but it doesn’t crash. (Of course, you might want to keep AbiWord, hoping it will be less buggy after the next update, and just add LibreOffice Writer to have something that works untill it gets fixed.) To get rid of AbiWord and install LibreOffice Writer, choose Lubuntu Software Centre from the System Tools submenu of the menu on the left of the bottom panel (click the Lubuntu logo and then move to System Tools and Lubuntu Software Centre.) Click «Installed software» and click on «AbiWord» and press the «Remove from the system» button. Write your password and it will be removed. It might still be visible in the «Installed software» even after you get a message that it is uninstalled. This bug should be fixed in 12.10. Then choose «Get software» and «Office» and scroll down to LibreOffice Writer. If you want the rest of LibreOffice as well, you could choose «LibreOffice» in stead, this will install all the LibreOffice components available for PowerPC. Click «Add to app basket» and then click «App basket» on the top right and then «Install packages» and write your password and wait. If you want to open LibreOffice Writer it will now be in the «Office» submenu of the Lubuntu menu on the lower left of the screen. If you want to add it to your program launcher next to FireFox, just direct your cursor to the bottom panel, press F12 and repeat what you did to add FireFox, but go to Office and add LibreOffice Writer in stead.
</p>

<p>
You might also want to install some Extensions to FireFox. My favourites are AdBlock Plus, Facebook disconnect, Google disconnect and Twitter disconnect. These extensions will make your surfing ad-free and you will avoid Facebook, Google and Twitter collecting data about wich sites you surf. I don’t really want these companies to sell information about my websurfing to anybody. Think about enabling ads for those sites you really want to support, since ads are what makes many sites economically viable.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-gnulinux.html">gnulinux</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[gnulinux]]></category>
  <link>https://einar.codeberg.page/lubuntu-12.04-on-an-ibook-clamshell-300-mhz.html</link>
  <guid>https://einar.codeberg.page/lubuntu-12.04-on-an-ibook-clamshell-300-mhz.html</guid>
  <pubDate>Sun, 30 Sep 2012 12:37:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Macintosh Quadra 700 hardware specifications]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>


<figure id="org3c63fdc">
<img src="https://einar.codeberg.page/media/quadra.gif" alt="quadra.gif">

</figure>


<p>
There are lots of hardware specifications for the Quadra 700 on the internet, so at this time, I find no point in making my own, but in stead I present links to different sites with specifications here.
</p>
<div id="outline-container-orgb1a5d61" class="outline-2">
<h2 id="orgb1a5d61">Links to Quadra 700 hardware specifications</h2>
<div class="outline-text-2" id="text-orgb1a5d61">
<ul class="org-ul">
<li><a href="http://support.apple.com/kb/SP235">Apple (apple.com)</a></li>
<li><a href="http://www.lowendmac.com/quadra/quadra-700.html">Low End Mac (www.lowendmac.com)</a></li>
<li><a href="http://68kmla.org/wiki/Macintosh_Quadra_700">68k Macintosh Liberation Army (68kmla.org)</a></li>
<li><a href="http://www.jagshouse.com/quadra700.html">Jagshouse (www.jagshouse.com)</a></li>
<li><a href="http://www.apple-history.com/700.html">Apple-history (apple-history.com)</a></li>
<li><a href="http://www.everymac.com/systems/apple/mac_quadra/specs/mac_quadra_700.html">Everymac (www.everymac.com)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Macintosh_Quadra_700">Wikipedia English (en.wikipedia.org)</a></li>
</ul>
</div>
</div>
<div id="outline-container-org13d5bd6" class="outline-2">
<h2 id="org13d5bd6">Other hardware information relevant to the Quadra 700</h2>
<div class="outline-text-2" id="text-org13d5bd6">
<ul class="org-ul">
<li><a href="http://www.ralentz.com/old/mac/hardware/dale-adams/video-quad700-900.html">Dale Adams on Quadra 700 &amp; 900 On-Board Video capabilities (at Ralentz.com)</a></li>
<li><a href="http://support.apple.com/kb/TA28634?viewlocale=en_US&amp;locale=en_US">Dale Adams on Quadra 700 &amp; 900 On-Board Video capabilities (at Apple.com)</a></li>
<li><a href="http://www.lowendmac.com/tech/aaui.html">Apple's AAUI Ethernet connector (at www.lowendmac.com)</a></li>
<li><a href="http://www.renewingmind.com/quadrados/quadrados.html">6100 DOS Cards, Quadras and you (at renewingmind.com)</a></li>
<li><a href="http://www.lowendmac.com/quadra/power-mac-upgrade-card.html">PowerPC Upgrades for 040 PDS (at www.lowendmac.com)</a></li>
<li><a href="http://www.lowendmac.com/benchmarks/q700.shtml">Quadra 700 Benchmarks (at www.lowendmac.com)</a></li>
<li><a href="http://homepage.mac.com/schrier/spec.html">The Machine Specific Clock Chipping Home page (of Marc Schrier at .mac.com)</a></li>
</ul>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/macintosh-quadra-700-hardware-specifications.html</link>
  <guid>https://einar.codeberg.page/macintosh-quadra-700-hardware-specifications.html</guid>
  <pubDate>Tue, 24 Apr 2012 14:11:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Sleipnir på norsk og svensk]]></title>
  <description><![CDATA[
<p>
Jeg har de siste månedene brukt nettleseren <a href="http://www.fenrir-inc.com/us/mac/sleipnir/">Sleinir</a> fra Fenrir Inc. Det geniale med den er at man kan ha haugevis av faner liggende åpne i ulike fanegrupper og navigere mellom dem ved hjelp av håndbevegelser på styreplata. Det er en effektiv måte å navigere rundt på nettet, særlig om man ofte besøker de samme sidene. Om man bruker ulike operativsystemer og smarte telefoner og dingser kan man synkronisere bokmerker mellom de ulike plattformene også. De har versjoner av nettleseren for Mac, Windows, Android, iOS og Windows Phone.
</p>

<p>
Da jeg var inne for å oppdatere nettleseren til nyeste versjon så jeg at Fenrir spurte etter frivillge til å oversette Sleipnir til ulike språk. I og med at jeg liker nettleseren og ville likt den enda bedre på norsk tenkte jeg at jeg kunne hjelpe til. Neste versjon av Sleipnir for Mac vil derfor komme med norsk og svensk lokalisering. <a href="http://www.fenrir-inc.com/us/sleipnir-family/languages.html">På denne siden</a> kan man se hvilke andre lokaliseringer Sleipnir kommer med.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/sleipnir-p%C3%A5-norsk-og-svensk.html</link>
  <guid>https://einar.codeberg.page/sleipnir-p%C3%A5-norsk-og-svensk.html</guid>
  <pubDate>Sun, 18 Mar 2012 12:46:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Where to find software online for the Macintosh Quadra 700]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>

<p>
This is a list of links to sites where software comaptible with a Quadra might be found. I will add to it when I discover new sites, so this list will hopefully grow with time. Most of the software is useable on any Mac (or emulator) running System 7 or Mac OS 8. There are also some System 6 programs that might be usable in System 7 and 8. For use with a Quadra, the software must either be "68k" or "Fat Binary". "68k" indicates that the program is coded for 680x0-processors used in the early Macs. "Fat Binary" means that the program has code for both 680x0 and Power PC processors. "PPC" programs will only run on Macs with a Power PC prosessor.
</p>

<ul class="org-ul">
<li><a href="http://main.system7today.com/softwareindex/internet.html">System 7 Today Software Centre</a> - all software is tested on Mac OS 7.6.1 and divided into 68k and PPC categories</li>
<li><a href="http://nbbemulation.free.fr/forum_macintosh/">Abandonware macintosh</a> - french site focused on emulators, but with lots of usable 68k software</li>
<li><a href="http://www.gryphel.com/">The Gryphel project</a> - software for 68k Macs</li>
<li><a href="http://alstaffieri.com/oldsoftware.html">Al's older Mac software</a> - some old programs, utilities and games</li>
<li><a href="http://www.kasprzyk.demon.co.uk/www/misc/utilities.html">Programming utilities for Mac OS</a> - by Alexander M Kasprzyk</li>
<li><a href="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/">Old Apple Software sorted by localisation</a></li>
</ul>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/where-to-find-software-online-for-the-macintosh-quadra-700.html</link>
  <guid>https://einar.codeberg.page/where-to-find-software-online-for-the-macintosh-quadra-700.html</guid>
  <pubDate>Thu, 15 Mar 2012 14:48:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Which operating system software to use on the Quadra 700]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>


<figure id="orgb68be5c">
<img src="https://einar.codeberg.page/media/about.gif" alt="about.gif">

</figure>

<p>
The Quadra 700 (and 900) can run any system version between system 7.0.1 and Mac OS 8.1. Which system version is right for you is a matter of which features you want/need, how much RAM you have installed, wether you would consider buying a system version on CD or stick with what you have on diskettes, CD(s) or what is available for download from Apple and wether you are planning to use software which require a certain system version. The older system versions demand less RAM and hard drive space, but they have fewer of the modern features built in, so for machines with enough RAM, a newer system might be better. Many of the newer features are available even to older systems with additional innstallation of control panels, extensions and other software.
</p>

<p>
Allthough a Quadra can run Mac OS 8.0 and 8.1, these system versions demand lots of RAM, so unless you have 20 MB or more, they might not be very useable. They also use a lot of hard disk space. I have got 8 MB of physical RAM (16 with RAM doubler) and currently I am using H-7.6.1. H is Apple's code for norwegian software. Unfortunately 7.6 and/or 7.6.1 isn't available for free download from Apple and since 7.5.5 is more or less the same system but with fewer of the additional "modern" features as part of the system, it is probably the best choice if you haven't got a CD with 7.6.1. You just have to install a few more extra system extensions and control panels. Even with 7.6.1 there are a couple of extras needed to be installed for maximum useability in the modern world and on the internet. System7today.com have <a href="http://main.system7today.com/updates/76x_68k.html">this page</a> of ultimate updates for Mac OS 7.6.1 on 68k Macs.
</p>

<p>
I have also tried H-7.1 (which I have original diskettes for) and <a href="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Norwegian/Macintosh/System/Full_Installs/System_7.5_Version_7.5.3/">H-7.5.3</a>. My idea was trying to use the smallest and fastest system possible since my Quadra only has 8 MB of physical RAM (16 MB with RAM doubler). My main reason for changing from H-7.1 to H-7.5.3 was that I had trouble setting up MacTCP and therefore had trouble connecting to other computers and the internet. In 7.5.3 it is possible to use open transport, and with it DHCP, which means that there is no configuring of IP adresses and such needed. (I'm slightly IP challenged and I have a dynamic IP adress with my internet provider.) With both 7.1 and 7.5.3 I used Tyler Sable's guide to installing a "modern" <a href="http://www.fenestrated.net/%7Emacman/701/">system 7.0.1</a> and <a href="http://www.fenestrated.net/%7Emacman/755/">System 7.5.5</a>. However I found system H-7.5.3 with Sable's additional "modern" features quite unstable with lots of bombs and sudden stops in the middle of processes, especially network related processes, so I thought I would give H-7.6.1 a new chance. So far, H-7.6.1 has been much more stable than H-7.5.3. Unfortunately, the norwegian version of 7.5.5 isn't available for download, but <a href="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Norwegian/Macintosh/System/Full_Installs/System_7.5_Version_7.5.3/">H-7.5.3</a> is.
</p>

<p>
The one feature I would love to have available that comes in Mac OS 8.1 is the ability to read HFS+ volumes. It would make it easier to access some software that is actually compatible with system 7 and 68k macs, but that is distributed on a HFS+ volume in the form of disc images. (I have come across a few of those.) It would also make burning CDs for use on the Quadra from other machines much easier and faster. I am now using an external SuperDrive through the USB 1.1 port of my iBook Clamshell (G3/300 MHz) to burn CDs for the Quadra, since the version of Disk tools in Mac OS 10.6 "Snow Leopard" on my MacBook Pro has no support for creating disc images or burning CDs with HFS-volumes. Mac OS 10.4 "Tiger" on my iBook Clamshell supports HFS volumes. After I got my internet connection working (I needed open transport on a CD to do that), I have been using FTP to transfer files between my Quadra and my MacBook Pro.
</p>

<p>
Here are some information about different system versions compatible with the Quadra:
</p>
<ul class="org-ul">
<li><a href="http://www.fenestrated.net/%7Emacman/mac/biglist.html">Tyler Sable's 68k Mac resources - lots of useful information</a></li>
<li><a href="http://en.wikipedia.org/wiki/System_7_%28Macintosh%29">Wikipedia's article on System 7</a></li>
<li><a href="http://www.system7today.com/">System 7 today - mainly focused on Mac OS 7.6.1 and useful software</a></li>
<li><a href="http://www.lowendmac.com/sable/06/0215.html">System 7.5 and Mac OS 7.6: The beginning and end of an era (article by Tyler Sable at LowEndMac)</a></li>
<li><a href="http://www.lowendmac.com/sable/06/0911.html">Mac OS 8 and 8.1: Maximum Size, Maximum Convenience (article by Tyler Sable at LowEndMac)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Mac_os_8">Wikipedia's article on Mac OS 8</a></li>
<li><a href="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/">Old Apple Software sorted by localisation</a></li>
</ul>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/which-operating-system-software-to-use-on-the-quadra-700.html</link>
  <guid>https://einar.codeberg.page/which-operating-system-software-to-use-on-the-quadra-700.html</guid>
  <pubDate>Thu, 15 Mar 2012 14:36:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Essential additional hardware]]></title>
  <description><![CDATA[
<p>
<a href="https://mostad.eu/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>
<div id="outline-container-orgcdea51a" class="outline-2">
<h2 id="orgcdea51a">&#x2026;for connecting to modern networks and the internet</h2>
<div class="outline-text-2" id="text-orgcdea51a">

<figure id="orgc156e87">
<img src="https://einar.codeberg.page/media/Farallon.gif" alt="Farallon.gif">

</figure>

<p>
Farallon AAUI RJ-45 Ethernet transceiver
</p>

<p>
Because the Quadra 700 and Quadra 900 were made while there were two standard ways of connecting to an ethernet network (Coax with terminators in the ends and RJ-45), Apple chose to think differently and develop a third type of port called AAUI-15 for the built in ethernet. There is <a href="http://www.lowendmac.com/tech/aaui.html">an article on Low End Mac about the AAUI Ethernet connector and it's history</a>. Since RJ-45 Ethernet has become the modern standard for wired networking, an ethernet adapter is more or less a necessity if you want to connect your Quadra to the internet or network it with modern Macs or PCs. The other way to network would be to use LocalTalk, wich can be useful for networking with Macs without Ethernet ports (pre-Quadra Macs). There's <a href="http://www.lowendmac.com/ed/rosen/ar07/vintage-mac-networking.html">an article by Adam Rosen on Low End Mac about networking with older Macs</a>.
</p>

<p>
I found a used Farallon AAUI RJ45 Ethernet Transceiver on ebay that didn't cost much, even with shipping from the USA to Sweden. It works fine and connects my Quadra to the internet connection shared from my MacBook Pro. It's the one you see on the right here. There is also some types wich have two RJ-45 ports that allow you to connect more than one computer to your Quadra.
</p>
</div>
</div>
<div id="outline-container-orge057133" class="outline-2">
<h2 id="orge057133">&#x2026;for connecting to a modern screen</h2>
<div class="outline-text-2" id="text-orge057133">

<figure id="orgf4d9f93">
<img src="https://einar.codeberg.page/media/VMAC-1.gif" alt="VMAC-1.gif">

</figure>

<p>
Viewsonic VMAC-1
</p>

<p>
The other essential hardware addition to a Quadra 700 or Quadra 900 is an adapter from Apple's DB-15 display port to a standard DE-15 VGA port to connect the Quadra to a modern screen. In the past, the manufacturers of screens for Macs included cables for their screens. The trouble is that the Quadra would use how certain pins on the plug are connected in the screen cable to figure out wich screen resolution, colour depth and what refresh frequency to use, so even if you have a cable that connects an older screen to your Mac and the port on the back of the screen is a VGA port, you can't use this cable with another screen with a VGA port if it is not capable of using the exact same resolution, colour depth and refresh frequency. I tried using a cable that came with my Radius 2 page greyscale display (21 inch) to connect my Samsung SyncMaster P2770HD screen/TV to the Quadra and the result was that I could only use 16 greys in 1152 x 870 and the screen looked very blueish. Even if it is possible to get a Mac DB-15 male to VGA DE-15 female adapter "block" such an adapter would not be of much use since there is no way of knowing wich resolution and colour depth it is made for when you buy it, except if it is stated by the seller. It might not match your screen at all and you will have no flexibility if you need to connect to other screens with other resolutions in the future.
</p>

<p>
After some research, I found that the Viewsonic Universal Macintosh Adapter VMAC-1 that has DIP swithces for changing resolution and sync mode would probably be one of the best options. I found <a href="http://office.manualsonline.com/manuals/mfg/viewsonic/vmac1_macintosh_adapter.html?idRes=8869">this user guide</a> online. I got one on ebay that was unused and in its original packaging. It has DIP switches for setting the resolution and sync mode, but these can be hidden by a lid when set. With this adapter I have been succesfully using 16 colours with a resolution of 1152 x 870 and a 75 Hz refresh frequency on my Samsung screen. The screen seems happy with the sync mode set to either Separate, Composite or Separate+Composite. Lately, I have switched to 832 x 624 to get 256 colours. (I have the stock 512 kB of Video RAM, so I can't get more than 16 colours at 1152 x 870.) 16 greys was fine on the Radius screen, but many programs seem to anticipate either black and white or 256 or more colours. My Samsung SyncMaster handbook does list Mac 640 x 480, Mac 832 x 624 and Mac 1152 x 870 in a "Table of standard signal modes" together with horisontal and vertical refresh frequencies and polarity, so maybe that is why it has worked so well for me. It doesn't list the other resolutions the Quadra 700 support and I haven't tried them either. "If it ain't broke&#x2026;"
</p>

<p>
For more information about the internal graphics card in the Quadra 700 and Quadra 900, <a href="http://www.ralentz.com/old/mac/hardware/dale-adams/video-quad700-900.html">the article by Dale Adams</a>, the original designer of the Quadra 700 and 900 built in video capabilities is the best place to start. There is also <a href="http://tidbits.com/article/2608">an article by Glenn Fleishman</a> on TidBits discussing the advantage of the on board video of the Quadra 700 over later computers in the Apple lineup.
Where to find these things in Europe
</p>

<p>
Places to look for items like these in Europe would be amazon.de, amazon.co.uk (they do not ship electronics to the rest of Europe for fear of mismatched power outlets, so if you don't live in Britain, use amazon.de in stead), finn.no, blocket.se, dba.dk, ebay.se, ebay.co.uk, ebay.de &amp;c There are lots of cheap items from the USA on ebay. These can usually be shipped quite cheaply if they don't weigh much. If they are not too expensive, you don't have to pay customs either. For more costly or heavier items, it is usually better to shop in Europe since there is no customs inside the EU and shipping is less expensive. It's also better for the environment not to ship lots of heavvy goods around the world.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/essential-additional-hardware.html</link>
  <guid>https://einar.codeberg.page/essential-additional-hardware.html</guid>
  <pubDate>Sun, 12 Feb 2012 14:19:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Network Time setup for Central European Time with summer time]]></title>
  <description><![CDATA[
<p>
<a href="https://einar.codeberg.page/ems-quadra-pages.html">Link back to the main Macintosh Quadra 700 page</a>
</p>

<p>
Network Time is a control panel that sets the time and date of your Mac with the help of a network time server. You can download it from <a href="http://main.system7today.com/software/networktime/networktime.html">system7today.com</a>. Network Time comes preconfigured with some time zones in America and it can use the settings of your "Map" control panel. Unfortunately, it doesn't work with the settings from the "Map" control panel if the name of the control panel is anything else than "Map", so unless you use some sort of english localisation this feature doesn't work. But it is easy to set up manually.
</p>


<figure id="orgbdf433d">
<img src="https://einar.codeberg.page/media/cet.gif" alt="cet.gif">

</figure>

<p>
This is how to set it up to use Central European Time:
</p>
<ol class="org-ol">
<li>Open the Network Time control panel and write "time.euro.apple.com" in the Time Server box</li>
<li>Choose "Add/change Time Zones&#x2026;" from the Time zone pull down menu.</li>
<li>Click "New"</li>
<li>Write "Central European Time" or whatever you like in the "Zone name" box.</li>
<li>Click the "Universal time +" radio button</li>
<li>Write 1 in the h box.</li>
<li>Click "Use Daylight Savings Time".</li>
<li>Click the "Add" radio button.</li>
<li>Write 1 in the h box.</li>
<li>Choose Begin: "Last" "Sunday" "in" "March" at "01.00" and End: "Last" "Sunday" "In" "October" at "01.00" as shown in the picture above. This wil automatically set Central European Summer Time at the right time.</li>
<li>Click "OK" twice.</li>
<li>Choose "Central European Time" (or whatever you called it) in the Time Zone pull down menu.</li>
<li>Click "Set Time" to set time or choose a time interval at wich time will be set by writing in the "Every&#x2026; hour" box.</li>
</ol>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/network-time-setup-for-central-european-time-with-summer-time.html</link>
  <guid>https://einar.codeberg.page/network-time-setup-for-central-european-time-with-summer-time.html</guid>
  <pubDate>Sat, 11 Feb 2012 14:45:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[EM's Quadra Pages]]></title>
  <description><![CDATA[
<div id="outline-container-orga0a6777" class="outline-2">
<h2 id="orga0a6777">Welcome to my Quadra 700 pages!</h2>
<div class="outline-text-2" id="text-orga0a6777">

<figure id="org9219c4b">
<img src="https://einar.codeberg.page/media/quadra.gif" alt="quadra.gif">

</figure>

<p>
This is a collection of information and links concerning the Macintosh Quadra 700. Some of this info will also be useful for people with other Macs from the early 90s and for people emulating a Quadra with BasiliskII on a modern computer. Especially Quadra 900, Mac IIci and Mac IIcx users might find some nugget of relevant info, since the hardware of these machines resemble the Quadra 700 a lot. The Macintosh IIcx and IIci use the same case design as the Quadra 700 and can be upgraded to a Quadra by switching out the motherboard. The Quadra 900 was released at the same time as the 700 as its big brother and lives in a larger case, but is otherwise very similar to the 700.
</p>

<p>
I wrote these pages in HTML with Simple Text on the Quadra 700 for maximum compatibility with older browsers and minimum load times. All pictures are kept relatively small in size for the same reasons. Sometimes less really is more. If some letters look strange, you should set the character encoding in your browser to "ISO Latin 1", "Western European" or some other name indicating the "iso-8859-1" encoding.
</p>

<p>
The dates in paranthesis after a link is when I updated the page lastly, in dd.mm.yyyy format. I think I might have the newest pages on the internet designed on a Quadra 700. Of course, I also have my WordPress blog, but I want to keep these pure HTML pages for people using older browsers and slow connections. I am not hosting these pages myself on the Quadra (it might possibly be done with MkLinux and the LAMP stack if the machine's RAM is maxed), but the excellent Transmit FTP program let me upload it to my web hotel.
</p>
</div>
<div id="outline-container-orga0990b0" class="outline-3">
<h3 id="orga0990b0">Hardware</h3>
<div class="outline-text-3" id="text-orga0990b0">
<ul class="org-ul">
<li><a href="https://einar.codeberg.page/macintosh-quadra-700-hardware-specifications.html">Quadra 700 hardware specifications</a> (24.04.2012)</li>
<li><a href="https://einar.codeberg.page/essential-additional-hardware.html">Essential additional hardware</a> (12.02.2012)</li>
<li><a href="https://einar.codeberg.page/inside-macintosh-quadra-700-or-essential-upgrades.html">Inside Macintosh Quadra 700 or Essential upgrades</a> (03.07.2013)</li>
</ul>
</div>
</div>
<div id="outline-container-orgb0082a2" class="outline-3">
<h3 id="orgb0082a2">Software</h3>
<div class="outline-text-3" id="text-orgb0082a2">
<ul class="org-ul">
<li><a href="https://einar.codeberg.page/which-operating-system-software-to-use-on-the-quadra-700.html">Which system software to use on the Quadra 700</a> (15.03.2012)</li>
<li><a href="https://einar.codeberg.page/network-time-setup-for-central-european-time-with-summer-time.html">Network Time setup for Central European Time with summer time</a> (11.02.2012)</li>
<li><a href="https://einar.codeberg.page/where-to-find-software-online-for-the-macintosh-quadra-700.html">Where to find software online</a> (15.03.2012)</li>
</ul>
</div>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/ems-quadra-pages.html</link>
  <guid>https://einar.codeberg.page/ems-quadra-pages.html</guid>
  <pubDate>Fri, 10 Feb 2012 13:00:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Format anxiety]]></title>
  <description><![CDATA[
<p>
I am a long time Mac user and have been through many transitions during the years. The 68k to PowerPC processor transition was allmost unnoticable for me as a user. When I switched from my Performa 450 with System 7.6.1 to an iBook Clamshell in 2002, the iBook ran all my programs just fine, even if many of them were from 1994 and for 68k processors. Everything continued to work well even after upgrading the Clamshell from Mac OS 9.0.4 to 9.2.2. No backwards compatibility problems at all.
</p>

<p>
The transition to Intel was harder. My iBook died when I stumbled in the power cord in 2006, so I bought myself a MacBook for Christmas. (I was able to ressurect the iBook in 2008, though.) I didn't use OS X on the iBook, so that was a new user interface to master and in addition to that, none of my old programs could be run on the MacBook since Intel Macs didn't support Classic Mode even if I was running Mac OS X 10.4 "Tiger". Luckily Apple supplied some great free programs in the iLife suite and I soon downloaded OpenOffice and some alternative browsers. I got a copy of AppleWorks 6 and that helped me slightly further (although not as much as anticipated, since it would not read my old ClarisWorks 2.1 documents, only my quite new AppleWorks 5 documents).
</p>

<p>
In 2009, I upgraded my MacBook from Tiger to Snow Leopard, wich was a huge improvement even if it was a bit buggy in the start (this is the only time I have been an early adaptor of a new Mac OS) and in 2010 my MacBook died and I bought a MacBook Pro. (Later I was able to ressurect my MacBook's hard drive, so even if it lacks a battery and optical drive, it works. I use it for wireless backup and for ripping DVDs with an external optical drive.) I also bought Finale PrintMusic, a light version of the Finale music notational program, since I was a heavy user of Finale from 1989 untill 2006, but OS X broke it for me at a time when I couldn't afford bying a new version for OS X. 
</p>

<p>
Yesteryear, I got iWorks from my mother and took a day to convert all my old ClarisWorks 2.1 documents to AppleWorks 5 on the iBook, convert all of those with AppleWorks 6 on my MacBook Pro to AppleWors 6 documents and convert those further to Numbers and Pages, in addition to my AppleWorks 6 documents. I find it quite ridiculous that Pages will read Microsoft Word files in all types of legacy formats, but not AppleWorks and ClarisWorks documents unless they are AppleWorks 6. It is sort of Apple's way of giving the finger to their own long time customers at the same time as they are giving a helping had to long time Microsoft users.
</p>

<p>
AppleWorks 6 also had much better support for legacy Microsoft formats than legacy Claris/Apple formats. Even if Apple is constantly going forward and trying to promote itself as the company of innovation, most people actually like to be able to open their own documents, even if they were made some years ago. Being able to open old documents made with Microsoft software, but not with Claris/Apple software is totally insane if Apple want people to use and trust their software. It gets even more ridicolous when the ability to open your documents in older versions of the same program is not available either, since the newer Macs are unable to open pre OS X applications, so if you don't have an old Mac lying around, you are totally unable to convert your old documents to newer formats. If you go from a 386 IBM clone with Windows 3.11 and Microsoft Office to a MacBook Pro with Mac OS X 10.6 "Snow Leopard", then iWorks will import all your documents just fine. But iWorks won't open your ClarisWorks 5 documents made on a PowerPC Mac in 2003.
</p>

<p>
After these experiences, I am very cautious about saving my documents in Apple's own formats. Even if Microsoft has also changed document formats many times to force customers to move to newer versions of their software, they still make sure that their new software will open their own legacy formats, so their own users don't loose the ability to open their documents produced in earlier versions of the same software. Any software company with respect for their users would do this when moving to new document formats.
</p>

<p>
I am not really willing to bet my documents on Apple's continued support for their own formats, so I have converted most of my text documents where formatting is not important into Rich Text Format (RTF). Rich Text Format has been with us since the dawn of time and is still a widely supported format that includes support for bold, italics and other simple formatting, as well as less problems with using letters outside the English alphabet across platforms and text encodings, wich is quite important if most of your documents are not in English. I have yet to come across a word processor unable to open RTF documents.
</p>

<p>
For documents with page formatting, like term papers and such, I have made PDFs of them in additon to converting them to open document format (.odt) wich is usable in LibreOffice, OpenOffice, NeoOffice, AbiWord and most other open source word processors. I had to convert to Microsoft Word format first in Pages and AppleWorks 6 and then open those word doceuments in NeoOffice to convert them to open document format.
</p>

<p>
I have also converted all my old ClarisWorks spreadsheets into Numbers documents quite recently, but I am now thinking that I will convert those as well to open document format (again I will be exporting to MS Excel and then use "Save as.." in NeoOffice. I converted my old MacPaint, MacDraw and ClarisWorks draw and paint documents to PDFs a long time ago, so all of my old concert posters and such are still with me.
</p>

<p>
There are many good reasons to use the open document formats. First, they are widely supported by a lot of software that is under active development by people in the open source movement. Even if it is not such an old and widely supported format as RTF, more and more programs are including support for opening and saving in open document format. As I am not really willing to buy proprietary software to do things free software does just as well, it seems a good choice both for my wallett and for not becoming to dependent on the whims of large companies like Apple and Microsoft. 
</p>

<p>
Another reason to use open document format is that whatever operating system you are using, there is software easily available that will open these documents. This means that you can mail these documents to anybody, and they will be able to read them easily, and if you in the future should decide to change operating system, there is no need to convert your documents, since software that read these files are available for all the major operating systems. With the direction of both Mac OS and Windows going towards forcing the otherwise brilliant tablet and smart phone GUIs onto desktop and laptop users, with more or less lock-in to their own app stores, and less and less availability of the file system, I am getting more inclined towards changing my operating system. I have started exploring Linux distributions in virtual machines with the VirtualBox, but that is another story.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/format-anxiety.html</link>
  <guid>https://einar.codeberg.page/format-anxiety.html</guid>
  <pubDate>Thu, 15 Sep 2011 12:43:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Beste nettleser for Mac OS 10.3.X?]]></title>
  <description><![CDATA[
<p>
Når jeg nå kjører Mac OS “Panther” 10.3.9 på min iBook Clamshell betyr det at det er mange nettlesere jeg ikke kan benytte nyeste versjon av, fordi de nyeste versjonene som regel krever Mac OS 10.4 “Tiger” eller nyere. Dette er et problem fordi nettet er i utvikling og eldre nettlesere ikke nødvendigvis støtter nyere nettsiders design. Nyeste versjoner av Safari, FireFox og Internet Explorer som kan kjøre i Mac OS 10.3.9 er alle utgamle, så dermed er ikke de noe alternativ.
</p>

<p>
Den vanligste nettleseren til Panther ser ut til å være Camino. Den anbefalles i alle fall av flere nettsteder. Nyeste versjon jeg har fått tak i som fungerer i Panther er 1.16.11. Den er ikke så alt for gammel. Camino fungerer, men det går ikke særlig fort og med en gang den skal kjøre JavaScript, som f.eks. Google translate Widgeten på mostad.eu stopper den opp og gir feilmeldinger.
</p>

<p>
På iBooken min kjører Opera 9.64 merkbart raskere og den tåler JavaScript bedre. Den er heller ikke så voldsomt gammel. I begge nettleserne har jeg forsøkt å få nettleseren til å ta minst mulig plass fra selve nettsiden ved å skru av unødvendige verktøy- og bokmerkelinjer på toppen av skjermen. Også der kommer Opera bedre ut fordi jeg kan skru av absolutt alt untatt én linje med navigasjonsknapper, felt til å skrive nettadresse og søkefelt, mens Camino viser en linje til bokmerker selv om man ikke har lagt noen der. (Klikk på bildet til høyre for å se hva jeg mener i litt større detalj.) Dessuten er knappene på den øverste linja hakket større enn i Opera. På en skjerm med 800 x 600 punkter er det å spare kanskje 30-40 punkter på toppen av skjermen noe som betyr litt for sørfeopplevelsen. Skjermen er uansett liten i forhold til designet på de fleste moderne nettsider.
</p>

<p>
Et tredje nyligere oppdatert alternativ er iCab. I likhet med Camino er iCab noe tregere enn Opera på min iBook i Panther. Derimot er den veldig god å ha i OS 9, der den er den mest oppdaterte nettleseren jeg har funnet. Den ble aktivt vedlikeholdt for MacOS 7-9 inntill for et år eller to siden.
</p>

<p>
<b>Kommentar fra 2023:</b> Jeg ville ikke kjørt et utgammelt operativsystem som ikke lenger får sikkerhetsoppdateringer eller utgamle nettlesere som heller ikke får det på en maskin jeg kobler opp til internett. Det oppdages nye sikkerhetshull i programvare hele tiden og hvis man ikke får de nyeste sikkerhetsoppdateringene er maskinen ens lett å kompromisse. Dette kan skje automatisk til alle med nettlesere med disse sikkerhetshullene og trenger ikke å være målrettet mot deg som enkeltperson. Hvis man vil kjøre utgammel programvare bør man ikke koble maskinen til nettet.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/beste-nettleser-for-mac-os-10_3.html</link>
  <guid>https://einar.codeberg.page/beste-nettleser-for-mac-os-10_3.html</guid>
  <pubDate>Mon, 30 May 2011 12:06:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Bachs sonate for gambe og cembalo på cello?]]></title>
  <description><![CDATA[
<p>
Jeg sitter og øver på Sonaten BWV 1027 for tiden. Det er en sonate for gambe og cembalo. Jeg skal spille den på barokkcello med cembalo i august. Naturlig nok kommer en del tanker om dette med å spille musikk for andre instrumenter.
</p>

<p>
Alle de store komponistene har skrevet transkripsjoner av sin egen musikk for andre instrumenter og en av de vanlige måtene å lære komposisjon var å transkribere andres musikk. Ofte er musikk også skrevet med åpen instrumentasjon, særlig tidlig i barokken. Bachs transkripsjoner av Vivaldis fiolinkonserter til orgel er et kjent eksempel, men også det meste av Bachs musikk for lutt fins også i andre utgaver, enten for fiolin solo, cello solo eller cembalo. Noen av disse verkene fins til og med i tre utgaver: for lutt eller fiolin eller orgel. Flere av Bachs verk for lutt har vi ikke for lutt i Bachs egen hånd, men de er i stedet omarbeidet for lutt og skrevet ned i tabulatur av tidens lutenister. Telemann har også skrevet store mengder musikk med åpen instrumentasjon, gjerne forsynt med flere sett fortegn og nøkler, så man kan velge det som passer best for ens instrumenter. Couperin nevner i forordet til sine Concert Royaux at de ikke kun kan spilles på cembalo solo, men også for fiolin, fløyte, obo, gambe eller fagott. Med andre ord virker det som om musikkens innhold er viktigere enn dets medium for flere av barokkens mest kjente musikere.
</p>

<p>
Bachs Sonate BWV 1027 fins i to versjoner, begge i G dur. Den ene er versjonen for gambe og cembalo, den andre, BWV 1039, er for to fløyter og continuo. Det fins også de som mener den originalt kan ha vært for to fioliner og continuo i en tredje versjon. Det virker ikke som om Bach var spesielt fastlåst hva gjaldt instrumentajon i disse verkene.
</p>

<p>
Sonaten i G-dur føyer seg inn i tradisjonen etter Corelli, som en kirkesonate med Langsom-Hurtig-Langsom-Hurtig struktur. I likhet med andre tyske musikere brukte Bach gamben mer melodisk og mindre akkordisk enn franske og engelske musikere ofte gjorde. Det fins en tysk tradisjon med triosonater for fiolin, gambe og continuo av komponister som Buxtehude, Erlebach, Finger osv og alle har de, som Bach, gamben som den andre stemmen. Det spesielle Bach gjør er å gi første stemme til cembalistens høyre hånd i stedet for å la cembaloen spille generalbass og la et annet instrument spille toppstemmen. I motsetning til fransk og engelsk musikk for gambe solo (eventuelt med continuo) som som regel består av suiter av dansesatser, så skriver altså Bach sonater i den italienske tradisjonen for gambe. Nå må det også nevnes at også franske komponister som Boismortier og Corette skriver sonater med åpen instrumentasjon der gambe, cello eller fagott nevnes som mulige soloinstrumenter.
</p>

<p>
Som mye musikk for gambe ligger denne sonaten hovedsaklig i mellomregisteret når man spiller den på cello. Når det gjelder tekniske vanskligheter ligger den på nivå med cellosonater av Geminiani, deFesch og Barrière. Med andre ord er det ikke mindre idiomatisk for cello enn mye musikk som er skrevet for cello. Det er, som med så mye av Bachs musikk, ikke så lett å datere sonatene for gambe. De ulike teoriene går ut på at de enten stammer fra Bachs tid i Köthen (1717-1723) eller Bachs tid i Leipzig (1723-1750). Om de stammer fra Köthen er de trolig skrevet for å spilles enten av Christian Ferdinand Abel eller prinsen av Köthen, som begge spillte gambe, trolig med Bach selv på cembalo. Christian Ferdinand Abel var, i likhet med sin sønn, den kjente gambevitruosen Carl Friederich Abel (som holdt konserter i London sammen med Johann Christian Bach) både cellist og gambist.
</p>

<p>
Det er ingenting som tilsier at denne musikken har blitt spillt på cello i barokken, men heller ingenting som tilsier at den ikke kan ha blitt det. Om musikken ligger ålreit og lar seg spille ser jeg ingen grunn til å la vær. Historisk sett er det å spille musikk på et annet instrument enn den originalt er skrevet for noe som ofte har blitt gjort. Til syvende og sist er det hvordan det låter som avgjør om det er en god løsning eller ikke.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/bachs-sonate-for-gambe-og-cembalo-p%C3%A5-cello.html</link>
  <guid>https://einar.codeberg.page/bachs-sonate-for-gambe-og-cembalo-p%C3%A5-cello.html</guid>
  <pubDate>Mon, 23 May 2011 12:03:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Nytt liv i legendarisk maskin]]></title>
  <description><![CDATA[
<p>
I 2002 overtok jeg Mammas iBook “Clamshell” G3. Det er “Revision B”-modellen fra år 2000. Den har en 300 MHz G3 prosessor, 64 MB RAM, 6 GB harddisk, innebyggd 56k-modem, plass til AirPort WiFi-kort, en USB utgang, lydutgang og CD-ROM-spiller. Og en 800 x 600 punkters 12-tommers fargeskjerm med ATI Rage Mobility L skjermkort med 4 MB VRAM.
</p>

<p>
I 2006 snublet jeg i strømkabelen så strømforsyningen kortstlutta, så da batteriet var tomt 20 minutter senere var iBooken død. I alle fall fram til 2008, da jeg gjorde en hjemmesnekra reparasjon av strømforsyningen og fikk liv i den igjen. Riktignok var løsningen ustabil og det var bare så vidt jeg klarte å holde strømforsyningen sammen, men det virka.
</p>

<p>
I 2011 kom jeg over en billig erstattningsstrømforsyning på tyske amazon. Der fant jeg også en billig 512 MB RAM-modul og et billig AirPort-kort. Uten å bruke spesielt mange kroner var plutselig iBooken mer funksjonell enn noen gang. Dødt batteri og liten harddisk til tross.
</p>
<div id="outline-container-org194c695" class="outline-2">
<h2 id="org194c695">Hvorfor gidde?</h2>
<div class="outline-text-2" id="text-org194c695">
<p>
Da jeg i jula 2006 kjøpte en MacBook fikk jeg en maskin med Mac OS 10.4 “Tiger” og Intel Core 2 Duo prosessor. Det var et langt steg fram fra iBooken med OS 9 og G3 prosessor. Men det innebar også at min gamle programvare ikke lenger virka. Jeg fant nyere versjoner eller alternative programmer for det meste, men jeg har ennå ikke klart å finne et program for redigering av lydene på min Roland synthmodul for OS X og det er også noen OS 9-spill som aldri kom for OS X. Jeg har også noen programmer og spill for OS X som er skrevet for PowerPC-prosessorer og som aldri kom i “Universal” (PowerPC og Intel) eller Intel-versjon. De kan brukes via Rosetta, den innebyggde PowerPC-emulatoren i OS X, men det går tregere enn å bruke disse programmene på en PowerPC-maskin.
</p>

<p>
iBooken er en ikonisk Mac og en av de fire Macene jeg har eid siden 1994, så av rent nostalgiske grunner er det hyggelig å få liv i den. Jeg tenker jeg skulle bruke den som en “kjøkkenmaskin” til nettradio, podkaster og nettsørfing i tillegg til den nevnte redigeringen av lyder på synthmodulen min og et og annet retro-spill. Dessuten appelerer det til nerden i meg å skvise ut det siste av bruksverdi av en 11 år gammel datamaskin. Et lite hobbyprosjekt.
</p>

<p>
Jeg tenkte jeg skulle dele erfaringene jeg gjør meg med iBooken. Kanskje det er noen andre retro-Macere i Skandinavia som kan ha glede det. Foreløpig har jeg i tillegg til Mac OS 9.2.2 også Mac OS 10.3.9 “Panther” innstallert. Har også lurt på å oppgradere til Mac OS 10.4 “Tiger” (det er vistnok mulig selv om Tiger ofisiellt ikke fungerer på maskiner uten FireWire) eller å prøve en Linux distribusjon. Uansett hvordan det blir med dette så er maskina vel så funksjonell som mange nettbooks der ute og har trolig et langt og produktivt liv foran seg.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <link>https://einar.codeberg.page/nytt-liv-i-legendarisk-maskin.html</link>
  <guid>https://einar.codeberg.page/nytt-liv-i-legendarisk-maskin.html</guid>
  <pubDate>Fri, 20 May 2011 12:02:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Finne noter på nettet]]></title>
  <description><![CDATA[
<p>
Tenkte jeg skulle dele noen linker til steder på nettet der man kan finne gratis noter:
</p>

<ul class="org-ul">
<li><a href="http://imslp.org/wiki/Main_Page">IMSLP / Petrucci Music archive</a> – det største notearkivet på nettet. Alt mulig.</li>
<li><a href="http://www.dlib.indiana.edu/variations/scores/scores.html">Opera Scores Demo</a> – operapartiturer</li>
<li><a href="http://icking-music-archive.org/ByComposer.php">Werner Icking Music Archive</a> – Moderne utgaver, mye av eldre musikk, mange arrangementer</li>
<li><a href="http://www2.cpdl.org/wiki/">Choral Public Domain Library</a> – korverk med eller uten instrumenter til</li>
<li><a href="http://www.gutenberg.org/browse/categories/4">Project Gutenbergs kategori for noter</a> – Mest strykekvartetter</li>
<li><a href="http://www.mutopiaproject.org/browse.html">Mutopia</a> – litt av alt mulig, mye skænna eldre utgaver</li>
<li><a href="http://www.lysator.liu.se/~tuben/scores/">Free sheet music from Johan Tufvesson</a> – moderne utgaver av gammel musikk</li>
<li><a href="http://www.cantatedomino.org/cd/index.shtml?Start.txt">Cantate Domino</a> – kirkemusikk, både korverk og orgelverk</li>
<li>MusicaStorica – diverse eldre musikk i moderne utgaver</li>
</ul>

<p>
I tillegg har mange biblioteker digitalisert mye av sine samlinger av noter etter hvert, så sjekk ut bibliotekenes nettsider.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> <a href="https://einar.codeberg.page/tag-computers.html">computers</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <category><![CDATA[computers]]></category>
  <link>https://einar.codeberg.page/finne-noter-p%C3%A5-nettet.html</link>
  <guid>https://einar.codeberg.page/finne-noter-p%C3%A5-nettet.html</guid>
  <pubDate>Mon, 16 May 2011 12:40:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[PDF-verktøy for Mac OS X og noter]]></title>
  <description><![CDATA[
<p>
Jeg holder på å skænne noter, artikler, notater og kompendier jeg har på løse kopier. Hver gang jeg har flytta har jeg bært med meg kilovis med papir og permer og ordnere og hvert sted jeg har bodd har jeg brukt masse plass på å ha ting stående og samle støv som jeg er allergisk mot. Jeg beholder selvfølgelig ting jeg vet jeg kommer til å spille igjen på papir, men alt det andre resirkulerer jeg etter å ha skænna det. Med noter og artikler og kompendier som PDFer er de lette å dele med andre og lette å lagre og transportere. Om man vil spille eller lese gjennom kan man gjøre det fra skjerm og så kan man skrive notene ut igjen om man bestemmer seg for å bruke de til et prosjekt.  Jeg har også fått mange skænna noter, bøker og artikler fra andre. Mye var lagra som separate GIFer, TIFFer, JPGer eller PDFer for hver side eller hver sats. Jeg holder på å samle både mine egne skænna sider og de jeg har fått fra andre i PDFer og en del av dette har jeg lagt opp på <a href="https://imslp.org/wiki/User:Mostad">Petrucci Music Archive (IMSLP)</a>.
</p>

<p>
I og med at jeg har skænna en del har jeg også funnet et par gode verktøy til å behandle PDFer på Mac som jeg tenkte kanskje andre også kunne ha glede av å vite om. Det ene er programmet <a href="https://web.archive.org/web/20110925204035/http://www.ironicsoftware.com/yep/index.html">Yep</a>. Det koster noen dollar, men er verdt det. Det bruker jeg til å samle løse bildefiler jeg eller andre har skænna til PDFer og til å legge til tags i metadata. Selv om jeg har organisert alle notene mine etter komponist og med tittel og utgiver i dokumentnavnet kan det være nyttig å hurtig kunne finne f.eks. nederlandsk musikk for fiolin, traverso og continuo. Det er fort gjort å legge til et par tags når jeg uansett bruker Yep til å samle enkeltsidene til PDFer og dermed har jeg mange flere ting jeg kan søke opp notene mine på enn bare tittel, utgiver og komponist. En annen praktisk ting er at om man lager PDFer i svart/hvitt så rensker Yep ut gråtoner fra bakgrunnen i de originale skænna filene, så dermed blir gulnede ark mer lesbare som PDFer enn de var på papir og om man skriver de ut igjen blir de faktisk bedre enn originalen man skænna i noen tilfeller.
</p>

<p>
Det andre verktøyet jeg har funnet er opensource-programmet <a href="https://pdfsam.org/">PDFsam</a>. Med det kan jeg kombinere flere PDFer til én. Yep klarer ikke det, så jeg trengte et annet verktøy. Tidligere har jeg først gjort PDFene om til TIFFer vha Preview og så samlet de i Yep, men det er rimelig klønete og funker ikke spesielt bra med flersidede PDFer som skal samles. Man kan også dele opp PDFer eller rotere sider med PDFsam. Det kan være greit om f.eks. et helt dokument har annenhver side opp ned (typisk om man skænner bøker).
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-computers.html">computers</a> <a href="https://einar.codeberg.page/tag-mac.html">mac</a> <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[computers]]></category>
  <category><![CDATA[mac]]></category>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/pdf-verkt%C3%B8y-for-mac-os-x-og-noter.html</link>
  <guid>https://einar.codeberg.page/pdf-verkt%C3%B8y-for-mac-os-x-og-noter.html</guid>
  <pubDate>Thu, 24 Mar 2011 11:55:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Supercello]]></title>
  <description><![CDATA[
<div id="outline-container-org1d31acb" class="outline-2">
<h2 id="org1d31acb">Supercello – fire cellister i fri utfoldelse</h2>
<div class="outline-text-2" id="text-org1d31acb">
<p>
Jeg har på initiativ fra Cecilia Österlin samlet fire cellister til kulturnatten 15. oktober som kommer til å spille et variert og spennende program med musikk fra de siste fem hundre år. Vi spiller kl. 19.00 i S:t Staffansgården i Staffanstorp som en del av S:t Staffans församlings kulturnattfeiring. Med meg har jeg fått Elina Mattila fra Finland, Magdalena Brostek fra Tyskland og Alkvin Linsenhof fra Sverige som alle nå er bosatte i København og går på masterstudiet i tidligmusikk på det kongelige danske musikkonservatorium.
</p>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/supercello.html</link>
  <guid>https://einar.codeberg.page/supercello.html</guid>
  <pubDate>Fri, 01 Oct 2010 11:53:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Concerts]]></title>
  <description><![CDATA[

<figure id="org2fb89b9">
<img src="https://einar.codeberg.page/media/EM_baroquecello.jpg" alt="EM_baroquecello.jpg">

</figure>

<p>
This is a list of my concerts. The list is in mixed Scandinavian with a bit of English. This reflects the titles of the concerts and projects. From 2000 and backwards, the list is incomplete and only contains the few concerts I still have some documentation for.
</p>
<div id="outline-container-org6df780b" class="outline-2">
<h2 id="org6df780b">2014</h2>
<div class="outline-text-2" id="text-org6df780b">
<p>
Nordiska visor
</p>
<ul class="org-ul">
<li>22. juni 2014 kl. 14.00, Kobba Klintar, Åland</li>
<li>med Maria Linde og Jørgen Bjørslev</li>
</ul>
</div>
</div>
<div id="outline-container-orge41a72d" class="outline-2">
<h2 id="orge41a72d">2013</h2>
<div class="outline-text-2" id="text-orge41a72d">
<p>
Tidligbarok på originalinstrumenter med Jutlandia baroque
</p>
<ul class="org-ul">
<li>22. august 2013, kl. 19.30, Sønderho kirke, Danmark</li>
<li>21. august 2013, kl 19.30, Asperup kirke, Danmark</li>
<li>20. august 2013, kl. 20.00, Lønne kirke, Danmark</li>
<li>19. august 2013, kl. 14.20, Rytmisk efterskole, Båring, Middelfart, Danmark</li>
</ul>
</div>
</div>
<div id="outline-container-orgc08f27e" class="outline-2">
<h2 id="orgc08f27e">2011</h2>
<div class="outline-text-2" id="text-orgc08f27e">
<p>
Jutlandia Baroque på Vestjysk International Festival
</p>
<ul class="org-ul">
<li>18. august 2011, kl. 20.00, Søndre Hoe kirke, Fanø</li>
</ul>

<p>
Jutlandia Baroque
</p>
<ul class="org-ul">
<li>15. august 2011, kl. 19.30, Ho Kirke, Ho, Danmark</li>
</ul>

<p>
Louise Hjort Hansens kandidateksamen
</p>
<ul class="org-ul">
<li>16. juni 2011, kl. 14.00, Syddansk Musikkonservatorium og Skuespillerskole, Esbjerg</li>
</ul>

<p>
Laura Seccos førsteårsprøve på gambe (jeg spillte soprangambe)
</p>
<ul class="org-ul">
<li>2. juni 2011, kl. 12.00, Syddansk Musikkonservatorium og Skuespillerskole, Esbjerg</li>
</ul>

<p>
Jutlandia baroque m.fl
</p>
<ul class="org-ul">
<li>6. mai. 2011 kl. 12.10, Syddansk Musikkonservatorium og Skuespillerskole, Esbjerg</li>
</ul>

<p>
Koncert med Jutlandia Baroque
</p>
<ul class="org-ul">
<li>5. mai 2011 kl. 20.00, Bryndum kirke, Danmark</li>
<li>Musik av Platti, Couperin og Schmelzer</li>
</ul>

<p>
J. S. Bachs “Actus Tragicus” og Telemanns “Du aber, Daniel” med Esbjerg Tidlig Ensemble
</p>
<ul class="org-ul">
<li>22. mars 2011, Løgumkloster, Danmark</li>
<li>22. april 2011, Løgumkloster, Danmark</li>
</ul>

<p>
Koncert med Jutlandia Baroque
</p>
<ul class="org-ul">
<li>4. april 2011 kl. 19.00, Skads kirke, Esbjerg, Danmark</li>
<li>Musik av Platti, Couperin og Schmelzer</li>
</ul>

<p>
Konsert med kyrkomusikstuderande vid Malmö Musikhögskola
</p>
<ul class="org-ul">
<li>12. mars 2011 kl. 15.00, S:t Andreas kyrka, Malmö</li>
</ul>

<p>
“En kväll på kaffehuset” med Hurra Barockorkester under ledning av Peter Spissky
</p>
<ul class="org-ul">
<li>4. februar 2011 kl. 22.00, Palladium Baroque 2011, Palladium, Malmö</li>
<li>6. februar 2011 kl. 14.30, Klosterkyrkan, Lund</li>
<li>7. februar 2011 kl. 12.15, Konserthuset Kristianstad, Lilla salen</li>
<li>7. februar 2011 kl. 20.00, Litteraturhaus, København, Danmark</li>
<li>12. februar 2011 kl 19.00, Maria kyrka, Ystad</li>
</ul>

<p>
Kammermusikeksamen
</p>
<ul class="org-ul">
<li>7. januar 2011 kl. 13.00, Studiescenen, DKDM, København</li>
<li>med Camilla Bachhausen, Christina Lauridsen, Turi Vethal, Alkvin Linsenhof, Birgitte Parsig og Magdalena Brostek</li>
</ul>
</div>
</div>
<div id="outline-container-orgb2789a4" class="outline-2">
<h2 id="orgb2789a4">2010</h2>
<div class="outline-text-2" id="text-orgb2789a4">
<p>
Julekoncert med Esbjerg Tidlig Ensemble og Ribe kammerkor
</p>
<ul class="org-ul">
<li>11. desember 2010, Ribe kirke, Danmark</li>
<li>Charpentiers Messe de minuit pour Noël, utdrag fra Händels Messias og assortert barok julemusik</li>
</ul>

<p>
Julekoncert i Aabenraa, Danmark
</p>
<ul class="org-ul">
<li>5. desember 2010, Sct. Nicolai kirke, Aabenraa, Danmark</li>
<li>med Christina Dahl, Aviad Gershoni, Sct. Jørgens kirkes pigekor, Sct. Nicolai kirkes kor og barokorkesteret Stella nuova under ledelse av Mogens Fangel Damm</li>
</ul>

<p>
Supercello cellokvartett
</p>
<ul class="org-ul">
<li>15. oktober kl. 18.00, S:t Staffansgården, Staffanstorp</li>
<li>Firandet av kulturnatten 2010 med utställning av konst och hantverk och med konserter och show</li>
</ul>

<p>
Esbjerg Tidlig Ensemble’s sommerkoncerter
</p>
<ul class="org-ul">
<li>17. august 2010, Lønne kirke, Danmark</li>
<li>26. august 2010, Sønderho Internationale Guitarfestival, Søndre Ho kirke, Danmark</li>
</ul>

<p>
“I natt! I natt! 2”, Ystad operafestival
</p>
<ul class="org-ul">
<li>7. juli 2010, Ystads operafestival</li>
<li>8. juli 2010, Ystads operafestival</li>
</ul>

<p>
“I natt! I natt! 2”, Vadstena-Akademien
</p>
<ul class="org-ul">
<li>19. maj 2010 kl. 19.00, Östgötateatern, Norrköping</li>
<li>20. maj 2010 kl. 19.00, Östgötateatern, Norrköping</li>
</ul>

<p>
“I natt! I natt! 2”, Vadstena-Akademien
</p>
<ul class="org-ul">
<li>5. maj 2010 kl. 19.00, Östgötateatern, Linköping</li>
<li>6. maj 2010 kl. 19.00, Östgötateatern, Linköping</li>
<li>7. maj 2010 kl. 19.00, Östgötateatern, Linköping</li>
<li>9. maj 2010 kl. 16.00, Östgötateatern, Linköping</li>
<li>12. maj 2010 kl. 19.00, Östgötateatern, Linköping</li>
<li>13. maj 2010 kl. 19.00, Östgötateatern, Linköping</li>

<li>21. mars 2010 kl. 18.00, Brågarps kyrka, Staffanstorp, Sverige: Eva-Lis Carlsson, Boel Adler, Einar Mostad och Cecilia Österlin spelar barock kyrkomusik. Musik av Pergolesi, Vivaldi, Schütz &amp;c.</li>
</ul>

<p>
“I natt! I natt! 2”, Malmö Opera
</p>
<ul class="org-ul">
<li>6. mars 2010 kl. 19.00, Ystad teater</li>
<li>7. mars 2010 kl. 16.00, Ystad teater</li>
<li>10. mars 2010 kl. 19.00, Kristianstads teater</li>
<li>11. mars 2010 kl. 19.00, Kristianstads teater</li>
<li>14. mars 2010 kl. 16.00, Humlescenen, Bromölla</li>
<li>19. mars 2010 kl. 19.00, Lund Stadsteater</li>
<li>21. mars 2010 kl. 12.00, Malmö opera, Teaterns dag</li>
<li>23. mars 2010 kl. 19.00, Röda Salongen, Hässleholm</li>
<li>28. mars 2010 kl. 18.00, Tivolihuset, Höganäs</li>
<li>7. april 2010 kl. 19.30, Stora scenen, Malmö opera</li>
<li>8. april 2010 kl. 19.30, Stora scenen, Malmö opera</li>
<li>11. april 2010 kl. 19.30, Borgen, Osby</li>
<li>15. april 2010 kl. 19.30, Helsingborgs Stadsteater</li>
<li>17. april 2010 kl 19.00, Landskrona Teater</li>
<li>27. april 2010 kl. 19.00, Stora scenen, Malmö opera</li>
<li>28. april 2010 kl. 19.00, Stora scenen, Malmö opera</li>

<li>6. januar 2010, S:ta Anna kyrka, Lyby, Sverige: 13. dagskonsert med Amarilli Consort</li>
</ul>
</div>
</div>
<div id="outline-container-org98a19d5" class="outline-2">
<h2 id="org98a19d5">2009</h2>
<div class="outline-text-2" id="text-org98a19d5">
<ul class="org-ul">
<li>13. desember 2009 kl. 17.00, Allhelgonakyrkan, Lund, Sverige: Luciakonsert</li>
</ul>

<p>
Hommage à Händel med Notto Birkeland (orgel) og l’État libre de Neige
</p>
<ul class="org-ul">
<li>12. november 2009 kl. 19.30, Slemmestad kirke, Oslo, Norge og</li>
<li>13. november 2009 kl. 19.30, Fagerborg kirke, Oslo, Norge</li>

<li>31. oktober 2009 kl. 11.00, Sankt Johannes kyrka, Malmö, Sverige: Allehelgonsgudstjänst</li>

<li>17. oktober 2009 kl. 15.00, Tryde kyrka, Tomelilla, Sverige: Tomelilla Vokalensemble &amp; instrumentalister under ledning av Susanne Larsson. Bachs Magnificat och kammarmusik</li>
</ul>

<p>
Esbjerg Tidlig Ensemble’s sommerkonserter
</p>
<ul class="org-ul">
<li>17. august 2009 kl. 19.00, Struer Kirke, Struer, Danmark</li>
<li>19. august 2009 kl. 19.00, Vestjysk Musikkonservatorium, Esbjerg, Danmark</li>
<li>Musikk av Rameau, Buxtehude, Uccelini, Sammartini og Telemann</li>
</ul>

<p>
“Papa Haydn’s Ghost stories” med L’État libre de Neige
</p>
<ul class="org-ul">
<li>9. august 2009 kl. 16.00: Bø Prestegard, Bø i Telemark</li>
<li>12. august 2009 kl. 20.00, Oslo Ladegård, Oslo, Norge</li>

<li>18. juni 2009, kl 13.00, Bethlehemskirken, København: Rachel Podger og DKDMs barokkensemble</li>
<li>Musikk av Rebel, Bach (J. S.), Händel og Purcell</li>

<li>28. mai. 2009 kl. 15.00, DKDM Studiescenen, København: Christina Lauridsens blokkfløjteeksamen</li>
<li>Musikk fra middelalder til i dag</li>

<li>26. mai 2009, kl. 10.00, Simeonskirken, København: Eksamenskonsert i barokkcello</li>
<li>Musikk av Vitali, Frescobaldi, Ortiz, Jacchini, Barrière, Geminiani og Boccherini</li>

<li>24. mai 2009, kl. 16.00, Treenigheden kirke, Esbjerg: Esbjerg Tidlig Ensemble</li>
<li>Musikk av Frescobaldi, Castello, Uccelini, Ortiz, Jacchini, Sammartini og Telemann</li>
</ul>

<p>
Purcells “Dido &amp; Æneas”
</p>
<ul class="org-ul">
<li>Hurra Barockorkester och Mästerverk Sångare under ledning av Peter Spissky og Thomas Pitt</li>
<li>9. februar 2009, Studiescenen, DKDM, København, Danmark og</li>
<li>6. februar 2009 kl. 22.00, Palladium, Malmö (under Palladium Baroque festival)</li>

<li>15. januar 2009, Orgelsalen, DKDM, København, Danmark: Alfredo Bernardini og DKDMs barokensemble spiller J. S. Bach, G. Ph. Telemann og G. B. Fontana</li>
</ul>

<p>
“A journey of sentiments” with Joseph M Killian Ballantyne and friends
</p>
<ul class="org-ul">
<li>8. og 9. Januar 2009, Studiescenen, DKDM, København, Danmark</li>
</ul>
</div>
</div>
<div id="outline-container-org2306e3e" class="outline-2">
<h2 id="org2306e3e">2008</h2>
<div class="outline-text-2" id="text-org2306e3e">
<ul class="org-ul">
<li>11. desember 2008 kl. 13.00, Studiescenen, DKDM, København, Danmark: Rachel Podger og DKDM barokensemble spiller Schmelzer, Händel, von Biber og Muffat</li>

<li>13. november 2008 kl. 19.30: Studiekoncert med sangere fra DKDM</li>
</ul>

<p>
“En rejse i følelsernes logik” med Andreas Hempel, Joseph M. Ballantyne &amp; Einar Mostad
</p>
<ul class="org-ul">
<li>15. september 2008, kl. 16.00, St. Stefans Kirke, Nørrebro, Danmark</li>
<li>15. september 2008, kl. 20.00, Catz vinbar, København, Danmark</li>
<li>11. september 2008, kl. 19. 30, St. Albans kirke, København, Danmark</li>
<li>16. september 2008, kl. 22.00, Tango bar, København, Danmark</li>
</ul>

<p>
Esbjerg Tidlig Ensembles sommerkoncerter
</p>
<ul class="org-ul">
<li>18. august 2008 kl. 20.00, Lønne kirke, Danmark</li>
<li>19. august 2008 kl. 19.30, Sct. Jacobi kirke, Varde, Danmark</li>
<li>20. august 2008 kl. 19.30, Hedeagerkirken, Danmark</li>
<li>21. august 2008 kl. 20.00, Sønderho Guitarfestival, Sønderho kirke, Fanø, Danmark</li>
</ul>

<p>
Jazepa Vitola Latvijas Muzikas akademija: Baltijas baroka vasaras akademija Skandinavijas un Baltijas
</p>
<ul class="org-ul">
<li>9. august 2008 kl. 18.30, Ventspils Muzikas koledzas, Lielaja zale, Ventspils, Latvia</li>
<li>10. august 2008 kl. 18.00, Ventspils Livonijas ordena pili, Ventspils, Latvia</li>
</ul>

<p>
Diplomkoncert for Ingeborg Christophersen
</p>
<ul class="org-ul">
<li>9. juni 2008 kl. 19.30, VMK, Esbjerg, Danmark</li>
</ul>

<p>
Diplomkoncert for Niklas Saers
</p>
<ul class="org-ul">
<li>9. juni 2008 kl. 16.00, VMK, Esbjerg, Danmark</li>
</ul>

<p>
Diplomkoncert for Louise Hjorth Hansen
</p>
<ul class="org-ul">
<li>9. juni 2008 kl 17.30, VMK, Esbjerg, Danmark</li>
</ul>

<p>
Bacheloreksamen for Hanne Skogberg
</p>
<ul class="org-ul">
<li>7. juni 2008, Koncertsalen, DKDM, København, Danmark</li>
</ul>

<p>
Eksamen i kammermusikk for Einar Mostad
</p>
<ul class="org-ul">
<li>6. juni 2008, Koncertsalen, DKDM, København</li>
</ul>

<p>
Kandidateksamen i kammermusik for Lars Henrik Johansen
</p>
<ul class="org-ul">
<li>4. juni 2008, Koncertsalen, DKDM, København, Danmark</li>
</ul>

<p>
Eksamen i barokcello for Einar Mostad
</p>
<ul class="org-ul">
<li>4. juni 2008, Koncertsalen, DKDM, København, Danmark</li>
</ul>

<p>
Bacheloreksamen for Kitty Lossius
</p>
<ul class="org-ul">
<li>3. juni 2008 kl. 12.00, Levinsalen, Norges Musikhøgskole, Oslo, Norge</li>
</ul>

<p>
Esbjerg Tidlig Ensembles vårkonsert
</p>
<ul class="org-ul">
<li>11. april 2008 kl. 12.15 og 15.30, Nicolai Scene, Kolding, Danmark</li>
</ul>

<p>
Kammermusik med orgelstuderende
</p>
<ul class="org-ul">
<li>1. april 2008 kl. 20.00, Vartov kirke, København, Danmark</li>
</ul>

<p>
Esbjerg Tidig Ensemble spiller Corelli, Couperin og Hotteterre
</p>
<ul class="org-ul">
<li>15. mars 2008 kl 16.00, Johanneskirken, Brørup, Danmark</li>
</ul>

<p>
Rachel Podger og DKDMs barokensemble spiller Händel, Erlebach og Vivaldi
</p>
<ul class="org-ul">
<li>5. mars 2008 kl. 20.00, Koncertsalen, DKDM, København, Danmark</li>
</ul>

<p>
Esbjerg Tidlig Ensemble spiller Uccelini, Buxtehude, Couperin, Cima, Corelli og Castello
</p>
<ul class="org-ul">
<li>8. februar 2008 kl. 16.00, Vor Frelsers kirke, Esbjerg</li>
</ul>

<p>
Bach Magnificat og kammermusik med Holmens kantori og Holmens barokensemble
</p>
<ul class="org-ul">
<li>30. januar 2008, Holmens kirke, København, Danmark</li>
</ul>
</div>
</div>
<div id="outline-container-org1f173fe" class="outline-2">
<h2 id="org1f173fe">2007</h2>
<div class="outline-text-2" id="text-org1f173fe">
<p>
Gitte Nyholms kammermusikeksamen
</p>
<ul class="org-ul">
<li>20. desember 2007 kl 12.00, Koncertsalen, DKDM, København</li>
</ul>

<p>
Adventskonsert med DKDMS barokkensemble under ledelse av Peter Spissky og Thomas Pitt
</p>
<ul class="org-ul">
<li>7. desember 2007 kl 17.00, Frederiksberg kirke, Frederiksberg, Danmark</li>
</ul>

<p>
Hanna Englunds eksamenskonsert
</p>
<ul class="org-ul">
<li>4. desember 2007 kl 15, Koncertsalen, DKDM, København</li>
</ul>

<p>
Barokkcellokonsert
</p>
<ul class="org-ul">
<li>19. november 2007 kl. 20, Prøvesalen, DKDM, København</li>
</ul>

<p>
Allehelgengudstjeneste
</p>
<ul class="org-ul">
<li>4. november 2007 kl 14, Glumsø kirke, Danmark</li>
</ul>

<p>
Onsdagskonsert i samarbeid mellom Wonderful Copenhagen og DKDM
</p>
<ul class="org-ul">
<li>31. oktober 2007 kl 19, Kastelskirken, København, Danmark</li>
</ul>

<p>
Afslutningskoncert for nordisk masterclass med Ton Koopman med tema Buxtehude
</p>
<ul class="org-ul">
<li>6. juli 2007, kl 20, Sorø Klosterkirke og 7. juli 2007 kl 15, Sct. Mariæ kirke, Helsingør, Danmark:</li>
</ul>

<p>
Runa Isenes bacheloreksamen
</p>
<ul class="org-ul">
<li>7. juni 2007 kl. 18, Gunnar Sævigs Sal, Griegakademiet, Bergen</li>
</ul>

<p>
Musici Holbergenses spiller musikk av André Campra og Charles Dieupart
</p>
<ul class="org-ul">
<li>7. juni 2007 kl. 14, Kinasamlingen, Vestlandske kunstindustrimuseum, Bergen</li>
</ul>

<p>
Stikk Innom konsert med Sunniva Lien Olsen, samarbeid mellom Festspillene i Bergen og Griegakademiet
</p>
<ul class="org-ul">
<li>28. mai 2007 kl. 13, Grieghallens foajé, Bergen</li>
</ul>

<p>
Stikk Innom konsert med Musici Holbergenses
</p>
<ul class="org-ul">
<li>24 mai 2007 kl 12, Grieghallens foajé, Bergen</li>
</ul>

<p>
Konsert med barokkinterpretasjons-klassen med venner (f.eks. meg)
</p>
<ul class="org-ul">
<li>29. mars 2007 kl 18, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
</ul>

<p>
Barokke triosonater med Musici Holbergenses
</p>
<ul class="org-ul">
<li>23. mars 2007 kl 19.30, Fusa kyrkje, Fusa</li>
</ul>

<p>
Konsert med Musici Holbergenses
</p>
<ul class="org-ul">
<li>15. mars 2007 kl. 14, Latinskolen / Skolemuséet, Bergen</li>
</ul>

<p>
Verdslege italienske kantater og sonater av Vivaldi og Händel
</p>
<ul class="org-ul">
<li>28. januar 2007 kl 14, Kinasamlingen, Vestlandske kunstindustrimuseum, Bergen</li>
<li>med Sjur Haga Bringeland, Rikke Lina Johansen, Einar Mostad og Daniel Tang Gundersen</li>
</ul>
</div>
</div>
<div id="outline-container-org755fda6" class="outline-2">
<h2 id="org755fda6">2006</h2>
<div class="outline-text-2" id="text-org755fda6">
<p>
Diverse barokkmusikk
</p>
<ul class="org-ul">
<li>14. desember 2006 kl. 17.30, Prøvesalen, Griegakademiet, Bergen</li>
<li>med Luana Gundersen, Anette Bjørnenak, Sjur Haga Bringeland, Frode Thorsen, Einar Mostad, Daniel Tang Gundersen, Hans Knut Sveen</li>
</ul>

<p>
Eksamen i barokkcello for Einar Mostad.
</p>
<ul class="org-ul">
<li>8. desember 2006 kl 13.00, Orgelsalen, Griegakademiet, Bergen</li>
<li>Med Daniel Tang Gundersen på cembalo.</li>
</ul>

<p>
Kantater og sonater av Telemann og Händel.
</p>
<ul class="org-ul">
<li>30. november 2006 kl. 18, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>Med Rikke Lina Johansen, Sjur Haga Bringeland, Einar Mostad og Daniel Tang Gundersen</li>
</ul>

<p>
Holbergdagene i Bergen: Seminarkonsert om musikken i tidsskrifter på 1700-tallet.
</p>
<ul class="org-ul">
<li>28. november 2006 kl. 17.00, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>Rikke Lina Johansen, Frode Thorsen, Jostein Gundersen, Einar Mostad og Hans Knut Sveen</li>
</ul>

<p>
Allehelgenskveld med vokalgruppen 8 stemer
</p>
<ul class="org-ul">
<li>5. november 2006 kl. 18.00, Eidsvåg kirke, Åsane</li>
<li>med Ådne Svalastog, Liv Leirevaag, Einar Mostad, Jon Stubberud, Trond Wathne og forsangergruppe fra Eidsvåg kirkekor</li>
</ul>

<p>
Pusterom med vokalgruppen 8 stemer
</p>
<ul class="org-ul">
<li>2. november 2006 kl. 19.00, Eidsvåg kirke, Åsane</li>
<li>med Ådne Svalastog, Liv Leirevaag, Einar Mostad, Ingrid Mostad Bråten og Jon Stubberud</li>
</ul>

<p>
Konsert med musikk av Telemann, Froberger og Hotteterre
</p>
<ul class="org-ul">
<li>19. oktober 2006 kl 18.00, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med Sjur Haga Bringeland, Einar Mostad, Daniel T. Gundersen, Anne C Bjørnenak, Rikke Lina Johansen og Hans Knut Sveen</li>
</ul>

<p>
Musici Holbergenses spiller J. S. Bach og A. Vivaldi
</p>
<ul class="org-ul">
<li>23. september 2006 kl. 14.00, Kinasamlingen, Vestlandske kunstindustrimuseum, Bergen</li>
</ul>

<p>
Avsluttningskonsert etter DKDMs Masterclass i tidlig musikk på Fuglsang slot
</p>
<ul class="org-ul">
<li>7. juli 2006 kl 20.00, Klosterkirken, Nykøbing Falster, Danmark</li>
</ul>

<p>
Konserter med Musici Holbergenses som en del av Kinnaspelet
</p>
<ul class="org-ul">
<li>17. og 18. juni 2006 kl 15.00, Kinn kyrke, Kinn, Norge</li>
</ul>

<p>
Sigrun Brauts eksamenskonsert
</p>
<ul class="org-ul">
<li>10. juni 2006 kl. 11.30, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
</ul>

<p>
Musikk av familien Bach med Herr Berlins Peblinge barokkensemble og kor (jeg sang i koret)
</p>
<ul class="org-ul">
<li>8. april 2006 kl. 19.30: Mariakirken, Bergen</li>
<li>9. april 2006 kl. 19.00: Nore Neset kyrkje, Os</li>
</ul>
</div>
</div>
<div id="outline-container-org19d14db" class="outline-2">
<h2 id="org19d14db">2005</h2>
<div class="outline-text-2" id="text-org19d14db">
<p>
Musici Holbergenses’ Adventskonsert
</p>
<ul class="org-ul">
<li>17. desember 2005 kl. 19.00, Mariakirken, Bergen</li>
<li>Musikk av Vivaldi, Telemann, Händel og Bach</li>
</ul>

<p>
Konsert med barokkinterpretasjonsklassen
</p>
<ul class="org-ul">
<li>10. november 2005 kl 18.00, Gunnar Sævigs sal, Griegakademiet</li>
</ul>

<p>
Knut Buen i ord og tonar
</p>
<ul class="org-ul">
<li>6. november 2005 kl. 18, Askøyhallen</li>
<li>med Kammersolistane og Strusshamn Musikkforening (jeg sang i Kammersolistane)</li>
</ul>

<p>
Eksamenskonsert for Runa Isene
</p>
<ul class="org-ul">
<li>9. juni 2005 kl. 14.00, Gunnar Sævigs sal, Griegakademiet</li>
<li>med Bergen Unge Kammerorkester, dir Tone M. Birkeland (jeg spillte for anledningen med i BUK)</li>
</ul>

<p>
Eksamenskonsert for Sjur Haga Bringeland
</p>
<ul class="org-ul">
<li>9. juni 2005 kl. 12.00, Gunnar Sævigs sal, Griegakademiet</li>
<li>med Einar Mostad, barokkcello og Hans Knut Sveen, cembalo</li>
</ul>

<p>
“Grenseløs Gud”
</p>
<ul class="org-ul">
<li>5. juni 2005 kl. 22.00, Johanneskirken</li>
<li>Jazzmesse med Kammersolistane og band (jeg sang i Kammersolistane)</li>
</ul>

<p>
Høybarokk aften på Opera Café med Studentersamfunnet
</p>
<ul class="org-ul">
<li>18. mai 2005 kl. 21.15, Det Akademiske Kvartér</li>
</ul>

<p>
Ingrid Eriksen og Einar Mostad spiller Frescobaldi og di Selma
</p>
<ul class="org-ul">
<li>29. april kl 13.00, Gunnar Sævigs sal, Griegakademiet</li>
</ul>

<p>
Musikk av Stig Wernø Holter
</p>
<ul class="org-ul">
<li>18. april 2005 kl. 19.30, Gunnar Sævigs sal, Griegakademiet</li>
<li>Musikere fra Bergen filharmoniske orkester og Griegakademiet</li>
</ul>

<p>
“De unges kammerkonsert” nr 25, Bergen kammermusikkforening
</p>
<ul class="org-ul">
<li>13. april 2005 kl. 19.00, Logen teater</li>
<li>Bømlo kammerorkester, JIMIA-kvartetten, harpe og strykere fra Griegakademiet, Trio fra Barrat-Due &amp; Kammersolistane (Jeg sang i Kammersolistane)</li>
</ul>

<p>
Orkestermatiné
</p>
<ul class="org-ul">
<li>13. mars 2005 kl 13.00, Grieghallen</li>
<li>med Turnforeningens orkester, Fana Unge strykere, Askøy unge strykere, Bønes skoleorkester, Kirkevoll Skoleorkester, Regnbuen Barneorkester og Åsane unge strykere. (Jeg dirigerte Åsane Unge strykere.)</li>
</ul>

<p>
Konsert med kammersolistane (Jeg sang.)
</p>
<ul class="org-ul">
<li>27. februar 2005, Mariakirken</li>
</ul>

<p>
Konsert med Sjur Haga Bringeland (blokkfløyter), Frode Thorsen (blokkfløyter), Einar Mostad (barokkcello) og Hans Knut Sveen (cembalo)
</p>
<ul class="org-ul">
<li>25. februar 2005 kl. 13.00, Gunnar Sævigs sal, Griegakademiet</li>
<li>20. januar 2005 kl. 18.00: Gunnar Sævigs sal, Griegakademiet</li>
</ul>
</div>
</div>
<div id="outline-container-org3984f10" class="outline-2">
<h2 id="org3984f10">2004</h2>
<div class="outline-text-2" id="text-org3984f10">
<p>
Kantater, Sonater og Motetter av Telemann, Corelli, Monteverdi og Corrette
</p>
<ul class="org-ul">
<li>18. november 2004, 18.00, Gunnar Sævigs sal, The Grieg acadamy, Bergen: Grieg akademiets barokkklasse</li>
</ul>

<p>
Musikk av Per Indrehus, tekster av Jakob Sande og Olav H. Hauge
</p>
<ul class="org-ul">
<li>?. Oktober 2004, 19.00, Førde Kulturhus, Førde: Bergen Unge kammerorkester &amp; Marianne Juvik Sæbø</li>
</ul>

<p>
Musikk av Britten, Franck og Bruckner (jeg sang i koret)
</p>
<ul class="org-ul">
<li>15. oktober 2004, 19.00, Bergen Domkirke, Bergen: Griegakademiets åpningskonsert</li>
</ul>

<p>
Beethoven variasjoner, Schumann cellokonsert og J. S. Bach suite 5 (på barokkcello) med Torleif Torgersen på piano
</p>
<ul class="org-ul">
<li>9. juni 2004, 13.00, Gunnar Sævigs sal, Griegakademiet, Bergen, Norge: Bacheloreksamen for Einar Mostad, cello</li>
</ul>

<p>
Svenska körfavoriter
</p>
<ul class="org-ul">
<li>4. mai 2004, 18.00, Trefaldighetskyrkan, Örebro, Sverige: Vox IV</li>

<li>9. mai 2004, 10.00, Olaus Petri kyrka, Örebro: Mass by Steve Dobrogosz</li>
<li>med W. Åhlén, Olaus Petri Vocalis, Musikhögskolansa kammarorkester under ledning av S. Dobrogosz</li>
</ul>

<p>
Körmaraton med höjdpunkter från årets repertoire
</p>
<ul class="org-ul">
<li>16. mai 2004, 19.00, S:t Nicolai kyrka (del I) och Musikhögskolans konsertsal (del II), Örebro: Vårcaprice med Musikhögskolans vokalensemble, dir. S. Ågren</li>
</ul>

<p>
Suite IV og V for solo cello av Johann Sebastian Bach
</p>
<ul class="org-ul">
<li>21. april 2004, 12.15, S:t Nicolai kyrka, Örebro: Lunchkonsert med Emma Samuelsson (cello) och Einar Mostad (barockcello)</li>
</ul>

<p>
Musik av T. Lindberg, P. H. Olsson, E. von Koch, R. Schumann, C. Sved, B. Olle, H. A. Olsson, O. Lindberg, F. Schubert, E. Grieg och F. Poulenc
</p>
<ul class="org-ul">
<li>17. april 2004, 17.00, S:t Mikaels kyrka, Örebro: Examenskonsert för Sara Lindestrand (fiol) och Mirjam Claar (piano och orgel)</li>
<li>med M. Jansson, A. Andersson, K. Svensson, A. Nordberg och E. Mostad</li>
</ul>

<p>
Musik av F. Chopin, B. Bartok, G. “Sting” Summer, Ch. T. Griffes, D. Sjostakovitj, R. Dick och B. Martinu
</p>
<ul class="org-ul">
<li>3. april 2004, 18.00, Längbro kyrka, Örebro: Examenskonsert för Monika Johansson (flöjt) och Marija Dropulic (piano)</li>
<li>med S. Östersjö, A. Braw, E. Mostad och M. Axelsson</li>
</ul>

<p>
Musik av Bernstein, Brahms, Linde, Telemann, Foster, Lidner, Nilsson, Porter, Widmark, Törnqvist, Nyberg, Widmark, Lindahl, Goffin och C. King
</p>
<ul class="org-ul">
<li>27. mars 2004, 16.00, Musikhögskolans konsertsal, Örebro: Examenskonsert för Barbro Rydhamn (sång) och Marie Axelsson (sång)</li>
<li>med K. B. Tyrénius, M. Claar, M. Johansson, E. Mostad, A. Junæus, A. Andersson, L. Enoksson, J. Lilliedahl, A. Nordberg, D. Gidlund, R. Mortensen, S. Lindestrand, K. Svensson, E. Långström, M. Pethrus och J. Gellertz</li>
</ul>

<p>
Sonater och suiter av Vivaldi, Boismortier och J. S. Bach
</p>
<ul class="org-ul">
<li>19. mars 2004, Betelkyrkan, Örebro: Konsert med barockcello</li>
<li>med Einar Mostad (barockcello), Ingrid Morgan (barockcello) och Kristina Balstedt-Tyrénius (cembalo)</li>
</ul>

<p>
Musik av Anonymus, J. Svendsen, E. Grieg, Omas-Per, Viksta Lasse, S. Wonder, R. Hargrove, S. Kupa, E. Castillo, G. Hollingsworth och P. Simon
</p>
<ul class="org-ul">
<li>13. mars 2004, 16.00, Musikhögskolans konsertsal, Örebro: Examenskonsert för Karin Svensson (fiol) och Anders Nordberg (perkussion)</li>
<li>med H. Gerdevåg, A. Johansson, S. Östersjö, E. Strååt, A. Braw, E. Mostad, M. Jansson, H. Helgesson, M. Sundin, M. Larsson, J. aveskog, R. Mellbin, P. Nygren, J. Boström, J. Gudmunsson, A. Gustafsson, M. Gustafsson, H. Nordén, P. Westin, D. Gidlund, H. Stadell-Mellbin och M. Edlund.</li>
</ul>

<p>
Mass by Steve Dobrogosz
</p>
<ul class="org-ul">
<li>10. mars 2004, 19.00, Olaus Petri kyrka, Örebro</li>
<li>med W. Åhlén, Olaus Petri Vocalis, Musikhögskolansa kammarorkester under ledning av S. Dobrogosz</li>
</ul>

<p>
Musik av J. H. Roman, P. Hindemith, W. Stenhammar, R. Schumann och J. S. Bach
</p>
<ul class="org-ul">
<li>9. mars 2004, 19.30, Musikhögskolans konsertsal, Örebro: Examenskonsert för Evelina Långström (fiol) och Einar Mostad (cello och barockcello)</li>
<li>med S. Östersjö, E. Strååt, A. Braw, M. Jansson och K. Balstedt-Tyrénius.</li>
</ul>

<p>
Meet the Beatles
</p>
<ul class="org-ul">
<li>12. februari 2004, 19.00, Örebro konserthus, Örebro</li>
<li>med Mats Norefalk, kör och solister från Musikhögskolan och Svenska kammarorkestern dir. Jerker Johansson (jag spelade med orkestern)</li>
<li>Musik av Beatles arrangert av Mats Norefalk</li>
</ul>

<p>
Musik av Vivaldi, Martin, Nystedt, Johanson and Bagge
</p>
<ul class="org-ul">
<li>7. februari 2004, 16.00, Örebro konserthus, Örebro: Doktorgradspromotion och årsfestlighet för Örebro Universitet</li>
<li>med Musikhögskolans vokalensemble dir. S. Ågren och Svenska kammarorkestern dir. K. Andreasson (jag sång i vokalensemblen)</li>
</ul>

<p>
Musik av L.-E. Larsson, M. Duruflé, B. Lowén, O. Gibbons, O. di Lasso och R. Vaughan Williams
</p>
<ul class="org-ul">
<li>6. februari 2004, ?, Vox IV</li>
</ul>

<p>
Musik av Barber, Bagge, Purcell, Nystedt, S.-E. Johanson och Messian.
</p>
<ul class="org-ul">
<li>5. februari 2004, 19.30, S:t Nicolai kyrka, Örebro: Kaos är granne med Gud</li>
<li>med Musikhögskolans vokalensemble, dir. S. Ågren, Brassband från Musikhögskolan, dri J.-A. Hall, K. Persson, Th. Landahl, K.-M. Jansson, M. Gelang, L. Holmqvist, L. Forss, K. Kallenberg och M. Hoff</li>
</ul>

<p>
Konsert i vintermörkret
</p>
<ul class="org-ul">
<li>4. februari 2004, 19.00, Vasakyrkan, Örebro</li>
<li>med cellisterna Kajsa Persson, Tua Larsson, Emma Samuelsson, Einar Mostad och pianisten Kristina Balstedt Tyrénius.</li>
<li>Musik av Bruch, Isfält, Schumann, de Boismortier och Schostakovitsch</li>
</ul>
</div>
</div>
<div id="outline-container-org6964972" class="outline-2">
<h2 id="org6964972">2003</h2>
<div class="outline-text-2" id="text-org6964972">
<p>
Svenska Lucia- och Julfavoriter, konsert i samarbete med Svenska torparföreningen, Danmark
</p>
<ul class="org-ul">
<li>12. och 13. december 2003, Svenska kyrkan i Köpenhamn, Danmark: Svensk Lucia konsert</li>
<li>med Örebro Musikhögskolas Vokalensemble, dir. S. Ågren</li>
</ul>

<p>
Musik av Emilia Wadensten
</p>
<ul class="org-ul">
<li>5. december 2003, 19.30, Musikhögskolans konsertsal, Örebro: Examenskonsert för Emilia Wadensten (piano och komposition)</li>
<li>med L. Enoksson, A. Nordberg, A. Andersson, S. Lindestrand, Chr. Wadensten, K. Svensson, E. Strååt, F. Andersson, E. Mostad, M. Salmonsson &amp; E. Österlund</li>
</ul>

<p>
Musik för två
</p>
<ul class="org-ul">
<li>5. december 2003, 12.30, Virénsalen, Örebro konserthus, Örebro</li>
<li>med kammarmusikensembler från Örebro Musikhögskola</li>
<li>Musik av Telemann, Beethoven, de Boismortier och Brahms.</li>
</ul>

<p>
Messe av Frank Martin
</p>
<ul class="org-ul">
<li>30. november 2003, 18.00, Olaus Petri kyrka, Örebro</li>
<li>med Örebro Musikhögskolas vokalensemble, dir. S. Ågren</li>
</ul>

<p>
Blandade körbitar
</p>
<ul class="org-ul">
<li>25. november 2003, 15.00, Musikhögskolans konsertsal, Örebro: Vox IV</li>
</ul>

<p>
Le déjuner avec deux violoncelles
</p>
<ul class="org-ul">
<li>22. oktober 2003, 12.15, S:t Nicolai kyrka, Örebro</li>
<li>E. Mostad (barockcello), I. Morgan (barockcello) och K. M. Jansson (orgel)</li>
<li>Sonater av Corette, Barrière och Boismortier</li>
</ul>

<p>
Orkesterverk av Søderlind, Brahms, Rimsky-Korsakov, Tsjaikovskij, Haydn, Sandström, Blake, Strauss, Sæverud og Bartok.
</p>
<ul class="org-ul">
<li>31. juli, 5. och 10. august 2003, Elverumshallen, Elverum, Norge: Ungdomssymfonikerne dir. A. Boreyko og E. Aadland</li>
<li>med A. Tellefsen, S. Eilertsen, A. Sponberg, A. Loguin, S. Wick, D. Boyd and O. E. Antonsen</li>
</ul>

<p>
Eksamenskonsert for Linda Porsanger (fløyte)
</p>
<ul class="org-ul">
<li>12. juni 2003, 18.00, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med G. Peterson, K. Hanken, T. Mjøs, A. Ringdal, I. Hatleid, B. Lindik, T. Hannevold, Ø. Herfinndal, J. Klavenes, O. T. Lindeberg, Ø. Eiksund, M. Heimdal, L. Bønes, R. Odriozola, M. J. Monsen, E. Mostad og Å. Natås.</li>
<li>Musikk av L. Foss, W. A. Mozart med flere.</li>
</ul>

<p>
Eksamenskonsert for Helene Seppänen (fløyte)
</p>
<ul class="org-ul">
<li>12. juni 2003, 14.30, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med K. Kobayashi, R. Odriozola, E. Mostad og S. K. Klippen</li>
<li>Musikk av Mozart, Böhm, Lindholm, Dutilleux og Wallin</li>
</ul>

<p>
Eksamenskonsert for Therese Vegerfors (cello)
</p>
<ul class="org-ul">
<li>10. juni 2003, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med S. Klippen, R. H. Sandstad, Ø. Eiksund, L. Bønes, J. Nome, S. Volden, K. Pedersen, E. Haake, E. Mostad og M. Monsen</li>
<li>Musikk av C. Franck, F. J. Haydn og P. Boulez</li>
</ul>

<p>
“Choosing notes to see if they make friends” – Musikk av Ricardo Odriozola
</p>
<ul class="org-ul">
<li>14. mai 2003, 19.30, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med A. Bjørnenak, R. Odriozola, H. Kvasnes, E. Haake, T. Gulbrandsøy, J. Adler, A.-L. Chiu, M. Monsen, B. Gulbrandsen, H. Halleland, K. Kobayashi, E. Mostad, E. Røttingen, L. O. Korsnes, M. Gunnufsen, C. S. Valle, S. E. Olsen og J. Nome</li>
</ul>

<p>
Barokk aften
</p>
<ul class="org-ul">
<li>12. april 2003, 16.30, Galleri 3,14, Bergen</li>
<li>med I. Eriksen, A. C. Bjørnenak og E. Mostad</li>
<li>Musikk av Corelli, Telemann, Mr. Finger og Storace</li>
</ul>

<p>
Ny musikk av Magnar Heimdal, Sjur Hjeltnes, Ruben Sverre Gjertsen og Sigurd Fischer Olsen
</p>
<ul class="org-ul">
<li>9. april 2003, 19.30, Gunnar Sævigs sal, Griegakademiet, Bergen</li>
<li>med Griegakademiets Sinfonietta, dir. R. Odriozola og Griegakademiets celloensemble</li>
</ul>

<p>
Chr. W. Gluck: Orfeo &amp; Euredice
– 25. og 26. mars 2003, BIT teatergarasjen, Bergen, Norge
– 30. og 31. mars 2003, Kulturhuset, Järna, Sverige
</p>
<ul class="org-ul">
<li>med solister og kor fra Bergen Steinerskole og orkester fra Griegakademiet, dir. H. M. Skrede</li>
</ul>
</div>
</div>
<div id="outline-container-orge34679b" class="outline-2">
<h2 id="orge34679b">2002</h2>
<div class="outline-text-2" id="text-orge34679b">
<p>
Konsert med Griegakademiets celloklasse
</p>
<ul class="org-ul">
<li>8. desember 2002, kl. 15.30, Prøvesalen, Griegakademiet, Bergen</li>
<li>Musikk av Beethoven, Mendelssohn-Bartholdy, Schumann, Brahms og Tchaikovsky</li>
</ul>

<p>
Griegakademiets åpningskonsert
</p>
<ul class="org-ul">
<li>31. august 2002, kl. 19.30, Bergen Domkirke, Bergen</li>
<li>med Griegakademiets kammerorkester, Griegakademiets sinfonietta og Griegakademiets kammerkor</li>
<li>Musikk av Mikalsen, Olsen, Hjeltnes, Telemann, Blom, Gjertsen, Hellesen, Karlstrøm, Heimdal og Rachmaninov.</li>
</ul>

<p>
Eksamenskonsert for Einar Mostad med Terje Mathiesen, piano
</p>
<ul class="org-ul">
<li>30. mai 2002, kl. 13.00, Sigurd Lie salen, Musikkonservatoriet, Høgskolen i Agder, Kristiansand</li>
<li>Musikk av O. Messiaen, C. Saint-Saëns, J. S. Bach og F. Mendelssohn-Bartholdy</li>
</ul>

<p>
Kammermusikkaften
</p>
<ul class="org-ul">
<li>19. april 2002, kl. 19.00, Amalienborg, Vågsbygd</li>
<li>Musikk av Turina, Fauré, Debussy, Duparc, Berkeley, Martinu, Villa Lobos, Saint-Saëns og Piazolla.</li>
</ul>
</div>
</div>
<div id="outline-container-orge3268da" class="outline-2">
<h2 id="orge3268da">2001</h2>
<div class="outline-text-2" id="text-orge3268da">
<p>
Julekonsert med Kirsten Bråten Berg, Audbjørg Straum Aslaksen, Agder orkesterforening dir. M. Birkeland og Syngjandi Kor dir. T. Michaelsen
– 7. desember 2001, kl. 20.00 Vennesla Frikirke, Vennesla
– 8. desember 2001, kl. 18.00, Vågsbygd kirke, Kristiansand
– 9. desember 2001, kl. 18.00, Valle kulturhus, Valle
</p>
<ul class="org-ul">
<li>Musikk av L. Andersen, J. S. Bach, Breslau, Anonymus, Poulenc, Alnæs, Adam, Gounod og Händel.</li>
</ul>

<p>
Celloklassen ved Musikkonservatoriet, Høgskolen i Agder
– 3. desember 2002, kl. 19.30, Arendal Rådhus, Arendal
– 4. desember 2001, kl. 18.00, Sigurd Lie Salen, Musikkens hus, Kristiansand
</p>
<ul class="org-ul">
<li>med A. Seljåsen, E. Mostad, D. Jovanovic, M. Birkeland og T. Mathiesen</li>
<li>Musikk av Senaillé, Byrd, Tsjaikovskij, Mendelssohn-Bartholdy, Vivaldi, Händel, W. A. Mozart og Berlioz</li>
</ul>

<p>
Konsert med konservatoriets strykerklasse
</p>
<ul class="org-ul">
<li>20. november 2001 kl. 18.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med M. Mendelson, D. Jovanovic, A. Miedler, R. Flatin, T. Mathisen &amp; E. Mostad</li>
<li>Musikk av Hellstenius, Mendelssohn-Bartholdy, Jensch og Brahms</li>
</ul>

<p>
Konsert med konservatoriets cellister
</p>
<ul class="org-ul">
<li>6. november 2001 kl. 20.00,Sigurd Lie salen, Msuikkens Hus, Kristiansand</li>
<li>med D. Jovanovic, E. Mostad, A. Seljåsen, M. Birkeland &amp; T. Mathisen</li>
<li>Musikk av Haydn, Matheson, Senaillé, Tchaikovsky, Mendelssohn-Bartholdy og Vivaldi</li>
</ul>

<p>
Konsert
</p>
<ul class="org-ul">
<li>31. mai 2001 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med H. Wilder, J. A. Benestad, P. H. Kulsvehagen, A. Stranger, M. Aas, M. Økstad, K. Ormseth, S. Ormseth, J. Høigilt, V. Slettebakk, M. Bergane, H. C. Webb, H. Hansen, A. Juva, T. Juva, celloensemble og M. Seilskjær</li>
<li>Musikk av J. S. Bach, H. Mancini, D. Kabalevskij, W. A. Mozart, E. Grieg, Anonymus (folk music), C. Debussy, F. Chopin, V. Monti og H. Villa-Lobos</li>
</ul>

<p>
Spansk lunsj
</p>
<ul class="org-ul">
<li>14. mai 2001 kl. 12.00, Christiansand Kunstforening, Kristiansand</li>
<li>med N. Johnson, Chr. Marøy, T. Mathisen, J. R. Lorentzen, T. Birkeland, R. K. Jakobsen, A. Røynås, E. Kristiansen, M. Birkeland, R. Birkeland, A. Seljåsen, E. Mostad, W. Kärner, A. Bræin, I. Andersen og S. Hartveit</li>
<li>Musikk av Albeniz, Granados, Tarrega, Rodrigo, Sagre og Villa-Lobos</li>
</ul>

<p>
Kammermusikkeksamen
</p>
<ul class="org-ul">
<li>12. mai 2001 kl. 10.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med V. Slettebakk, I. Kannelønning, N. Johnson, Ch. Meidell, S. Realfsen, T. I. Sukke, A. Svindland, K. H. Liland, R. K. Jakobsen, R. Flatin, L. O. Jortveit, E. Mostad, Chr. Marøy, E. Kristiansen, E. Røine, T. Birkeland, L. Kyllingstad, M. Birkeland, G. Bræck, L. Rekedal, B. Rønnekleiv, A. Røynås, M. Berglund, J. M. Baarøy, A. G. Lunde og T. Mathisen</li>
<li>Musikk av J. S. Bach, R. Schumann, T. I. Sukke, F. J. Haydn, G. B. Pergolesi, F. Schubert, W. A. Mozart, M. Arnold, G. Verdi, I. Albeniz, F. Carulli, A. Khatshaturjan og J. Dowland</li>
</ul>

<p>
En barokkonsert
</p>
<ul class="org-ul">
<li>8. mai 2001 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med barokkinterpretasjonsklassen ved Musikkonservatoriet</li>
<li>Musikk av J. S. Bach, H. Purcell og G. F. Händel</li>
</ul>

<p>
Eksamenskonsert i komposisjon/arrangering for Tor Ingar Sukke
</p>
<ul class="org-ul">
<li>8. mai 2001 kl. 18.00, Sigurd Lie salen, Kristiansand</li>
<li>med N. Johnson, L. O. Jortveit, R. Flatin, A. G. Lunde, J. Køhn, A. Jiva, E. Mostad, O Mundal, A. Svindland, K. H. Liland, R. Jakobsen, T. I. Sukke, E. Kristiansen og V. Slettebakk</li>
</ul>

<p>
A. M. Haugland Nilsen, violin solo og Agder orkesterforening dir. E. Chr. Mordal
– 5. mai 2001 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand
– 6. mai 2001 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand
</p>
<ul class="org-ul">
<li>Musikk av E. Grieg, J. Svendsen, P. I. Tchaikovsky, F. Farkas og M. Bruch</li>
</ul>

<p>
Pergolesi: Stabat Mater
</p>
<ul class="org-ul">
<li>8. april 2001, Grim kirke, Kristiansand</li>
<li>med solistene E. Kristiansen og Chr. Marøy og L. K. Kyllingstad, R. Flatin, E. Røine, E. Mostad og G. Wilder i orkesteret</li>
</ul>

<p>
Norsk Lunsj
</p>
<ul class="org-ul">
<li>17. mars 2001 kl. 13.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med kammerorkester og solister</li>
<li>Musikk av Grieg and Svendsen</li>
</ul>

<p>
Konsert med konservatoriets strykere
</p>
<ul class="org-ul">
<li>13. mars 2001 kl. 18.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med A. Seljåsen, T. Mathisen, L. Kyllingstad, E. Mostad, R. Flatin, R. Birkeland og S. Refvik.</li>
<li>Musikk av F. Bridge, T. Bjørklund, F. Schubert og E. Lalo</li>
</ul>
</div>
</div>
<div id="outline-container-orgc581e2a" class="outline-2">
<h2 id="orgc581e2a">2000</h2>
<div class="outline-text-2" id="text-orgc581e2a">
<p>
(Herfra og bakover i tid er det bare et fåtall av konsertene jeg har spilt på som jeg har oversikt over.)
</p>

<p>
Huskonsert
</p>
<ul class="org-ul">
<li>22. november 2000 kl. 13.15, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med A. Pedersen, R. Flatin, A. Røynås, A. Seljåsen, A. Tyvand, E. Mostad, T. I. Sukke og J. Køhn</li>
<li>Musikk av A. Khachaturian, E. Block, D. Schostakovich, E. Granados og B. Bartok</li>
</ul>

<p>
Bach i Agder – Fugens kunst
</p>
<ul class="org-ul">
<li>21. november 2000 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med J. Køhn, A. Pedersen, R. Flatin, A. Juva, E. Mostad, O. Mundal, Ø. S. Gundersen, S. Eriksen og G. E. Flesje</li>
</ul>

<p>
Konsert med konservatoriets strykere
</p>
<ul class="org-ul">
<li>14. november 2000 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med E. Mostad, T. Mathisen, L. Kyllingstad, R. Birkeland, K. Å. Stoveland og A. Seljåsen</li>
<li>Musikk av J. Svendsen, L. van Beethoven, J. S. Bach og E. Bloch</li>
</ul>

<p>
Kammermusikkonsert
</p>
<ul class="org-ul">
<li>8. februar 2000 kl. 18.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med L. Rogerm A, Hals, L. Kyllingstad, K. Å. Stoveland, R. Birkeland, E. Stokker, M. Skougen, J. Køhn, T. Birkeland, A. G. Lunde, A. Svindland, R. Flatin og E. Mostad</li>
<li>Musikk av J. Brahms, J. M. Damase, N. Marshall og P. Tchaikovsky</li>
</ul>
</div>
</div>
<div id="outline-container-orga98db78" class="outline-2">
<h2 id="orga98db78">1999</h2>
<div class="outline-text-2" id="text-orga98db78">
<p>
Huskonsert
</p>
<ul class="org-ul">
<li>8. desember 1999 kl. 13.15, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med E. Mostad, L. O. Jortveit, O. Mundal, M. Berglund, J. R. Lorentzen, R. Jakobsen and K. H. Liland</li>
<li>Musikk av J. S. Bach, E. Mostad, Bizet og R. Dyens</li>
</ul>

<p>
Konsert med konservatoriets strykere
</p>
<ul class="org-ul">
<li>30. november 1999 kl. 20.00, Sigurd Lie salen, Musikkens hus, Kristiansand</li>
<li>med E. Mostad, O. Mundal, L. Kyllingstad, T. Mathisen, K. Å. Stoveland, A. Hals, E. Røine, R. Flatin og R. Birkeland</li>
<li>Musikk av C. Saint-Saëns, W. A. Mozart, J. Kvandal, B. Brustad, J. Brahms, H. Wieniawski og E. Elgar</li>
</ul>

<p>
Purcells Dido og Æneas
</p>
<ul class="org-ul">
<li>19. og 20. november 1999, Dahlske vgs, Grimstad, Norway</li>
<li>med E.-K. Egede-Nissen, J. Martinsen, M. Elveseter, Chr. Marøy, E. Kristiansen, R. G. Sæther, R. Aurjord, M. B. Berglund, R. Moen, kor fra Musikkonservatoriet, Høgskolen i Agder og Vågsbygd Videregående skole, musikklinja, orkester fra Musikkonservatoriet, Høgskolen i Agder, dir. A. Gluch og master of ceremonies J. H. Henriksen</li>
<li>Scenisk versjon med solister fra Musikkonservatoriet, Høgskolen i Agder</li>
</ul>

<p>
Allsangsgudstjeneste i Gjøvik Kirke
</p>
<ul class="org-ul">
<li>4. november 1999</li>
<li>Jeg spilte i orkesteret til allsang</li>
</ul>

<p>
"Herr Valentins Arv"
</p>
<ul class="org-ul">
<li>Sommeren 1999, Elingaard Hovedgaard, Fredrikstad</li>
<li>Jeg spilte i kammerensemblet til teaterstykket "Herr Valentins Arv" om generalmajor Valentin Vilhelm Hartvig Huitfeldt med musikk av Roger Amundsen.</li>
<li>Vi spilte flere forestillinger, men jeg har ikke nøyaktige datoer for de. På den siste forestillingen var Dronning Margrethe og Dronning Sonja tilstede i og med at stykket omhandlet viktige personer involvert i styringen av Norge under Dansketiden og Elingaard var hovedsetet for den Norske rikskansler Jens Bjelke på 1600-tallet før den ble overtatt av Huitfeldtene som dette teaterstykket omhandlet.</li>
</ul>
</div>
</div>
<div id="outline-container-orgcb6a5d6" class="outline-2">
<h2 id="orgcb6a5d6">1998</h2>
<div class="outline-text-2" id="text-orgcb6a5d6">
<p>
Viken Folkehøgskoles Julekonsert
– 12. desember 1998 kl. 15.00, Hoff kirke, Toten, Nroway
– 15. desember 1998 kl. 19.00, Gjøvik kirke, Gjøvik, Norway
</p>
<ul class="org-ul">
<li>med Viken skolekor, dir K. Peterson-Øverleir, Mirabile Dictu, dir M. Dirdal, Viken Mannskor dir. S. Møller og Viken kammerkor, dir. S. Møller</li>
<li>Musikk av Møller, Brorson/Schulz/Kverno, Wilcocks, Waugh-Williams, Alnæs, Britten, Anonymus/Møller, Öhrwall og Kvam</li>
</ul>

<p>
International Music meeting
</p>
<ul class="org-ul">
<li>28. juni 1998 kl. 21.00, Parco Villa Bressanin, Villeggiando, Italia</li>
<li>med Orchestra Giovanile del Veneto, Bestum kammerorkester og Østfold Ungdomsorkester og solistene A. Ryde, E. Mostad, E. Dona, F. Carezzoli, R. de Maio og F. Gallo</li>
<li>Musikk av A. Corelli, L. Mozart, E. Grieg, L. E. Larson, A. Vivaldi, B. Britten, A. Piazzolla og P. Johnston</li>
</ul>
</div>
</div>
<div id="outline-container-org844620e" class="outline-2">
<h2 id="org844620e">1994</h2>
<div class="outline-text-2" id="text-org844620e">
<p>
Konsert med Tune kirkes Pikekor, dir V. Djupang og Østfold Ungdomsorkester, dir. T. Moe Hansen
</p>
<ul class="org-ul">
<li>17. april 1994, Tune Kirke, Sarpsborg</li>
</ul>
</div>
</div>
<div id="outline-container-org0979f72" class="outline-2">
<h2 id="org0979f72">1993</h2>
<div class="outline-text-2" id="text-org0979f72">
<p>
Grieg 93
</p>
<ul class="org-ul">
<li>7. november 1993, 19.00, Østfoldhallen, Fredrikstad</li>
<li>orkester med musikere fra Østfold, dir. T. Boye Hansen og G. Helgerød, N. O. Oftebro, K. Gudim og N. Ribera, danserne P. Å. Johannesen og H. Hasle</li>
<li>Grieg: I høst, Den Bergtekne, Landkjenning, Hvad est du dog schøn, I himmelen og Peer Gynt suites 1 og 2</li>
</ul>

<p>
Griegjubileumskonsert med Jens Harald Bratlie, Fredrikstad byorkester og Østfold Ungdomsorkester
</p>
<ul class="org-ul">
<li>27. april 1993, Bibliotekets aula, Fredrikstad, Norway</li>
<li>Mars fra Sigurd Jorsalfar, Våren, Norske danser nr. 3 og 4, og pianokonserten</li>
</ul>

<p>
Konsert med Fredrikstad musikkskoles kammerorkester, dir Chen Zuting
</p>
<ul class="org-ul">
<li>16. mars 1993 kl. 19.00, St. Croix huset, Fredrikstad</li>
<li>Musikk av Vivaldi og J. S. Bach</li>
</ul>
</div>
</div>
<div id="outline-container-org780e9e5" class="outline-2">
<h2 id="org780e9e5">1986</h2>
<div class="outline-text-2" id="text-org780e9e5">
<p>
Fiolinkonsert med Einar Mostad
</p>
<ul class="org-ul">
<li>27. oktober 1986 kl. 13.00, Lekerommet, Barneavdelingen, St. Joseph, Sykehuset Østfold, Fredrikstad</li>
</ul>
</div>
</div>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/concerts.html</link>
  <guid>https://einar.codeberg.page/concerts.html</guid>
  <pubDate>Tue, 22 Jun 2010 14:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Music Bio]]></title>
  <description><![CDATA[

<figure id="org4fb2b04">
<img src="https://einar.codeberg.page/media/Cellos_and_treble_viol.jpg" alt="Cellos_and_treble_viol.jpg">

</figure>

<p>
My cellos and treble viol
</p>

<p>
I started playing the cello in 1987, and I was enthusiastically playing in orchestras and chamber music projects during my youth. I took the first part of my bachelor degree at the music conservatory in Kristiansand with Maja Birkeland as my cello teacher. While there, I also studied composition with Stig Nordhagen and baroque interpretation with Jan Erik Pettersen.
</p>

<p>
I then continued my studies at the Grieg academy in Bergen with Bjørg Værnes Lewis. I also spent a year in Örebro on exchange where I studied modern and baroque cello with Ingrid Morgan. As part of my Bachelor degree, I also studied pedagogy at the Grieg academy.
</p>

<p>
My interest in early music led me to study baroque interpretation and chamber music with Frode Thorsen and Hans Knut Sveen and baroque cello with Markku Luolajan-Mikkola at the Grieg academy. I went on with this line of study in Copenhagen with a master degree in early music. My baroque cello teacher there was Thomas Pitt, and I had the pleasure of having chamber music and performance practice lessons with many great musicians from all over Europe like for instance Christina Schornsheim, Hille Perl, Peter Spissky, Bjarte Eike, Andreas Arend, Rachel Podger, Jaroslaw Thiel and many more. I have also taken some chamber music and treble viol lessons with Cristiano Contadin at Esbjerg Musikkonservatorium after finishing my master in Copenhagen.
</p>

<p>
I have freelanced as a musician since 1999 and done all kinds of projects in diverse genres, but since 2004, I have focused mainly on early music. I have played with Nordic early music ensembles like Jutlandia Baroque, Esbjerg Tidlig Ensemble, Amarillis Consort, L’État libre du Neige, Hurra barockorkester, Holmens barokensemble, Musici Holbergensis, Stella Nuova etc. and played at Malmö opera, Palladium Baroque Festival and Fanø Internationale Guitarfestival. To read more, go to my <a href="https://einar.codeberg.page/concerts.html">concerts page</a>.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/music-bio.html</link>
  <guid>https://einar.codeberg.page/music-bio.html</guid>
  <pubDate>Mon, 21 Jun 2010 15:23:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[ETE sommerkonserter 2010]]></title>
  <description><![CDATA[
<p>
Esbjerg Tidlig Ensemble spiller i år sine sommerkonserter den 17. august i Lønne kirke og 26. august i Søndre Ho kirke på Fanø. Sistnevnte er en del av Sønderho internationale Guitarfestival.
</p>

<p>
Vi kan lokke med heftig fløytemusikk av Cima og Castello, deilige italienske sanger av Caccini, iørefallende franske gitartoner fra Ludvig XIVs soverom av de Visée, litt taffelmusikk av Telemann, dansk-tysk kirkemusikk av Buxtehude og et par utvalgte favorittlåter fra Rameaus opera “Les Indes Galantes”.
</p>
<div class="taglist"><a href="https://einar.codeberg.page/tags.html">Tags</a>: <a href="https://einar.codeberg.page/tag-music.html">music</a> </div>]]></description>
  <category><![CDATA[music]]></category>
  <link>https://einar.codeberg.page/ete-sommerkonserter-2010.html</link>
  <guid>https://einar.codeberg.page/ete-sommerkonserter-2010.html</guid>
  <pubDate>Sat, 22 May 2010 11:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[About]]></title>
  <description><![CDATA[

<figure id="orgbd54a3a">
<img src="https://einar.codeberg.page/media/EMliten.jpg" alt="EMliten.jpg">

</figure>

<p>
🇬🇧 Hi and welcome to my blog! Most of it is in English, but there is also some Norwegian content. I work as a teacher on the Information Technology and Media Production study line at Eilert Sundt Upper Secondary School in Farsund in Southern Norway. In addition to programming and system administration, I am also interested in <a href="https://einar.codeberg.page/tag-music.html">music</a> and <a href="https://einar.codeberg.page/tag-photography.html">photography</a>, and share photos on <a href="https://www.flickr.com/photos/einar_mostad/">Flickr</a>.
</p>

<p>
🇧🇻 Hei og velkommen til min blogg! Mesteparten er på engelsk, men det er også noe norsk innhold. Jeg jobber som lærer på Informasjonsteknologi- og Medieproduksjonslinja på Eilert Sundt videregående skole i Farsund. I tillegg til programmering og systemadministrasjon er jeg også interessert i <a href="https://einar.codeberg.page/tag-music.html">musikk</a> og <a href="https://einar.codeberg.page/tag-photography.html">foto</a> og deler bilder på <a href="https://www.flickr.com/photos/einar_mostad/">Flickr</a>.
</p>



<figure id="orga160e62">
<a href="https://codeberg.org/einar"><img src="https://einar.codeberg.page/media/codeberg.png" alt="codeberg.png"></a>

</figure>


<figure id="orgc259b44">
<a href="https://lispers.org/"><img src="https://einar.codeberg.page/media/Lisp_warning.png" alt="Lisp_warning.png"></a>

</figure>
<div class="taglist"></div>]]></description>
  <link>https://einar.codeberg.page/about.html</link>
  <guid>https://einar.codeberg.page/about.html</guid>
  <pubDate>Fri, 09 Feb 1979 23:35:00 +0100</pubDate>
</item>
<item>
  <title><![CDATA[Tags]]></title>
  <description><![CDATA[
<p>
This site is built with <a href="https://github.com/bastibe/org-static-blog">org-static-blog</a> which has a tags feature. To see all posts with a specific tag, use these links:
</p>
<ul class="org-ul">
<li><a href="https://einar.codeberg.page/tag-computers.html">Computers</a></li>
<li><a href="https://einar.codeberg.page/tag-emacs.html">Emacs</a></li>
<li><a href="https://einar.codeberg.page/tag-guix.html">Guix</a></li>
<li><a href="https://einar.codeberg.page/tag-gnulinux.html">GNU/Linux</a></li>
<li><a href="https://einar.codeberg.page/tag-mac.html">Mac(intosh)</a></li>
<li><a href="https://einar.codeberg.page/tag-windows.html">Windows</a></li>
<li><a href="https://einar.codeberg.page/tag-music.html">Music</a></li>
<li><a href="https://einar.codeberg.page/tag-photography.html">Photography</a></li>
</ul>


<p>
There are also RSS feeds for each tag:
</p>
<ul class="org-ul">
<li><a href="https://einar.codeberg.page/computers-rss.xml">Computers</a></li>
<li><a href="https://einar.codeberg.page/emacs-rss.xml">Emacs</a></li>
<li><a href="https://einar.codeberg.page/guix-rss.xml">Guix</a></li>
<li><a href="https://einar.codeberg.page/gnulinux-rss.xml">GNU/Linux</a></li>
<li><a href="https://einar.codeberg.page/mac-rss.xml">Mac(intosh)</a></li>
<li><a href="https://einar.codeberg.page/windows-rss.xml">Windows</a></li>
<li><a href="https://einar.codeberg.page/music-rss.xml">Music</a></li>
<li><a href="https://einar.codeberg.page/photography-rss.xml">Photography</a></li>
</ul>
<div class="taglist"></div>]]></description>
  <link>https://einar.codeberg.page/tag-links.html</link>
  <guid>https://einar.codeberg.page/tag-links.html</guid>
  <pubDate>Wed, 28 Nov 1900 01:42:00 +0100</pubDate>
</item>
</channel>
</rss>
