My thoughts on Slackware, life and everything

December updates and a Christmas goodie for cable geeks

The silent treatment?

Hi there.
I know I have not been posting a lot the past few months. Sorry for that, really.
The last quarter is always a busy time at work and especially so during Corona; my mother fell ill; I sort of crashed when I ran out of energy; and it was a lot of work to clean up shop after my Plasma5 ‘ktown’ first got adopted as Slackware ‘vtown’ in testing and a bit later replaced the old KDE4 in the core distro. Lots of package recompilations and upgrades to work with the newer stuff in Slackware.

I also worked on (finally) migrating the old ‘bear’ server which was hosted in France, to a newer and more powerful server running in an Amsterdam Data Center. The new server ‘martin’ was mostly ready when I thought, let’s reboot ‘bear’ after applying the latest Slackware security fixes. And then it did not come back up… that was not a comfortable moment, since ‘bear’ not only hosts my own package and git repositories, but also The Slack Docs Wiki, the Slack Docs mailing lists, my own personal Wiki and some private family sites. I opened a support ticket and it turned out that the hard drive had crashed and all data on it were irrecoverable.
Luckily I had just finished making a set of backups and right before that fateful reboot, had discovered that my backup scripts omitted part of the server data… which I had also fixed just in time before  that crash.
It took some additional energy to get the services up and running on ‘martin’ again as soon as possible. I had made some new designs for the new server OS configuration and the new configs were un-tested… I hope not too many people noticed the partial down during the second half of November.
The new server runs fine now, has more disk space especially, so I can finally host the full history of Slackware releases and also the DAW and CINNAMON Live ISO images for which there was no room on ‘bear’.
Thanks again to those people who send me money un a regular basis so that I can pay the monthly rent of ‘martin’!

Despite that stress I have been enjoying myself still, just not in the spotlights. The semi-sudden switch in Slackware from KDE4 to Plasma5 and refreshing its XFCE Desktop had some consequences for my liveslak project. It took some time to work out a new optimal package set for the small XFCE image, and in particular the DAW Live image which is based on a bare Plasma5 Desktop needed attention to make it tick again.

So what’s new in Slackware DAW Live?

Remember: DAW = Digital Audio Workstation.
Read my original article documenting the research into a comprehensive collection of musician/producer oriented free and open source software, and a follow-up article on how to transform a Slackware system into a powerful Digital Audio Workstation.

Art work

I asked you in a previous post to come up with ideas for artwork to use in my Slackware Digital Audio Workstation. Thanks for those who contributed graphics and ideas – all of that creativity has been preserved here on the blog.
I decided to use the image to the left of this paragraph – a Slackware ‘S’ with headphones – as the icon to use for the “Slackware Live DAW” submenu. Contributed by Daedra and slightly colored by me.

I needed a second icon as well, to represent the ‘face’ of the Live user account, and for that I picked one of the contributions from Bob Funk: a Slackware ‘S’ with a TRS jack. You’ll see this one when you boot up the ISO and are asked to login at the SDDM graphical session chooser.

More art work was contributed by Sceptical-C, a friend of mine who doubles as a DJ, musician and producer. His black and white photography are the basis for several Plasma5 wallpapers and one of his photographs is also used as the background in the login and lock screens.

DAW_base package

I decided to move the configuration  of the DAW Live OS’ realtime capabilities out of the liveslak scripts and into a new Slackware package. This package called “daw_base” can be installed on any Slackware computer (preferably Slackware-current with PAM). It configures the OS in such a way that a user who is a member of the Slackware “audio” group is allowed to start applications with real-time scheduling priority. You’ll need that if you want to prevent sound drop-outs (also called XRUNs) during performing, recording and mixing. Some more tweaks are being made, they are documented in the package’s README.1st file. This package also contains the Plasma5 wallpapers which are created from the original Sceptical-C black-and-white artwork.
The package creates a new sub-menu in “Applications > Multimedia” called “Slackware DAW” and collects all my DAW related software in there. The submenus in “Multimedia” for the X42 and LSP plugins are moved into the “Slackware DAW” menu to keep it all closely together. This is very similar to what DAW Live also contains. Just the word “Live” is not present in the name of that menu installed by ‘daw_base‘.

The daw_base package also installs a template file for Slackware’s package manager ‘slackpkg‘. The template called “daw” contains a list of all DAW related software in my package repository and it allows for an easy installation and maintenance of that software collection.

New additions to the musician’s toolkit

Several packages needed a recompilation after the recent Slackware upgrades that are related to the new requirements for XFCE and Plasma5. I used that opportunity to upgrade software to their latest versions instead of recompiling – like Ardour, Mixxx, Jamulus, Guitarix for instance. But I also looked into some new stuff, mostly because people asked me about it. Here they are:

Zrythm.
An intuitive digital audio workstation all in itself. It’s under heavy development and nearing a 1.0.0 release. It supports LV2 plugins, offers a high level of automation, and looks really good. Perhaps an alternative for those who feel Ardour’s learning curve is too steep.

VCV Rack.
VCV Rack by the VCV project is a software emulation of the Eurorack Modular Synthesizer.
The project’s mission statement contains this line which resonated with me: “… the principle behind modular synthesizers is identical to the UNIX philosophy, where stable, minimal modules working together are preferred to a monolithic platform controlled by a single vendor (like portable synthesizer keyboards)“.

A short intermezzo first. My first experience with modular synths was as part of the audience when attending a concert by Pere Ubu, 1981 in De Effenaar in EIndhoven. Alan Ravenstine handled a huge contraption full of patch wires that produced all sorts of weird and interesting sounds. It’s what gave Pere Ubu their uniquely distinctive sound. I read later that he worked with EML modular synthesizers a lot but at the time I didn’t know. Damn impressive, but I decided that industrial sounds were more to my liking. This was during the early rise of Electronic Body Music, and that got me hooked for a while. If you can find the documentary “I dream of WIres” I recommend you watch it. The web site http://idreamofwires.org/ is dedicated to documenting the history of electronic music. An excerpt of a little more than 20 minutes is freely available, it contains an interview with Pere Ubu synth players Alan Ravenstine and Robert Wheeler.

Anyway – back in May 2019, a blog comment by ‘Hank’ already referenced VCV Rack with a question whether I would perhaps consider it for inclusion to my DAW software collection. At the time, my focus was on other things and a modular synthesizer is not the easiest instrument to work with, so I let that pass. But some recent youtube footage sparked my interest and here is the result – a Christmas present of sorts for you: packages for VCV Rack, and three free and open source plugins that expand the collection of available modules in Rack: vcvrack, vcvrack-audible-instruments, vcvrack-befaco and vcvrack-bogaudio.

Note that my VCV Rack package ‘vcvrack‘ contains the Fundamental plugin already. The software is quite useless without it so I decided to bundle it, just like the dev’s binary distribution. It is the only plugin which is automatically loaded by VCV Rack. If you install any other plugin, you need to execute one manual command to add the plugin to your user-directory: this will create a symbolic link to the ZIP file containing the modules and Rack will then automatically find and unzip this plugin and make it available to you.

$ ln -s /usr/share/vcvrack/Pluginname.zip ~/.Rack/plugins-v1/

All ZIP files in the VCV Rack system directory (/usr/share/vcvrack/) are module plugins – this is the format for distributing them.

Here is a Youtube tutorial series that you can use as an introduction to modular synthesis and VCV Rack in particular:

Enjoy! Eric

34 Comments

  1. Oberoid

    Thanks for introducing me to the music of Sceptical C.
    https://soundcloud.com/sceptical-c/funk-atack
    I’m soldering 32 arduino nano terminal boards and I desperately needed some 808 stumps to get in the flow.
    Grts, F.P.

  2. gegechris99

    Hi Eric,
    I hope that your mother recovers swiftly.
    You should not apologize for not posting. There is no obligation for you to keep us informed on a timely basis. Life has other priorities.
    That being said, I appreciate that you explained the change from “bear”.
    Also I’m not into DAW but I find it impressive how you write about it in a way that a layman like me could get the gist of it.
    Best wishes for next year.

  3. F4b1ck

    Hi Eric,
    I wish your mother the best. You don’t need to apologize for less posts, we’re all passionate of Slackware but have private lives then could understand your priorities.
    Your posts are appreciated from me, because speaks about many arguments, go on like this!

    Best wishes for the new year!

  4. gauchao

    Hello Eric. How are you doing now?

    I sincerely expect your mom is fine and recovers nicely. Wish you get your energies back and stay healthy.

    Thank you for all your work, but keep in mind you have to rest a while.

    All the best.

    • alienbob

      My mom is recovering at home thanks to medication. I am trying to get back some energy during my holiday break, forcing myself to have at least 8 hours of sleep everyday. Big changes in how we operate at work cost me a lot of energy.
      Thanks for asking.

  5. Jen

    Oh no! Sorry to hear about your mom. Best wishes for her!

    Modular synths are interesting, and it’s a different workflow with them, that’s for sure. (Supercollider is more modular in a way that csound isn’t.)

    One of my composition teachers was talking about Pere Ubu. 🙂 CalArts is a strange and wonderful place. Or was…it’s gentrified a bunch.

    Happy holidays! Or better days ahead, hopefully.

  6. Karl

    Hi Eric,

    I installed Slakware on my PC from one of your live CDs with Plasma from ktown, and kept it updated all the way to but not including the point where Plasma moved into vtown. I stopped updating then, and now I am not sure how to start updating again. Should I just simply remove references to ktown from skackpkgplus.conf?

    Thanks,

    Karl

    • gegechris99

      Hi Karl,

      Some packages have been renamed when they moved from ktown to vtown (now merged in current). Please read beginning of this post: https://alien.slackbook.org/blog/ktown-becomes-vtown/
      You have to install the renamed packages, upgrade the others and remove old ones. This is achieved by running those commands as root when at level 3 (type “init 3” in Konsole)

      slackpkg update
      slackpkg install-new
      slackpkg upgrade-all
      slackpkg clean-system

      After that you can remove ktown from slackpkgplus.conf if you don’t need it anymore.

  7. Henry Pfeil

    Thank you, Eric, for adding VCV Rack. I’ve also included zynaddsubfx to my copy, only because it requires Jack and building a pipe organ out of synthesizer modules is something I have yet to explore.
    http://audio.wgbh.org/Bach-8108-aac has introduced me to the most astounding composer in history. For example, he used a mathematical progression with different voices to form a complex musical conversation. You can find many uses of the note sequence of b flat-a-c-b natural (written as H in German), or B-A-C-H. The Bach-Channel includes interviews with artists who have studied Bach’s music their entire career who still find amazing bits they’ve not yet considered. Perhaps you might try incorporating some of his stuff using different tempo, chord progressions and all into your own work?

    • alienbob

      My wife plays classical music, mostly baroque, mainly on the recorder (blokfluit, Blockflöte) and also acoustic guitar. She is a Bach devotee and I think we might have recordings of all of Bach’s works on CD or as audio files here at home.
      She was dumbfounded to learn way back after highschool, that mathematics was not something stupid and just for nerds; but that all of musical theory is founded on mathematical principles… and on top of that, Bach’s compositions can be explained to a large degree by mathematical rules.
      I do not create music myself, but if I would, it’s probable that the music of Bach will provide a hidden channel into my creative works.

  8. Henry Pfeil

    Please delete that last bit. Zynaddsubfx is already in there. Me, I’m still trying to get jack working using pasuspender to get pulse out of the way.
    Sorry about that, my brain is full of learning vulkan-tutorial.com so I can use gpu computing in audio synthesis.

  9. Henry Pfeil

    I did get Zynaddsubfx and jack working together. Of course the SBo package just works; I built my broken version from git, failing to clone –recursive. No need for the pasuspender spell with your pulseaudio-jack package installed.
    Thank you, Eric!

  10. Henry Pfeil

    There are some 109 packages on the DAW iso. That’s a lot of work. Thank you for your dedication! Give your wife a hug with my thanks for keeping Bach’s amazing works alive.

  11. babu Swah

    Thank you for providing the new 28 December isos.
    Downloaded the xfce iso. very nice. Like it because it;s so small but all the essential packages are there!
    Have two questions if you allow me.
    1. the best way to set up wireless?
    2. tried to compile ‘dwm’ and ‘st’. Installed the gcc compiler and the necessary dependencies. Got errormessages because headerfiles(“*.h”) were incomplete or missing. Any hint?
    Thank you for your kind attention.
    Gelukkig Nieuwjaar!

    • alienbob

      The XFCE ISO is not meant to be used as a norrmal system as in: adding packages to it, trying to compile stuff on it.
      In order to keep the ISO below 700 MB (CDROM medium size) a lot of files have been removed, basically the XFCE image is only good for quick testing of new hardware and as a rescue system. Please use the regular SLACKWARE ISO instead.
      If you really want just a XFCE system but then one that is fully functional, not trimmed and mangled, you should create the ISO yourself by downloading the liveslak scripts and running:
      # ./make_slackware_live.sh -d XFCE -t none -c zstd
      Which will create the XFCE ISO with no trimming and using zstd compression ()which increases ISO size with 10% but will make the ISO boot up a lot faster)
      You’ll end up with an ISO that’s about 1.3 GB in size probably.

  12. Bob Funk

    Well I had a bit of an adventure trying to get the latest DAW up and running! I decided to install it on a 64GB “PNY USB 3” thumb drive I had laying around, only to find it takes forever to boot, and all kinds of random errors show up while running the DAW from the USB. It turns out it was a grabage USB stick and it would just randomly hang for several seconds when reading data from it. I scrapped that and when back to my trusty beat up 8GB stick and the DAW is running great again. Still wasted a few days trying to figure out the problem before realizing the USB drive was faulty.

    I still haven’t played with the VCV modular synth rack yet, though it does look neat. Around 10 years back I played with the proprietary Propellerhead Reason software and they had a neat feature where all the software synths had a “modular synth backend”. You could do similar virtual cable connections and all kinds of crazy interconnections between ocisllators, LFOs, etc. I dabbled a little with it but generally I stick with the more basic synth controls and use my MIDI keyboard for creating music. I can see how it lends itself nicely to creating those trance type rhythmic progressions after watching some of those vids you linked. Still looks very complex though!

    A couple things I noted when trying out this latest DAW:

    1. The panel clock on first bootup is “invisible”, although there is still a button for it there. When I click it it pops up a glitched out version of the date & time widget with 40 something days in a month. I’ll link a screenshot to show what I mean. After messing about with the settings under time and date and selecting my timezone, the clock reappeared. I’m still not sure why it’s messed up at stock boot up though. Screenshot: https://i.imgur.com/P2VUowK.png

    2. I couldn’t launch a wayland session (from sddm or from tty). It just goes to a black screen and then back to a greyed out sddm screen, with all kinds of plasma wayland processes stuck running in the background that have to be killed manually. I know you trim the packages down on the DAW so I’m wondering if you trimmed something out that prevents wayland from working? I could put those back in with an add-on squashfs module if you have an idea what needs to be added back in. It’s not that big of an issue. I was just trying to configure things as a “bleeding edge” DAW that runs plasma wayland and pipewire as the backend as a side project. I managed to put together a pipewire squashfs module to allow pipewire to run in place of jack and pulse and its working so far with X11, just not on wayland.

    And some other points I wanted to ask:

    So “bear” is offline, and that just redirects to “martin” now? The reason I ask is because I had been mirroring the alienbob and multilib repos from bear using some scripts, similar to your mirror-slackware-current script. I’ll update those scripts to use martin then, though I hadn’t noticed any issues with the old scripts yet.

    Any chance you would add rtirq to the DAW package list? There’s a build on slackbuilds.org. It’s a script to manage realtime priorities of the irqs provided by “threadirqs”. It’s usually used to bump up priority of pci or usb sound cards. I’ve been adding it to my DAW stick as an addon, and it seems pretty widely used across other linux audio distros. The slackbuilds.org version packages it as a script in /etc/rc.d/rc.rtirq, which can then be made to execute automatically at boot by running rc.rtirq from rc.local. I’m not sure how keen you would be packaging up a script to rc.local since user’s may modify that, but you could still add it and leave that to the user to configure if they want to boot with rtirq. Just a thought.

    PS: I kind of like the headphones logo with the lighter coloured headphones better, since I change the plasma theme to dark and I’m biased against my own “artwork” 🙂 Kidding aside, thanks for posting the results from the contest.

    Thanks and happy new year Eric!
    (And to anyone else reading my long ramble here)

    • alienbob

      Hi Bob,

      That is a weird screenshot of that calendar! Don’t know what causes this but I’ll find some time to look into that.

      The “bear” server is indeed dead and offline but I have re-used the name and the “bear” and “martin” hostnames are now pointing to the same actual server. That is why your scripts did not break.

      I do indeed not support Wayland on the light DAW Plasma5 image. I think it is overhead and at this moment in time, Plasma5 Wayland sessions are not feature-complete and unstable as well. Should improve in 2021 if I may believe the developers’ statement made last week. I do want to see how I can add pipewire to take the place of pulseaudio (and perhaps jack) but that does not require Wayland, fortunately. You can share your experiences of course 🙂

      I will have a look at rtirq as well, it is a simple shell script and it seems to add value.

      I guess the icon and the desktop theming may cause clashes… probably ‘someone’ needs to come up with a modified version which is visually acceptable both for light and dark themes.

      All the best for 2021!

      • Bob Funk

        Thanks for the info. No worries about wayland. If I feel up to it I can find whats missing and add it back in with an addon module. I’ve got no problem working in x11, other than that kwin_x11 crashing on exit bug. Hoping thats fixed in an upcoming release soon (saw some code changes in the git master for it).

        On a side note, wayland has improved, even since you first had it working in ktown (a year ago maybe?). I still notice some minor things missing but I’ve been using it daily on my regular laptop and haven’t had issues in a while. Maybe 2021 will see it polished up even further.

        Getting pipewire to replace pulseaudio can be done by uncommenting the pipewire-pulse line in /etc/pipewire/pipewire.conf, and then getting pipewire started before pulse spawns (or disable pulse if you wish).

        Jack replacement requires building pipewire against jack and then symlinking pipewire’s jack libraries to take precedence over jack. Doesn’t seem too ideal to me but that was the documented method for complete replacement, the alternative being the pw-jack wrapper script.

        Additional runtime deps include rtkit and xdg-desktop-portal. I’m using rtkit and did a little tweaking to up its allowed priorities. Pipewire talks to rtkit to get realtime priority for itself and it’s audio clients (from what I have observed using it). xdg-desktop-portal is used in the screen sharing/video side of pipewire so I didn’t bother installing it and disabled that module in pipewires config to hide the warnings.

        If you want I could email you the pipewire squashfs module I’m working on to examine my setup (~1.4MB). It contains a rebuilt pipewire thats configured for pulse and jack replacement, rtkit, and some wrapper scripts I made to start/stop a pipewire session from sddm or tty. My idea was to integrate it alongside pulse so that either pipewire or pulseaudio could be chosen for a session. The trick is managing the pipewire daemon since it behaves differently than pulse in terms of autospawning and exiting, hence my approach with a wrapper script.

        Regards,
        Bob

    • Ricardo

      Bob, a couple of years ago at work we bought a few PNY SSDs to test and they were also very crappy, so I’m not surprised to read of your problems with that USB drive 🙁

      • Bob Funk

        I found the same model stick later on amazon and it had “raving reviews”. The 3% of bad reviews were all about slow speeds and random hangs, just like I experienced. Either way I’ll stay away from PNY from now on.

  13. Ricardo

    About the clock issue: last month I bought a new notebook and installed Slackware64 -current with your Plasma live ISO and noticed some messages complaining about /etc/localtime and setting a weird timezone which I can’t remember now what it was.

    Turns out /etc/localtime was a copy of a file from /usr/share/zoneinfo instead of a link to the file, so I removed /etc/localtime and made it a link to /usr/share/zoneinfo/America/Argentina/Buenos_Aires (my local timezone), problem solved!

    • alienbob

      Yes that is indeed what the LQ thread also recommended and I tested it here on a Live ISO – it works. I already updated the liveslak scripts here to apply it next time I generate ISO images.

  14. Jeffy

    Hi Eric. Whats the software behind your new server? I really like the bandwidth utilization meter its like slackware.uk.

    • alienbob

      It’s a small program called “bwbar” which runs in a cron job and dumps bandwidth usage numbers every couple of minutes (as numbers and also as a graph). All the server’s index pages are now including that data file.
      The slackware.uk server was my example indeed.

  15. DLCBurggraaff

    What is the purpose of this new “lean” live CD?
    I like its background – I assume this is somewhere in Brabant?
    😀

    • alienbob

      Hi there Dick!
      The new LEAN variant is the smallest feature-complete ISO I could create for Slackware, it comes with Plasma5, XFCE and Fluxbox and a lot of nice applications and is 1.5 GB in size.
      It is also the pre-work to add a “rescue” option to the ISO boot menu which I want to load a 250MB console-based Slackware core OS into RAM and run from RAM thereafter (so you can remove the DVD/USB after booting).
      The background image is a picture I made when hiking in the southern part of the Netherlands: it is a view of the church of the village “Vijlen” in Limburg.

      • babu Swah

        Thank you so much for providing this LEAN iso. How were you able to put so many programs in only 1.5 GB?

        This iso is what I need. And all the essential programs are there. No need to download much.

        Thank you. And yes, that background picture is very nice.

        Dank!

        • alienbob

          Making smart choices, examining library dependencies, removing all documentation (but leaving the man pages in) and not shipping any package that is used for compiling programs (no gcc, no make, no lex, no llvm etc) allowed me to keep the size of the ISO file within acceptable limits.
          I am quite satisfied with the results. In the early days of liveslak it supported a base KDE4 Live ISO of just 1 GB in size but I do not find enough value in it to keep it.
          Essentially the LEAN image is the DAW image minus all the DAW programs and configurations.

          • babu Swah

            Would like to congratulate you for this this live iso. Guess it will be very hard to find a better live iso on internet.

            That’s why I did a full install on an usbdisk. All went well , except for lilo. So I tried to boot from grub2 on another hard disk.The problem here is that I need an initrd-file. Any hint how I could compile such a file? Any info on the internet?

            Thank you for kind attention.

          • alienbob

            Using the ‘setup2hd’ script of the Live OS and also using ‘setup’ in a regular Slackware installer, the OS installation ends with running a series of configuration scripts, It is about the first of these scripts which generates an initrd image for your computer. That script is called ‘/usr/sbin/geninitrd’ and you can run it at any time from the installed OS (or after you chroot-ed into an installed OS using a rescue boot device). That script in turn executes ‘/var/lib/pkgtools/setup/setup.01.mkinitrd’ which again calls the ‘/usr/share/mkinitrd/mkinitrd_command_generator.sh’ script to actually generate your initrd.
            Now the Live OS contains a patched ‘liloconfig’ so that it will use that initrd file automatically when it is present. I wonder what happened to make that process fail on your installation.

  16. Gerardo Zamudio

    Hi Eric,

    Thank you for the work you do! Even if I don’t use these packages I appreciate that you provide them for others.

    As others have said, we understand you have a life and do not expect you to be available or provide updates constantly. Your well being and desires come first. I hope your mother and your family are feeling much better now.

    >>> let’s reboot ‘bear’ after applying the latest Slackware security fixes. And then it did not come back up […] I opened a support ticket and it turned out that the hard drive had crashed and all data on it were irrecoverable.

    You’re at online.net/Scaleway, right? The same thing happened to me a few days before your post! I applied some updates as I always do and rebooted due to the new kernel and it didn’t come back up. I asked support and they told me the drive crashed, nothing they could do, can’t even provide a new server since there were none available.

    All in all I’ve had a horrible experience with online.net/Scaleway. Constant outages, hardware failures, network doesn’t work and their support staff is useless. I really only stay with them because of the price.

    • alienbob

      Yes it was a Scaleway Dedibox which died. The disk was a SSD and I had my doubts whether it actually crashed or some other hardware failure was causing it. I decided it would cost me less (time and money) to just continue with martin, the new server and ensuring all services could activate there as soon as possible.
      Backups are extremely important when using a cheap hosting provider, that much is clear again. Luckily the server migration showed me the gap in my own backups before that server crashed…
      I realize there is a possibility that this can happen again and in that case it will take a lot longer before I have a server up and running again. It’s the cost of a second (hot standby) server that made me decide to rely on good backups instead. The server is not critical to Slackware, it will survive a few weeks of absence.

  17. TheTKS

    Thanks, Eric, for your work here on Slackware. I hope your mother is getting better and you have re-energized.

    I haven’t tried your DAW, there are just too many things taking priority, but I hope that some year I will have the time. I’m going to forward the video to my kid who is playing around with electronic music composition – all on Windows to this point, but I’m hoping he will mature to the point he sees the value of Linux over Windows :-), and more specifically Slackware, and then maybe your DAW.

    TKS

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑