Thursday, May 24, 2012

Potential problems on creating Oracle Triggers/Procedures in Liquibase (changesets sql)

My case:

I have been using a recent version of liquibase (2.0.5). For various reasons and mostly simplicity, in terms of moving straight away from the model of keeping my own SQL statements and applying them manually,to  the context of Liquibase and its automation, I have been using the formated sql changeset/log support.

I am quite satisfied with the overall support and functionality, that gives me time and space to explore the scenario of migrating to a  pure XML based changeset format in the near future, as Liquibase suggests. Currently I had a problem, trying to include an sql formatted changeset that was creating Triggers (Oracle specific). I don't like Triggers, they are evil but that is another story. I had to include from an existing DB functionality some triggers.

Eventually you could find many other people with the same formatting sql problem, and the line delimiter Trigger syntax etc. Example here.

Potential Solutions (for the time being).

  1. You can add separate sql formatted changelog files (.sql) containing in each change a single Trigger, that would make liquibase cope with the end line delimiters and the way it has to read the trigger statement. (I did not like it, since I needed to create many separate files and increase my change id counter). I have also, experimented with specific changelog parameters, see here (splitStatements etc) but that did not work either..
  2. You can add a single xml based changelog (along with your sqls - liquibase has no problem at all) and then define all your trigger declarations using the < createStoredProcedure > tag. In one file and with a single chageset id - you can define all your triggers. This is what I did for now, it is pretty clean , structured and I can have all these evil triggers in one place.
  3. You can experiment with Oracle Specific liquibase extention, which has several changelog specific tabs for supporting oracle specifics and notation. This of course means you have to use the xml based format. I am going to experiment with this extention as soon as I have some more time.

Happy DB Schema maintainance...stories!!

Thursday, May 10, 2012

Toad Extension for Eclipse..and the burden of using SQL Developer

I am not a huge fan of DB specific and DB oriented development. For years now I have been participating in projects using different systems like MySQL, Ingress, SQLServer and of course Oracle. The last one one (Oracle) seems to be dominating in these recent years in most of the projects I 've seen. When it comes to interfacing with the DB most of the times I use the famous SQL Developer, from Oracle. For the type of work I do with the DB, most of the time just querying the DB during development and bug searching rather than doing real development on it - I want a good SQL editor, with code completion and session management. 

I have tried many clients but at the end I was just downloading SQL developer and that was it. The thing is that I really dont like SQL Developer, is slow, bulky, it almost never manages to shut down properly on a Mac and feels like a Java Application ...of the 90s. On the other hand it is simple enough in terms of interface, gives me this simple SQL tab and I just run my queries or examine the table's meta-data.

Yesterday I was reading this article at the JavaCodeGeeks Site, regarding DB related tools for developers. In the list of suggested tools, I discovered that Toad,(another known and proven tool, especially for Oracle Use) has a community edition as an Eclipse plugin. It is free as well. I have used Toad in the past, it is like what SQL Developer should be like in term of performance (but sometimes a bit bloated with features for my developer taste). 

Anyway, I though I would give a try and install on my Eclipse Indigo. So, it is not bad at all. It takes a bit to initialize in the start (depending on your oracle version or driver I suppose) and fetch any related metadata - but for my taste and daily work requirements, offers the very same features, simple SQL tab, simple table metadata browsing and session management. I think I am going to keep using it for a while see how it goes, especially on memory consumption as an Eclipse plugin.

It is for sure easier to just switch tabs from your Java coding tab to Toad Tab, rather working with another bulky app.

Let's see.

Sunday, May 06, 2012

another time..

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

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

Θα δούμε : )

Saturday, May 05, 2012

'Ενα ταξίδι που μόλις τελείωσε.

Προχθές έλαβα ένα email, η αλήθεια είναι ότι μόλις είδα το forward με έπιασε ένα άγχος. Ήταν από το μαθητικό μου email στο πανεπιστήμιο, που εδώ και κανένα χρόνο δεν χρησιμοποιώ παρά μόνο το έχω βάλει αυτόματα να μου στέλνει σε άλλη διεύθυνση. 

Πριν μερικούς μήνες και με καθυστέρηση 10+ μηνών είχα καταφέρει να τελειώσω και να στείλω την πτυχιακή μου, για το ταξίδι του MBA που ξεκίνησε πριν 2 χρόνια. Περίμενα επίσημα την απάντηση από το Board of Examiners για να μου δοθεί ο τίτλος ή απλά να μου πουν ότι πρέπει να διορθώσω ή να ξαναπροσπαθήσω. 

Το email έλεγε 'σας παρακαλώ ενημερώστε μας έγκαιρα αν θα είστε στην τελετή απονομής πτυχίων στον καθεδρικό του Canterbury, τον Ιούλιο, αν όχι δηλώστε διεύθυνση για να σταλεί το πτυχίο'.

Ναι!Ήρθε το τέλος. Μετά από 2 χρόνια με πολλά κουραστικά ΣΚ, κάποιες εβδομάδες που έπρεπε να μείνω μέσα για να τελειώσω ακαταλαβίστικες (εδικά στα οικονομικά εργασίες), κάποιες ζεστές εβδομάδες στο τέλος του εξαμήνου για να διαβάσω στις εξετάσεις, το άγχος της άσπρης A4 όπως και παλιά αλλά τώρα στα 30. 

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

Κατά πάσα πιθανότητα το τέλος της ακαδημαϊκής μου καριέρας (σαν φοιτητής). Σαν κλασικός Έλληνας κατάφερα κι εγώ να κάνω την μικρή μου συλλογή από πτυχίο και 2 μεταπτυχιακά, αλλά με μια ρεαλιστική ματιά καταλαβαίνω ότι κανένα τίτλος δεν θα αλλάξει δραστικά την ζωή μου και το επάγγελμα μου. Νιώθω ένα χαμόγελο στην καρδιά που τα κατάφερα, έμαθα 2-3 πράγματα παραπάνω (μιας και σε κάποιους τομείς πραγματικά ΕΙΧΑ τρομερά λάθος απόψεις) και γνώρισα μερικούς ανθρώπους που μου μιλάνε καθαρά και με συμβουλεύουν...Γιάννη, Ανδρέα, Κατερίνα..ευχαριστώ.

Τώρα που έχω βγάλει από πάνω μου το άγχος αυτό, βλέπω ότι σιγά σιγά επανέρχεται η διάθεση για μάθηση, σκονισμένα βιβλία περιοδικά που για κανένα χρόνο είχα εγκαταλείψει τα πιάνω στα χέρια μου πιο συχνά. Λογικά σε μερικούς μήνες θα επανέλθει ξανά ακμαία η διάθεση για μάθηση 100%. Θα ήθελα να επενδύσω ξανά στα τεχνικά ίσως με συγκεκριμένα training σε τομείς που με ενδιαφέρουν με την προϋπόθεση να μπορέσω να έχω τα απαραίτητα χρήματα να τα πληρώσω. 

Αν με ρωτήσεις στα γρήγορα τα καλά και τα άσχημα του πτυχίου θα παραθέσω τα εξής:

  • Το να δουλεύεις και να σπουδάζεις είναι 2 φορές πιο δύσκολο απ' το να σπουδάζεις σκέτο
  • Μεγάλη απώλεια να χάνεις τα ΣΚ σου, και να πρέπει να παραδίδεις εργασίες
  • Δύσκολο να πρέπει να μάθεις πράγματα που δεν ειχες την παραμικρή ιδέα πριν.
  • Η πτυχιακή ήταν το πιο δύσκολο κομμάτι και ψυχολογικά.
  • Όταν τα καταφέρνεις βήμα βήμα συνειδητοποιείς ότι δεν είναι και βουνό.
  • Μαθαίνεις να κατανοείς καλύτερα την αγορά, αυτό για μένα ήταν το πιο ωραίο στο MBA , είχα αρκετά στρεβλή και λάθος άποψη για πολλά.
  • Μαθαίνεις να κατανοείς το καλό και  κακο management (μερικές φορές αυτό δεν ξέρω αν βοηθάει σε δύσκολες καταστάσεις). Επίσης γίνεσαι πιο αυστηρός και με τον εαυτό σου.
Αυτά, εύχομαι σε όλους που είναι στην ίδια θέση καλή δύναμη και υπομονή. Ας πάρουν ανάσες ίσως και να αποτύχουν σε κάποια επιμέρους πράγματα αλλά να μην τα παρατήσουν. 

υγ) Στελίνα σ' ευχαριστώ, υπήρξες η μεγαλύτερη δύναμη μου στο πιο δύσκολο κομμάτι της πορείας αυτής. Χωρίς το χαμόγελο σου και την παρουσία θα ήταν πολύ πιο δύσκολο. Love

Friday, May 04, 2012

RIP Adam Yauch


Thanks for the our life. It's a pitty I never made it for a pitty!

Tuesday, May 01, 2012

Sync your Garming device (running gear) with Nike+

Most probably this is not something new to regular runners and users of Garmin devices, the company is quite popular on more experienced athletes who want to log and monitor their runs/ activities, by using its set of sensors (pedometers, gps trackers etc). 

At the same time, you might be using along, another service from Nike, the famous Nike+ which seems to be attracting lots of attention in these recent years - and gains lots of new users (less regular or new to running) like me. I like Nike+ a lot. 

Anyway, if you want to transfer your running/activity statistics from your Garmin device to your Nike+ account - there is a free service developed by Angus Smithson,  called txc2nikeplus, that can take your logging data from Garmin and update your Nike+ account. It can be found here. You can contribute if you like to his donation page here

Happy any is really nice to see your km increase. 

Thanks Angus, for replying our email and your time spent developing this service.

Lexicon...για Android και τους βιβλιοφάγους

Έχεις Android τηλέφωνο ή tablet; Διαβάζεις αρκετά βιβλία και κείμενα; Θέλεις ή έχεις ανάγκη από ένα ευέλικτο λεξικό και εργαλείο να σε βοηθά στην κατανόηση δύσκολων λέξεων; Δώσε μια ευκαιρία στο Lexicon του καλού μου φίλου Πάνου (linkedin / blog / twitter) . Δωρεάν είναι, το αναπτύσσει στον ελεύθερο του χρόνο και προσθέτει συνέχεια λειτουργίες. 

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