<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Convalesco|notes</title>
  <subtitle>Ipsa scientia potestas est</subtitle>
  <id>http://www.convalesco.org/notes</id>
  <link href="http://www.convalesco.org/notes"/>
  <link href="http://www.convalesco.org/feed-notes.xml" rel="self"/>
  <updated>2026-05-12T11:25:00+03:00</updated>
  <author>
    <name>atmosx</name>
  </author>
  <entry>
    <title>Running OpenBSD 7.8 in UTM</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2026/05/12/running-openbsd-7-8-in-utm.html"/>
    <id>http://www.convalesco.org/notes/2026/05/12/running-openbsd-7-8-in-utm.html</id>
    <published>2026-05-12T11:25:00+03:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;p&gt;&lt;a href="https://mac.getutm.app/"&gt;UTM&lt;/a&gt; is a great open source application that enables macOS users to run guest operating system through emulation or virtualisation.  &lt;a href="https://www.openbsd.org/78.html"&gt;OpenBSD 7.8&lt;/a&gt; is supported but the configuration requires some tweaking. I&amp;rsquo;m sharing the options I&amp;rsquo;ve used to run OpenBSD 7.8 with internet connectivity.&lt;/p&gt;

&lt;h2 id="system"&gt;System&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ARM64 (aarch64)&lt;/li&gt;
&lt;li&gt;CPU, 2 Cores&lt;/li&gt;
&lt;li&gt;RAM, 4096 MB&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="qemu"&gt;QEMU&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;UEFI Boot&lt;/li&gt;
&lt;li&gt;RNG Device&lt;/li&gt;
&lt;li&gt;Use hypervisor&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="devices"&gt;Devices&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Serial (needs to be added from the &lt;code&gt;+&lt;/code&gt; menu) -&amp;gt; built-in terminal&lt;/li&gt;
&lt;li&gt;Network -&amp;gt; Shared network, Intel Gigabit Ethernet (e1000)&lt;/li&gt;
&lt;li&gt;Removed Display (didn&amp;rsquo;t figure out a working configuration anyway)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="drives"&gt;Drives&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;USD Drive (leave default)&lt;/li&gt;
&lt;li&gt;Interface -&amp;gt; VirtIO&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then you can proceed with the standard installation process.&lt;/p&gt;

&lt;h1 id="post-installation"&gt;Post Installation&lt;/h1&gt;

&lt;p&gt;After the installation has been complete, you can remove the CD/DVD from &lt;code&gt;Drives -&amp;gt; USB Drive -&amp;gt; Clear&lt;/code&gt;. On the first boot there&amp;rsquo;s probably no internet connectivity. The ethernet device should be available under &lt;code&gt;em0&lt;/code&gt;. Make sure you enable &lt;code&gt;dhcp&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;vm01# &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'dhcp'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /etc/hostname.em0
vm01# sh /etc/netstart em0
vm01# ifconfig em0
em0: &lt;span class="nv"&gt;flags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;808843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4&amp;gt; mtu 1500
        lladdr 0e:8b:01:94:86:01
        index 1 priority 0 llprio 3
        &lt;span class="nb"&gt;groups&lt;/span&gt;: egress
        media: Ethernet autoselect &lt;span class="o"&gt;(&lt;/span&gt;1000baseT full-duplex&lt;span class="o"&gt;)&lt;/span&gt;
        status: active
        inet 192.168.64.2 netmask 0xffffff00 broadcast 192.168.64.255
&lt;span class="c"&gt;# ping -c 3 www.openbsd.org&lt;/span&gt;
PING www.openbsd.org &lt;span class="o"&gt;(&lt;/span&gt;199.185.178.80&lt;span class="o"&gt;)&lt;/span&gt;: 56 data bytes
64 bytes from 199.185.178.80: &lt;span class="nv"&gt;icmp_seq&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0 &lt;span class="nv"&gt;ttl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;240 &lt;span class="nb"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;166.079 ms
64 bytes from 199.185.178.80: &lt;span class="nv"&gt;icmp_seq&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 &lt;span class="nv"&gt;ttl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;240 &lt;span class="nb"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;173.314 ms
64 bytes from 199.185.178.80: &lt;span class="nv"&gt;icmp_seq&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;2 &lt;span class="nv"&gt;ttl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;240 &lt;span class="nb"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;168.283 ms

&lt;span class="nt"&gt;---&lt;/span&gt; www.openbsd.org ping statistics &lt;span class="nt"&gt;---&lt;/span&gt;
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev &lt;span class="o"&gt;=&lt;/span&gt; 166.079/169.226/173.314/3.028 ms
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Goodbyes</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2026/02/23/goodbyes.html"/>
    <id>http://www.convalesco.org/notes/2026/02/23/goodbyes.html</id>
    <published>2026-02-23T21:48:00+02:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;p&gt;I&amp;rsquo;ve heard that &lt;a href="https://en.wikipedia.org/wiki/Scottsdale,_Arizona"&gt;Scottsdale&lt;/a&gt; is party city. Wide sidewalks, cobblestone streets, luxury restaurants and high-end department stores.&lt;/p&gt;

&lt;p&gt;For me it&amp;rsquo;s a &amp;ldquo;goodbye&amp;rdquo; city. The startup I work for is undergoing a restructuring process that saw many co-workers move to other companies.&lt;/p&gt;

&lt;p&gt;We came close with some co-workers. We barely exchanged glances with others. However it was great meeting all these people, from different places. &lt;/p&gt;

&lt;p&gt;Everything that has a beginning has an ending. Relationships are no different.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>ζ, η, θ Ο ξένος πρόσφυγας</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2025/08/10/zita-hta-thita-o-ksenos.html"/>
    <id>http://www.convalesco.org/notes/2025/08/10/zita-hta-thita-o-ksenos.html</id>
    <published>2025-08-10T09:11:00+03:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;h2 id="part-bacd3384a79e7b46"&gt;Εισαγωγή &amp;amp; Προσφυγικό&lt;/h2&gt;

&lt;p&gt;Στην παράσταση &amp;ldquo;&lt;a href="https://www.lifo.gr/guide/theater/news/z-i-th-o-xenos-mia-symparagogi-toy-kthbe-kai-toy-thok"&gt;ζ, η, θ Ο ξένος&lt;/a&gt;&amp;rdquo; ο &lt;a href="https://www.onassis.org/el/people/michail-marmarinos"&gt;Μιχαήλ Μαρμαρινός&lt;/a&gt; μας συστήνει τον Οδυσσέα, ως πανανθρώπινη, παγκόσμια νοητική εποπτεία στον ρόλο του &lt;strong&gt;ξένου&lt;/strong&gt;. Εγχείρημα φιλόδοξο, απαιτητικό και σύνθετο.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;[&amp;hellip;] Το έργο είναι μια ευκαιρία να συναντήσουμε την ενσυναίσθηση, μέσα από την περιπέτεια ενός άλλου [&amp;hellip;]&amp;rdquo; - Μιχαήλ Μαρμαρίνος, &lt;a href="https://youtu.be/v7zIClrGJNg?t=174"&gt;Euronews | YouTube&lt;/a&gt;, 03 Ιουλίου 2025.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Σύμφωνα με τον σκηνοθέτη, πρόκειται για μια ευκαιρία να μιλήσουμε για ενσυναίσθηση απέναντι στον ξένο με αφορμή το πρόβλημα των προσφυγικών ροών. Άλλωστε η χώρα μας δέχεται κατά μέσο όρο εκατό χιλιάδες πρόσφυγες ανά έτος τα τελευταία χρόνια&lt;sup id="fnref1"&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;h2 id="part-b36e76c5566383c8"&gt;Ο &amp;ldquo;ξένος&amp;rdquo; Οδυσσέας&lt;/h2&gt;

&lt;p&gt;Παρότι ο Οδυσσέας είναι ξένος, κατέχει &lt;em&gt;το όμαιμον, το ομόγλωσσον, το ομότροπον&lt;/em&gt; (ίδιο αίμα, γλώσσα &amp;amp; θρησκεία). Κατέχει τον ίδιο πολιτισμό με τους Φαίακες.&lt;/p&gt;

&lt;p&gt;Ο πολιτισμός του ανθρώπου, συμπεριλαμβάνει το πως και τι τρώει, πως σχετίζεται με τους γύρω του. Τι κάνει στον ελεύθερο του χρόνο, τι θαυμάζει και τι απεχθάνεται. Η γεωγραφική απόσταση μπορεί κάλλιστα να μετατρέψει τον έπαινο σε προσβολή, την ευχή σε κατάρα.&lt;/p&gt;

&lt;p&gt;Ο Οδυσσεάς είναι δίχως άλλο ο εξυπνότερος άνθρωπος της εποχής του.
Άλλωστε, ο Σοφοκλής θα τον παρουσιάσει ως γιο του &lt;a href="https://el.wikipedia.org/wiki/%CE%A3%CE%AF%CF%83%CF%85%CF%86%CE%BF%CF%82"&gt;Σισύφου&lt;/a&gt;, για να τονίσει την τέχνη του στη ρητορεία και την εξαπάτηση.&lt;/p&gt;

&lt;p&gt;Ο Οδυσσέας είναι ικανότατος ναυτικός αφού έχει γυρίσει όλη την μεσόγειο, μυθικού επιπέδου πολεμιστής ως &amp;ldquo;πορθητής&amp;rdquo; της Τροίας. Έχει αντιμετωπίσει την οργή του Ποσειδόνα κι είναι ακόμη ζωντανός. Μόνο θνητός με την εύνοια των θεών θα μπορούσε να το καταφέρει.&lt;/p&gt;

&lt;p&gt;Όταν φτάνει καταβεβλημένος στο νησί των Φαιάκων είναι εξαθλιωμένος.
Ταυτόχρονα είναι εμφανίσιμος με τα δεδομένα των κατοίκων. Η Ναυσικά βλέπει την ομορφιά πίσω από την εξαθλίωση κι εντυπωσιάζεται από τους τρόπους του. Ο ξένος μιλάει σε κάθε έναν που θα συναντήσει με τον βέλτιστο τρόπο. Με φράσεις, τρόπους και συμπεριφορές που κατανοούν.&lt;/p&gt;

&lt;p&gt;Θα γοητεύσει την Ναυσικά αλλά δεν θα την συνοδεύσει στο παλάτι για να μην την προσβάλει. Θα δείξει τον σεβασμό που απαιτείται στην Αρήτη πριν στραφεί προς τον Αλκίνοο, γιατί αντιλαμβάνεται ότι επηρεάζει την γνώμη του άρχοντα της πόλης και συζύγου της.&lt;/p&gt;

&lt;p&gt;Η γοητεία που ασκεί στους γύρο του είναι τόση που ο Αλκίνοος θα του προσφέρει το χέρι της
όμορφης κόρης του, πριν μάθει το όνομα του. Ο Αλκίνοος δεν είναι αφελής. Έχει αντιληφθεί πως αυτός ο &amp;ldquo;ξένος&amp;rdquo;, είναι από σπάνιο μέταλλο φτιαγμένος. Ανήκει στο παλάτι, κατέχει σοφία, μπορεί να σταθεί δίπλα σε άρχοντες, αν όχι να τους ξεπεράσει. Κι όλα αυτά, συνεχίζει να τα πιστεύει ακόμη κι όταν ο &amp;ldquo;ξένος&amp;rdquo; θα του μηνύσει πως δεν είναι Θεός. Γιατί με τέτοιο λόγο, για Θεό τον έκαναν. Αργότερα, θα ξεπεράσει στην δισκοβολία όλο το νησί. &lt;/p&gt;

&lt;p&gt;Κι έπειτα έρχεται η αποκάλυψη. Ο ξένος αποκτά όνομα, είναι &lt;strong&gt;ο Οδυσσέας&lt;/strong&gt;. Πριν λίγο τον παίνευε ο &lt;a href="https://el.wikipedia.org/wiki/%CE%94%CE%B7%CE%BC%CF%8C%CE%B4%CE%BF%CE%BA%CE%BF%CF%82_(%CE%A6%CE%B1%CE%AF%CE%B1%CE%BA%CE%B1%CF%82_%CE%B1%CE%BF%CE%B9%CE%B4%CF%8C%CF%82)"&gt;Δημόδοκος&lt;/a&gt;. Δημόδοκος σημαίνει &lt;em&gt;o ευπρόσδεκτος από τον λαό&lt;/em&gt;. Σαν να λέμε πως ο Οδυσσέας και οι πράξεις του, αποτελούν πράμα του μύθου για τους Φαίακες. Κατορθώματα που τραγουδά ο λαοφιλής αοιδός. Τα παιδιά ξέρουν τ&amp;rsquo; όνομα του, οι άρχοντες της πόλης γνωρίζουν για τα καμώματα του στην Τροία.&lt;/p&gt;

&lt;p&gt;Καλά το &amp;lsquo;χε καταλάβει ο Αλκίνοος και η Αρήτη πως δεν είναι τυχαίος αυτός ο &amp;ldquo;ξένος&amp;rdquo;. Τον έχει  προικίσει η μοίρα όσο λίγους. Είναι ζωντανός θρύλος. &lt;strong&gt;Δεν είναι ξένος&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id="part-c05f053ddfd2557c"&gt;Ο σύγχρονος πρόσφυγας ως ξένος&lt;/h2&gt;

&lt;p&gt;Πως να συγκρίνεις έναν ημίθεο, με έναν πρόσφυγα από την Συρία, το Αφγανιστάν ή την Σομαλία&lt;sup id="fnref2"&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/p&gt;

&lt;p&gt;Ο άνθρωπος φοβάται τον ξένο που δεν μιλάει την γλώσσα του και δεν λατρεύει τους ίδιους Θεούς. Η προσπάθεια που απαιτείται είναι πολύ μεγαλύτερη από τον Αλκίνοο και τους Φαίακες που είχαν απέναντι τους έναν ημίθεο.&lt;/p&gt;

&lt;p&gt;Δημιουργήσαμε την &lt;a href="https://unric.org/el/%CE%BF%CE%B9%CE%BA%CE%BF%CF%85%CE%BC%CE%B5%CE%BD%CE%B9%CE%BA%CE%B7-%CE%B4%CE%B9%CE%B1%CE%BA%CE%B7%CF%81%CF%85%CE%BE%CE%B7-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B1-%CE%B1%CE%BD%CE%B8%CF%81%CF%89%CF%80%CE%B9-2/"&gt;οικουμενική διακήρυξη για τα ανθρώπινα δικαιώματα&lt;/a&gt;. Αλλά τι μπορούν τα πολλά ωραία λόγια μπροστά στο φόβο που δημιουργεί η παρουσία του ξένου στις ακτές μας; Κι όμως, υπάρχουν φορές που καταφέραμε να φανούμε άνθρωποι. Γιατί αν ο βιολογικός άνθρωπος είναι απλό πράγμα, ο φιλοσοφικός είναι δύσκολο πολύ. Κι εμείς βαδίζουμε σαν τα καβούρια, προς τα πίσω, τα τελευταία δεκαπέντε χρόνια.&lt;/p&gt;

&lt;p&gt;Εν κατακλείδι, αντιλαμβάνομαι την αναλογία, αλλά παραμένει δύσπεπτη, σχεδόν άδικη στο δικό μου άντερο.&lt;/p&gt;

&lt;h2 id="h"&gt;H παράσταση&lt;/h2&gt;

&lt;p&gt;Όλα τα παραπάνω καθόλου δεν μειώνουν την αξία και την ανάγκη για εγχειρήματα σαν ετούτο.&lt;/p&gt;

&lt;p&gt;Η Όλγα Σέλλα έχει γράψει μια συγκροτημένη κριτική της παράστασης στην σελίδα &lt;a href="https://www.oanagnostis.gr/z-i-th-o-xenos-odysseia-m-marmarinos-mia-empneysmeni-stigmi-stin-epidayro-tis-olgas-sella/"&gt;oanagnostis&lt;/a&gt;. Έχει υπερθεματίσει την δυσκολία του εγχειρήματος, τα θετικά και τα αδύναμα σημεία της παράστασης. Τυχαίνει να συμφωνώ σε όλα, ένα προς ένα. Δεν έχει νόημα να ξαναγραφτούν, διαβάστε τα εκεί.&lt;/p&gt;

&lt;p&gt;Κάποιες από τις αμφιλεγόμενες επιλογές του σκηνοθέτη γίνονται αντιληπτές διαβάζοντας το ένθετο της παράστασης. Το συγκεκριμένο ένθετο, είναι θησαυρός για όποιον αγαπά την ανάλυση, τους συμβολισμούς και τις αναφορές. Η τιμή είναι πολύ χαμηλή για την ποιότητα του. Δεν γνωρίζω αν πωλείται στο διαδίκτυο, αν μπορέσετε να το διαβάσετε &lt;em&gt;πριν&lt;/em&gt; την παράσταση θα την απολαύσετε παραπάνω.&lt;/p&gt;

&lt;p&gt;Αν μπορούσα να πήγαινα και δεύτερη φορά να δω την παράσταση. Αλλιώς περιμένουμε με αγωνία την επόμενη παράσταση του Μιχαήλ Μαρμαρινού, κι εύχομαι να είναι κάτι παρόμοιο. Θα ήθελα πολύ για παράδειγμα να τον δω να μεταφέρει το &lt;a href="https://el.wikipedia.org/wiki/%CE%A3%CF%85%CE%BC%CF%80%CF%8C%CF%83%CE%B9%CE%BF_(%CE%A0%CE%BB%CE%B1%CF%84%CF%89%CE%BD%CE%B9%CE%BA%CF%8C%CF%82_%CE%B4%CE%B9%CE%AC%CE%BB%CE%BF%CE%B3%CE%BF%CF%82)"&gt;Πλατωνικό συμπόσιο&lt;/a&gt;. Θα είχε μεγάλο ενδιαφέρον η ματιά του Μαρμαρινού στο ομορφότερο, βαθύτερο και ειλικρινέστερο έργο στην ιστορία της ανθρωπότητας για την φύση του έρωτα. &lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;ΕΛΣΤΑΤ: Άλμα των μεταναστευτικών ροών το 2023 σε επίπεδα 2016, capital.gr - &lt;a href="https://www.capital.gr/epikairotita/3893781/elstat-alma-ton-metanasteutikon-roon-to-2023-se-epipeda-2016/"&gt;σύνδεσμος&lt;/a&gt;&amp;nbsp;&lt;a href="#fnref1"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn2"&gt;
&lt;p&gt;Οι κύριες εθνικότητες των αιτούντων άσυλο στην Ελλάδα είναι αυτές οι τρεις, rsaegean.org - &lt;a href="https://rsaegean.org/en/asylum-procedure-statistics-in-greece-2024/"&gt;σύνδεσμος&lt;/a&gt;&amp;nbsp;&lt;a href="#fnref2"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
</content>
  </entry>
  <entry>
    <title>Courchevel, France</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2025/06/26/courchevel.html"/>
    <id>http://www.convalesco.org/notes/2025/06/26/courchevel.html</id>
    <published>2025-06-26T11:55:00+03:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;h2 id="the-place"&gt;The Place&lt;/h2&gt;

&lt;p&gt;This year, I visited Courchevel for a &lt;a href="https://it.wikipedia.org/wiki/Settimana_bianca"&gt;settimana bianca&lt;/a&gt;. Courchevel is a ski resort nestled in the French Alps. We stayed in &lt;em&gt;Le Praz&lt;/em&gt;, a small, scenic village located at the lower end of the mountain.&lt;/p&gt;

&lt;p&gt;Courchevel is part of the &lt;em&gt;Three Valleys&lt;/em&gt; alongside Méribel and Val Thorens. These are three neighboring mountain areas, each leading to different villages, yet seamlessly connected by lifts and gondolas.&lt;/p&gt;

&lt;p&gt;Courchevel is composed by several villages, the most luxurious and internationally renowned being &lt;em&gt;Courchevel 1850&lt;/em&gt;. There you&amp;rsquo;ll find high-end fashion boutiques, fine jewelry stores, gourmet restaurants, and luxury hotels.&lt;/p&gt;

&lt;p&gt;The villages are linked by buses, taxis, and gondolas. From &lt;em&gt;Le Praz&lt;/em&gt;, it’s just a seven-minute gondola ride to &lt;em&gt;Courchevel 1850&lt;/em&gt;.&lt;/p&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;&lt;img src="/assets/images/blogposts/courchevel-2025-p1-56e3297d.jpg" title="Les Peupliers, Courchevel Le Praz, France" alt="Les Peupliers" /&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1.1 Hotel Room View, Le Praz, Courchevel, France&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;h2 id="snowboarding"&gt;Snowboarding&lt;/h2&gt;

&lt;p&gt;I’ve never had as much fun snowboarding as I did on this trip. As usual, I arrived in Courchevel overweight and out of shape. But to my surprise, my body responded remarkably well to five days of snowboarding.&lt;/p&gt;

&lt;p&gt;The snow conditions were great. The entire week was sunny, with very few exceptions. The mountain was never full of people, although moguls were forming early on Sunday.&lt;/p&gt;

&lt;p&gt;Wisely, I took a rest day after the first three days, which gave me the energy to fully enjoy the final two. I hadn&amp;rsquo;t expected to pull it off. On the last day, we snowboarded from Courchevel to Val Thorens and back - a seven-hour journey, with more than four hours spent on the slopes. Some runs were nothing short of spectacular.&lt;/p&gt;

&lt;p&gt;The mountains are rich in blue and red pistes. Small difference between them in difficulty. The black runs, though, are unmistakable. We steered clear of them, not wanting an early end to the day due to muscle strain.&lt;/p&gt;

&lt;p&gt;I hope to repeat the experience next year and possibly enjoy it even more!&lt;/p&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;&lt;img src="/assets/images/blogposts/courchevel-2025-p2-66bdcfa6.jpg" title="Courchevel" alt="Courchevel" /&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;2.1 Roc Mugnier top, Courchevel, France&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;h2 id="the-vacation"&gt;The Vacation&lt;/h2&gt;

&lt;p&gt;My vacations are usually short, just two to five days. This time, I took an entire week and it was worth it. My mind had time to rest, while my body handled gracefully a manageable strain load.&lt;/p&gt;

&lt;p&gt;There are plenty of outdoor activities during the day, but not much nightlife. It makes sense: after burning calories on the slopes all day, there’s little energy left for late-night revelry. For those who like partying, there’s no shortage of après-ski spots on the mountain and in the village. Some rather famous on-track après-ski spots are &amp;ldquo;La Folie Duce&amp;rdquo;, &amp;ldquo;Baïes&amp;rdquo; and &amp;ldquo;Bagatelle&amp;rdquo;. We visited only the last one and we had a great time.&lt;/p&gt;

&lt;h2 id="the-team"&gt;The Team&lt;/h2&gt;

&lt;p&gt;We formed a tight-knit group of four this year: three Greeks and one Canadian, all former coworkers. It was a great mix. We&amp;rsquo;re all at roughly the same skill level, which kept us moving steadily through the mountains. More importantly, everyone’s easygoing, making it easy to enjoy both the rides and the surroundings together. That’s what makes this group special.&lt;/p&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;&lt;img src="/assets/images/blogposts/courchevel-2025-p3-d5a5386e.jpg" title="the team" alt="The team" /&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;3.1 The Team, Courchevel, France&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content>
  </entry>
  <entry>
    <title>Serene Reverie playlist</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2024/12/11/playlist-serene-reverie.html"/>
    <id>http://www.convalesco.org/notes/2024/12/11/playlist-serene-reverie.html</id>
    <published>2024-12-11T16:26:00+02:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;p&gt;Not long ago, the fashion house Brunello Cucinelli presented a Spotify playlist intriguingly titled &lt;a href="https://shop.brunellocucinelli.com/en-gr/symphony-of-emotions.html"&gt;Symphony of Emotions&lt;/a&gt;. What struck me most was the remarkable variation of tracks. A harmonious blend of genres that seemed at first glance incoherent. Yet, for someone with a taste for musical variety, the playlist’s mosaic of styles resonated with me, evoking a sense of familiarity and delight. I was familiar with most tracks anyway.&lt;/p&gt;

&lt;p&gt;Since the playlist was not available on &lt;a href="https://tidal.com/"&gt;Tidal&lt;/a&gt;, a high-resolution music streaming service, I decided to generate a personalised version of the playlist and voilà!&lt;/p&gt;

&lt;iframe src="https://embed.tidal.com/playlists/a2c936ca-7161-4c20-9251-eab4be4752fd" width="700" height="600" allow="encrypted-media" sandbox="allow-same-origin allow-scripts allow-forms allow-popups" title="TIDAL Embed Player" /&gt;&lt;/iframe&gt;

&lt;p&gt;Happy listening!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>MiniDLNA Server on Raspberry Pi Model B</title>
    <link rel="alternate" href="http://www.convalesco.org/notes/2024/11/03/minidlna-raspberry-pi-model-b-server.html"/>
    <id>http://www.convalesco.org/notes/2024/11/03/minidlna-raspberry-pi-model-b-server.html</id>
    <published>2024-11-03T22:46:00+02:00</published>
    <updated>2026-05-16T10:58:42+00:00</updated>
    <author>
      <name>atmosx</name>
    </author>
    <content type="html">&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="#introduction"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#hardware"&gt;Hardware Specs and Cost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#limitations"&gt;Hardware Limitations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#system-setup"&gt;System setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#configure-vsftpd"&gt;Configure vsFTPd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#configure-minidlna"&gt;Configure miniDLNA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;

&lt;p&gt;The Raspberry Pi Model B can serve as dedicated video streaming device. It&amp;rsquo;s small, silent, and doesn&amp;rsquo;t consume much power.
Given the Raspberry Pi&amp;rsquo;s limited specifications, it is not suited tasks for heavy-duty tasks, but it&amp;rsquo;s perfect for services such as &lt;a href="http://sourceforge.net/projects/minidlna/"&gt;miniDLNA&lt;/a&gt;.
MiniDLNA is a lightweight DLNA universal plug and play (UPnP) media server that can stream media files to video clients.&lt;/p&gt;

&lt;h2 id="hardware"&gt;Hardware Specs and Cost&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.raspberrypi.com/products/raspberry-pi-2-model-b/"&gt;Raspberry Pi Model B (Rev 2)&lt;/a&gt; runs on BCM2835 SoC featuring a &lt;strong&gt;700 MHz&lt;/strong&gt;, ARM11 dual core CPU (ARMv6 architecture) and &lt;strong&gt;512 MB&lt;/strong&gt; of RAM.
The Pi has 2 x USB 2.0 ports and 100Mbps ethernet. However the &lt;em&gt;actual&lt;/em&gt; data transfer speed is closer to 160 Mbps (~22 MB/s).&lt;/p&gt;

&lt;p&gt;The project will require a raspberry Pi case, EU RPi power cable, ethernet 10/100 cable, 512GB USB v2 drive
to store data and an 8GB SD card for the operating system and the applications that are going to be installed.&lt;/p&gt;

&lt;p&gt;In Greece, putting the required hardware together costs around 65€. The most likely target group for this post however, are techies
with spare parts lying around. Otherwise you might want to look for a modern alternative.&lt;/p&gt;

&lt;h2 id="limitations"&gt;Hardware Limitations&lt;/h2&gt;

&lt;p&gt;Using &lt;a href="https://iperf.fr/iperf-download.php"&gt;iperf3&lt;/a&gt; to measure bandwidth shows a maximum data transfer speed of approximately 80 Mbps.
Sustained speeds typically range from 40 to 60 Mbps for &lt;strong&gt;unencrypted connections&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Encryption significantly reduces data transfer speeds, with the Raspberry Pi&amp;rsquo;s CPU acting as a bottleneck for encryption and decryption processes.
The optimal way to upload media to the Pi is via FTP. If you need to use SSL, it&amp;rsquo;s better to terminate the SSL connection elsewhere.
Transferring 100MB of data through SSH took 81 seconds, while the same data transferred through FTP took around 22 seconds reaching an average speed of 40Mbps.&lt;/p&gt;

&lt;p&gt;Streaming 1080p content typically requires between 7 and 14 Mbps of bandwidth, depending on factors such as the codec, bitrate, number of audio streams, etc.
I have tested 720p and 1080p content and it worked without problems. In theory we should be able to stream 4k content as well, as it requires 25 to 35 Mbps, but I haven&amp;rsquo;t tested it.
I have not tested media transcoding on this device but I would advice against it.&lt;/p&gt;

&lt;h2 id="system-setup"&gt;System setup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dietpi.com/"&gt;DietPi&lt;/a&gt; and &lt;a href="https://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; are, IMO, the operating system of choice for Pi projects. In this case, I went with DietPi.
Follow the &lt;a href="https://dietpi.com/docs/install/"&gt;installation instructions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;lsblk&lt;/code&gt; command lists available storage devices, while &lt;code&gt;mkfs.ext4&lt;/code&gt; formats the selected partition to the &lt;code&gt;ext4&lt;/code&gt; filesystem. That can be done using the &lt;code&gt;cfdisk&lt;/code&gt; command.
To format and mount the USB disk:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1 461.3G  0 disk
└─sda1        8:1    1 461.2G  0 part /mnt/data
mmcblk0     179:0    0   7.4G  0 disk
├─mmcblk0p1 179:1    0   128M  0 part /boot
└─mmcblk0p2 179:2    0   7.3G  0 part /

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;mkfs.ext4 /dev/sda1
&lt;span class="o"&gt;[&lt;/span&gt;...]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Now you should be able to mount the disk to the &lt;code&gt;/mnt/data&lt;/code&gt; directory and create the media directories:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;mount /dev/sda1 /mnt/data
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo mkdir&lt;/span&gt; /mnt/data/&lt;span class="o"&gt;{&lt;/span&gt;sports,family&lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo chown &lt;/span&gt;dietpi:dietpi /mnt/data/&lt;span class="o"&gt;{&lt;/span&gt;sports,family&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;dietpi-drive_manager&lt;/code&gt; command can be used to configure the system to mount the USB drive automatically during startup.&lt;/p&gt;

&lt;h2 id="configure-vsftpd"&gt;Configure vsFTPd&lt;/h2&gt;

&lt;p&gt;The vsFTPd server allows secure file transfers over FTP. The settings provided ensure that users can only access specific directories and disable unnecessary features for a lightweight, secure setup.
The FTP protocol supports SSL, but it&amp;rsquo;s disabled in this setup to maximize data transfer speeds.
Assuming &lt;code&gt;vsFTPd&lt;/code&gt; has been installed, the configuration is set in file &lt;code&gt;/etc/vsftpd.conf&lt;/code&gt;: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;userlist_deny&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;local_root&lt;/span&gt;=/&lt;span class="n"&gt;mnt&lt;/span&gt;/&lt;span class="n"&gt;data&lt;/span&gt;
&lt;span class="n"&gt;listen&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;listen_ipv6&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;anonymous_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;local_enable&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;write_enable&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;local_umask&lt;/span&gt;=&lt;span class="m"&gt;002&lt;/span&gt;
&lt;span class="n"&gt;anon_upload_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;anon_mkdir_write_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;dirmessage_enable&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;use_localtime&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;connect_from_port_20&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;chown_uploads&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;xferlog_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;xferlog_file&lt;/span&gt;=/&lt;span class="n"&gt;var&lt;/span&gt;/&lt;span class="n"&gt;log&lt;/span&gt;/&lt;span class="n"&gt;vsftpd&lt;/span&gt;.&lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="n"&gt;xferlog_std_format&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;idle_session_timeout&lt;/span&gt;=&lt;span class="m"&gt;60&lt;/span&gt;
&lt;span class="n"&gt;data_connection_timeout&lt;/span&gt;=&lt;span class="m"&gt;30&lt;/span&gt;
&lt;span class="n"&gt;async_abor_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;ascii_upload_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;ascii_download_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;ftpd_banner&lt;/span&gt;=&lt;span class="n"&gt;DietPi&lt;/span&gt; &lt;span class="n"&gt;FTP&lt;/span&gt;
&lt;span class="n"&gt;chroot_local_user&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;chroot_list_enable&lt;/span&gt;=&lt;span class="n"&gt;NO&lt;/span&gt;
&lt;span class="n"&gt;ls_recurse_enable&lt;/span&gt;=&lt;span class="n"&gt;YES&lt;/span&gt;
&lt;span class="n"&gt;secure_chroot_dir&lt;/span&gt;=/&lt;span class="n"&gt;run&lt;/span&gt;/&lt;span class="n"&gt;vsftpd&lt;/span&gt;/&lt;span class="n"&gt;empty&lt;/span&gt;
&lt;span class="n"&gt;pam_service_name&lt;/span&gt;=&lt;span class="n"&gt;vsftpd&lt;/span&gt;
&lt;span class="c"&gt;# rsa_cert_file=/etc/ssl/private/vsftpd.pem
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The important part is the &lt;code&gt;local_root&lt;/code&gt; configuration here. This setup will make sure the &lt;code&gt;dietpi&lt;/code&gt; user can upload files only under the &lt;code&gt;/mnd/data&lt;/code&gt; directory. SSL is disabled of course.&lt;/p&gt;

&lt;h2 id="configure-minidlna"&gt;Configure miniDLNA&lt;/h2&gt;

&lt;p&gt;The miniDLNA configuration is set on &lt;code&gt;/etc/minidlna.conf&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;media_dir&lt;/span&gt;=&lt;span class="n"&gt;V&lt;/span&gt;,/&lt;span class="n"&gt;mnt&lt;/span&gt;/&lt;span class="n"&gt;data&lt;/span&gt;/&lt;span class="n"&gt;family&lt;/span&gt;
&lt;span class="n"&gt;media_dir&lt;/span&gt;=&lt;span class="n"&gt;V&lt;/span&gt;,/&lt;span class="n"&gt;mnt&lt;/span&gt;/&lt;span class="n"&gt;data&lt;/span&gt;/&lt;span class="n"&gt;sports&lt;/span&gt;
&lt;span class="n"&gt;db_dir&lt;/span&gt;=/&lt;span class="n"&gt;mnt&lt;/span&gt;/&lt;span class="n"&gt;dietpi_userdata&lt;/span&gt;/.&lt;span class="n"&gt;MiniDLNA_Cache&lt;/span&gt;
&lt;span class="n"&gt;log_level&lt;/span&gt;=&lt;span class="n"&gt;warn&lt;/span&gt;
&lt;span class="n"&gt;network_interface&lt;/span&gt;=&lt;span class="n"&gt;eth0&lt;/span&gt;
&lt;span class="n"&gt;port&lt;/span&gt;=&lt;span class="m"&gt;8200&lt;/span&gt;
&lt;span class="n"&gt;friendly_name&lt;/span&gt;=&lt;span class="n"&gt;DietPi&lt;/span&gt; &lt;span class="n"&gt;MiniDLNA&lt;/span&gt;
&lt;span class="n"&gt;serial&lt;/span&gt;=&lt;span class="m"&gt;12345678&lt;/span&gt;
&lt;span class="n"&gt;model_number&lt;/span&gt;=&lt;span class="m"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;inotify&lt;/span&gt;=&lt;span class="n"&gt;yes&lt;/span&gt;
&lt;span class="n"&gt;album_art_names&lt;/span&gt;=&lt;span class="n"&gt;Cover&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;cover&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;AlbumArtSmall&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;albumartsmall&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;AlbumArt&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;albumart&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;Album&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;album&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;Folder&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;folder&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;Thumb&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;/&lt;span class="n"&gt;thumb&lt;/span&gt;.&lt;span class="n"&gt;jpg&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Once the configuration is properly set and the service starts, the media files will be available to DLNA/UPnP clients.
MiniDLNA can stream music and images as well.&lt;/p&gt;

&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;The Raspberry Pi Model B breathes new life as a capable media server, offering a cost-effective way to share files and media with loved ones. With a few simple steps, it transforms from an outdated device to a valuable tool for your digital needs.&lt;/p&gt;
</content>
  </entry>
</feed>
