posted by qubix on January 4, 2014

Μιας που το παλιό μου κινητό galaxy gt-I5800 είχε πέσει σε αχρηστία, αποφάσισα να πειραματιστώ λίγο αλλάζοντας το παλιακό eclair 2.1 android που είχε. Αρχικά έκανα το διαθέσιμο upgrade του firmware από το KIES που το πήγε σε froyo 2.2 αλλά δεν πολυεντυποσιάστηκα. Μετά από λίγο ψάξιμο έπεσα σε ένα thread του xda:
[ROM][2.3.7] CyanogenMod 7.2 (Alpha9 - 10/03/2013)
και κατάφερα να βάλω το εν λόγω mod στο σαραβαλάκι..

Οι εντυπώσεις μου? Λοιπόν μη έχοντας ξαναδοκιμάσει κάποιο cyanogenmod, ομολογώ πως εντυπωσιάστηκα. Πολύ ωραίο περιβάλλον, άπειρες επιλογές για ρυθμίσεις, αρκετά γρήγορο και responsive ..γενικώς έμεινα ικανοποιημένος!

Οδηγίες flash του cyanogenmod 7.2 στο gt-i5800

1) Κατεβάζουμε το odin, το πρόγραμμα με το οποίο θα κάνουμε το flash
http://www.mediafire.com/download/ssr5h4vv26aasf7/Flashing_Tools.zip
2) Κατεβάζουμε το cyanogenmod 7.2 ALPHA9
https://code.google.com/p/cm7-i5800/downloads/detail?name=CM7.2.0-GT-I5800_Alpha9_ODIN.zip
3) Αποσυμπιέζουμε το flashing tools και το cm7.2 και το αρχείο CM7.2.0-GT-I5800_Alpha9_ODIN.tar το βάζουμε στον ίδιο φάκελο με το odin. Στον ίδιο φάκελο με αυτά τα δύο θα δούμε και το αρχείο apollo_0531.ops που αφορά τα χαρακτηριστικά του gt-i5800 (κωδικό όνομα apollo).
4) φροντίζουμε να έχουμε εγκαταστήσει την τελευταία έκδοση του samsung kies ώστε να έχουν εγκατασταθεί και οι τελευταίοι usb drivers για το κινητό
5) Κάνουμε factory reset στο κινητό
6) Αφού τελειώσει το factory reset, κλείνουμε το κινητό και το βάζουμε σε download mode: κλείνουμε το κινητό, περιμένουμε 20-30 δευτερόλεπτα και πατάμε διαδοχικά κρατώντας πατημένα κάθε φορά τα πλήκτρα volume down->home->power μέχρι να δούμε την οθόνη του download mode.
7) ανοίγουμε το odin ως διαχειριστης (administrator) και συνδέουμε το κινητό στον υπολογιστή με το usb καλώδιο
8) περιμένουμε μέχρι το odin να βρει το κινητό και να κάνει port map τη θύρα usb
9) επιλέγουμε αριστερά τα "auto reboot","one package","protect OPS" και αφήνουμε στην ησυχία του το "reset time"
10) δεξιά τώρα, πηγαίνουμε στο "select ops" και βάζουμε το ops file για το apollo galaxy s3 i5800 που υπάρχει στον φάκελο.
Κάτω κάτω στο "one package" πάμε και βάζουμε το αρχείο .tar που είχαμε αντιγράψει πιο πάνω στον ίδιο φάκελο με το odin
11) πατάμε start και δεν πειράζουμε καθόλου το κινητό μέχρι να δούμε στην οθόνη αριστερά τη λέξη "PASS!".
12) Περιμένουμε λίγο ακόμη και αν το κινητό έχει κολλήσει στην recovery οθόνη, πάμε στην πρώτη της επιλογή που είναι το reboot και πατάμε το home για να την επιλέξουμε
13) περιμένουμε να γίνει η επανεκκίνηση και να απολάυσουμε το modded galaxy I5800 :)

have fun!

posted by qubix on December 22, 2013

Πρόσφατα αντιμετώπισα το εξής πρόβλημα:

Σε μια εγκατάσταση wordpress 3.5 με την next gen gallery 1.9.1.2, όταν ενεργοποίησα τα permalinks, σταμάτησαν να δουλεύουν το paginations και το slideshow στις galleries που είχα φτιάξει..

Μετά από λίγο ψάξιμο είδα πως η nggallery έψαχνε να βρει τις get variables "nggpage" και "show" με την function get_query_var του wordpress. Για κάποιον άγνωστο λόγω, οι εν λόγω variables δεν υπήρχαν στη λίστα του wordpress (η get_query_var ψάχνει σε μια λίστα γνωστών variables του wordpess.

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

Τελικά αποφάσισα να κάνω λίγο modification στον κώδικα του nggfunctions.php:

Γραμμή 176 λοιπόν προσθέτουμε:

   
    if (!$show) {
        if ($_GET['show'] == 'slide') {
            $show = 'slide';
        }
    }
   

και γραμμή 260:

  
    if (!$nggpage) {
        $nggpage = (int)$_GET['nggpage'];
    }
   

έτσι λοιπόν τώρα οι variables έχουν την τιμή που χρειάζεται όταν χρειάζεται!

posted by qubix on December 18, 2013

Πρόσφατα προσπαθούσα να κάνω update το bios μιας σχετικά παλιάς μητρικής gigabyte του 2006. Το καλό της υπόθεσης (νόμιζα) ήταν πως είχε ένα flash utility μέσα από το bios το οποίο υποτίθεται πως αν βάλεις το bios file σε ένα floppy disk, το διαβάζει και κάνει το update (για usb stick ούτε λόγος..).
Μετά από κάποιες αποτυχημένες προσπάθειες μιας και ότι δισκέτα και να έβαζα κάποιο I/O error γινόταν και μιας και το pc είχε linux οπότε κάτι κουλά windoze flash bios utils δεν μπορούσα να τα δοκιμάσω..είπα να δω τι γίνεται από κονσόλα linux..

Ε λοιπόν, πιο απλό δεν γίνεται:

1) κάνουμε install το flashrom
2) τρέχουμε $flashrom --read bios.bak για να πάρουμε backup το υπάρχον bios
3) μετά τρέχουμε $flashrom --write to_arxeio_tou_bios -p internal
Από την παραπάνω γραμμή που είναι αρκετά self-explaining, το μόνο που χρειάζεται να εξηγήσουμε είναι η παράμετρος -p, με την οποία λέμε στο flashrom ποιο chip να χρησιμοποιήσει για να γράψει το bios. O λόγος είναι πως υποστηρίζει παραπάνω από μια συσκευή, δηλαδή μπορεί να γράψει το bios/firmware σε κάρτες γραφικών, controllers και φυσικά και στην ίδια την μητρική οπότε χρειάζεται να του πούμε τι να κάνει.
To internal λοιπόν, το βάζουμε για flash σε μητρικές.

Για να πάρετε μια ιδέα του τι υποστηρίζει, πάτε εδώ: supported programmers

posted by qubix on November 17, 2013

Στον παρόν οδηγό δε θα ασχοληθούμε με την κατάσταση στο χώρο των πιστοποιητικών η οποία είναι νταβαντζιλίκι και απαράδεκτη...θα δούμε πως μπορούμε να προσθέσουμε το cacert ως "νόμιμο" authority στον chrome/chromium.

Περισσότερα για το cacert στο site τους, cacert.org

Συνοπτικές οδηγίες λοιπόν για να κάνουμε import τα βασικά πιστοποιητικά του cacert σε chrome/chromium (σε linux πάντα! :P)

Πρώτα εγκαθιστούμε τα libnss3 tools, τα οποία μας είναι πολύ χρήσιμα και φυσικά "κάθονται" πάνω στη βιβλιοθήκη libnss3 η οποία υποστηρίζει διάφορα σχήματα ασφαλείας όπως sslv2/4,TLS, PKCS #5, #7, #11, #12, S/MIME, X.509 v3 κλπ κλπ

$ apt-get install libnss3-tools



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

$ mkdir -p $HOME/.pki/nssdb


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

$ certutil -d $HOME/.pki/nssdb -N



Τώρα κατεβάζουμε τα πιστοποιητικά του cacert (το root και το class3)

$ wget -O cacert-root.crt "http://www.cacert.org/certs/root.crt"
$ wget -O cacert-class3.crt "http://www.cacert.org/certs/class3.crt"



Και τα κάνουμε import στη βάση δεδομένων που δημιουργήσαμε πιο πάνω

$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org" -i cacert-root.crt 
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org Class 3" -i cacert-class3.crt



Αυτό ήταν, τώρα sites με δωρεάν πιστοποιητικά ssl από το cacert θα είναι καθόλα νόμιμα και δε θα πετάει ενοχλητικές προειδοποιήσεις "ασφαλείας" σε κάθε μας βήμα ο chrome ή chromium...

posted by qubix on November 10, 2013

Το K2 όταν ανεβάζουμε ένα βίντεο δεν δημιουργεί thumbnail και ο λόγος είναι πως χρειάζεται κάποιον τρόπο να χειρίζεται τα αρχεία βίντεο ο οποίος δεν υπάρχει εγγενώς στην php. Η λύση είναι η χρήση του ffmpeg utility. Δυστυχώς πρέπει να πειράξουμε τον κώδικα του Κ2..



1) ανοίγουμε το αρχείο administrator/components/com_k2/models/item.php

2) πάμε στη γραμμή:
$row->video = '{'.$filetype.'}'.$row->id.'{/'.$filetype.'}';

3) κάτω από αυτή προσθέτουμε:
$videofile = $savepath.DS.$row->id.'.'.$filetype;
$image = $savepath.DS.$row->id;
passthru("ffmpeg -i $videofile -vframes 1 -ss 00:00:00 $image.jpg",$fvstat);

4) κάνουμε save το αρχείο και στο επόμενο upload θα δούμε τα thumbnails να εμφανίζονται κανονικά!

Η λύση αυτή προϋποθέτει στον server που είναι το site να υπάρχει το ffmpeg και να επιτρέπεται η εντολή της php "passthru"

Η μεταβλητή $fvstat μπορεί να έχει την τιμή 0 ή 1 ανάλογα με το αν εκτελέστηκε η εντολή σωστά η όχι.

Ο λόγος που δουλεύει το παραπάνω snippet είναι επειδή το allvideos plugin του K2 (εγκαθείσταται χωριστά) όταν βρίσκει μια εικόνα με το ίδιο όνομα με του video και στον ίδιο φάκελο, το βάζει ως thumbnail και αυτό ακριβώς είναι που κάνει ο κώδικας, τραβά το πρώτο frame και το σώζει ως jpg με όνομα το όνομα του video.

posted by qubix on October 10, 2013

Αρκετά πακέτα στο arch δεν βρίσκονται στα επίσημα repositories αλλά στο Arch User Repository.
Στον παρόν οδηγό δε θα χρησιμοποιήσουμε το yaourt που είναι ένα utility βοηθητικό για το AUR. Παρακάτω ακολουθεί η διαδικασία εγκατάστασης του πακέτου gimp-gap (GIMP Animation Package).

1) Πάμε στη σελίδα του aur για το πακέτο gimp-gap
https://aur.archlinux.org/packages/gimp-gap/

2) κατεβάζουμε στο /tmp/ το tarball
cd /tmp/ && wget https://aur.archlinux.org/packages/gi/gimp-gap/gimp-gap.tar.gz

2.5) αν δεν έχουμε το base-devel το κάνουμε install:
pacman -Su base-devel

3) κάνουμε untar το tarball και μπαίνουμε στο directory που θα δημιουργηθεί
tar xvzf gimp-gap.tar.gz && cd gimp-gap

4) φτιάχνουμε το πακέτο και το κάνουμε install
makepkg -i --asroot
4.5) σε περίπτωση που υπάρχουν dependancies τα οποία απαιτούνται για να συνεχιστεί η εγκατάσταση, τρέχουμε
makepkg -s --asroot
η εγκατάσταση των dependancies και τυχόν compilations μπορεί να πάρουν αρκετή ώρα οπότε απλά..περιμένουμε :]

4.5.1) μετά κάνουμε
makepkg -U pacman -U gimp-gap-2.6.0-1-x86_64.pkg.tar.xz

και η εγκατάσταση ολοκληρώνεται!

posted by qubix on September 29, 2013

RewriteEngine On RewriteCond %{HTTP_HOST} ^old-domain.tld$ [OR] RewriteCond %{HTTP_HOST} ^www.old-domain.tld$ RewriteRule (.*)$ http://www.new-domain.tld/$1 [R=301,L]

posted by qubix on August 28, 2013

Εάν ξαφνικά αντί να μπορούν να αφήσουν μήνυμα στον τηλεφωνητή του asterisk οι καλούντες, ακούν μια φωνή στα αγγλικά να λέει ""sorry ,but the users mailbox can't accept more messages, an error has occured", μην πανικοβάλλεστε! Το πρόβλημα είναι πολύ απλό: γέμισε το mailbox του voicemail..

Τι κάνουμε λοιπόν:
1) τσεκάρουμε την κατάσταση
μπαίνουμε στην κονσόλα του asterisk:

asterisk -rv

εκεί πατάμε voicemail show users όπου θα μας δείξει κάτι σαν:

Context Mbox User Zone NewMsg default general New User 0 default 1234 Example Mailbox 0 default 0000 1-voicemail 100

Αχά! Απ'ότι φαίνεται το voicemail έχει "χτυπήσει" στο όριο των 100 mails per mailbox. Αν αναρωτιέστε τι είναι αυτό, δεν είναι περίεργο..είναι η default τιμή του max mails per mailbox number στα voicemails. Την τιμή αυτή μπορείτε να την αλλάξετε από το /etc/asterisk/voicemail.conf ; Maximum number of messages per folder. If not specified, a default value ; (100) is used. Maximum value for this option is 9999. ; maxmsg=9999 Εκεί στο maxmsg αφαιρούμε το ";" και βάζουμε την τιμή που θέλουμε. Για να ισχύσουν οι αλλαγές, είτε κάνουμε το asterisk reload, είτε αν είμαστε στο asterisk CLI γράφουμε voicemail reload

To μυστήριο λύθηκε :]

posted by qubix on August 9, 2013

Το boinc (Berkeley Open Infrastructure for Network Computing) είναι ένα λογισμικό που μας επιτρέπει να συμμετέχουμε δίνοντας τον αδρανή χρόνο του υπολογιστή μας σε ένα από τα πολλά projects που χρειάζονται επεξεργαστική ισχύ όπως για την θεραπεία ασθενειών, τη μελέτη της παγκόσμιας ανόδου της θερμοκρασίας, την ανακάλυψη άστρων pulsar, και πολλά άλλα είδη επιστημονικής έρευνας

enable epel repo and install
Καταρχήν χρειάζεται να ενεργοποιήσουμε το epel repository για να κατεβάσουμε το boinc:
- Κατεβάζουμε την τελευταία έκδοση του epel σε rpm από το
http://dl.fedoraproject.org/pub/epel/6/x86_64/
- Την εγκαθιστούμε epel-release:
rpm -Uvh epel-release*rpm
- Τώρα εγκαθιστούμε τον boinc client και manager:
yum install boinc-client
yum install boinc-manager

Ενεργοποιούμε το X forwarding
Στον σέρβερ βεβαιωνόμαστε πως στο /etc/ssh/sshd_config υπάρχουν τα:

X11Forwarding yes
X11DisplayOffset 10

Αν όχι τα βάζουμε και κάνουμε restart τον ssh daemon

Τέλος αν δεν το έχουμε ήδη, εγκαθιστούμε το xauth

user@server:~$ which xauth
/usr/bin/xauth

Χωρίς το xauth θα βρεθούμε μπροστά στο σφάλμα:"empty DISPLAY environment variable"

Στο local μηχάνημά σας συνδεθείτε με ssh βάζοντας την παράμετρο -Χ ώστε να επιτρέπεται το Χ11 forwarding. Κάτι σαν αυτό δλδ:

ssh -X user@the-server

τρέξτε τον daemon και τον manager

/etc/init.d/boinc start και
boincmgr

κάντε τις ρυθμίσεις και attach σε κάποιο project

Πριν κάνετε attach σε κάποιο από τα projects που υποστηρίζουν τον boinc, βεβαιωθείτε πως έχετε κάνει τις ρυθμίσεις που θέλετε (cpu utilization, disk usage, limits etc..) από τη σελίδα του project που σας ενδιαφέρει και μετά κάντε το attach από τον manager.

Αφού όλα αρχίσουν να δουλεύουν, μπορείτε από τον manager να δείτε τι tasks τρέχουν, τη χρήση του δίσκου, μηνύματα και άλλα διάφορα.

posted by qubix on July 14, 2013


Αφού κάνουμε upgrade το mate είτε από την 1.2 είτε από την 1.4 έκδοση στην 1.6, διαπιστώνουμε πως ξαφνικά δεν βλέπουμε τα thumbs από εικόνες, pdf κλπ, πως η cpu τρέχει σαν τρελή και ο δίσκος όλο γράφει και γράφει κάτι.

Δε συμβαίνει κάτι περίεργο, απλά ο νέος caja ψάχνει τον φάκελο ~/.cache/thumbnails που δεν υπάρχει! Αντί αυτού πάει στον ~/.thumbnails/failed και γράφει εκεί..κάτι...

Συνεπώς η λύση είναι απλή:

- bootάρουμε σε single user mode ή αν δεν έχει (κανένα ubuntu-based δλδ...) κάνουμε logout και πατάμε Ctrl-F1 για να ανοίξουμε κονσόλα - αφού κάνουμε login σβήνουμε τον φάκελο ~/.thumbnails και ότι έχει μέσα
- και τον αντικαθιστούμε με ένα symlink:
ln -s ~/.cache/thumbnails ~/.thumbnails

κάνουμε reboot και θα διαπιστώσουμε πως όλα πάνε καλά..

hyperworks