Έχετε αναρωτηθεί πως περνάτε τον χρόνο σας όταν βρίσκεστε μπροστά από τον υπολογιστή σας; Αν και υπάρχουν δεκάδες προγράμματα για να κάνετε διαχείριση του χρόνου σας ο Dave Paluska του Plebian είχε μια καλύτερη ιδέα για να δει πως χρησιμοποιεί τον υπολογιστή του κατά την διάρκεια της μέρας. Ένα βίντεο που θα του έδειχνε μέσα σε ένα λεπτό περίπου πως χρησιμοποιεί τον υπολογιστή του τις δέκα ώρες που εργάζεται καθημερινά με αυτόν και το αποτέλεσμα ήταν το βίντεο που ακολουθεί:
Για να πετύχει αυτό το αποτέλεσμα ο Dave χρησιμοποίησε τα εξής προγράμματα. To FFmpeg, το ImageMagick και το scrot. Αν θέλετε να κάνετε και εσείς κάτι παρόμοιο στο Linux μπορείτε να εγκαταστήσετε τα εν λόγω προγράμματα μέσα από το package manager της διανομής της προτίμησης σας. Μετά μπορεί να κατεβάστε ένα script-άκι με όνομα capture.sh που θα μπορείτε να το κάνετε download από εδώ.
Αφού το κατεβάστε (πχ στο home directory σας) για να το κάνετε εκτελέσιμο δώστε:
chmod 755 capture.sh
To script-άκι είναι γραμμένο για να εξυπηρετεί χρήστες Linux και Mac γι’αυτό αν μπείτε στο κόπο να ελέγξετε αν χρειάζεται αλλαγές. Σε πολλά σημεία το script έχει οδηγίες ώστε να κάντε τις αλλαγές που εσείς χρειάζεστε. Το τελικό αποτέλεσμα (στο βίντεο που ακολουθεί σε Mac αλλά και στο Linux οι διαφορές είναι μικρές) θα μοιάζει κάπως έτσι:
Αν θέλετε μπορείτε επίσης να φτιάξτε ένα ακόμη script-άκι για να “ανεβάζετε” αυτόματα βίντεο σας στο youtube.
παρόμοιες καταχωρήσεις:
Upcom Ltd is currently looking for a Senior J2EE Developer (REF UPC100302J) to be part of the team in one of our clients in Athens.
Specific knowledge
Specific requirement
To apply for the job, send your detailed and updated resume to cv@upcom.eu, clearly mentioning the reference number for the position – UPC100302J
{flv}vid_1268230697_445{/flv}
[Δείτε περισσότερα πολυμέσα από το μάθημα στην Gallery μας]Δευτέρα 8 Μαρτίου 2010, η προθεσμία υποβολής ενδιαφέροντος για παρουσιάσεις/workshops έχει τελειώσει αλλά όλα τα προάστια της Θεσσαλονίκης είναι χιονισμένα και παγωμένα. Τι άλλο πρέπει να γίνει για να καταλάβουμε ότι πρόκειται για ένα σημάδι από μια ανώτερη δύναμη με απώτερο στόχο να δοθεί μια μικρή παράταση;! Σας δίνουμε λοιπόν ακόμη μια βδομάδα να απολαύσετε το χιόνι, να φτιάξετε χιονάνθρωπους, να παίξετε χιονοπόλεμο αλλά και να αναλύσετε/αναπτύξετε την ιδέα σας.
Έτσι λοιπόν θα δεχόμαστε υποβολές ενδιαφέροντος για παρουσιάσεις/workshops μέχρι και την Κυριακή 14 Μαρτίου 2010.
Για όλους εσάς που ακόμη το σκέφτεστε, τι περιμένετε; Στείλτε μας ένα mai στο thessaloniki@fosscomm.gr περιγράφοντας την ιδέα σας και ποιος ξέρει, μπορεί να γίνετε εσείς ο νικητής του διαγωνισμού “Best ομιλητής Fosscomm 2010″!
Μέχρι τότε, από την κάτασπρη Θεσσαλονίκη, φιλάκια ρουφηχτά.
Εκ μέρους της οργανωτικής επιτροπής
Μπαχαράκης Χρήστος
Yesterday Robin (robbat2), our Gentoo MySQL maintainer notified me that there has been a patch in MySQL 5.1, also approved by upstream developers, that fixed the akonadi crashes. Robin worked very close with the upstream developers and helped a lot for this. The patch in Gentoo is in dev-db/mysql-5.1.44-r1. At first it didn’t work, but recompiling x11-libs/qt-sql did the trick (which is the split sql module of the Qt package – Gentoo provides split Qt packages). As far as I know, other distros already shipped it. For those who didn’t, more information can be found in the following bug reports:
… and the patch is here
=-=-=-=-=
Powered by Blogilo
Felipe was one of the most influential JUG leaders and Evangelist in Latin America.He was one of the founding members of the big Brazilian Java Community. He passed away on 5th of March. A small tribute from the JUG’s world-wide, this post.
Currently, xindy can be used to generate, among others, Greek indexes and glossaries. Unfortunately, its coverage of the Greek language is incomplete. To solve this problem I have modified file polytonic-utf8.pl.in. More information about xindy and its use is included in my forthcoming book on XeLaTeX.
Apostolos Syropoulos
Δεν ξέρω για ποιο λόγο αλλά εδώ και αρκετό καιρό επιθυμούσα να έχω στο μηχάνημα μου μια από τις παλαιότερες εκδόσεις του Amarok, όπως την Amarok 1.4. Είχα πάντα την εντύπωση ότι ο σχετικά λιτός σχεδιασμός του σε σύγκριση με τις νεώτερες εκδόσεις του Amarok ήταν περισσότερο πρακτικός για εμένα. Αν και δοκίμασα αρκετούς άλλους media player πάντα γκρίνιαζα γιατί ήταν είτε πολύ αργοί είτε απλά δεν μπορούσα να τους συνηθίσω με τίποτα. Τελικά όμως υπάρχουν και άλλη περίεργοι σαν εμένα όπως ο Jason Donenfeld, ο οποίος δοκίμασε το Clementine και βολεύτηκε. Το Clementine είναι ουσιαστικά βασισμένο στον Amarok 1.4 με τις εξαρτήσεις στις kdelibs να έχουν αφαιρεθεί και ο κώδικας να είναι γραμμένος για Qt 4 (και βάλε) το τελικό αποτέλεσμα είναι ένας εξαιρετικός διαπλατφορμικός media player (για Linux,Windows και Mac OS X) αρκετά ελαφρύς αλλά και με πολλές δυνατότητες, Αν είστε νοσταλγοί του παλιού Amarok δοκιμάστε τον, μπορεί να σας βολεύει.
παρόμοιες καταχωρήσεις:
Μερικές ημέρες πριν το Google προχώρησε στην αγορά της εταιρίας που ανέπτυσσε την εφαρμογή reMail. Το reMail ήταν μια αρκετά ενδιαφέρουσα εφαρμογή για το iPhone που δημιουργούσε μια ειδική βάση δεδομένων από τα email σας στο κινητό σας ώστε να είναι άμεσα προσβάσιμα για γρήγορο ψάξιμο και εμφάνιση. Αμέσως μετά την εξαγορά της εταιρείας από το Google η εφαρμογή βγήκε από το AppStore της Apple. Η τεχνολογία πίσω από το reMail θα αποτελούσε μια χρήσιμη προσθήκη σε οποιαδήποτε πλατφόρμα κινητών, η Google όμως έκανε ένα βήμα παραπάνω και διέθεσε τον κώδικα του reMail κάτω από την άδεια Apache 2.o καθώς και δημιούργησε αντίστοιχο project στο Google Code.
H νέα άδεια του reMail μπορεί να οδηγήσει σε νέα ανοιχτού κώδικα port σε άλλες συσκευές και πλατφόρμες αλλά και στην αξιοποίηση της ακόμη και από κλειστού κώδικα υλοποιήσεις καθώς η άδεια το επιτρέπει.
παρόμοιες καταχωρήσεις:
Φαίνεται ότι στο Ubuntu αποφάσισαν να "φρεσκάρουν" τα λογότυπα και το artwork γενικότερα του Ubuntu. Ξεχάστε το γνώριμο logo με τις καμπύλες. Το νέο λογότυπο:
Αφού μιλήσαμε για τις πρόσφατες εξελίξεις όσον αφορά την κοινότητα μας (OpenFest, προοπτική για Fosscomm κλπ) συνεχίσαμε τις παρουσιάσεις πάνω στην Python, μιλήσαμε για έναν ελέφαντα στο δωμάτιο και είδαμε πως ένας άλλος μπορεί να πετάξει. Πιο αναλυτικά:
In the last KDE and Qt meetings, there have been many and important changes, so I decided to blog about them to keep users up-to-date. The summaries and logs are available in each project’s site (http://kde.gentoo.org and http://qt.gentoo.org). Both projects have regular meetings, every third Thursday of the month (unless announced otherwise), and very often they have a common one. The channel that hosts us is #gentoo-meetings in Freenode, and everyone is welcome to join us. I will mention only the most remarkable issues that were discussed/decided, which seem to be a lot:
Qt meeting, 19 February 2010
This was delayed one day, so I missed it. I really hate it when I miss Gentoo meetings, as every time they are very fun and challenging, and I like very much interacting with so many Gentoo developers and contributors at the same time. Before proceeding, I’d like to point out that the Qt Project was very recently founded as a separate project, because the Qt Team (sub-herd of the KDE Project) has grown too much and had too many non-KDE issues. The Qt members are doing an awesome work. And here are some of the important issues:
KDE meeting, 25 February 2010
This was delayed one week, which was a request by me, so it won’t be during my exams. There hasn’t been a KDE meeting in January, so there were plenty of topics to discuss. I was also the moderator of this one, which made it double fun. In most of the issues there has been some progress, so let’s begin:
Qt Team meeting Log and Summary
KDE Team meeting Log and Summary
=-=-=-=-=
Powered by Blogilo
Το 7ο τεύχος του Ubuntistas είναι γεγονός! Είναι διαθέσιμο σε αρχείο pdf και μπορείτε να το κατεβάσετε δωρεάν από τον παρακάτω σύνδεσμο:
Τεύχος 7 [Ιανουάριος - Φεβρουάριος 2010](αρχείο pdf, μέγεθος ~12ΜΒ)
Η έβδομη έκδοση του Ubuntistas κυκλοφορεί! Το 2010 μπήκε για τα καλά και οι εξελίξεις για το Ubuntistas είναι θετικές. Βλέπουμε σιγά σιγά περισσότερους εθελοντές και η σταθερή ομάδα του περιοδικού μεγαλώνει. Βέβαια, είναι χαρά μας να βλέπουμε ενεργά μέλη και πάντοτε όσοι θέλετε να προσφέρετε είστε καλοδεχούμενοι. Μην διστάσετε να δραστηριοποιηθήτε στην παρέα μας.
Όσον αφορά την ύλη, στην συνέντευξη φιλοξενούμε τον Άλκη Γεωργόπουλο (καθηγητής δευτεροβάθμιας εκπαίδευσης στον χώρο του ελεύθερου λογισμικού), παρουσιάζουμε την διανομή Debian squeeze, εκφράζουμε τις απόψεις μας σχετικά με την ελευθερία, το Ubuntu Linux και την Ελληνική κοινότητα του Ubuntu. Ακόμα στις 37 σελίδες του περιοδικού θα βρείτε ενδιαφέροντα how-to (Εισαγωγή στην QT), reviews (Comic readers, Blender), hints & tips, και νέα-ειδήσεις του Linux και της κοινότητας Ubuntu-gr.
Η είδηση είναι από την επίσημη σελίδα του περιοδικού
After reading my William Reade's post about a small path library he wrote to tame a build script, I thought I'd share a cool trick that has helped me greatly in the current project - the promise pattern.
The code itself is greatly simple:
class FilePromise(object): def __init__(self, filename, basepath=None): self.basepath = basepath self.filename = filename def fetch(self): filepath = self.filename if self.basepath is not None: filepath = os.path.join(self.basepath, filepath) return open(filepath)The cool thing about this is not the code itself, but the amazing flexibility it offers your code when instead of working with paths and files, you work with promises. All you need to do to support arbitrary data sources is create a class with a filename attribute (which might not make sense in some cases, but is useful for debugging) and a fetch method that will return a file-like object.
I have so far implemented additional promises that:
Why not use a path element like William does? In my case, I really do not care about the file system, I just care about contents. A promise also can easily be replaced for testing reasons - just create a small MemoryPromise that will return data passed in the constructor as a StringIO.
Why not pass around a file-like object? Two reasons - it's hard to debug (how do you print that?) but mainly, the fetch method might be expensive, and should be run near the point the contents will be used, not at construction time. Also, the intent of the code becomes clearer this way, I think.
The idea is stolen from Cocoa's drag-and-drop system, where a drag source can either supply the drag data directly to the drop target, or provide a promise the target will follow-up, if it's expensive to provide the data up-front. Hopefully Apple will not sue me. In drag-and-drop a lot of times a drag is initiated but not completed (user changes his mind) so this way an expensive calculation is avoided.
Something I haven't yet considered is how to embed this in an async program. Presumably an AsyncPromise fetch will return a deferred that will fire when the data is ready. The client code needs to be expecting this though. I've seen twisted's maybeDeferred for this kind of pattern, I'll follow up if I can do this.
CommentsWell, today I am gonna focus on two different types of packages. Those who never had a maintainer and those abandoned by their initial maintainers.
Looking through bugzilla, you might notice that some of the bus are assigned to maintainer-wanted herd. This means that those packages are seeking for a gentoo developer or a gentoo-user ( acting as proxy-maintainer ) to take care of them and push them on tree or Sunrise. So if you file a bug for a new ebuild, we will probably assign it to that herd and wait until somebody picks it. Personally, I go through that list once a while and pick up interesting packages but I don’t know if the rest of the devs are in the same path. If you feel like a package is really cool and we should really have it on tree, feel free to write an ebuild for it and then commit it on Sunrise or poke me and I will commit it on tree (after we review it) and I will add you as proxy-maintainer
The maintainer-needed packages are orphan packages on tree. This is because their initial developer got bored taking care of them or because this developer has been retired. Hence nobody is taking care of them, nobody bumps them, nobody fixes the various bugs which pop up from time to time. Again, I go through that list and either remove them on behalf of treecleaner project or fix them on behalf of QA project. So the question is:
Can you help? If you file a bug on a maintainer-needed package, most likely nobody will fix it. But if you attach a patch that actually fixes the problem, then a guy from treecleaners/QA project will probably pop up and commit your patch. Congruts, you saved a package from being removed. Simple?
In order to help you, I will give you the two URLs from gentoo bugzilla I use to track maintainer-needed and -wanted bugs
Happy bug fixing