<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Posts on yiannikos.gr</title>
        <link>/posts/</link>
        <description>Recent content in Posts on yiannikos.gr</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 28 Jul 2024 19:19:22 +0300</lastBuildDate>
        <atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
        
        <item>
            <title>Project Showcase: Μείκτης Deej</title>
            <link>/posts/claymixer/</link>
            <pubDate>Sun, 28 Jul 2024 19:19:22 +0300</pubDate>
            
            <guid>/posts/claymixer/</guid>
            <description>&lt;h2 id=&#34;εισαγωγή&#34;&gt;Εισαγωγή&lt;/h2&gt;
&lt;p&gt;Σόρρυ που δεν ανέβασα πολλά πράγματα τον τελευταίο καιρό
(όχι πως κάποιος τα βλέπει σε αυτό το στάδιο). Ο λόγος που διέκοψα το hiatus
μου είναι πως πρόσφατα ολοκλήρωσα το πρώτο μου &amp;lsquo;πλήρες&amp;rsquo; project. Ιδού ο
&lt;strong&gt;CLAYMIXER 5000&lt;/strong&gt;:

    &lt;img src=&#34;https://www.yiannikos.gr/downloads/claymixer/claymixer1.jpg&#34;  alt=&#34;Claymixer Front&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


Ονομάζεται Claymixer λόγω του σχεδίου της πίσω πλευράς:

    &lt;img src=&#34;https://www.yiannikos.gr/downloads/claymixer/claymixer2.jpg&#34;  alt=&#34;Claymixer Back&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


Η λειτουργία του είναι αρκετά απλή. Κάθε ένα από τα faders (τα πράγματα που κινούνται πάνω κάτω) ελέγχουν την ένταση
σε ένα από τα προγράμματα του υπολογιστή σου. Λειτουργεί και σε Windows και σε Linux (βεβαίως) και μπορείς να αλλάξεις
την χρήση κάθε fader αλλάζοντας απλά ένα αρχείο κειμένου στον υπολογιστή σου.&lt;/p&gt;</description>
            <content type="html"><![CDATA[<h2 id="εισαγωγή">Εισαγωγή</h2>
<p>Σόρρυ που δεν ανέβασα πολλά πράγματα τον τελευταίο καιρό
(όχι πως κάποιος τα βλέπει σε αυτό το στάδιο). Ο λόγος που διέκοψα το hiatus
μου είναι πως πρόσφατα ολοκλήρωσα το πρώτο μου &lsquo;πλήρες&rsquo; project. Ιδού ο
<strong>CLAYMIXER 5000</strong>:

    <img src="https://www.yiannikos.gr/downloads/claymixer/claymixer1.jpg"  alt="Claymixer Front"  class="center"  style="border-radius: 8px;"  />


Ονομάζεται Claymixer λόγω του σχεδίου της πίσω πλευράς:

    <img src="https://www.yiannikos.gr/downloads/claymixer/claymixer2.jpg"  alt="Claymixer Back"  class="center"  style="border-radius: 8px;"  />


Η λειτουργία του είναι αρκετά απλή. Κάθε ένα από τα faders (τα πράγματα που κινούνται πάνω κάτω) ελέγχουν την ένταση
σε ένα από τα προγράμματα του υπολογιστή σου. Λειτουργεί και σε Windows και σε Linux (βεβαίως) και μπορείς να αλλάξεις
την χρήση κάθε fader αλλάζοντας απλά ένα αρχείο κειμένου στον υπολογιστή σου.</p>
<h2 id="pcb">PCB</h2>
<p>Αυτό το project μου επέτρεψε να μάθω μια νέα δεξιότητα: σχεδιασμός PCB (Printed Circuit Board). Έχω κάνει και άλλα project
ηλεκτρονικών στο παρελθόν, όπως έναν διακόπτη ήχου, αλλά πάντα οι ενώσεις ήταν μορφής &lsquo;spaghetti&rsquo;. Αυτή την φορά ήθελα να το
κάνω &lsquo;σωστά&rsquo;. Συνεπώς, εγκατέστησα το KiCAD και λίγες ώρες μετά (μάλλον θα ήταν πιο ακριβές εάν έλεγα αρκετές ώρες μετά) είχα έτοιμο το
πρώτο μου σχέδιο:

    <img src="https://www.yiannikos.gr/downloads/claymixer/pcb.png"  alt="Claymixer PCB"  class="center"  style="border-radius: 8px;"  />


Το κύκλωμα είναι αρκετά απλό, απλά ενώνει όλες τις γειώσεις και τα VCC από τα ποτενσιόμετρα στα αντίστοιχα pins του Arduino, και κάθε έξοδο
από κάθε ποτενσιόμετρο με το δικό του αναλογικό input pin στο Arduino. Δεν φαίνεται περίπλοκο (γιατί δεν είναι) αλλά κάνει πολύ πιο εύκολη
την διαδικασία εγκατάστασης. Οι πλακέτες κατασκευάσθηκαν από την JLCPCB και το κόστος ήταν πειπου €5 μαζί με τα μεταφορικά (!!!) για 5
πλακέτες. Σίγουρα μελλοντικά project μου θα αξιοποιήσουν PCB, ειδικά αν περιλαβάνουν πιο περίπλοκα κυκλώματα. Το κόστος είναι ελάχιστο
και απλά κάνουν την ζωή σου ευκολότερη. Ένα ακόμα προτέρημα είναι η ικανότητα να μοιραστείς τα σχέδιά σου. Έτσι εάν κάποιος άλλος αποφασίσει
να φτιάξει το ίδιο project θα ειναι και η δική του ζωη ευκολότερη :)</p>
<h2 id="κουτί---3d-printing">Κουτί - 3D Printing</h2>
<p>Ένα σημαντικό κομμάτι του project είναι το κουτί. Όσο και να μου αρέσει ένα καλό μεταλλικό κουτί, ο αγαπητός μου BambuLab A1 Mini μπορεί
να κάνει κάτι που δεν γίνεται εύκολα με άλλες μεθόδους κατασκευών: <em>FREE FLAIR</em>. Με τον όρο αυτό εννοώ πως ένα απλό (A.K.A. βαρετό)
παραλληλεπίπεδο θέλει τον ίδιο χρόνο και το ίδιο υλικό με την απομοίμηση M18A1 Claymore που κατέληξα να φτιάχνω. Οπότε γιατί να μην
ξοδέψω λίγες (μάλλον πολλές) ώρες ακόμα στο onshape ώστε να είναι πιο αξιοσημείωτο;</p>
<p>Η επιλογή να σχεδιάσω και να κατασκευάσω δικό μου κουτί μου επέτρεψε να μάθω περισσότερα για τον εκτιπωτή μου και για το CAD. Το διαφορετικό
χρώμα του κειμένου και των συμβόλων έγινε βάζοντας παύση πριν τα τελευταία δύο layer στο slicer ώστε να αλλάξω την καλούμπα με το filament.
Η ίδια μέθοδος χρησιμοποιήθηκε δύο φορές για να κάνω τα καπάκια των faders να είναι μαύρα στην μέση (δεν φαίνεται στις παραπάνω φωτογραφίες,
το έκανα από τo δεύτερo τεμάχιο).</p>
<p>Ένα σημαντικό κομμάτι του σχεδίου πιστεύω πως είναι οι βίδες. Εκτός από την κάθε βίδα σε κάθε γωνία, που ενώνει το καπάκι με την βάση μέσω
μπρούντζινων ένθετων σπειρωμάτων, τα faders είναι ενωμένα κατευθείαν με το καπάκι. Έτσι δεν μεταφέρονται δυνάμεις στις κασσυτεροκολλήσεις,
το οποίο νομίζω θα βοηθήσει στην μακροζωία της συσκευής. Επίσης μου αρέσουν οι DIN912 βίδες οπότε αν φαίνονται περισσότερες δεν το θεωρώ
αρνητικό.</p>
<h2 id="σφάλματα---20">Σφάλματα - 2.0</h2>
<p>Ως ένα από τα πρώτα μου project είναι αναπόφευκτο να κάνω και μερικά λάθη. Όποιος έχει αυτό που αποκαλώ &lsquo;μηχανικο-μάτι&rsquo; (ή έχει OCD)
θα παρατηρήσει πως οι αποστάσεις από κάθε fader δεν είναι ίσες. Αυτό το κατάλαβα αφότου έφτασαν οι πλακέτες, οπότε έπρεπε να αλλάξω
το σχέδιο του κουτιού. Η τρύπα για την θύρα USB είναι λίγο πιο χαμηλά από όσο θα έπρεπε, αλλά μπορεί να λιμαριστεί στην σωστή διάσταση εάν
το καλώδιο είναι πολύ μεγάλο. Η πλακέτα πιάνει στην γωνία που είναι το Arduino την άκρη του κουτιού, με αποτέλεσμα να μην κλείνει, αλλά
εύκολα διορθνεται λιμάροντας λίγα χιλιοστά σε γωνία 45°.</p>
<p>Εάν έφτιαχνα ένα Claymixer 2.0 θα άλλαζα μερικά πράγματα. Η πλακέτα θα σχεδιάζονταν πάλι, ώστε το καλώδιο να βγαίνει από δεξιά αντί για από
πίσω, και προφανώς να είναι σωστές οι αποστάσεις. Επί τη ευκαιρία ίσως άλλαζα τα faders σε Behringer, τα οποία υποτίθεται είναι πιο smooth.
Εάν άλλαζα το είδος του Microcontroller από Arduino Nano σε Arduino Micro θα μπορούσα να χρησιμοποιήσω την ίδια πλακέτα ως USB MIDI Device
για να μπορεί να χρησιμοποιηθεί και με προγράμματα παραγωγής μουσικής (FL Studio, Ableton, κ.α.) αλλάζοντας το ενσωματωμένο πρόγραμμα. Τέλος
, εάν χρησιμοποιύσα μαύρες βίδες αντί για ανοξείδωτες νομίζω θα φαίνοταν και πιο ωραίο και δεν θα έβλαπτε εάν η θύρα ήταν USB-C, ακόμα
καλύτερα αν θα ήταν και εφαρμοσμένη στο κουτί.</p>
<h2 id="φτιάξτο-μόνος-σου">Φτιάξ&rsquo;το μόνος σου</h2>
<p>Εάν θα σου άρεσε να έχεις και εσύ ένα και σου φάνηκε σαν καλο project, έχω όλα τα απαραίτητα αρχεία
<a href="https://www.yiannikos.gr/downloads/claymixer">εδώ</a>. Αν είσαι ο Δημήτρης, ο Μιχάλης ή ο Παναγιώτης μην ανησυχείς, σου έφτιαξα ένα ως
δώρο για <code>βάλε εδώ κοντινότερη εορτή σου</code>. Για ερωτήσεις στείλε κανένα e-mail, θα χαρώ να βοηθήσω. Μην ξεχάσεις να τσεκάρεις και το
<a href="https://github.com/omriharel/deej">αυθεντικό project</a> στο github που τα ενέπνευσε όλα.</p>
]]></content>
        </item>
        
        <item>
            <title>Το systemd δεν είναι χάλια (openrc rant)</title>
            <link>/posts/systemd-is-actually-good/</link>
            <pubDate>Fri, 14 Apr 2023 23:00:41 +0300</pubDate>
            
            <guid>/posts/systemd-is-actually-good/</guid>
            <description>&lt;h2 id=&#34;γιατί-να-μην-χρησιμοποιήσεις-systemd&#34;&gt;Γιατί να μην χρησιμοποιήσεις systemd&lt;/h2&gt;
&lt;p&gt;Εάν ψάχνεις για linux distros κάποια στιγμή μπορεί να καταλήξεις σε μερικά
που δεν έχουν systemd ως init system όπως Gentoo, Alpine, Void ή στην δική
μου περίπτωση Artix. Οι κοινότητές τους ισχυρίζονται πως το systemd δεν
είναι κατάλληλο για χρήση καθώς δεν ακολουθεί φιλοσοφία UNIX (φτιάξε ένα
πρόγραμμα που κάνει μία δουλειά καλά και χρησιμοποίησε άλλα προγράμματα
για επιπλέον λειτουργείες). Οπότε το systemd που εκτός από init system
είναι και bootloader και διαθέτει και άλλες λειτουργίες. Επίσης πολλοί
έχουν beef με τον main developer οπότε και αυτό ενισχύει την αντιπάθεια
ενάντια στο systemd πολλών ατόμων. Έτσι καταλήξαμε να υπάρχουν μερικά ακόμα
init systems όπως το s6, το openrc που χρησιμοποιώ και το runit.
Εγκατέστησα Artix (είναι ίδιο με Arch) με openrc και η εμπειρία μου ήταν
πολύ ευχάριστη, γιατί τα περισσότερα services ήταν διαθέσιμα και σε openrc
και μου άρεσε πολύ που το output γιατί ήταν πολύ πιο κατανοητό σε σχέση με το
systemd. Σε περιβάλλον προσωπικής χρήσης έμεινα πολύ ευχαριστημένος και θα
πρότεινα σε όποιον κάνει distro-hopping να του ρίξει μια ματιά για να
καταλάβει και καλύτερα τι ρόλο παίζει το init system στο σύστημά του.&lt;/p&gt;</description>
            <content type="html"><![CDATA[<h2 id="γιατί-να-μην-χρησιμοποιήσεις-systemd">Γιατί να μην χρησιμοποιήσεις systemd</h2>
<p>Εάν ψάχνεις για linux distros κάποια στιγμή μπορεί να καταλήξεις σε μερικά
που δεν έχουν systemd ως init system όπως Gentoo, Alpine, Void ή στην δική
μου περίπτωση Artix. Οι κοινότητές τους ισχυρίζονται πως το systemd δεν
είναι κατάλληλο για χρήση καθώς δεν ακολουθεί φιλοσοφία UNIX (φτιάξε ένα
πρόγραμμα που κάνει μία δουλειά καλά και χρησιμοποίησε άλλα προγράμματα
για επιπλέον λειτουργείες). Οπότε το systemd που εκτός από init system
είναι και bootloader και διαθέτει και άλλες λειτουργίες. Επίσης πολλοί
έχουν beef με τον main developer οπότε και αυτό ενισχύει την αντιπάθεια
ενάντια στο systemd πολλών ατόμων. Έτσι καταλήξαμε να υπάρχουν μερικά ακόμα
init systems όπως το s6, το openrc που χρησιμοποιώ και το runit.
Εγκατέστησα Artix (είναι ίδιο με Arch) με openrc και η εμπειρία μου ήταν
πολύ ευχάριστη, γιατί τα περισσότερα services ήταν διαθέσιμα και σε openrc
και μου άρεσε πολύ που το output γιατί ήταν πολύ πιο κατανοητό σε σχέση με το
systemd. Σε περιβάλλον προσωπικής χρήσης έμεινα πολύ ευχαριστημένος και θα
πρότεινα σε όποιον κάνει distro-hopping να του ρίξει μια ματιά για να
καταλάβει και καλύτερα τι ρόλο παίζει το init system στο σύστημά του.</p>
<h2 id="γιατί-να-χρησιμοποιήσεις-systemd">Γιατί να χρησιμοποιήσεις systemd</h2>
<p>Όταν έκανα τον παλίο μου υπολογιστή server αποφάσισα να βάλω πάλι Artix
αντί για Arch επειδή είχα θέμα με το archinstall. Μεγάλο λάθος. Επειδή σαν
server χρειάζομαι service για κάθε πρόγραμμα που τρέχω πρακτικά, μπόρεσα να
καταλάβω πόσο λιγότερο διαθέσιμα είναι. Τα βασικά / πιο διάσημα προγράμματα
διαθέτουν και κανονικά services από τα repositories του Artix όμως πολλά
έχουν μονάχα για systemd. Το οποίο σου δίνει ορισμένες επιλογές.</p>
<ul>
<li>Η μία επιλογή είναι να ψάξεις σε άλλα distros όπως Alpine ή Gentoo για το
service του προγράμματος.</li>
<li>Η άλλη επιλογή είναι να βάλεις το service από systemd στην σελίδα
<a href="http://openrc.run">openrc.run</a> και εάν είναι απλή μπορεί να σου την κάνει
convert.</li>
<li>Τέλος εάν είσαι διατεθημένος μπορείς να γράψεις μία μόνος σου, με
βοήθεια από documentation και τεχνητή νοημοσύνη.</li>
</ul>
<p>Οπότε εάν ένα πρόγραμμα είναι αρκετά σπάνιο ωστε να μην υπάρχει διαθέσιμο
service στα repos (όχι πολύ σπάνιο δηλαδή) και αρκετά περίπλοκο ώστε να μην
μπορέις να φτιάξεις μόνος σου το service με τις παραπάνω εύκολες επιλογές
τότε απλά δεν το χρησιμοποιείς. Αυτό κατέληξα να κάνω με ορισμένες επιλογές
όταν έψαχνα προγράμματα για mail server. Όπως και να έχει, επειδή ένας server
πρέπει να είναι αξιόπιστος, μην προσπαθείς να είσαι edgy και alternative
και βάλε ένα φυσιολογικό distro φτιαγμένο για σερβερ.</p>
]]></content>
        </item>
        
        <item>
            <title>Πως να εγκαταστήσεις Minecraft χωρίς να σου βγει η Παναγία (σε Windows)</title>
            <link>/posts/minecraft/</link>
            <pubDate>Sat, 11 Mar 2023 15:23:49 +0200</pubDate>
            
            <guid>/posts/minecraft/</guid>
            <description>&lt;h2 id=&#34;εισαγωγή&#34;&gt;Εισαγωγή&lt;/h2&gt;
&lt;p&gt;Κάθε φορά που προσπαθώ να εγκαταστήσω Minecraft μου βγαίνει η πίστη. Σε γενικές γραμμές παρουσιάζονται τα εξής προβλήματα που κάνουν την
ζωή μου δύσκολη:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Η εγκατάσταση της Java μέσω του installer (ο Θεός να το κάνει) της Oracle είναι μπελάς. Πολλές φορές δεν θα ανανεωθεί σωστά το environment
variable ή δεν θα είναι η σωστή έκδοση ως προεπιλογή και επίσης όλη η διαδικασία με τα installer είναι ενοχλητική για οποιονδήποτε έχει
χρησιμοποιήσει έστω και μία φορά package manager.&lt;/li&gt;
&lt;li&gt;Το launcher της Microsoft δεν μπορεί να κατεβάσει σωστά τα απαραίτητα αρχεία. Το included JRE του launcher ποτέ δεν δουλεύει και σαν να
μην έφτανε αυτό όταν προσπαθεί να κατεβάσει τα αρχεία του Minecraft σταματάει στην μέση και σου βγάζει ένα σφάλμα της μορφής: &lt;em&gt;δεν μπόρεσα
να κατεβάσω το αρχείο στην διεύθυνση (λινκ) στον φάκελο (τάδε)&lt;/em&gt;. Αντί να προσπαθήσει πάλι το πρόγραμμα που η &lt;strong&gt;δουλειά&lt;/strong&gt; του είναι να
κατεβάζει αρχεία η Microsoft αποφάσισε πως το κατάλληλο course of action είναι να μπεις ο ίδιος στο λινκ και να το κατεβάσεις μόνος σου στον
σωστό φάκελο. Α και αν πατήσεις καταλάθος οκ στο σφάλμα δεν μπορείς να ανοίξεις πάλι το παράθυρο για να δεις που είναι. Ιδιοφυές το ξέρω.&lt;/li&gt;
&lt;li&gt;Δεν μπορείς να επιλέξεις ποιό JRE θέλεις. Εάν το environment variable της Java σε πάει στην έκδοση 8: Κρίμα. Καλή τύχη να το αλλάξεις
χωρίς να κάνεις κανένα λάθος και καταστρέψεις το $PATH.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Αυτά τα προβλήματα λύνονται αλλάζοντας δύο πράγματα: την μέθοδο εγκατάστασης της Java και το Launcher&lt;/p&gt;</description>
            <content type="html"><![CDATA[<h2 id="εισαγωγή">Εισαγωγή</h2>
<p>Κάθε φορά που προσπαθώ να εγκαταστήσω Minecraft μου βγαίνει η πίστη. Σε γενικές γραμμές παρουσιάζονται τα εξής προβλήματα που κάνουν την
ζωή μου δύσκολη:</p>
<ul>
<li>Η εγκατάσταση της Java μέσω του installer (ο Θεός να το κάνει) της Oracle είναι μπελάς. Πολλές φορές δεν θα ανανεωθεί σωστά το environment
variable ή δεν θα είναι η σωστή έκδοση ως προεπιλογή και επίσης όλη η διαδικασία με τα installer είναι ενοχλητική για οποιονδήποτε έχει
χρησιμοποιήσει έστω και μία φορά package manager.</li>
<li>Το launcher της Microsoft δεν μπορεί να κατεβάσει σωστά τα απαραίτητα αρχεία. Το included JRE του launcher ποτέ δεν δουλεύει και σαν να
μην έφτανε αυτό όταν προσπαθεί να κατεβάσει τα αρχεία του Minecraft σταματάει στην μέση και σου βγάζει ένα σφάλμα της μορφής: <em>δεν μπόρεσα
να κατεβάσω το αρχείο στην διεύθυνση (λινκ) στον φάκελο (τάδε)</em>. Αντί να προσπαθήσει πάλι το πρόγραμμα που η <strong>δουλειά</strong> του είναι να
κατεβάζει αρχεία η Microsoft αποφάσισε πως το κατάλληλο course of action είναι να μπεις ο ίδιος στο λινκ και να το κατεβάσεις μόνος σου στον
σωστό φάκελο. Α και αν πατήσεις καταλάθος οκ στο σφάλμα δεν μπορείς να ανοίξεις πάλι το παράθυρο για να δεις που είναι. Ιδιοφυές το ξέρω.</li>
<li>Δεν μπορείς να επιλέξεις ποιό JRE θέλεις. Εάν το environment variable της Java σε πάει στην έκδοση 8: Κρίμα. Καλή τύχη να το αλλάξεις
χωρίς να κάνεις κανένα λάθος και καταστρέψεις το $PATH.</li>
</ul>
<p>Αυτά τα προβλήματα λύνονται αλλάζοντας δύο πράγματα: την μέθοδο εγκατάστασης της Java και το Launcher</p>
<h2 id="winget">Winget</h2>
<p>Το ήξερες πως η Microsoft έχει βάλει package manager όπως τα Linux στα Windows? Ούτε εγώ και μάλλον και κανένας. Το winget είναι ένα
πολύ user-friendly πρόγραμμα (αν δεν σε πειράζει να ανοίξεις μία γραμμή εντολών) που σου επιτρέπει να εγκαταστήσεις και να κάνεις update
όλα σου τα προγράμματα <em>ταυτόχρονα</em>, εάν βεβαίως έχουν εγκατασταθεί μέσω winget. Για να ψάξεις για ένα πρόγραμμα (όπως το openjdk στην δική
μας περίπτωση) άνοιξε ένα cmd ή ένα
powershell και γράψε:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-powershell" data-lang="powershell"><span style="display:flex;"><span>winget search openjdk</span></span></code></pre></div>
<p>Θα σου βγάλει πολλά αποτελέσματα αλλά σε γενικές γραμμές θα υπάρχει πρώτα μία στήλη με ονόματα και δίπλα της άλλη μία με id. Βρες
το συγκεκριμένο πρόγραμμα που θες (στην δική μας περίπτωση το <em>ojdkbuild OpenJDK 17</em> με id <em>ojdkbuild.openjdk.17.jdk</em>). Πήγαινε πίσω στο
cmd/powershell σου και γράψε</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-powershell" data-lang="powershell"><span style="display:flex;"><span>winget install ojdkbuild.openjdk.17.jdk</span></span></code></pre></div>
<p>Συμφώνησε σε ότι σε ρωτάει και λογικά όλα θα πάνε καλά. Κάνε και μία επανεκκίνηση για να είμαστε σίγουροι.</p>
<p>Παρεμπειπτόντως εάν θέλεις να κάνεις update <strong>όλα</strong> τα προγράμματά σου μπορείς να
τρέξεις:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-powershell" data-lang="powershell"><span style="display:flex;"><span>winget upgrade --all</span></span></code></pre></div>
<h2 id="multimc">MultiMC</h2>
<p>Ωραία τώρα που έχουμε JRE μπορούμε να εγκαταστήσουμε το Minecraft. Θα χρησιμοποιήσουμε MultiMC αντί για το αυθεντικό launcher επειδή μας
επιτρέπει να διαλέξουμε <em>που</em> βρίσκεται η Java και έχει κιόλας και τα εξής προτερήματα:</p>
<ul>
<li>Μπορείς να έχεις πολλαπλά instances με mods</li>
<li>Ανοίγει πιο γρήγορα από το αυθεντικό</li>
</ul>
<p>Εγκατέστησέ το μέσω της <a href="https://multimc.org/#Download">σελίδας του</a>. Θα είναι ένα αρχείο .zip και αφού το κάνεις extract θα είναι έτοιμο
δεν χρειάζεται εγκατάσταση οπότε βάλε τον φάκελο του κάπου που δεν θα διαγραφτεί καταλάθος (όχι στα Downloads π.χ.) και φτιάξε ένα shortcut
στο Desktop για το .exe αρχείο εντός του φακέλου. Μετά άνοιξέ το .exe και θα σου ζητήσει να κάνεις ένα αρχικό setup όπου επιλέξεις την Java
σου, οπότε διάλεξε την openjdk που μόλις εγκατέσησες. Σε αυτό το παράθυρο μπορείς να επιλέξεις πόση θα είναι η μέγιστη ram που θα μπορεί
να καταναλώσει το Minecraft οπότε ανέβασε το από το 1GB (1024 MB) στα 4 ή και παραπάνω αν το σηκώνει το σύστημά σου. Μετά θα κλικάρεις πάνω
δεξιά στα profiles όπου θα συνδεθείς με τον λογαριασμό σου (Mojang ή Microsoft). Πλέον μπορείς να φτιάξεις ένα νέο instance σε όποια έκδοση
θέλεις και να εγκαταστήσεις Forge ή Fabric με ένα κλικ! Κάνε τουλάχιστον μία φορά launch χωρίς offline mode για να κατεβάσεις τα αρχεία από
την Microsoft και λογικά θα είσαι έτοιμος. Εάν σου βγάλει σφάλμα <em>failed to run processor: java.net.ConnectException:Connection timed out</em>
δεν ξέρω πως φτιάχνεται δυστυχώς το μόνο που έχω δει να δουλεύει είναι γίνε πειρατής και πάρε TL Launcher. Δεν προτείνω να το κάνεις
αλλά εάν το κάνεις ζήτα από τον φίλο σου που τρέχει server να τον κάνει offline mode ώστε να μπορείς να μπαίνεις και εσύ. Κάνε και κανένα
τάμα στην Παναγία πριν ξεκινήσεις γιατί όποτε ασχολείσαι με την Java χρειάζεται.</p>
]]></content>
        </item>
        
        <item>
            <title>My First Post</title>
            <link>/posts/my-first-post/</link>
            <pubDate>Fri, 10 Mar 2023 11:07:25 +0200</pubDate>
            
            <guid>/posts/my-first-post/</guid>
            <description>&lt;h2 id=&#34;test-post&#34;&gt;Test post&lt;/h2&gt;
&lt;p&gt;If you read this that means that my website is &lt;em&gt;up and running&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;And by &lt;strong&gt;my&lt;/strong&gt; website I mean the &lt;a href=&#34;https://www.yiannikos.gr&#34;&gt;Yiannikos&lt;/a&gt; website!&lt;/p&gt;
&lt;p&gt;Τα ελληνικά δουλεύουν;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#include&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt; () 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#a6e22e&#34;&gt;printf&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello, Code snippet!!&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
            <content type="html"><![CDATA[<h2 id="test-post">Test post</h2>
<p>If you read this that means that my website is <em>up and running</em></p>
<p>And by <strong>my</strong> website I mean the <a href="https://www.yiannikos.gr">Yiannikos</a> website!</p>
<p>Τα ελληνικά δουλεύουν;</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-C" data-lang="C"><span style="display:flex;"><span><span style="color:#75715e">#include</span> <span style="color:#75715e">&lt;stdio.h&gt;</span><span style="color:#75715e">
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">int</span> <span style="color:#a6e22e">main</span> () 
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>	<span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;Hello, Code snippet!!</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>);
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">return</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span>}</span></span></code></pre></div>
]]></content>
        </item>
        
    </channel>
</rss>
