Tue, Feb 23, 2021

5 συμβουλές για να μάθετε μια νέα γλώσσα προγραμματισμού

5 συμβουλές για να μάθετε μια νέα γλώσσα προγραμματισμού

Η ασχολία μου με το ελεύθερο λογισμικό περιορίζεται κυρίως σε θέματα engagement (προώθηση, άρθρα, ομιλίες σε συνέδρια, παρουσίες σε συνέδρια κλπ) και σε μεταφράσεις. Η αλήθεια είναι ότι όλα αυτά τα χρόνια, εάν είχα ξεκινήσει την εκμάθηση μιας γλώσσας προγραμματισμού, τώρα θα ήμουν ειδικός.

Από τα χρόνια που ασχολούμαι με το ελεύθερο λογισμικό, έχω έρθει σε επαφή με πολλά άτομα, η πλειοψηφία των οποίων μου έχει πει ότι όλες τις γνώσεις περί μιας γλώσσας προγραμματισμού, δεν τις έμαθε στο πανεπιστήμιο. Όλοι διάβασαν και ασχολήθηκαν μόνοι τους.

Ακόμη μια αλήθεια είναι ότι εάν γνωρίζεις μια γλώσσα προγραμματισμού, είναι εύκολο να μάθεις την επόμενη. Προφανώς γνωρίζεις τον τρόπο εκμάθησης και επίσης πολλές τεχνικές μπορεί να είναι ίδιες.

Ας δούμε όμως κάποια tips για το πως μπορείτε να μάθετε μια ΝΕΑ γλώσσα προγραμματισμού:

1. ΑΠΟΦΑΣΙΣΤΕ ΤΟ ΜΕΣΟ ΕΚΜΑΘΗΣΗΣ


Μέσο εκμάθησης εννοείται εάν θα είναι βιβλίο, εάν θα είναι κάποιο ασύγχρονο μάθημα στο διαδίκτυο ή κάποιον άλλο τρόπο που θεωρείτε εσείς ότι σας ταιριάζει. Εάν μάλιστα θέλετε να μάθετε την γλώσσα προγραμματισμού με ένα φίλο σας, τότε φροντίστε να διαβάζετε από τον ίδιο τίτλο. Σε περίπτωση που κάποιος έχει πρόβλημα, μπορεί ο άλλος να τον βοηθήσει.

Μαθήματα online (δωρεάν και επί πληρωμή):
https://www.w3schools.com/
https://www.udemy.com/
https://www.coursera.org/
Πολλές σειρές στο Youtube (τόσο στα Ελληνικά, όσο και στα Αγγλικά)

2. ΝΑ ΜΑΘΑΙΝΕΤΕ ΛΙΓΟ ΚΑΘΕ ΜΕΡΑ


Αφού αποφασίσατε το μέσο εκμάθησης, σειρά έχει η συχνότητα. Προσπαθήστε να διαβάζετε από λίγο κάθε μέρα. Αυτό θα είναι πχ 10 λεπτά από τον χρόνο σας; Θα είναι η ολοκλήρωση του κεφαλαίου; Χωρίστε το ανάλογα με τις αντοχές σας.

Θυμηθείτε ότι η συχνότητα είναι πιο σημαντική της ποσότητας. Εάν αφήσετε κάτι, θα σας αφήσει και αυτό.

3. ΑΚΟΛΟΥΘΗΣΤΕ ΤΗΝ ΣΕΙΡΑ ΤΟΥ ΜΕΣΟΥ


Όταν ξεκινάτε την ανάγνωση, μην παρακάμπτετε σελίδες, θεωρώντας ότι γνωρίζετε τι λέει. Συνήθως θα παρακάμψετε πολλές σελίδες που μπορεί να έχουν μια πληροφορία που δεν την γνωρίζετε και στις παρακάτω σελίδες να την χρησιμοποιήσουν, οπότε θα ανατρέξετε στα προηγούμενα ή μπορεί και να εκνευριστείτε και να σταματήσετε.
Οι συγγραφείς του μέσου, έχουν μια λογική σειρά που θα οδηγήσουν σε κάποιο τελικό αποτέλεσμα. Πιθανό να λείπουν κάποιες πληροφορίες για προχωρημένους. Στο χέρι σας είναι να ψάξετε, έχοντας την βάση της γλώσσας προγραμματισμού.

4. ΠΩΣ ΝΑ ΜΗΝ ΞΕΧΝΑΩ;


Η απάντηση στην ερώτηση είναι ότι μαθαίνεις με την επανάληψη. Πως θα κάνεις την επανάληψη; Προχώρησε ένα βήμα παραπέρα. Προσπάθησε να λύσεις ασκήσεις που θα κάνουν χρήση των γνώσεων που έμαθες. Έτσι θα μάθεις πως χρησιμοποιείται η τεχνική ή η εντολή.

5. ΞΕΚΙΝΑ ΔΙΚΟ ΣΟΥ PROJECT


Με λίγα λόγια εξάσκηση. Όταν ξεκινάς ένα δικό σου project θα ψάχνεις πως γίνεται μια τεχνική που δεν γνωρίζεις-έμαθες. Θα κάνεις μια αναζήτηση πχ σε stack overflow.

Εσείς μαθαίνετε κάποια γλώσσα προγραμματισμού; Αν ναι, υπάρχουν κάποια tips που θέλετε να τα μοιραστείτε;

Wed, Feb 17, 2021

Ένωση πολλών εικόνων σε ένα .pdf

ImageMagick

Η ΑΝΑΓΚΗ

Η τηλε-εκπαίδευση μπορεί να ήταν και πολύ βοηθητική για κάποιους, αφού δεν ήταν απαραίτητο να κρατούν σημειώσεις σε χαρτί κατά την ώρα της παράδοσης, αλλά να παρακολουθούν τον καθηγητή και να κατανοούν καλύτερα το αντικείμενο. Η εμπέδωση γίνεται με την επανάληψη των αρχείων που παρέχουν οι καθηγητές μέσω πλαφόρμας ασύγχρονης εκπαίδευσης του κάθε ιδρύματος. Αντί χειρόγραφων σημειώσεων, δίνεται η δυνατότητα της λήψης στιγμιοτύπου οθόνης (screenshot), με ότι πιθανές σημειώσεις έχει γράψει ο καθηγητής. Πως μπορείτε να λάβετε ένα στιγμιότυπο οθόνης; Δείτε παρακάτω για τα διαφορετικά λειτουργικά συστήματα:
  • LINUX: Πατάτε το πλήκτρο PrtScr και ανοίγει το πρόγραμμα λήψης στιγμιοτύπου οθόνης και αποθηκεύει (αυτόματα) όλη την οθόνη σας μέσα στον φάκελο των εικόνων.
  • MAC OSX: Πατήστε το συνδυασμό Command+Shift+3 και σας αποθηκεύει την εικόνα στην επιφάνεια εργασίας σας.
  • Windows: Πατήστε το συνδυασμό Windows key + Print Screen key και θα σας αποθηκεύσει την εικόνα στον φάκελο Εικόνες>Στιγμιότυπα οθόνης.

Όλες αυτές τις εικόνες (συνήθως png), μπορείτε να τις βλέπετε μια-μια με το πρόγραμμα προβολής εικόνων. Είναι όμως καλύτερα να τις προσθέσετε σε ένα αρχείο pdf. Το αρνητικό και στις δυο περιπτώσεις είναι ότι δεν μπορείτε να κάνετε αναζήτηση ενός όρου, αφού είναι εικόνες.

ΤΟ ΠΡΟΒΛΗΜΑ

Μετά από λίγη αναζήτηση στο Internet, η λύση ήταν απλή. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:
convert *.png out.pdf

Αυτό που κάνει η παραπάνω εντολή είναι να πάρει όλα τα αρχεία με κατάληξη .png και τα προσθέτε σε ένα αρχείο .pdf. Όμως με την εκτέλεση αυτής της εντολής, λάμβανα ένα μήνημα σφάλματος:
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.

Μετά από λίγη αναζήτηση, βρήκα στο stackoverflow παρόμοιο πρόβλημα. Να δούμε τι λύση δώσανε λοιπόν.

Η ΛΥΣΗ

Ουσιαστικά έπρεπε να δικαιώματα εγγραφής στο ImageMagick.
sudo nano /etc/ImageMagick-6/policy.xml

Στην περίπτωσή σας μπορεί να είναι το αρχείο /etc/ImageMagick-7/policy.xml, ανάλογα με την έκδοση του ImageMagick που έχετε.

Ουσιαστικά πρέπει να σβήσετε ένα κομμάτι και να προσθέσετε μια γραμμή. Προσωπικά κράτησα με σχόλιο όπως βλέπετε παρακάτω:
<!--
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
-->

Και μετά πρόσθεσα την παρακάτω γραμμή:
<policy domain="module" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}">

Επειδή οι εικόνες είναι πολλές σε αριθμό, μπορεί να μην σας τις προσθέσει όλες με την πρώτη. Καλύτερα είναι να τις προσθέσετε ανά μάθημα και στο τέλος να ενώσετε τα pdf με την εντολή:
pdfunite *.pdf out.pdf

Αυτό υπάρχει στα εργαλεία poppler-utils. Για περισσότερες πληροφορίες πως μπορείτε να ενώσετε πολλά pdf σε ένα, δείτε σε προηγούμενο άρθρο.

Κοινοποιήστε το παρόν άρθρο σε φίλο σας που προσπαθεί να ενώσει πολλές εικόνες σε ένα pdf. Θα του σώσετε αρκετό χρόνο.

Tue, Feb 09, 2021

4 τρόποι για να ενώσετε πολλά .pdf σε ένα μεγάλο

4 τρόποι για να ενώσετε πολλά .pdf σε ένα μεγάλο

ΤΟ ΠΡΟΒΛΗΜΑ

Έστω ότι συγκεντρώνετε πολλά αρχεία pdf. Είτε σχολή λέγεται αυτό, είτε εργασία; Το πρόβλημα που αντιμετωπίζουν πολλοί είναι η εύρεση της πληροφορίας όταν την χρειάζονται. Σίγουρα μπορεί να γίνει και μέσα από το λειτουργικό σύστημα αλλά αρκετές φορές δεν έχει επιτυχία. Οπότε μια καλή λύση είναι η ένωση σε ένα αρχείο, όλων των pdf που έχουν το ίδιο αντικείμενο, ώστε να αναζητάτε μέσα από το πρόγραμμα ανάγνωσης pdf. Εδώ θα εξετάσουμε πως μπορείτε με μια κίνηση, να ενώσετε πολλά pdf.

Η ΛΥΣΗ

Μέχρι στιγμής, βρήκα 4 λύσεις:

ΛΥΣΗ 1:

Εγκαταστήστε το poppler-utils με την παρακάτω εντολή:
#Σε openSUSE
sudo zypper in poppler-tools

#Σε Ubuntu/Linux Mint
sudo apt install poppler-utils

#Σε Arch Linux
sudo pacman -S poppler

Στη συνέχεια, στον κατάλογο με τα pdf, εκτελέστε την εντολή:
pdfunite *.pdf out.pdf


ΛΥΣΗ 2:

Εγκαταστήστε το πρόγραμμα pdftk με την παρακάτω εντολή:
#Σε openSUSE
sudo zypper in pdftk

#Σε Ubuntu/Linux Mint
sudo apt install pdftk

#Σε Arch Linux
sudo pacman -S pdftk

Έστω ότι είστε φοιτητής και έχετε οργανώσει τις διαλέξεις ανά φάκελο (με ότι πιθανά αρχεία να σας έχουν δώσει). Δώστε την παρακάτω εντολή:
pdftk lecture?/*.pdf cat output lecturesall.pdf

Αυτό που θα κάνει είναι να μπει σε ένα ένα φάκελο, θα δει αν έχει κάποιο αρχείο pdf και θα το ενώσει σε ένα pdf.

ΛΥΣΗ 3:

Χρήση latex. Εγκαταστήστε το παρακάτω πακέτο.
#Σε openSUSE
sudo zypper in texlive-latex-base

#Σε Ubuntu/Linux Mint
sudo apt install texlive-latex-base

#Σε Arch Linux
sudo pacman -S texlive-latexextra

Εστω ότι έχετε τα αρχεία file1.pdf και file2.pdf στον ίδιο φάκελο. Φτιάξτε το αρχείο output.tex με το περιεχόμενο:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

Εκτελέστε την εντολή:
pdflatex output.tex


ΛΥΣΗ 4:

Μπορείτε να κατασκευάσετε ένα script στο Nautilus:
Εγκαταστήστε το πακέτο (εάν δεν το έχετε):
#Σε openSUSE
sudo zypper in poppler-tools

#Σε Ubuntu/Linux Mint
sudo apt install poppler-utils

#Σε Arch Linux
sudo pacman -S poppler

Κατασκευάστε ένα αρχείο μέσα στον κατάλογο nautilus/scripts
nano ~/.local/share/nautilus/scripts/merge_pdfs.sh

Στην συνέχεια προσθέστε το παρακάτω κώδικα:
#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Το αρχείο αυτό κάντε το εκτελέσιμο (πατήστε δεξί πλήκτρο πάντω του > Ιδιότητες > Δικαιώματα > Να επιτρέπεται η εκτέλεση του αρχείου ως προγράμματος). Εναλλακτικά δώστε την παρακάτω εντολή:
chmod +x ~/.local/share/nautilus/scripts/merge_pdfs.sh

Τώρα για να ενώσετε τα αρχεία, φωτίστε τα στον φάκελο στο Nautilus, πατήστε δεξί πλήκτρο > Δέσμες ενεργειών (scripts) και επιλέξτε το merge_pdfs.sh για να σας εξάγει ένα αρχείο pdf.

Εάν βρήκατε κάποιον τρόπο εύκολο στην χρήση, ενημερώστε και τους φίλους σας ώστε να μην παιδεύονται.

Wed, Nov 11, 2020

Εγκατάσταση Code::Blocks σε διανομές GNU/Linux και ρυθμίσεις (αλλαγή θέματος, ρυθμίσεις τερματικού)

Code::Blocks
Το Code::Blocks είναι ένα δωρεάν εργαλείο με περιβάλλον ανάπτυξης κώδικα C, C ++ και Fortran, κατασκευασμένο για να ικανοποιεί τις πιο απαιτητικές ανάγκες των χρηστών του. Είναι σχεδιασμένο να είναι πολύ επεκτάσιμο και πλήρως διαμορφώσιμο.

Στο Code::Blocks μπορούν να ενεργοποιηθούν πολλά πρόσθετα. Για παράδειγμα, η λειτουργία μεταγλώττισης και εντοπισμού σφαλμάτων παρέχεται ήδη από πρόσθετα!

Εδώ θα δούμε πως εγκαθιστάτε το Code::Blocks πολύ εύκολα σε διανομές Linux. Για αρχή, υπάρχει η ιστοσελίδα λήψεων εδώ.

Εγκατάσταση με χρήση flatpak

Η πιο σίγουρη λύση για εγκατάσταση είναι μέσω του flatpak.
Ανοίξτε τερματικό και εκτελέστε την εντολή:
sudo flatpak install org.codeblocks.codeblocks

Εγκατάσταση σε openSUSE

Στο openSUSE η εγκατάσταση είναι πολύ απλή. Θα χρησιμοποιήσετε την τεχνολογία 1-click-install. Μετακινηθείτε στην σελίδα:

https://software.opensuse.org/package/codeblocks

Εκεί επιλέξτε την έκδοση που έχετε εγκατεστημένη (μπορείτε να πατήσετε και εδώ επάνω στην έκδοσή σας): Και θα ανοίξει ένα ymp αρχείο, θα προσθέσει το αποθετήριο devel:tools:ide, από όπου θα γίνει η εγκατάσταση του Code:Blocks.

Εναλλακτικά με τερματικό, μπορείτε να χρησιμοποιήσετε τις εντολές:

- Για openSUSE Leap 15.2:
su -
zypper ar http://download.opensuse.org/repositories/devel:/tools:/ide/openSUSE_Leap_15.2/ devel:tools:ide
zypper in codeblocks

Εγκατάσταση σε Arch Linux

Ανοίξτε το τερματικό και πληκτρολογήστε:
sudo pacman -S codeblocks

Εγκατάσταση σε Ubuntu/Linux Mint

Σε Ubuntu, θα βρείτε τα πάντα στην διεύθυνση https://launchpad.net/~codeblocks-devs. Μάλιστα εντύπωση που έκανε που το διατηρεί Ελληνας.

Εδώ θα πρέπει να προσθέσετε το αποθετήριο και μετά να κάνετε μια ενημέρωση των αποθετηρίων, καταλήγοντας στην εγκατάσταση με τις παρακάτω εντολές:
sudo add-apt-repository ppa:codeblocks-devs/release
sudo apt-get update
sudo apt-get install codeblocks codeblocks-contrib


Ελπίζουμε να μην βρήκατε ιδιαίτερα δύσκολη την εγκατάσταση του Code::Blocks.
Code::Blocks
Αφού εγκαταστήσαμε το Code::Blocks και γράψαμε τους πρώτους κώδικες σε C, επόμενη κίνηση ήταν να βρούμε ένα όμορφο χρώμα για τα παράθυρά μας, που να ταιριάζει και να μην κουράζει το μάτι. Δυστυχώς από τα υπάρχοντα, δεν μου άρεσε κάποιο, οπότε ξεκίνησε το ψάξιμο για αλλαγή του θέματος.

Στο αρχείο default.conf, έχει πολλά θέματα, όμως που έπρεπε νααποθηκευτούν; Όπως είδατε, υπάρχουν δυο τρόποι.

1. Εάν το εγκαταστήσετε από το πακέτο ή αποθετήριο της διανομής σας, τότε μπορείτε να αποθηκεύσετε το αρχείο default.conf στον φάκελο όπως βλέπετε παρακάτω:
# Κρατήστε αντίγραφο ασφαλείας
cp ~/.codeblocks/default.conf ~/.codeblocks/default.conf.bak

# Αντιγράψτε το αρχείο default.conf από τον φάκελο που το κατεβάσατε, στον παρακάτω φάκελο
cp default.conf ~/.codeblocks/

2. Εάν το εγκαταστήσετε από το αποθετήριο flatpak, τότε ο φάκελος είναι διαφορετικός. Αποθηκεύστε το αρχείο default.conf στον φάκελο όπως βλέπετε παρακάτω:
# Κρατήστε αντίγραφο ασφαλείας
cp ~/.var/app/org.codeblocks.codeblocks/config/codeblocks/default.conf ~/.var/app/org.codeblocks.codeblocks/config/codeblocks/default.conf.bak

# Αντιγράψτε το αρχείο default.conf από τον φάκελο που το κατεβάσατε, στον παρακάτω φάκελο
cp default.conf ~/.var/app/org.codeblocks.codeblocks/config/codeblocks/

Mετακινηθείτε στο Settings->Editor->Syntax highlighting->Colour theme. Ορίστε το στο επιθυμητό θέμα.

Τέλος, για να φαίνονται λίγο μεταλύτερα τα γράμματα στο τερματικό, μετακινηθείτε το Settings>Environment και στο Terminal to launch console programs και αλλάξτε το στο παρακάτω:
xterm -fa 'Monospace' -fs 12 -bg black -fg white -geometry 132x50 -T $TITLE -e


Θα μεγαλώσουν τα γράμματα (αλλάξτε το μέγεθος 12) αλλά και το παράθυρο.

Wed, Nov 04, 2020

Εγκατάσταση Μαθηματικού Λογισμικού SageMath σε διανομές GNU/Linux

SageMath Logo

ΠΡΟΛΟΓΟΣ

Πολλοί φοιτητές των Ελληνικών Πανεπιστημίων, διδάσκονται μαθηματικά λογισμικά που πιθανό να τα χρησιμοποιήσουν στην εργασία τους. Από τη στιγμή που διδάσκονται, πρέπει να δίνεται η δυνατότητα να εξασκηθούν στο σπίτι. Εάν τα λογισμικά αυτά είναι εμπορικά, αυτό σημαίνει ότι χρειάζεται και άδεια χρήσης. Η άδεια αυτή κοστίζει αρκετά χρήματα, ειδικά αν πρέπει να δοθεί και στους φοιτητές.

Στον αντίποδα, υπάρχουν μαθηματικά λογισμικά ανοικτού κώδικα που μπορούν να αντικαταστήσουν τα εμπορικά λογισμικά στην διαδικασία της διδασκαλίας. Ίσως, να μπορεί να γίνει η αντικατάσταση αυτή και στον παραγωγικό τομέα, αφού οι περισσότεροι απόφοιτοι θα γνωρίζουν τον χειρισμό ΜΟΝΟ των λογισμικών ανοικτού κώδικα. Ένα από αυτά είναι το SageMath. Εδώ θα δούμε πως μπορεί να εγκατασταθεί στο Linux.

ΕΙΣΑΓΩΓΗ

Το Sage (System for Algebra and Geometry Experimentation) είναι ένα ελεύθερο (δωρεάν) λογισμικό μαθηματικών ανοιχτού κώδικα που υποστηρίζει αριθμητικούς υπολογισμούς, και γενικά την έρευνα και τη διδασκαλία στην άλγεβρα, στη γεωμετρία, στην θεωρία αριθμών, στην κρυπτογραφία, και σε συναφείς τομείς. Καλείται συχνά και Sagemath καθώς η λέξη Sage είναι πολύ κοινή.

Συνδυάζει τις δυνατότητες πολλών υπαρχόντων πακέτων ανοιχτού κώδικα (NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R κ.τ.λ.) σε µία κοινή διεπαφή βασισμένη στη γλώσσα Python. Είναι λογισμικό γενικής χρήσης, με δυνατότητες αναλυτικών και αριθμητικών υπολογισμών καθώς και γραφικών.

Ο γενικός στόχος του Sage, σύμφωνα με τον δημιουργό του, είναι να δημιουργηθεί μια βιώσιμη, δωρεάν, ανοιχτού κώδικα εναλλακτική λύση απέναντι στα μαθηματικά λογισμικά: Maple, Mathematica, Magma, και MATLAB.

Η πρώτη δημόσια έκδοση παρουσιάστηκε τον Φεβρουάριο του 2005 ως ελεύθερο λογισμικό. Ο δημιουργός της είναι ο William Stein, καθηγητής μαθηματικών στο University of Washington.

Εγκατάσταση σε Debian/Ubuntu/Linux Mint

Η εγκατάσταση σε Debian/Ubuntu είναι εύκολη, καθώς υπάρχουν στο αποθετήριο. Μπορείτε εύκολα να τα εγκαταστήσετε με την εντολή:
sudo apt install sagemath sagemath-jupyter sagemath-doc-en

Ο διακομιστής Sage Jupyter Notebook θα εκκινήσει αμέσως μόλις εκκινήσετε την εφαρμογή, είτε από το GUI είτε από το τερματικό.

Εγκατάσταση σε Debian/Ubuntu από συμπιεσμένο αρχείο

1. Μεταβείτε στην ιστοσελίδα των λήψεων και κατεβάστε την έκδοση που αντιστοιχεί στο λειτουργικό σας.

2. Στη συνέχεια αποσιμπιέστε το αρχείο .tar.bz2 που κατεβάσατε.
ΣΥΜΒΟΥΛΗ: Φτιάξτε ένα κατάλογο bin μέσα στον προσωπικό σας φάκελο. Εκεί να αποθηκεύετε τα προγράμματα που θέλετε να εγκαταστήσετε (όπως το SageMath). Με αυτό τον τρόπο θα γνωρίζετε ότι πρόκειται για προγράμματα και δεν θα τον πειράζετε. Επίσης δεν θα είστε σίγουροι ότι δεν υπάρχει κάποιος Ελληνικός χαρακτήρας στο path που μπορεί να προκαλέσει κάποιο πρόβλημα.

3. Αφού το αποσυμπιέσατε, μεταβείτε στον κατάλογο SageMath και εκτελέστε το πρόγραμμα sage
./sage

4. Την πρώτη φορά που θα εκτελεστεί το Sage θα σας δώσει μια εικόνα όπως το παρακάτω μήνυμα:
Rewriting paths for your new installation directory
===================================================

This might take a few minutes but only has to be done once.

patching ... (long list of files)

Από εδώ και πέρα, δεν μπορείτε να μετακινήσετε το Sage.

5. Τελευταία κίνηση είναι η δημιουργία συντόμευσης ώστε να μπορείτε να εκτελέσετε το Sage από το τερματικό. Τώρα μπορείτε να δημιουργήσετε την συντόμευση με την εντολή:
$ sudo ln -s /path/to/SageMath/sage /usr/local/bin/sage

Όπου /path/to/ είναι το πλήρες path που εγκαταστήσατε το SageMath.

Μπορείτε να βρείτε περισσότερες πληροφορίες στο wiki του Ubuntu.

Εγκατάσταση σε Arch Linux

1. Εγκατάσταση με την εντολή:
sudo packam -S sagemath sagemath-jupyter sagemath-doc

2. Το SageMath παρέχει και το Jupyter Notebook. Εκτελέστε την εντολή:
$ jupyter notebook

και επιλέξτε "SageMath" από το αναδυόμενο μενού "New...".

Εκκίνηση

Εκτέλεση στο τερματικό με την εντολή:
$ sage -c "notebook(automatic_login=True)"

Μεταβείτε στην διεύθυνση http://localhost:8080/ και εκεί θα μπορείτε χρησιμοποιήσετε το Jupiter Notebook. Επειδή θα χρησιμοποιείτε μόνο εσείς το SageMath, μπορείτε να το εκτελέσετε χωρίς κωδικό.

Για περισσότερες πληροφορίες, μπορείτε να δείτε το Arch Linux wiki.

Εγκατάσταση και χρήση Docker

Όμως τι γίνεται αν έχετε κάποια άλλη διανομή (όπως έγώ με openSUSE); Η λύση είναι η χρήση Docker.

Ψάχντοντας στο hub, βρήκα την διευθυνση:
https://hub.docker.com/r/sagemath/sagemath/

Οπότε εδώ θα δούμε πως θα κάνουμε λήψη, ενεργοποίηση και χρήση του SageMath.

1. Λήψη του θα την κάνετε με την εντολή:
sudo docker pull sagemath/sagemath


2. Αφού κατέβει, μπορείτε να δείτε την λίστα με τα images με την εντολή:
sudo docker images


3. Εκκίνηση του SageMath μαζί με το Jupyter Notebook.
sudo docker run -p8888:8888 sagemath/sagemath:latest sage-jupyter


Αφού εκτελεστεί, δείτε λίγο τα μηνύματα που θα βγάλει. Θα σας εμφανίσει ένα token. Αυτό θα το χρειαστείτε για να κάνετε είσοδο από την διεύθυνση http://localhost:8888 ή την τύπου http://IP:8888.
SageMath στον Browser

4. Αφού τελειώσετε, πρέπει να τερματίσετε τον server και να τερματίσετε το docker.

Αυτό γίνεται πολύ εύκολα με μια εντολή:

sudo docker ps | grep sagemath | awk '{print $1}' | xargs docker stop

Εάν παρόλα αυτά δεν δουλέψει, μπορείτε να τερματίσετε το container με την παρακάτω διαδικασία.
Θα βρείτε το CONTAINER_ID με την εντολή:
sudo docker container ps


Δείτε το ID της και μπορείτε να τερματίσετε με το ID της με την εντολή (αν πχ το ID είναι 3b40632adb78):
sudo docker container stop 3b40632adb78


ONLINE

Υπάρχει και η δυνατότητα να μην εγκαταστήσετε τιποτα. Μπορείτε να βρείτε online τις εξής λύσεις:

1. https://cocalc.com/: Η λύση αυτή είναι επι πληρωμή. Υπάρχει το δωρεάν πλάνο αλλά δεν είναι και τόσο γρήγορο. Μπορεί να περιμένετε αρκετή ώρα μέχρι να έχετε αποτέλεσμα.
2. https://sagecell.sagemath.org/: Ακόμα μια λύση, καλύτερη από το cocalc.

Σημειωματάριο PORTO

Εναλλακτικά του Jupyter μπορείτε να εγκαταστήσετε το Porto από το flathub.

https://flathub.org/apps/details/org.cvfosammmm.Porto

Ή εκτελέστε την εντολή
sudo flatpak install org.cvfosammmm.Porto
Porto notebook


Δείτε πως μπορείτε να κάνετε εγκατάσταση από το πηγαίο αρχείο.

Sat, Oct 24, 2020

Όρια φόρτισης μπαταρίας και διαχείριση ισχύος στο openSUSE με TLP

Λάμπα openSUSE
Οι μπαταρίες είναι ένα σημαντικό στοιχείο στη βιωσιμότητα των φορητών υπολογιστών. Αξίζει ειδική μεταχείριση για την παράταση της διάρκειας ζωής τους. Μια ειδική μεταχείριση λοιπόν είναι με την προσαρμογή των ορίων φόρτισης μπαταρίας.

Τα όρια φόρτισης μπαταρίας είναι ένας μηχανισμός διακοπής φόρτησης, προτού να φορτιστεί πλήρως η μπαταρία και συνέχιση φόρτησης όταν αρχίσει να αδειάζει. Χωρίς ποτέ φόρτιση της μπαταρίας να πάει στο 100%, η διάρκεια ζωής της μπαταρίας μεγαλώνει. Ρυθμίστε για διακοπή της φόρτισης, εάν η χωρητικότητα της μπαταρίας είναι 85% και επανέναρξη όταν η μπαταρία είναι 75%. Μπορείτε να προσαρμόσετε αυτήν την ποσοστιαία τιμή όπως θέλετε.
START_CHARGE_THRESH_BAT0="75"
STOP_CHARGE_THRESH_BAT0="85"

START_CHARGE_THRESH_BAT1="75"
STOP_CHARGE_THRESH_BAT1="85"

Αυτή η δυνατότητα διαχείρισης ενέργειας είναι αρκετά ολοκληρωμένη όταν χρησιμοποιείτε το ThinkVantage σε λειτουργικό σύστημα Windows. Προφανώς, το ThinkVantage είναι ένα ξεχωριστό χαρακτηριστικό της σειράς φορητών υπολογιστών Thinkpad. Το λογισμικό ThinkVantage δεν είναι διαθέσιμο στο λειτουργικό σύστημα GNU / Linux.

Μία εφαρμογή που μπορεί να εκτελέσει το καθήκον του καθορισμού ορίων φόρτισης μπαταρίας είναι το TLP. Αυτό το λογισμικό είναι άμεσα διαθέσιμο σε πολλά αποθετήρια διανομών GNU / Linux.

Εγκατάσταση TPL

Βλέποντας στον επίσημο ιστότοπο TLP στον σύνδεσμο https://linrunner.de/tlp/ , τα βήματα εγκατάστασης και η εκτέλεση του είναι αρκετά εύκολα.
sudo zypper in tlp-rdw
sudo systemctl enable tlp

Διαμόρφωση TLP

Η διαμόρφωση του TLP γίνεται αλλάζοντας τις ρυθμίσεις στο αρχείο του TLP στη διεύθυνση: /etc/tlp.conf. Χρησιμοποιήστε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου. Εδώ είναι η διαμόρφωση η δικιά μου:
--- TLP 1.3.1 --------------------------------------------
+++ Configured Settings:
/etc/tlp.conf L0026: TLP_ENABLE="1"
/etc/tlp.conf L0038: TLP_PERSISTENT_DEFAULT="0"
/etc/tlp.conf L0050: DISK_IDLE_SECS_ON_AC="0"
/etc/tlp.conf L0051: DISK_IDLE_SECS_ON_BAT="2"
/etc/tlp.conf L0056: MAX_LOST_WORK_SECS_ON_AC="15"
/etc/tlp.conf L0057: MAX_LOST_WORK_SECS_ON_BAT="60"
/etc/tlp.conf L0100: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
/etc/tlp.conf L0101: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
/etc/tlp.conf L0128: SCHED_POWERSAVE_ON_AC="0"
/etc/tlp.conf L0129: SCHED_POWERSAVE_ON_BAT="1"
/etc/tlp.conf L0135: NMI_WATCHDOG="0"
/etc/tlp.conf L0150: DISK_DEVICES="sda"
/etc/tlp.conf L0158: DISK_APM_LEVEL_ON_AC="254 254"
/etc/tlp.conf L0159: DISK_APM_LEVEL_ON_BAT="128 128"
/etc/tlp.conf L0198: SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
/etc/tlp.conf L0199: SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
/etc/tlp.conf L0219: AHCI_RUNTIME_PM_TIMEOUT="15"
/etc/tlp.conf L0264: WIFI_PWR_ON_AC="off"
/etc/tlp.conf L0265: WIFI_PWR_ON_BAT="on"
/etc/tlp.conf L0270: WOL_DISABLE="Y"
/etc/tlp.conf L0276: SOUND_POWER_SAVE_ON_AC="0"
/etc/tlp.conf L0277: SOUND_POWER_SAVE_ON_BAT="1"
/etc/tlp.conf L0283: SOUND_POWER_SAVE_CONTROLLER="Y"
/etc/tlp.conf L0291: BAY_POWEROFF_ON_AC="0"
/etc/tlp.conf L0292: BAY_POWEROFF_ON_BAT="0"
/etc/tlp.conf L0302: RUNTIME_PM_ON_AC="on"
/etc/tlp.conf L0303: RUNTIME_PM_ON_BAT="auto"
/etc/tlp.conf L0323: USB_AUTOSUSPEND="1"
/etc/tlp.conf L0342: USB_BLACKLIST_PHONE="0"
/etc/tlp.conf L0354: USB_BLACKLIST_WWAN="0"
/etc/tlp.conf L0374: RESTORE_DEVICE_STATE_ON_STARTUP="0"
/etc/tlp.conf L0442: NATACPI_ENABLE="1"
/etc/tlp.conf L0443: TPACPI_ENABLE="1"
/etc/tlp.conf L0444: TPSMAPI_ENABLE="1"
/etc/tlp.conf L0032: TLP_DEFAULT_MODE="AC"
/etc/tlp.conf L0076: CPU_SCALING_GOVERNOR_ON_AC="powersave"
/etc/tlp.conf L0077: CPU_SCALING_GOVERNOR_ON_BAT="powersave"
/etc/tlp.conf L0425: START_CHARGE_THRESH_BAT0="80"
/etc/tlp.conf L0426: STOP_CHARGE_THRESH_BAT0="90"
/etc/tlp.conf L0431: START_CHARGE_THRESH_BAT1="80"
/etc/tlp.conf L0432: STOP_CHARGE_THRESH_BAT1="90"

Εκτέλεση TLP

Αφού πραγματοποιήσετε τη ρύθμιση που θέλετε, το TLP είναι έτοιμο για εκτέλεση
sudo systemctl restart tlp
sudo tlp start #εκκίνηση tlp
sudo tlp-stat -s #προβολή κατάστασης tlp
sudo tlp-stat -c #για να δείτε ποια ρύθμιση εκτελείται

Υλικό ανάγνωσης:
https://www.tecmint.com/tlp-increase-and-optimize-linux-battery-life/

Tue, Sep 22, 2020

Πώς να κάνετε ερωτήσεις στο φόρουμ, στο facebook και γενικά όπου ζητάτε βοήθεια

Πώς να κάνετε ερωτήσεις στο facebook όταν ζητάτε βοήθεια

Πώς μπορώ να κάνω μια καλή ερώτηση σε ένα φόρουμ;

Παλιότερα τα φόρουμ ήταν τόπος επίλυσης πολλών προβλημάτων των χρηστών. Με την έλευση των μέσων κοινωνικής δικτύωσης, οι περισσότεροι ρωτούν σε ομάδες ειδικές για την εκάστοτε διανομή/πρόγραμμα, ώστε να έχουν γρηγορότερη απάντηση. Προσωπικά έχω λύσει αλλά μου έχουν λυθεί πολλές απορίες σε πολλά forum.
Ένα από τα αξιοσημείωτα forum είναι το Java Ranch. (http://www.coderanch.com/how-to/java/HowToAskQuestionsOnJavaRanch)

Γιατί σας αναφέρω το συγκεκριμένο forum; Επειδή έχουν μια καλή παράδοση να κάνουν καλή ερώτηση.

Το να περιγράψει κανείς επακριβώς το πρόβλημα που αντιμετωπίζει, φαίνεται να είναι κάτι που απουσιάζει σε πολλά forum. Όχι μόνο στην Ελλάδα αλλά και στο εξωτερικό. Βέβαια από την άλλη, υπάρχει η άποψη ότι "αν γνώριζα πως να κάνω μια αναλυτική ερώτηση, θα μπορούσα να βρώ και την λύση από μόνος μου". Δεν είναι ακριβώς έτσι. Θα μοιραστώ έναν μικρό οδηγό σχετικά με τον τρόπο υποβολής ερωτήσεων σε ένα forum που θα βοηθήσουν τους πεπειραμένους να σας δώσουν μια άμεση και γρήγορη απάντηση.

Η υποβολή ερωτήσεων γενικά είναι «τέχνη». Η ποιότητα των απαντήσεων εξαρτάται πολύ από την «ποιότητα» της ερώτησης. Όταν δεν λάβετε την απάντηση που θέλετε, θα πρέπει πάντα να αναρωτιέστε «μήπως θα μπορούσα να βελτιώσω την ερώτηση;».

Ο πρώτος κανόνας για να λάβετε μια καλή απάντηση είναι

«Δείξτε κάποια προσπάθεια»

Να θυμάστε ότι τα μέλη του forum δεν πληρώνονται για να απαντήσουν στις ερωτήσεις σας. Θα αφιερώσουν το χρόνο τους σε εσάς, οπότε βεβαιωθείτε ότι έχετε καταβάλει τουλάχιστον τόση προσπάθεια στην ερώτηση όσο περιμένετε να σας δώσουν τα μέλη που θα ασχοληθούν. Μην υποθέτετε ότι ο χρόνος των άλλων ανθρώπων είναι λιγότερο πολύτιμος από τον δικό σας που έχετε τη δυνατότητα να κάνετε «τηλεγραφικές» ερωτήσεις ώστε να «κερδίσετε» χρόνο - πράγμα που αναγκάζει τα μέλη του forum να χρειαστεί σπαταλήσουν χρόνο για να καταλάβουν τι ζητάτε.

«Να είστε ακριβής»

Εάν λάβατε ένα μήνυμα σφάλματος, δημοσιεύστε το πλήρες μήνυμα σφάλματος. Η παράφραση δεν βοηθά πολύ, ειδικά στις περιπτώσεις όπου το μήνυμα δίνει λεπτομέρειες που δεν ξέρετε πώς να ερμηνεύονται, αλλά είναι πολύτιμες πληροφορίες για τους άλλους.

«Πρώτα αναζήτηση»

Χρησιμοποιήστε το πεδίο αναζήτησης στο forum. Χρησιμοποιήστε το Google. Πείτε τι έχετε αναζητήσει και ίσως να σας δωθεί μια υπόδειξη για το τι να αναζητήσετε. Προσωπικά μισώ όταν μπορείτε να κάνετε αντιγραφή της απλής ερώτηση του θέματος που γράψατε στην ανάρτησή σας στο forum, και επικόληση στο Google και να λάβετε 10-15 καλές απαντήσεις. (Και ναι, ακόμη και αν χρησιμοποιήσετε παράθυρο ανώνυμης περιήγησης του Chrome). Μην προσβληθείτε εάν κάποιος δημοσιεύσει έναν σύνδεσμο https://lmgtfy.com.

«Ηρεμήστε»

Λοιπόν, βιάζεστε να λύσετε ένα πρόβλημα. Δεν βοηθά να γράψετε ΜΕ ΚΕΦΑΛΑΙΑ ΓΡΑΜΜΑΤΑ. Δεν βοηθά να γράψετε ΕΠΕΙΓΟΝ και ASAP (το γρηγορότερο δυνατό). Σε κανέναν δεν αρέσει όταν προσπαθείτε να του μεταφέρετε το άγχος σας. Αποκτήστε μια Rubber Duck. Είναι εκπληκτικό πόσο καλό είναι το Rubber Duck που λύνει προβλήματα. (Ψάξτε στο Google για Rubber Duck Debugging). Εάν είναι πραγματικά επείγουσα ερώτηση και κάποιος την δει μια ημέρα μετά την ανάρτησή της, νομίζω γενικά ότι θα λάβετε την απάντηση αργοπορημένα ούτως ή άλλως.

«Κάντε υπομονή»

Μην πηγαίνετε στην ανάρτησή σας στην κορυφή γράφοντας «Κάποιος;». Οι 24 ώρες δεν είναι πολύς χρόνος για να περιμένετε μια απάντηση. Ενώ περιμένετε, θα μπορούσατε να «Δείξετε κάποια προσπάθεια». Είναι εντάξει να γράψετε μια απάντηση στην ανάρτησή σας εάν έχετε νέες πληροφορίες όπως "Βρήκα αυτό το άρθρο, αλλά μπορεί κάποιος να μου εξηγήσει τι εννοούν με το Χ;".

«Γράψτε στο θέμα μια πρόταση που να βγάζει νόημα»

Αυτό έχει να κάνει πολύ με το «Έκανα μια προσπάθεια». Αυτός είναι ο τρόπος διαφήμισης της ερώτησής σας. Το "REACT ΠΡΟΒΛΗΜΑ" δεν είναι καλό θέμα. "Πού μπορώ να βρω εγχειρίδια για React;" είναι καλύτερο. Οι λάτρεις του φόρουμ αγαπούν μια πρόκληση, οπότε βεβαιωθείτε ότι το θέμα σας είναι «δύσκολο».

«Πείτε τις λεπτομέρειες»

Θέλουμε τις λεπτομέρειες, όλες τις λεπτομέρειες. Αν γράψετε ένα ξερό «Το πρόγραμμά μου εμφανίζει ένα σφάλμα» θα οδηγήσει στην ερώτηση «Ποιο σφάλμα;».
Αν πείτε «Το πρόγραμμά μου δίνει ένα NullPointerException στη γραμμή 13. Παρακάτω είναι ο κώδικας ...» είναι πολύ καλύτερο.

Πρέπει να είστε σε θέση να περιγράψετε:

Λεπτομερής περιγραφή του προβλήματος
  • τι κάνατε
  • τι περιμένατε να συμβεί
  • γιατί περιμένατε να συμβεί
  • γιατί το χρειάζεστε για να συμβεί
  • αυτό που συνέβη στην πραγματικότητα και γιατί αυτό που συνέβη είναι πρόβλημα για εσάς

Μήνυμα λάθους
  • Ηλεκτρονικός υπολογιστής (χαρακτηρηστικά του, σε περίπτωση ερώτησης σχετικά με το λειτουργικό σύστυμα)
  • Αριθμοί έκδοσης των σχετικών βιβλιοθηκών, JDK, εργαλεία, λειτουργικό σύστημα κ.λπ.
  • Αποσπάσματα κώδικα
  • Ίχνος στοίβας
  • Τι άλλο δοκιμάσατε / τι λειτούργησε / τι δεν λειτούργησε
99 φορές στα 100, έχω λύσει προσωπικό πρόβλημα όταν έχω απαντήσει στις ερωτήσεις.

«Χρησιμοποιήστε ολόκληρες λέξεις με προτάσεις»

Αν προσπαθείτε να γράψετε κάτι τηλεγραφικά όπως γράφετε ένα SMS, κάντε το με τους φίλους σας αν θέλετε. Το ίδιο με τη χρήση του "h4x0r353". Χρησιμοποιώντας κανονικές προτάσεις και λέξεις, βοηθάτε και τις μηχανές αναζήτησης αλλά και γενικά τις αναζητήσεις άλλων χρηστών με το ίδιο πρόβλημα.

«Αναφέρετε τις πηγές σας»

Αν έχετε ψάξει για λύση, εκτελέσατε κάποιες εντολές και δεν είχατε αποτέλεσμα, μέσα στο σώμα της ανάρτησης, αναφέρετε ότι εκτέλεσα αυτές τις εντολές που βρήκα στην ανάρτηση σε αυτή τη διεύθυνση. Με αυτό τον τρόπο θα καταλάβουν πολλά, όσοι ασχοληθούν με το πρόβλημά σας.

«Δημοσιεύστε κείμενο και όχι στιγμιότυπα οθόνης»

Κατά την ανάρτηση κώδικα, μηνυμάτων μεταγλωττιστή ή πραγματικά οτιδήποτε στα φόρουμ, δημοσιεύστε κείμενο χρησιμοποιώντας ετικέτες κώδικα αντί για συνημμένα στιγμιότυπα οθόνης. Εναλλακτικά χρησιμοποιήστε μια υπηρεσία όπως το pastebin dot com.
Όταν αφορά κώδικα, τα στιγμυότυπα οθόνης απαιτούν από τους χρήστες να τα κατεβάσουν στους υπολογιστές του (κάτι που είναι απρόθυμοι να το κάνουν), να ψάχνουν στις μηχανές αναζήτησης με λέξεις κλειδιά του κώδικά σας και στην χειρότερη να πρέπει να δακτυλογραφήσουν τον κώδικά σας σε αρχείο για να δοκιμάσουν. Αυτό τους ωθεί στο να μην σας βοηθήσουν καθόλου.
Τα στιγμιότυπα οθόνης είναι συμπληρωματικά. Σε περιπτώσεις κώδικα, προσθέστε και το στιγμιότυπο οθόνης γιατί μπορεί να έχετε κάνει κάποιο ορθογραφικό λάθος που να φαίνεται και στην φωτογραφία. Τώρα εάν αφορά κάποιο πρόβλημα του λειτουργικού συστήματος και κάποιας συσκευής, και εδώ θα βοηθήσει πολύ η φωτογραφία αλλά εάν σας ζητήσουν να δώσετε το αποτέλεσμα μιας εντολής, αυτό σίγουρα πρέπει να είναι σε κείμενο.

«Πείτε ευχαριστώ»

Εάν λάβετε μια καλή απάντηση που σας βοήθησε, πείτε Ευχαριστώ. Με αυτόν τον τρόπο, αυτός που απαντά θα γνωρίζει ότι την επόμενη φορά που θα δημοσιεύσετε μια ερώτηση, θα εκτιμήσετε την προσπάθεια του, που τέθηκε στην απάντηση.

«Χρησιμοποιήστε το δικό σας όνομα»

Προτιμώ να απαντήσω σε μια ερώτηση του "Stathis Iosifidis" παρά στο "savra". Μου αρέσει να μιλάω σε ανθρώπους.

«Μην ουρλιάζετε»

Η χρήση κεφαλαίων γραμμάτων, ειδικά σε θέματα, συνήθως θεωρείται κάπως αγενής σύμφωνα με το netiquete.

«Δεν χρειάζεται να πείτε συγγνώμη»

Οι παραπάνω συμβουλές δεν είναι κανόνες, οπότε δεν χρειάζεται να ζητήσετε συγγνώμη εάν ξεχάσετε να τους ακολουθήσετε. Εάν κάποιος σας έδειξε κάποια από αυτές τις συμβουλές, το έκαναν επειδή θέλουν πραγματικά να σας δουν να λαμβάνετε την καλύτερη δυνατή βοήθεια με την ερώτησή σας. Η αλήθεια είναι ότι και εγώ δεν ακολουθώ όλους τους παραπάνω κανόνες όλη την ώρα.

EDIT: (Παραθέτω από το Facebook όπως σωστά επισήμανε η Ελένη Σακελλάρη)

«Διαβάζουμε ξανά το κείμενο της ερώτησης»

Είτε ρωτάμε, είτε απαντάμε, πριν πατήσουμε το send, ξαναδιαβάζουμε αυτό που γράψαμε. Γιατί;
  • α) μπορεί να το γράψαμε βιαστικά ή συγκεχυμένα όπως είναι στο μυαλό μας και να μην βγάζει νόημα αν το διαβάσει άλλος.
  • β) απευθυνόμαστε σε αγνώστους (με τους φίλους μας έχουμε άλλον κώδικα επικοινωνίας, μας ξέρουν. Πίσω από αυτό που τους γράφουμε βλέπουν ακόμα και τη γκριμάτσα μας ή ακούνε τη φωνή μας). Με τους αγνώστους είναι αλλιώς, οπότε καλό είναι να ξαναδιαβάσουμε τι γλώσσα, τόνο κλπ χρησιμοποιούμε.
Έτσι, ακόμα και για μια μικρή παραγραφούλα ακολουθούμε τον κανόνα της αρθρογραφίας: 40% σκέφτομαι - 20% γράφω - 40% ξαναδιαβάζω και διορθώνω.

Αφού λοιπόν διαβάσατε τα παραπάνω, καλό θα είναι να υποδείξετε σε κάποιον που δεν διατυπώνει καλά μια ερώτηση, να διαβάσει τις παραπάνω προτροπές ώστε να κάνει σωστά τις ερωτήσεις για να λαμβάνει σύντομα απαντήσεις.

Σχετικά με αυτό το θέμα μπορείτε να βρείτε στη πολλά στη διεύθυνση http://www.catb.org/~esr/faqs/smart-questions.html.

Επίσης δείτε και το παραπλήσιο άρθρο:
6+1 λάθος διατυπώσεις σε ερωτήσεις αναζήτησης βοήθειας

Το παρόν άρθρο είναι αντεγραμμένο με λίγες τροποποιήσεις από το https://forums.adobe.com/thread/2332684 + δευτερεύουσες τροποποιήσεις.

Wed, Sep 02, 2020

Γιατί να χρησιμοποιήσω openSUSE;

I love openSUSE


Ένα πράγμα που με ρωτάνε πολλοί, ξανά και ξανά, είναι «Γιατί openSUSE;». Η έννοια της ερώτησης δεν είναι πάντα η ίδια. Μπορεί να σημαίνει: «Γιατί να το χρησιμοποιήσω;», «Γιατί πρέπει να συνεισφέρω στο έργο openSUSE;», «Γιατί το χρησιμοποιείς εσύ;», «Γιατί να μην χρησιμοποιήσω [βάλτε το όνομα κάποιας άλλης διανομής];», αλλά η ερώτηση καταλήγει πάντα στο «Τι ιδιαίτερο έχει η openSUSE;».

Είναι μια καλή ερώτηση, και η δυσκολία στην απάντηση δεν οφείλεται στην έλλειψη καλών λόγων, αλλά στην αφθονία τους, σε συνδυασμό με μια γενική τάση στην κοινότητά openSUSE, που είναι πολύ μετριόφρων.

Εδώ είναι μια προσπάθειά να δούμε μερικούς λόγους για τους οποίους εσείς, ο αναγνώστης, πρέπει να συνεισφέρετε στο έργο openSUSE και να χρησιμοποιείτε το λογισμικό που αναπτύσσει η κοινότητα.


1ος Λόγος: Δεν είμαστε (απλώς) μια διανομή Linux


Κανονικά, το πρώτο πράγμα που σκέφτονται οι άνθρωποι όταν ακούνε το openSUSE είναι η «Τυπική έκδοση της διανομής», όπως το openSUSE Leap (Λήψη ΕΔΩ)

Ωστόσο, το έργο openSUSE παράγει πολλά περισσότερα.

Για αρχή, δεν έχουμε μία, αλλά τεχνικά ΔΥΟ άλλες διανομές Linux που διατηρούμε.

openSUSE Tumbleweed - η εκπληκτική κυλιόμενη έκδοση που καταφέρνει να προσφέρει στους χρήστες του σταθερό, εύχρηστο, λειτουργικό σύστημα Linux, με συνεχή ενημέρωση λογισμικού.
Ιδανικό όχι μόνο για προγραμματιστές, αλλά και για όσους θέλουν το πιο πρόσφατο και καλύτερο λογισμικό, κορυφαίοι ειδικοί του Linux, όπως ο Greg Kroah-Hartman, έχουν δηλώσει ότι οι κυλιόμενες κυκλοφορίες όπως το Tumbleweed αντιπροσωπεύουν το «μέλλον» των διανομών Linux. Το openSUSE είναι το καλύτερο (Διαβάστε το άρθρο Γιατί να χρησιμοποιείσετε openSUSE Tumbleweed) μεταξύ των κυλιόμενων διανομων.
Στην περίπτωσή μου, προτιμώ το Tumbleweed τόσο για την σταθερότητά του αλλά και διότι ως ενεργός μεταφραστής του GNOME, θέλω να έχω πάντα την τελευταία έκδοση του GNOME ώστε να διορθώνω σφάλματα μετάφρασης, έτσι ώστε να επωφελούνται άλλες διανομές που χρησιμοποιούν GNOME.
Αν θέλετε να το δείτε μόνοι σας, κατεβάστε από το ΕΔΩ

openSUSE Leap - Η openSUSE Leap είναι ένας "καινούργιος" τρόπος κατασκευής της openSUSE και είναι ένας νέος τύπος υβριδικής διανομής Linux. Η Leap χρησιμοποιεί την πηγή από την SUSE Linux Enterprise (SLE), η οποία δίνει στην Leap ένα επίπεδο σταθερότητας απαράμιλλο από άλλες διανομές Linux και το συνδυάζει με τις εξελίξεις της κοινότητας για να δώσει στους χρήστες, προγραμματιστές και sysadmins την καλύτερη διαθέσιμη σταθερή εμπειρία Linux.
Η πρώτη κυκλοφορία της Leap ήταν στις 4 Νοεμβρίου 2015, με την κυκλοφορία της openSUSE Leap 42.1. Η Leap θα έχει μικρές κυκλοφορίες και οι χρήστες αναμένεται να κάνουν αναβάθμιση στην τελευταία δευτερεύουσα κυκλοφορία εντός 6 μηνών από τη διαθεσιμότητά της, οδηγώντας σε κύκλο ζωής 18 μηνών συντήρησης και με ενημερώσεις ασφαλείας ανά δευτερεύουσα κυκλοφορία. Η σειρά Leap 15 αναμένεται να επιτύχει περίπου 36 μήνες ενημερώσεων συντήρησης και ασφάλειας.

openSUSE Kubic: Η openSUSE Kubic είναι ένα έργο που συντηρεί πολλές τεχνολογίες που σχετίζονται με container ως μέρος του openSUSE.

Αυτό επικεντρώνεται κυρίως στο openSUSE Kubic, μια παραλλαγή openSUSE Tumbleweed που επικεντρώνεται στη φιλοξενία υπηρεσιών container. Η openSUSE Kubic αποτελείται επί του παρόντος από δύο βασικά στοιχεία:

* openSUSE MicroOS - ένα λειτουργικό σύστημα που βασίζεται στο openSUSE που παρέχει ενημερώσεις Transactional (Atomic) σε ένα σύστημα αρχείων btrfs root μόνο για ανάγνωση, σχεδιασμένο να φιλοξενεί containers με αυτοματοποιημένη διαχείριση και ενημέρωση κώδικα.
* kubeadm - ένα εργαλείο εκκίνησης συστοιχίας Kubernetes ενσωματωμένο ως μέρος της openSUSE Kubic για εκτέλεση πάνω από την openSUSE MicroOS.
Ο πηγαίος κώδικας για μεγάλο μέρος των εργαλείων που σχετίζονται με το Kubic βρίσκεται στο GitHub Project.

Λοιπόν, η openSUSE δεν είναι μόνο ΜΙΑ διανομή Linux, αλλά περιμένετε, υπάρχουν περισσότερα!

Το έργο openSUSE φιλοξενεί έναν ολόκληρο σωρό άλλων έργων λογισμικού, πάντα Open Source, τα οποία χρησιμοποιούμε στην κοινότητα αλλά και ενθαρρύνουμε τους άλλους να χρησιμοποιούν και να συνεισφέρουν. Αυτά περιλαμβάνουν:

Open Build Service - το εργαλείο κατασκευής, το οποίο δημιουργεί όλα τα πακέτα μας, καθώς και αυτά για SUSE Linux Enterprise, Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu και πολλά άλλα.

openQA - αυτοματοποιημένη δοκιμή για οποιοδήποτε λειτουργικό σύστημα, το οποίο μπορεί να διαβάσει την οθόνη και να ελέγξει τον κεντρικό υπολογιστή δοκιμής με τον ίδιο τρόπο που κάνει ένας χρήστης.

YaST - Το καλύτερο και ολοκληρωμένο εργαλείο ρύθμισης και εγκατάστασης συστήματος Linux.

KIWI - Δημιουργεί εικόνες Linux σε πραγματικό υλικό, αλλά και για συστήματα container όπως το Docker ή το podman.

Snapper - Δημιουργία, διαχείρηση και επαναφορά στιγμιοτύπων συστήματος. Επαναφέρετε το σύστημά σας χωρίς ταλαιπωρία σε προηγούμενο στιγιότυπο όταν μετά από ενημέρωση καταλήξετε με κατεστραμμένο σύστημα (πιθανότατα να είναι δικό σας λάθος, το Snapper μπορεί να σας δείξει τι άλλαξε μεταξύ των στιγμιότυπων).

OSEM - Διαχείριση Εκδηλώσεων Ανοιχτού Κώδικα. Πολλά έργα ανοιχτού κώδικα έχουν τα δικά τους συνέδρια και άλλες εκδηλώσεις. Έχουμε το δικό μας εργαλείο για τη διαχείριση προτάσεων για παρουσιάσεις, την οργάνωση προγραμμάτων, τη λήψη εγγραφών κ.λπ.

Και πολλά άλλα, πολλά από τα οποία μπορείτε να βρείτε στη σελίδα του έργου μας στο GitHub.


2ος Λόγος: Κατασκευάζουμε και χρησιμοποιούμε τα καλύτερα εργαλεία


Ίσως έχετε παρατηρήσει ένα κοινό θέμα ανάμεσα σε πολλά από τα έργα λογισμικού που αναφέρονται παραπάνω. Είμαστε ένα έργο που ενδιαφέρεται πολύ για τη χρήση του σωστού εργαλείου για τη κατάλληλη δουλειά.
Σε πολλές περιπτώσεις αυτό σημαίνει τη χρήση πολλών από τα ίδια εργαλεία που χρησιμοποιούν άλλα έργα, όπως είναι IRC, Git & GitHub, Φόρουμ, Λίστες αλληλογραφίας κ.λπ. Δεν είμαστε το είδος του έργου που θέλει να εφεύρει ξανά τον τροχό μόνο και μόνο επειδή δεν το κάναμε πρώτοι, αλλά όταν τα εργαλεία που βρίσκονται εκεί έξω δεν κάνουν τη δουλειά αρκετά καλά, σηκώνουμε τα μανίκια μας και προσπαθούμε να δημιουργήσουμε το καλύτερο εργαλείο για αυτήν την κάθε εργασία.

Εργαζόμαστε επίσης πολύ σκληρά για να παράγουμε εργαλεία που μπορούν και πρέπει να υιοθετηθούν από ένα πολύ ευρύτερο κοινό και όχι μόνο από την «κοινότητα του openSUSE».
Αυτό πιθανότατα τονίζεται καλύτερα μιλώντας για δύο από τα καλύτερα εργαλεία μας, το Open Build Service και το openQA.

Open Build Service - Όπως ήδη αναφέρθηκε, το εργαλείο κατασκευής δημιουργεί όλα τα πακέτα διανομής openSUSE, τα ISO κλπ.
Δημιουργεί και φιλοξενεί αποθετήρια για αυτά τα πακέτα.
Κατασκευάστηκε πάντα ως εργαλείο για χρήση από όλες τις διανομές, το οποίο είναι σε θέση να δημιουργήσει πακέτα για SUSE Linux Enterprise, Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu και άλλα.
Υπάρχει μια γραφική διεπαφή (μπορείτε να δείτε και να το χρησιμοποιήσετε ΕΔΩ) αλλά και το εργαλείο γραμμής εντολών osc (τεκμηρίωση ΕΔΩ). Ακόμα και κάποιος που δεν έχει εμπειρία κατασκευής πακέτων μπορεί εύκολα να δει τα περιεχόμενα οποιουδήποτε πακέτου στο OBS, να καταλάβει πώς δημιουργούνται, να το διακλαδώσει (να το κάνει fork, για να χρησιμοποιήσουμε τον ισοδύναμο όρο του github) στο δικό του Έργο-Αποθετήριο και να το επεξεργαστεί όπως νομίζει.
Επιτρέπεται η χρήση του OBS του openSUSE από οποιονδήποτε χωρίς χρέωση, έτσι ώστε να μπορεί να κατασκευάσει και να φιλοξενήσει τα πακέτα του στην υποδομή του openSUSE, δωρεάν (αν και τουλάχιστον, θα θέλαμε ως αντάλλαγμα να βεβαιωθούν ότι τα πακέτα για openSUSE λειτουργούν αβασάνιστα ;-) )
Το OBS χρησιμοποιείται ήδη από άλλες εταιρείες και έργα όπως το VideoLAN, η Dell, το HipChat και το ownCloud, αλλά αν είστε στον κλάδο δημιουργίας λογισμικού για Linux, πρέπει πραγματικά να αναρωτηθείτε «Γιατί δεν χρησιμοποιώ το OBS για την κατασκευή τα πακέτα μου;»

openQA - Ένα άλλο κόσμημα. Το openQA είναι ένα εργαλείο δοκιμών που σας επιτρέπει να δημιουργήσετε δοκιμές για οποιοδήποτε λειτουργικό σύστημα ή εφαρμογή. Σε αντίθεση με σχεδόν κάθε άλλο εργαλείο δοκιμών, το openQA δοκιμάζει το λογισμικό με τον ίδιο τρόπο που το κάνουν οι χρήστες. Κοιτάζει στην οθόνη και διασφαλίζει ότι ο χρήστης θα δει τι περιμένετε να δει. Στη συνέχεια, θα πατήσει τα ίδια κουμπιά πληκτρολογίου και ποντικιού με τα οποία ένας χρήστης θα εργαζόταν μέσω της εφαρμογής. Μπορείτε να το δείτε στη δράση ΕΔΩ.
Το openSUSE χρησιμοποιεί εκτεταμένα το openQA για την κατασκευή του Tumbleweed. Ο προτεινόμενος κώδικας για το Tumbleweed δοκιμάζεται από το openQA πριν γίνει αποδεκτός και δοκιμαστεί ξανά META την αποδοχή του (για να βεβαιωθούμε ότι ενσωματώνεται καλά με όλα τα άλλα πακέτα που έχουν συγχωνευθεί πρόσφατα).
Με αυτόν τον τρόπο μπορούμε να προσφέρουμε το Tumbleweed ως μια «σταθερή» κυλιόμενη έκδοση, γιατί χάρη στο openQA γνωρίζουμε ότι η διανομή λειτουργεί πριν σταλούν οι ενημερώσεις στους υπολογιστές των χρηστών. Εάν κάτι δεν δουλέψει, το openQA σταματά την κυκλοφορία και οι χρήστες δεν παρατηρούν προβλήματα, εκτός από ίσως μια μικρή καθυστέρηση στη λήψη νέων ενημερώσεων. Με την (εξαιρετικά σπάνια) πιθανότητα κάτι να ξεφύγει από το openQA, γίνεται μια νέα δοκιμαστική υπόθεση, οπότε δεν γινεται ποτέ το ίδιο λάθος δύο φορές.
Το openQA χρησιμοποιείται επίσης από την SUSE για τη δοκιμή της SUSE Linux Enterprise και το έργο Fedora ξεκίνησε πρόσφατα να το χρησιμοποιεί. Θα θέλαμε να δούμε περισσότερες διανομές να το χρησιμοποιούν.

openSUSE Engineering

3ος Λόγος: Θέματα μηχανικής


Γιατί επικεντρωνόμαστε στα εργαλεία; Πέρα από τα εργαλεία που χρησιμοποιούμε, ξοδεύουμε πολύ χρόνο, εγκεφαλικά κύτταρα και συζητήσεις, σηκώνουμε μανίκια και προσπαθούμε να βρούμε τον καλύτερο τρόπο για να δημιουργήσουμε το λογισμικό.

Αυτό οδήγησε στο openSUSE να πρωτοστατεί με πολλές καινοτομίες σε τομείς όπως η διαχείριση πακέτων. Το zypper και το libsolv σημαίνουν ότι, σε αντίθεση με άλλες διανομές Linux που βασίζονται σε RPM, το «χάλι με τις εξαρτήσεις» είναι κάτι παρελθόν για εμάς και καταφέρνουμε να σταθούμε δίπλα-δίπλα με Debian και Ubuntu, να δούμε τους διαχειριστές πακέτων τους και να πούμε «ωραία, μπορούμε να το κάνουμε αυτό και πολλά περισσότερα».

Επίσης, δεν μας ενδιαφέρει να είμαστε ένα άλλο έργο ανοιχτού κώδικα που να παίρνει τα πάντα από δεκάδες έργα και είτε να σφραγίζουμε το λογότυπό μας και να το ονομάζουμε δικά μας, είτε να αλλάζουμε πολλά πράγματα και να μην επιστρέφουμε έργο στην κοινότητα.
Δουλεύουμε σε συνεργασία με όλα τα γνωστά έργα ανοικτού κώδικα, είτε ο πυρήνας, το GNOME, το KDE, οτιδήποτε άλλο, για να δώσουμε τα ανατροφοδότηση, να στείλουμε τις διορθώσεις στον κώδικα, για το όφελος όλων.

Συνέδριο Νυρεμβέργη 2019


4ος Λόγος: Κοινότητα, κοινότητα, κοινότητα


Η κοινότητα openSUSE είναι υπέροχη. Θα συνοψίσω μερικά πράγματα εδώ.

Πρώτον, λίγα λόγια για την SUSE. Η SUSE χρηματοδοτεί την κοινότητα openSUSE, και αποτελεί ένα σημαντικό μέρος της κοινότητας, απασχολώντας έναν μεγάλο αριθμό προγραμματιστών που συνεισφέρουν στο έργο openSUSE, συνεισφέρει δε στο έργο openSUSE τόσο με κώδικα, όσο και με προσωπικό αλλά και με χρήματα.
Από πολλές απόψεις είναι ο «προστάτης» του έργου openSUSE, έχοντας την εταιρία στην πλάτη μας όταν το χρειαζόμαστε, χωρίς όμως να σημαίνει ότι η εταιρία SUSE ελέγχει το έργο. Το έργο openSUSE είναι ανεξάρτητο, ελεύθερο να καθορίσει τη δική του κατεύθυνση.
Η SUSE βλέπει τον εαυτό της ως ίσο μέλος στην κοινότητα, συμμετέχοντας με τον ίδιο τρόπο όπως όλοι οι άλλοι, ενθαρρύνοντας τους μηχανικούς της να συμμετέχουν σε συζητήσεις και βοηθούν στον καθορισμό της κατεύθυνσης του έργου openSUSE μέσω υποβολής κώδικα, όπως όλοι οι άλλοι.
Ο ανοικτός κώδικας λειτουργεί καλύτερα όταν υπάρχει ελευθερία καινοτομίας, αυτή είναι η θέση στην οποία βρίσκεται το έργο openSUSE, η SUSE είναι μια εταιρεία που κατανοεί την βάση της - καθώς η τρέχουσα εκστρατεία της λέει ότι «Ο ανοικτός κώδικας είναι στα γονίδιά μας».

Αν λοιπόν η SUSE δεν είναι το «αφεντικό», τότε ποιος είναι; Προφανώς η κοινότητα. Αυτή αποφασίζει, και μάλιστα θέλουμε περισσότερα άτομα να μας βοηθήσουν να κάνουμε πολλά πράγματα! Είμαστε το είδος του έργου που είναι πολύ ανοιχτό σε όλους που θέλουν να συνεισφέρουν και προσπαθούμε σκληρά να διατηρήσουμε ένα πολύ χαμηλό «εμπόδιο» για την είσοδο.
Η κοινότητα openSUSE δεν είναι το είδος της κοινότητας που θα ορίσει να αποκτήσετε πολλές γνώσεις προτού σας επιτραπεί να κάνετε οτιδήποτε για το έργο openSUSE.
Εάν δείτε κάτι που χρειάζεται διόρθωση, μιλήστε με τα άτομα που εργάζονται στην επίλυση σφαλμάτων, διορθώστε το μαζί τους και υποβάλετε τις συνεισφορές σας. Αυτό ισχύει για τον κώδικα, τον ιστότοπο, το wiki, το μάρκετινγκ, οτιδήποτε και οπουδήποτε. Δεν είμαστε ένα έργο για το οποίο χρειάζεστε άδεια για να μπορέσετε να συμμετάσχετε.
Προσπαθούμε να διατηρήσουμε τις διαδικασίες μας λιτές, αλλά αυτές που έχουμε είναι στο Wiki μας, και όσον αφορά τη συνάντηση με υπάρχοντα μέλη που συνεισφέρουν, μπορείτε εύκολα να τους βρείτε στα κανάλια IRC και στις λίστες αλληλογραφίας μας.

Εάν είστε χρήστης και χρειάζεστε βοήθεια στην πραγματικότητα χρησιμοποιώντας το openSUSE αλλά δεν είστε έτοιμοι να εμπλακείτε με τη συνεισφορά στο έργο ακόμα, τότε έχουμε μια μεγάλη κοινότητα που βοηθούν τους ανθρώπους μέσω του IRC, του Φόρουμ και του Telegram (Αγγλικό) / Telegram (Ελληνικό).

Όταν όλοι ασχολούνται με όλα, δεν οδηγεί στο απόλυτο χάος; Οχι ακριβώς. Το μοντέλο ανοιχτού κώδικα λειτουργεί, με τις λίγες διαδικασίες που έχουμε στη διάθεσή μας να παρέχουν αρκετή δομή και ασφάλεια, ώστε οποιαδήποτε προβλήματα εμφανιστούν να αντιμετωπιστούν ως μέρος μιας διαδικασίας φυσικής ροής και μάθησης.
Όμως, δεν είναι ουτοπία, από καιρό σε καιρό φυσικά εμφανίζονται διάφορα και γι' αυτό το έργο openSUSE έχει το «Διοικητικό Συμβούλιο».
Η δουλειά του είναι να βοηθάει στη διατήρηση του έργου και της κοινότητας στο σωστό δρόμο, να μιλούν τα μέλη της κοινότητας μεταξύ τους, να επιλύει συγκρούσεις, και να είναι οι «τελευταίοι υπεύθυνοι λήψης αποφάσεων» εάν δεν υπάρχει κάποιος άλλος ικανός/κατάλληλος για να λάβει μια δύσκολη απόφαση που επηρεάζει το openSUSE.

Η δομή του «Διοικητικού Συμβουλίου» είναι επίσης μια ωραία αντανάκλαση του τρόπου δομής της υπόλοιπης κοινότητάς μας - από τις 5 εκλεγμένες έδρες του Διοικητικού Συμβουλίου, όχι περισσότερες από 2 θέσεις μπορούν να καταληφθούν από άτομα που απασχολούνται / ελέγχονται από τον ίδιο οργανισμό. Αυτό σημαίνει ότι καμία εταιρεία (ούτε καν SUSE) δεν μπορεί να έχει την πλειοψηφία των θέσεων στο Διοικητικό Συμβούλιο, διασφαλίζοντας ότι είναι υγιής και ισορροπημένη όπως και η υπόλοιπη κοινότητά μας.

Και τέλος, η κοινότητα openSUSE είναι απλώς μια μεγάλη ομάδα ανθρώπων. Ένα μεγάλο μέρος αυτής συναντιέται στα τακτικά συνέδρια του openSUSE. Στα συνέδρια γίνεται η συνδυασμός συναντήσεων των μελών της κοινότητας, συνομιλιών αλλά και διασκέδασης με πολλές πολλές μπύρες.

Και θυμηθείτε το σύνθημά μας...

Have a Lot of Fun!

Thu, Jul 02, 2020

Η έκδοση openSUSE Leap 15.2 φέρνει συναρπαστική νέα τεχνητή νοημοσύνη (AI), machine learning και πακέτα περιεκτών

openSUSE Leap 15.2 container

Η κοινότητα openSUSE με υπερηφάνεια ανακοινώνει τη διαθεσιμότητα του openSUSE Leap 15.2. Οι επαγγελματίες χρήστες, από επιτραπέζιους υπολογιστές και διακομιστές κέντρων δεδομένων έως τις εικονικές μηχανές (VM), θα μπορούν να χρησιμοποιούν το Leap 15.2 ως ένα υψηλής ποιότητας, εύχρηστο, λειτουργικό σύστημα Linux επιπέδου επιχειρήσεων.

Λήψη openSUSE Leap 15.2

Αυτή η έκδοση παρέχει ενημερώσεις ασφαλείας, διορθώσεις σφαλμάτων, βελτιώσεις δικτύου και πολλές νέες δυνατότητες για χρήστες του openSUSE που εξαρτώνται από μια σταθερή και επεκτάσιμη διανομή. Η πλούσια και ώριμη πλατφόρμα Linux του openSUSE υποστηρίζει συστήματα x86-64, ARM64 και POWER. Η αξιοπιστία των βασικών πακέτων που προηγούμενων εκδόσεων Leap 15 και οι νεότερες τεχνολογίες ανοιχτού κώδικα στο Leap 15.2 είναι έτοιμες για χρήση.

«Η Leap 15.2 αντιπροσωπεύει ένα τεράστιο βήμα προς τα εμπρός στον χώρο της Τεχνητής Νοημοσύνης», δήλωσε ο Marco Varlese, προγραμματιστής και μέλος του έργου. «Είμαι ενθουσιασμένος που οι τελικοί χρήστες του openSUSE μπορούν πλέον να χρησιμοποιήσουν επιμέρους εφαρμογές Machine Learning / Deep Learning μέσω των αποθετηρίων μας για να απολαύσουν ένα σταθερό και ενημερωμένο οικοσύστημα».


Τι νέο υπάρχει


Αρκετά συναρπαστικά πακέτα Τεχνητής Νοημοσύνης (AI) και Machine Learning προστίθενται στην Leap 15.2.

Tensorflow: Ένα framework που μπορεί να χρησιμοποιηθεί από επιστήμονες δεδομένων, παρέχει αριθμητικούς υπολογισμούς και γραφήματα ροής δεδομένων. Η ευέλικτη αρχιτεκτονική του επιτρέπει στους χρήστες να αναπτύξουν υπολογισμούς σε έναν ή περισσότερους επεξεργαστές σε επιτραπέζιο υπολογιστή, διακομιστή ή κινητή συσκευή χωρίς να ξαναγράψουν κώδικα.

PyTorch: Κατασκευασμένο τόσο για πόρους διακομιστών όσο και για υπολογιστών, αυτή η βιβλιοθήκη machine learning επιταχύνει την ικανότητα των χρηστών να κάνουν πρωτότυπο ένα έργο και να το μετακινήσουν στην παραγωγή.

ONNX: Μια ανοιχτή μορφή που δημιουργήθηκε για να αντιπροσωπεύει μοντέλα machine learning, παρέχει διαλειτουργικότητα στο χώρο εργαλείων AI. Επιτρέπει στους προγραμματιστές AI να χρησιμοποιούν μοντέλα με ποικιλία frameworks, εργαλείων, εκτελέσιμων και μεταγλωττιστών.

Τα Grafana και Prometheus είναι δύο νέα πακέτα που ανοίγουν νέες δυνατότητες σε εμπειρογνώμονες αναλυτές. Το Grafana παρέχει στους τελικούς χρήστες τη δυνατότητα δημιουργίας διαδραστικών οπτικών αναλυτικών στοιχείων. Πακέτα μοντελοποίησης δεδομένων πλούσια σε χαρακτηριστικά: τα Graphite, Elastic και Prometheus δίνουν στους χρήστες του openSUSE μεγαλύτερο περιθώριο για την κατασκευή, τον υπολογισμό και την αποκρυπτογράφηση των δεδομένων με μεγαλύτερη ευκρίνεια.

Γενικά, τα πακέτα λογισμικού στη διανομή αυξήθηκαν κατά εκατοντάδες. Η συγχώνευση δεδομένων, η Machine Learning και η τεχνητή νοημοσύνη δεν είναι καινούργια στο openSUSE Leap 15.2. Είναι διαθέσιμος σε αυτή την έκδοση ένας πυρήνας σε πραγματικό χρόνο για τη διαχείριση του χρονισμού των μικροεπεξεργαστών για να διασφαλιστεί ότι τα κρίσιμα χρονικά συμβάντα επεξεργάζονται όσο το δυνατόν αποτελεσματικότερα.


Τεχνολογία περιεκτών


Οι χρήστες του openSUSE θα έχουν περισσότερη δύναμη για την ανάπτυξη, αποστολή και ανάπτυξη εφαρμογών σε περιέκτες χρησιμοποιώντας τις νεότερες τεχνολογίες περιεκτών της διανομής.

Για πρώτη φορά, το Kubernetes είναι επίσημο πακέτο στην διανομή. Αυτό δίνει τεράστια ώθηση στις δυνατότητες συντονισμού περιεκτών, επιτρέποντας στους χρήστες να αυτοματοποιήσουν τις εγκαταστάσεις, να κλιμακώσουν και να διαχειριστούν εφαρμογές σε περιέκτες.

Προστίθεται επίσης το Helm, ο διαχειριστής πακέτων για το Kubernetes. Το Helm βοηθά τους προγραμματιστές και τους διαχειριστές συστημάτων να διαχειρίζονται την πολυπλοκότητα καθορίζοντας, εγκαθιστώντας και αναβαθμίζοντας τις πιο σύνθετες εφαρμογές Kubernetes.

Το Container Runtime Interface (CRI) χρησιμοποιώντας τα εγκελέσιμα του Open Container Initiative (OCI) είναι επίσης νέο σε αυτήν την έκδοση. Το CRI-O είναι μια ελαφριά εναλλακτική λύση στη χρήση του Docker ως εκτελέσιμο, το οποίο επιτρέπει στο Kubernetes να χρησιμοποιεί οποιονδήποτε εκτελέσιμο συμβατό με το OCI ως εκτελέσιμο περιέκτη για την εκτέλεση pods ή διαδικασιών που εκτελούνται σε ένα συστοιχία.

Ακόμα και με το Docker, η χρήση μικροϋπηρεσιών θα είναι ασφαλής χάρη σε περισσότερα πακέτα περιέκτη που υπάρχουν σε αυτήν την έκδοση.

Το Cilium βοηθά στην ασφαλή διασφάλιση της συνδεσιμότητας του δικτύου και της εξισορρόπησης φόρτου μεταξύ εφαρμογών περιεκτών και υπηρεσιών που αναπτύσσονται χρησιμοποιώντας frameworks περιέκτες του Linux όπως το Docker και το Kubernetes. Το Cilium παρέχει έναν αποτελεσματικό τρόπο καθορισμού και επιβολής τόσο του επιπέδου δικτύου όσο και των πολιτικών ασφαλείας επιπέδου εφαρμογής, οι οποίες βασίζονται σε ταυτότητα περιέκτη / pod.

Η Leap 15.2 προσφέρει ρόλους συστήματος διακομιστή και διακομιστή Transactional. Ο ρόλος συστήματος διακομιστή χρησιμοποιεί ένα μικρό σύνολο πακέτων που είναι κατάλληλα για διακομιστές με διεπαφή λειτουργίας κειμένου, ενώ ο ρόλος συστήματος διακομιστή Transactional είναι παρόμοιος με τον ρόλο διακομιστή, αλλά χρησιμοποιεί σύστημα αρχείων ρίζας μόνο για ανάγνωση για την παροχή ατομικών, αυτόματων ενημερώσεων του συστήματος χωρίς να παρεμβαίνει στο τρέχον σύστημα.


Βελτιώσεις στο YaST - Το πιο πλήρες εργαλείο ρύθμισης για Linux


Το YaST Partitioner παραμένει το πιο ισχυρό εργαλείο για τη διαμόρφωση όλων των ειδών τεχνολογιών αποθήκευσης στο Linux, τόσο κατά την εγκατάσταση του συστήματος είτε σε οποιοδήποτε μεταγενέστερο σημείο. Αυτή η έκδοση ενσωματώνει τη δυνατότητα δημιουργίας και διαχείρισης ενός συστήματος αρχείων Btrfs που επεκτείνεται σε πολλές συσκευές και η έκδοση επιτρέπει τη χρήση πιο προηγμένων τεχνολογιών κρυπτογράφησης.

Η Leap 15.2 είναι η πρώτη έκδοση του openSUSE που εισήγαγε μια σταδιακή αλλαγή που χωρίζει τη διαμόρφωση του συστήματος μεταξύ καταλόγων /usr/etc και /etc. Το YaST υποστηρίζει αυτήν τη νέα δομή σε όλα τα επηρεαζόμενα αρθρώματα, προσφέροντας στους διαχειριστές συστήματος ένα κεντρικό σημείο για να ελέγξουν τη διαμόρφωση που θα τους βοηθήσει κατά τη μετάβαση και μετά.

Η Leap μπορεί να εκτελεστεί πάνω από το Υποσύστημα Windows για Linux (WSL), παρέχοντας τη δύναμη του openSUSE στον κόσμο των Windows. Η έκδοση YaST στο Leap 15.2 βελτιώνει τη συμβατότητα με αυτήν την πλατφόρμα, ειδικά κατά την εκτέλεση του YaST Firstboot προκειμένου να εκτελέσει όλες τις απαραίτητες αρχικές ρυθμίσεις.


Περιβάλλον εργασίας


Ενώ τα περιβάλλοντα επιφάνειας εργασίας σε αυτήν την έκδοση θα είναι νέα, η εστίαση παραμένει σε πιο συντηρητική σταθερή κυκλοφορία. Η έκδοση μακροπρόθεσμης υποστήριξης του KDE Plasma 5.18 είναι διαθέσιμη στην Leap 15.2. Η νεότερη LTS έχει μια σημαντική ποσότητα νέων χαρακτηριστικών. Οι ειδοποιήσεις είναι πιο σαφείς, οι ρυθμίσεις είναι απλουστευμένες και η συνολική εμφάνιση είναι πιο ελκυστική. Ενημερώσεις του GNOME 3.34 από την προηγούμενη έκδοση 3.26 που ήταν διαθέσιμη στην Leap 15.1, περιλαμβάνουν σημαντική οπτική ανανέωση για διάφορες εφαρμογές. Περισσότερες πηγές δεδομένων στο Sysprof καθιστούν ακόμη πιο εύκολη τη δημιουργία προφίλ απόδοσης μιας εφαρμογής και υπάρχουν πολλές βελτιώσεις στο Builder, συμπεριλαμβανομένου ενός ενσωματωμένου επιθεωρητή D-Bus. Το Xfce έχει μια μικρή ενημέρωση στην έκδοση 4.14 μετά από τέσσερα χρόνια ανάπτυξης. Η νέα έκδοση παρήγαγε πολλές ενημερώσεις και δυνατότητες, συμπεριλαμβανομένων βελτιώσεων για τον διαχειριστή παραθύρων, τον διαχειριστή αρχείων, την εύρεση εφαρμογών και τη διαχείριση ισχύος.


Εικόνες Cloud, Υλικό και Αρχιτεκτοική


Οι εικόνες του Linode cloud με Leap είναι διαθέσιμες και είναι έτοιμες για όλες τις ανάγκες. Οι υπηρεσίες cloud hosting θα προσφέρουν εικόνες Leap 15.2 τις επόμενες εβδομάδες όπως Amazon Web Services, Azure, Google Compute Engine και OpenStack. Η Leap 15 βελτιστοποιείται συνεχώς για σενάρια χρήσης cloud ως επισκέπτης φιλοξενίας και εικονικοποίησης.

Οι φορητοί υπολογιστές TUXEDO και Linux μπορούν να αγοραστούν με προεγκατεστημένο το Leap 15.2. Το Leap 15.2 μπορεί επίσης να παραγγελθεί προεγκατεστημένο με Slimbooks.

Τα σενάρια ανάπτυξης της Leap περιλαμβάνουν φυσικό, εικονικό, κεντρικό υπολογιστή και επισκέπτη και cloud. Τις επόμενες εβδομάδες αναμένονται εκδόσεις για άλλες αρχιτεκτονικές όπως το ARM64 και το POWER.


Βασικά συστατικά


Οι μεταγλωττιστές, οι γλώσσες scripting, τα εργαλεία ρύθμισης συστήματος και οι γραφικές διεπαφές χρήστη έχουν βελτιωθεί.

Το GNU Compiler Collection 7 έως 9 είναι διαθέσιμο σε αυτή τη νεότερη minor έκδοση Leap μαζί με μια ενημερωμένη έκδοση του πακέτου γραφικών 3D, Mesa για υποστήριξη της χρήσης του επαγγελματικού βαθμού λειτουργικού συστήματος. Η Leap 15.2 έχει την ίδια έκδοση 234 του systemd που χρησιμοποιείται στα Leap 15.0 και 15.1.

Η υποστήριξη για νέες κάρτες γραφικών εισήχθη στην έκδοση Leap 15.2 και θα χρησιμοποιηθεί ο πυτήνας Linux 5.3. Οι δυνατότητες του πυρήνα γίνονται αυτόματα διαθέσιμες στο Leap, καθώς η διανομή μοιράζεται τον ίδιο πυρήνα με το SUSE Linux Enterprise (SLE).

Η openSUSE Leap 15.2 είναι μια διανομή με πακέτα κοινότητας που έχουν δημιουργηθεί πάνω από τα πηγαία βασικά πακέτα του SLE 15 Service Package 2. Ο κοινός πυρήνας και η ευθυγράμμιση με το SLE καθιστούν εύκολη τη μετάβαση στο εταιρικό προϊόν της SUSE για επαγγελματίες που θέλουν να παρατείνουν τον κύκλο ζωής της συντήρησής και ασφάλεια μετά το πέρας του χρόνου υποστήριξης της Leap 15.2. Η μεταφορά από την κοινοτική έκδοση της Leap στην SUSE Linux Enterprise είναι μια διαθέσιμη επιλογή για όσους το επιθυμούν.


Πακέτα για την υγεία


Αυτή η έκδοση Leap αυξάνει τις δυνατότητες των υπηρεσιών υγείας. Το βραβευμένο σύστημα διαχείρισης υγείας και νοσοκομείου GNU Health διατίθεται στην έκδοση 3.6.4. Διαθέτει ενημερωμένο GUI και είναι προετοιμασμένο για παρακολούθηση πανδημίας COVID-19, συμπεριλαμβανομένων ενημερωμένων κωδικών ICD-10 και βελτιωμένων εργαστηριακών λειτουργιών. Το GNU Health μπορεί να συνδεθεί απευθείας με τον Orthanc, τον δωρεάν διακομιστή PACS, ο οποίος ενσωματώθηκε πρόσφατα σε αυτήν την έκδοση. Οι προγραμματιστές στον τομέα της υγείας και της ιατρικής έχουν πολλά εργαλεία ανοιχτού κώδικα με το openSUSE Leap που μπορούν να χρησιμοποιηθούν για τη δημιουργία ισχυρών διεπαφών χρήστη (UI) και εμπειριών χρήστη (UX) για ιατρικές συσκευές. Οι προγραμματιστές συσκευών υγειονομικής περίθαλψης μπορούν να είναι σίγουροι για τη χρήση και την απόδοση της Leap και να βασίζονται στο σύστημα που υποστηρίζει νεότερο και παλαιότερο υλικό.


Διαχείριση ρυθμίσεων


Οι διαχειριστές συστημάτων θα έχουν τα πιο ενημερωμένα εργαλεία για τη διαχείριση των ρυθμίσεων. Η Salt 3000 ενσωματώθηκε στην Leap. Η νέα έκδοση Salt αφαιρεί την έκδοση ημερομηνιών και παρέχει νέες λειτουργίες στο chroot: apply, sls και highstate. Επίσης, ενημερώνει τη σύνταξη υποδοχής για να υποστηρίζει την ανάλυση των απαντήσεων στο λεξικό και για την προσθήκη κειμένου. Το Ansible είναι επίσης διαθέσιμο για τους διαχειριστές. Το Ansible λειτουργεί μέσω SSH και δεν απαιτεί εγκατάσταση λογισμικού ή υπηρεσιών σε απομακρυσμένους κόμβους.


Groupware και φιλοξενία αρχείων


Οι υπηρεσίες κοινής χρήσης αρχείων και cloud περιλαμβάνουν λογισμικό όπως το Nextcloud και ακόμη και η σουίτα εφαρμογών groupware Kopano (παλαιότερα γνωστή ως Zarafa) είναι μέρος των επίσημων αποθετηρίων της Leap 15.2.

Όπως οι προηγούμενες εκδόσεις, οι διαχειριστές συστήματος και οι μικρές επιχειρήσεις μπορούν να χρησιμοποιήσουν το Leap για τη φιλοξενία διακομιστών ιστού και αλληλογραφίας ή για διαχείριση δικτύου με DHCP, DNS, NTP, Samba, NFS, LDAP και εκατοντάδες άλλες υπηρεσίες.


Κύκλος ζωής


Οι μικρές εκδόσεις της σειράς Leap 15 έχουν περίπου 18 μήνες κύκλου ζωής. Οι μικρές εκδόσεις κυκλοφορούν περίπου μία φορά το χρόνο. Οι χρήστες του openSUSE Leap 15.1, που κυκλοφόρησε τον Μάιο του 2019, θα πρέπει να κάνουν αναβάθμιση σε Leap 15.2 εντός των επόμενων 6 μηνών. Η πρώτη κυκλοφορία του Leap 15 κυκλοφόρησε πριν από δύο χρόνια.

Tue, Apr 14, 2020

Η SUSE προτείνει συγχρονισμό ροών κώδικα, την συμπερίληψη των αρχείων SLE binaries για το openSUSE Leap

openSUSE Leap

Η SUSE έστειλε μια πρόταση στην κοινότητα του openSUSE σχετικά με την προσέγγιση των πηγών κώδικα τόσο του SUSE Linux Enterprise όσο και του openSUSE Leap. Η πρόταση περιλαμβάνει τα SLE binaries για την έκδοση της κοινότητας.

Η προσέγγιση των πηγών κώδικα πιο κοντά ώστε να παρέχουν πλήρη συμβατότητα παρέχει αρκετά πλεονεκτήματα στην κοινότητα, όπως η χρήση κώδικα υψηλότερης ποιότητας λόγω του καθαρισμού των αρχείων spec, η βελτίωση της σχέσης μεταξύ των δύο διανομών, η ευκολότερη αναφορά σφαλμάτων, λιγότερες ροές κώδικα για τη συντήρηση, διεξοδική δοκιμή πακέτων και συμπερίληψη υποστηριζόμενων αρχιτεκτονικών SLE όπως s390x.

«Με αυτή την αλλαγή, μπορούμε να χρησιμοποιήσουμε καλύτερα τους πόρους μας, καθώς η βάση κώδικα συγκλίνει, οπότε κατά την κατασκευή πακέτων έχουμε λιγότερη επεξεργαστική ισχύη να σπαταλήσουμε», εξέφρασε ο Axel Braun, μέλος του διοικητικού συμβουλίου του openSUSE, σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου που στάλθηκε στην κοινότητα για την πρόταση. «Όσοι δημιουργούν πακέτα για την Leap και για το Hub με τα πακέτα θα επωφεληθούν αμέσως από αυτό.»

Η πρόταση προέβλεπε μια σταδιακή προσέγγιση για την εφαρμογή του οράματος. Το μήνυμα περιέγραψε τις παρακάτω επιλογές:
  • • Συγχώνευση των βάσεων κώδικα για τις openSUSE Leap 15.2 και SUSE Linux Enterprise 15 SP2 όσο το δυνατόν περισσότερο χωρίς απώλεια σταθερότητας ή λειτουργικότητας. (Η SUSE έχει αρχίσει να συγχωνεύει από την Leap στην SUSE Linux Enterprise.)
  • • Δημιουργία μιας ενδιάμεσης openSUSE Leap όπου τα binaries της SLE χρησιμοποιούνται παράλληλα με την κλασική Leap 15.2, μέσα στο χρονικό πλαίσιο του Οκτωβρίου 2020.
  • • Δημιουργία της openSUSE Leap 15.3 με τα binaries της SLE που περιλαμβάνονται από προεπιλογή (υποθέτοντας ότι η κοινότητα συμφωνεί).

Η διανομή Leap ήδη μοιράζεται ένα σημαντικό ποσό το βασικού πηγαίου κώδικα με την SLE. Η Leap 15.2 θα βασίζεται στις πηγές από την SLE 15 SP 2, αλλά όχι στα binaries.

Η κοινότητα είναι πιθανό να συζητήσει την πρόταση για το πώς να φέρει τα binaries της SLE στη νέα εγκατάσταση του Leap και θα βοηθήσει στον εντοπισμό οποιωνδήποτε ζητημάτων που μπορεί να αλλάξουν διαδικασίες ή ροές εργασίας. Το ενδιάμεσο έργο που κατασκευάστηκε στο OBS είναι πιθανό να κυκλοφορήσει τον Μάιο. Αυτό το γεγονός θα πρέπει να δώσει στους συνεισφέροντες και στους προγραμματιστές της openSUSE την ευκαιρία να κατανοήσουν καλύτερα την πρόταση της SUSE.

«Έχουμε μια ιδέα για την εγκατάσταση στο build.opensuse.org», είπε ο Adrian Schröter από την ομάδα του OBS. «Προβλέπω να έχουμε ένα πρώτο πρωτότυπο μέσα στις επόμενες τρεις εβδομάδες. Πρέπει να έχουμε κατά νου ότι πρόκειται για έναν εντελώς νέο τρόπο ανάπτυξης μιας διανομής.»

Η ομάδα που είναι υπεύθυνση για την κυκλοφορία, έχει αξιολογήσει όλα τα πακέτα και τις τεχνικές συνέπειες για την ενσωμάτωση των πρόσθετων πακέτων της SLE, ώστε να παρέχουν κάποια σαφήνεια στην κοινότητα σχετικά με τον τρόπο με τον οποίο οι τεχνικές υλοποιήσεις θα μπορούσαν να λειτουργήσουν καλύτερα.

Υπάρχουν αρκετά πακέτα που είναι τεχνικά δύσκολο να εφαρμοστούν για πλήρη συμβατότητα διανομών επιχειρήσεων και κοινότητας.

«Χρειάστηκε αρκετή προσπάθεια για να δημιουργηθεί ένα σχέδιο αποδεκτό από όλες τις εμπλεκόμενες ομάδες», εξήγησε ο υπεύθυνος κυκλοφορίας της Leap, Lubos Kocman. «Η διάσπαση του έργου στις επόμενες δύο κυκλοφορίες φάνηκε να είναι αποδεκτή τουλάχιστον από τα εμπλεκόμενα μέρη μέχρι στιγμής. Η ιδέα της επαναχρησιμοποίησης θα πρέπει γενικά να μειώσει την προσπάθεια στην πλευρά της Leap. Ωστόσο, έρχεται με το τίμημα της αυξημένης πολυπλοκότητας να φέρει μαζί όλα τα κομμάτια.»

Οι απόψεις και οι τεχνικές συζητήσεις αποτελούν σημαντικό μέρος κάθε έργου ανοιχτού κώδικα. Το νέο ενδιάμεσο έργο θα εισαγάγει την κοινότητα στις πηγές και θα βοηθήσει με το χειρισμό διαφόρων τμημάτων κώδικα που απαιτούνται για την εφαρμογή πολλών στοιχείων των εκδόσεων σε περίπτωση αποδοχής της πρότασης από την κοινότητα.

Η ομάδα υπεύθυνη για την κυκλοφορία ενδιαφέρεται για τις απόψεις από τους συνεισφέροντες και τους χρήστες μόλις ολοκληρωθεί η δημιουργία του ενδιάμεσου έργου.

Η ανατροφοδότηση είναι ένα σημαντικό μέρος αυτής της διαδικασίας, καθώς το έργο φαίνεται να κερδίσει περισσότερο πηγαίο κώδικα της SLE, τόνισε ο Kocman.

Ένας χάρτης πορείας για το πρωτότυπο για μια προτεινόμενη έκδοση θα είναι διαθέσιμη στη διεύθυνση https://en.opensuse.org/openSUSE:Roadmap.

Οι Συχνές Ερωτήσεις σχετικά με αυτό το θέμα είναι διαθέσιμες στη διεύθυνση https://en.opensuse.org/Portal:Leap/FAQ/ClosingTheLeapGap.

Πηγή:
SUSE proposes synchronizing code streams, includes SLE binaries for openSUSE Leap