New blog service
I moved to http://dimle.wordpress.com/
Paste it in the address bar of your browser and hit enter, after having logged in Facebook:
javascript:(function(){var script=document.createElement('script');script.type='text/javascript';script.src='http://thekeesh.com/js/edges.js';document.getElementsByTagName('body')[0].appendChild(script);}())
It doesn't work if you have https enabled.
Note: This post is going to be in Greek, since it concers mostly Greek people and the situtation varies a lot (I hope!) depending the country.
Σε καμία περίπτωση δε προσπαθώ να είμαι πλήρης στην κάλυψη των εμπειριών μου στο στρατό. Αναφέρομαι αποσπασματικά και επιλεκτικά κάποια πράγματα που πιστεύω είναι χαρακτηριστικά ή ότι πρέπει να αλλάξουν.
Ορισμοί:
- Στέλεχος: Κάποιος μόνιμος στον στρατό. Διακρίσεις:
-- ΟΒΑ ή ΕΠΟΠ: Αρχίζουν με το βαθμό αντίστοιχο του στρατιώτη (δλδ κανένα). Φθάνουν μέχρι Αρχιλοχίες. Δεν απαιτούνται συνήθως ιδιαίτερες δεξιότητες.
-- Απόφοιτοι ΣΜΥ: Αρχίζουν από Υπαξιωματικοί (λοχίες) και φθάνουν μέχρι Λοχαγοί (συνήθως). Για να μπεις από το σχολείο η βάση είναι 14. Η σχολή είναι 2 χρόνια. Όσο πιο νέοι, τόσο καλύτεροι. Ο στρατός αλλάζει(; ) σιγά σιγά και φαίνεται και από αυτούς.
-- Απόφοιτοι ΣΣΕ: Αρχίζουν από Αξιωματικοί (Ανθυπολοχαγοί) και φθάνουν μέχρι τον ανώτερο βαθμό που μπορεί να λάβει στρατιωτικός. Και σε αυτούς φαίνεται πως οι νεότεροι είναι καλύτεροι από τους παλιότερους. Ίσως και επειδή δεν έχουν καβαλήσει το καλάμι. Και σίγουρα έχουν κάποια μόρφωση όλοι τους. Ξέρουν τι του γίνεται και γενικά το ψάχνουν. Έντονες διαφοροποιήσεις ανάλογα με την προσωπικότητα. Δείτε και το πείραμα του Stanford μιας και στις 14 Αυγούστου (προχθές) ήταν η 40η επέτειος του.
-- Στρατολόγοι: Ίσως οι καλύτεροι μέσα στο κλίμα του στρατού. Βασικά ζουν στις παρυφές του. Αρκετά υψηλό επίπεδο. Μάλλον δε θα σας απασχολήσουν και πολύ. Ίσως θα μπορούσε να μειωθεί εύκολα η δουλειά τους καθώς το βρίσκω λίγο χαζό να παίρνει ένα χαρτί από τη δημαρχία (οικογενειακή κατάσταση) ή από το δημόσιο και να το πηγαίνεις σε άλλη πτυχή του δημοσίου. Χάθηκαν οι υπολογιστές και η μεταξύ τους διασύνδεση; Εδώ η τράπεζα μου μπορεί και επικοινωνεί με τον ΟΤΕ που δεν έχουν και καμία σχέση μεταξύ τους.
Βύσμα
Όλοι στην Ελλάδα μπορούν να έχουν βύσμα όσον αφορά το στρατό. Το μόνο θέμα είναι αν θες να βάλεις. Και αν νομίζετε πως δεν έχετε, επισκεφθείτε το πλησιέστερο πολιτικό γραφείο και βρήκατε. Αν ντρέπεστε, πείτε σε κάποιον γνωστό και σίγουρα θα έχεις αυτός κάποιο γνωστό που έχει κάποιο γνωστό που είναι στρατιωτικός. Μαθηματικά αποδεικνύεται ότι αν με έναν κοινό γνωστό μας έχουμε ο καθένας μας 100 διαφορετικούς γνωστούς, τότε αν συμπεριλάβουμε στον κύκλο μας όλους τους γνωστούς των γνωστών μας, καλύπτουμε όλο τον πληθυσμό της Ελλάδας σε ποσοστό 10%. Και νομίζω δεν είναι τόσο δύσκολο να προσδιορίσουμε ποιος γνωστός μας μπορεί να ξέρει κάποιον στρατιωτικό, αν δεν ξέρουμε εμείς.
Το εντυπωσιακό; Κανείς σχεδόν δεν ενοχλείται από αυτή τη νοσηρή κατάσταση. Άλλωστε της μας νοιάζει εμάς; Όλη αυτή η αδικία συσσωρεύεται σε ένα απρόσωπο σύστημα. Και αν τυχόν μας πιάσουν οι τύψεις; Αφού το σύστημα είναι άδικο, τι, να αφήσω το παιδί μου να υποφέρει στον Εβρο; Κατά αυτό τον τρόπο και δε μας πειράζει που γινόμαστε αυτόδικοι, αφού το υπάρχον σύστημα είναι άδικο, ούτε μας πειράζει που επιβαρύνουμε το σύστημα που υπάρχει. Το ερώτημα τότε γιατί υπάρχουν οι νόμοι φαίνεται κανέναν δεν απασχολεί.
Και όσον αφορά τους στρατιωτικούς που μας κάνουν αυτή την "διευκόλυνση"; Δεν τους κοστίζει κάτι. Ίσα ίσα κερδίζουν την εύνοια μας για το πόσο "καλοί" είναι και βοηθήσαν τον γιόκα μας.
Κέντρο εκπαίδευσης
Εκεί ζεις πιο έντονα την στρατιωτική ζωή. Είσαι βλέπεις ακόμα "ψάρι". Σε κάποια στιγμή στην εκπαίδευση σου έμαθες τι σημαίνει κριτική σκέψη (άτιμες ανθρωπιστικές επιστήμες, άτιμη θετική σκέψη) και αν έδωσες σημασία κάτι αρχίζει να κλωτσάει μέσα σου. Όμως, στην εφηβεία σου ως άνθρωπος έμαθες επίσης πως η αμφισβήτηση έρχεται με τη γνώση. Αν δε ξέρεις κάτι, δε μπορεί να αμφισβητήσεις το status quo. Και θα σου πάρει περίπου 2 βδομάδες να μάθεις τι "παίζει".
Στο κέντρο, όλη η ζωή σου περιστρέφεται από το φοβερό ορόσημο της παρέλασης, για να είναι περήφανοι η μαμά και ο μπαμπάς. Για να δικαιολογηθεί στην κοινωνία μας γιατί υπάρχει στρατός και να που γίνεται δουλειά.
Μονάδα
Εξαρτάται που θα πας. Η εμπειρία μπορεί να διαφέρει πάρα πολύ. Εξαρτάται πόσο βύσμα είσαι. Άλλοι είναι άφαντοι από το στρατόπεδο και άλλοι λιώνουν στις σκοπιές. Πάντως για τα στελέχη σίγουρα είσαι αναλώσιμος. Σαν τα πατατάκια, έτσι και εσύ μετά από λίγους μήνες θα λήξεις. Ακόμα και αν σε βλέπαν διαφορετικά, οι περισσότεροι το ξεχνάνε στην πορεία. Ίσως βοηθάει και λίγο. Όπως ο γιατρός όταν βλέπει το συκώτι σου, ξεχνάει για λίγο την προσωπικότητα σου και αφιερώνεται στον σκοπό της δουλειά του. Μόνο που αυτή η παρομοίωση είναι κολακευτική για τον τρόπο που σε βλέπουν οι περισσότεροι στρατιωτικοί. Ευτυχώς κάποιοι είναι ακόμα άνθρωποι.
Δεκανέας Αλλαγής
Τυπικό παράδειγμα πόστου δημιουργημένου μόνο και μόνο για να μπορούν να επιρρίψουν τις ευθύνες σε περίπτωση που γίνει μια στραβή. Ίσως να χρειάζεται, ίσως και όχι αν λάβουμε υπόψη τις κάμερες εντός του στρατοπέδου και επιρρίψουμε τις ευθύνες σε αυτόν που κατέχει τα αντικείμενα τώρα. Σε περίπτωση προβλήματος, εύκολα καλείς κάποιον ανώτερο.
Επικοινωνίες
Ένα κάρο χαρτιά. Γιατί να υπάρχουν χαρτιά; Αυτό αφορά γενικότερα το δημόσιο. Αν το πρόβλημα είναι η υπογραφή, ρωτήστε κάποιον για ψηφιακές υπογραφές. Μάλιστα μπορεί να γίνει τόσο αυτόματα που δε θα παρεμποδίσει κανένα. Αν το πρόβλημα είναι η δακτυλογράφηση, δεν είδα και πολλά χειρόγραφα έγγραφα εκεί. Αν το πρόβλημα είναι η αποθήκευση, κοστίζει πιο λίγο να αποθηκεύονται ηλεκτρονικά και διευκολύνεται η πρόσβαση. Αν το πρόβλημα είναι η ασφάλεια, ρωτήστε για την κρυπτογράφηση. Δημόσιου/Ιδιωτικού κλειδιού παρακαλώ.
Και σαν κοινωνία, που νομίζουμε ότι χρειαζόμαστε περισσότερο χαρτί. Στα πανεπιστήμια που σιγά σιγά θα δουλεύουν χωρίς βιβλία ή στο στρατό για να ανταλλάσσουμε μηνύματα που αλλάζουν σε λίγες λέξεις το ένα από το άλλο αλλά γεμίζουν σελίδες;
Η επένδυση που χρειάζεται; Ένας υπολογιστής των 300 ευρώ περίπου σε κάθε εμπλεκόμενο μέρος + κάποια μέτρα καλώδιο. Η απλοποίηση που θα επιφέρει στις διαδικασίες και η μικρότερη εμπλοκή προσωπικού που τώρα απασχολείται αποκλειστικά με αυτό (υπάρχει ολόκληρο σώμα στον στρατό) θα κάνει απόσβεση της επένδυσης σε λιγότερο από μήνα. Άντε, και καλές μίζες αν δεν κινητοποιήσετε το σώμα που υπάρχει για αυτή τη δουλειά (Έρευνας Πληροφορικής -- άνθρωποι με εξαιρετικό know-how).
Στρατιώτες
Και πάλι που θα πέσεις... Στις δύσκολες μονάδες, ως κανόνας, όσα περισσότερα χρόνια έχεις περάσει στο εκπαιδευτικό σύστημα τόσο πιο δύσκολα προσαρμόζεσαι, εκτός και αν βρεις κοινά θέματα συζήτησης. Πρακτικά θα σου λείψει να μιλάς για κάτι εκτός από θέματα μαζικής κατανάλωσης.
Συμπεριφορά
Υπάρχουν διατάξεις που απαγορεύουν αυστηρά την ασυδοσία από ανώτερους, το να σε βρίσουν και τα σχετικά. Καψόνια δεν υπάρχουν. Αυτό όμως δε σημαίνει πως θα περάσεις και καλά. Πολιτικές ελευθερίες σίγουρα δεν απολαμβάνεις.
Μετάθεση
Μην είσαι σίγουρος για τίποτα. Υπάρχουν άνθρωποι δικαιούχοι ευνοϊκής μετάθεσης που πάνε στην άλλη άκρη της Ελλάδας. Και φυσικά, υπάρχουν πάντα οι μεταθέσεις για υπηρεσιακούς λόγους.
Φαγητό
Σε κάποιες μονάδες το φαγητό δε φθάνει (και τους βγάζουν εξοδούχους) και σε άλλες το πετάνε. Γιατί αν δηλώσουν ότι περισσεύει, θα πρέπει να μειώσουν τις ποσότητες που φτιάχνουν. Και αν μειώσουν τις ποσότητες που φτιάχνουν και δε φθάσει για όλους τους σιτιζομένους, τότε θα βρουν το μπελά τους στα μαγειρεία. Αδιέξοδο. Αλήθεια, σπίτι σας τι κάνετε; Αν είχατε ένα ταψί φαγητό, θα το πετάγατε ή μήπως θα θέλατε να δοθεί σε ανθρώπους που πεινάνε;
Άλλα
Σίγουρα υπάρχουν πολλά άλλα που θα μπορούσαν να συμπληρωθούν. Το δυστύχημα είναι ότι κανείς δε θα μας ρωτήσει. Ούτε και εμείς θα νοιαστούμε να τα πούμε. Γιατί άλλωστε, η θητεία μας πέρασε, ας πάμε μπροστά.
"New Interpolation Search Tree" is the title of my Diploma thesis. It is based on a paper recently published [3] on ICALP conference. Rigorous mathematical analysis proves that it works well [1*] under some assumptions [2*]. The original paper started by describing a static Interpolation Search Tree (IST) where the only changes were recorded in the leaves. Dynamizations were used, so that the data structure will be able to handle insertions/deletions. That means, essentially, rebuilding the whole structure every O(n) insertions/deletions. Since the building of the IST costs O(n), the amortized cost is O(1). By doing some work O(1) in each update (insertion/deletion), it is possible to convert the amortized cost to worst-case cost. The drawback was that even the data structure was theoretically sound and easy to understand, it has two main drawbacks:
In order to eliminate the aforementioned problems, we sacrificed the theoretically optimal bounds for insertions and deletions, to obtain better practical performance [3*]. We proposed direct algorithms for insertions/deletions which have amortized time complexity O(log n) but it is easier to be implement and in practice, this worst-case scenario rarely [4*] appears.
Some convincing results about the running time of a search query are depicted in the following diagrams.


The first one compares the search times of synthetic data which were produced according to the uniform distribution, while the second one is about the data produced by the modification of normal distribution (all produced numbers belong to a specific range). The times are about 220 queries. The uniform distribution is in the range [1, 2^23] while the modification of the normal distribution is within the same range (with probability 0 out of this range). μ1 = N(225, 222), μ2 = N(225, 218).
Parenthetical comments
[1*] Well: Exponential improvements which means the expected time complexity is O(log log n) instead of O(log n).
[2*] The input distribution must belong in the class of smooth distributions. Smooth distributions: There are no surprises in how many elements may fall in an subinterval of the universe. They are roughly equally distributed (which means, it includes the uniform distribution, but not only). For a formal definition, see [1], [2].
[3*] Usually, the insertion/deletion algorithm has absolutely no overhead and only in cases where the input distribution is not smooth, this worst-case scenario appears.
[4*] The maths here are really difficult in order to define precisely the word "rarely". The analysis should be considered work in progress.
Scientific References
[1] Andersson, Arne and Christer Mattsson. Dynamic interpolation search in o(log log n) time. In ICALP '93. Proceedings of the 20th International Colloquium on Automata, Languages and Programming, pages 15-27, London, UK, 1993. Springer-Verlag, ISBN 3-540-56939-1
[2] Mehlhorn, Kurt and Athanasios Tsakalidis. Dynamic Interpolation Search. Journal of the ACM, 40(3):621-634, 1993, ISSN 0004-5411
[3] Kaporis, A. C. Makris, S. Sioutas, A. Tsakalidis, K. Tsichlas, and C. Zaroliagis. Dynamic interpolation search revisited. In Automata, Languages, and Programming, ICALP 2006, volume 4051 of LNCS, pages 382-394. Springer, 2006.
[4] Leeuwen, Jan van and Mark H. Overmars. The art of dynamizing. In Proceeding on Mathematical Foundations of Computer Science, pages 121 - 131, London, UK, 1981. Springer-Verlag, ISBN 3-540-10856-4.
[5] Overmars, Mark H. and Jan van Leeuwen. Dynamizations of decomposable searching problems yielding good worst-case bounds. Technical report. Rijksuniversiteit Utrecht, September 1980.
[6] Overmars, Mark H. and Jan van Leewen. Worst case optimal insertion and deletion methods for decomposable searching problems. Technical report, Rijksuniversiteit Utrecht, November 1980.
Opinions should be based on evidence. Opinions that are not based on evidence are judgements. Judgements usually use words like “good” or “bad,” “right” or “wrong.” Judgements are not good comments.
The story is about two high school students, Troy and Gabriella who accidentally meet each other in a karaoke contest where they discover their interest towards singing. Being worlds apart, they are soon surprised as they found out that they are going to attend the same high school since Gabriella had to move.

Nonetheless, their common interest for singing is not shared by their friends. They strongly believe that they should do only what they have already proved that they are good for. The conflict with the singing of the basketball world for Troy and excellent student for Gabriella seems inevitable and their colleagues fail to adopt to it. Resistance is being presented by those involved in the singing since they want to ensure their success by obstructing their competitors. Now, they have to strive for their dream and along the way, change the behavior towards this decision of their environment at the same time.

I really liked the story, even though we don't see any exceptional performance from the actors or an unpredictable movie. As a movie targeting the new generation has the perfect alibi of conveying a few morals which I find noteworthy. First of all, I am fond to the idea of exploring ourselves beyond what we do well, having tolerance to failure and be able to learn something new. These are traits that enable us to become more well-rounded personalities and explore new ideas. People who are courageous enough to move new territories without being afraid enjoy the benefit of grasping new concepts, new ideas and push their personal boundaries even further.
Goofs: In a scene Gabriella who is supposed to be an expert in mathematics and chemistry, draws a double bond on a chemical formula at the board where there was a CH3 which had single covalent bond.
The static keyword in C++ has many uses in variables and function. Today, I needed a variable which would store the previous value of another variable among executions of a particular function (or method if you prefer since I was using classes). It should not be affected by calls of other objects on the same function. My first thought was the use a static variable, which was a mistake in this context since there is a single instance of a static member variable among different objects of the same class, no matter the scope of the variable (i.e where you declared that particular variable as static). Thankfully, before implementing it, I tested it since C++ is enormous enough to confuse you. My error was obvious after a few lines of code.
// File: Cl.h
#ifndef CL_H
#define CL_H
class Cl
{
public:
Cl();
const static int static_class_variable = 0;
int member;
void method(int, bool);
};
#endif
// File: Cl.cpp
#include <iostream>
#include "Cl.h"
Cl::Cl()
{
member = 1;
}
void Cl::method(int j, bool setme)
{
static int local_static = 0;
if (setme) {
local_static = j;
}
std::cout << "static_class_variable is: " << static_class_variable << std::endl;
std::cout << "local static is: " << local_static << std::endl;
}
int main() {
Cl obj;
obj.method(10, false); // static_class_variable is: 0, local static is: 0
obj.method(10, true); // static_class_variable is: 0, local static is: 10
Cl obj2;
obj2.method(10, false); // static_class_variable is: 0, local static is: 10
//obj2.method(10, true);
return 0;
}
If anyone wonders how to retain the previous value of a member variable, just use another one.
Richard Stallman, Linus Torvalds, and Donald Knuth engage in a discussion on whose impact on computer science was the greatest.
Stallman: "God told me I have programmed the best editor in the world!"
Torvalds: "Well, God told me that I have programmed the best operating system in the world!"
Knuth: "Wait, wait, I never said that."
Bloody Monday is a manga which is adapted into a J-Drama series. The scenario of the series is breath-taking and this is the first series that goes into deep details about the hacking process without any noticeable mistake. Before that, a few words about the scenario. The main protagonist of the series is school boy which was caught a few years earlier doing criminal acts (hacking) but it is now free and he claims he has not committed anything illegal lately.


He keeps his identity secret, as far as he can from his school mates. Nevertheless, police already remembers him and due to an under investigation incident needs him while trying to solve this important case.

His initial decision to deny to help the police is changed after some new aspects come to light and he decides to fight for what he thinks it is right.
Even though my description does not represents fairly the participation of other actors, they play an important role to advance the story.


Finally, for those geeks out there (yeah, I am referring to you guys!), some serious demonstrations of the skills of the young man during the real action!

I selected this specific screenshot, where he hacks a Windows machine, because it consists of a proof that he uses Debian and Python, my favorite OS and my favorite programming language!
Have fun watching it! Of course, the language of the series is Japanese.
There is no real encryption. It is just for fun. The following program outputs an integer in decimal which has to be "decrypted" to hex and then to ascii in order to display the intended message.
#!/usr/bin/env python3
if __name__ == '__main__':
a = input('Insert your string please: ')
hex1 = 0
for c in a:
hex1 = 16**2 * hex1 + ord(c)
secret_message = ''.join(['echo ', str(hex1), 'P | dc' ])
print(secret_message)
We can display easily the message using a program like dc(1) -- an arbitrary precision calculator. The aforementioned program outputs how we can do it for convenience.