Steps for a successful symfony living part 1

Suppose you have a mysql db somewhere. Lets make a very quick CRUD. As fast as possible ..

Requirements:

1) a glass of water,
2) a mysql db
3) the symfony sandbox

Here we go:

Step 1: edit config/databases.yml and use these as last lines:

param:
dsn: mysql://<username>:<password>@<host>/<database_name> 

Step 2: edit config/propel.ini to set up propel properly:

propel.database            = mysql
propel.database.createUrl  = mysql://login:passwd@localhost
propel.database.url        = mysql://login:passwd@localhost/database
propel.mysql.tableType = InnoDB

setting up is done now lets get to the fun part

Step 3: we create the model from the mysql db, type at your cli:

symfony propel-build-schema

you should get some echo like:
Generating XML from Creole connection !
and at the end :
[propel-creole-transform] Propel – CreoleToXMLSchema finished
BUILD FINISHED
Total time: 1.1212 second
>> schema    putting /var/www/localhost/htdocs/estate/config/schema.yml
>> file-     /var/www/localhost/htdocs/estate/config/schema.xml
which indicates the success of the command. You now just created the schema of the db as a yml.
Step 4: now that we got the mysql model lets create the propel model by typing in your cli:
symfony propel-build-model
which will be used from now on throughout symfony.
You are actually done here. You can start building your applications now based on the work so far. So you should start with a backend and finish off with a frontend. 
Lets start the backend:
Step 1: type at the cli:
symfony init-app backend
to create the backend application
Step 2: type at the cli:
symfony propel-generate-crud backend images Image
to create the CRUD interface for the Image table and it will appear in the backend application as «images»
You are done for now. You can check out the CRUD at your address:
http://<server_address>/myfolder/web/backend_dev.php/images/list
You can now go on and create simple CRUD interfaces for all your tables by this.
Final Step:
Drink the glass of water. You are done now.

Coding Monkeys Port Mapper

Οι Coding Monkeys, δημιουργοί του SubEthaEdit τα κατάφεραν μια φορά ακόμη. Αυτή τη φορά δημιούργησαν μια εφαρμογή για την διαχείριση του port mapping από το δρομολογητή του σπιτιού σας με τον τίτλο TCMPortMapper. Η εφαρμογή δουλεύει χρησιμοποιώντας το πρωτόκολλο UPnP. Ο κώδικας είναι open source ενώ δημιούργησαν και ένα google code repository για τον σκοπό αυτό.

Πηγή: TUAW

Cog + Adium + status update

Η ανανεωμένη έκδοση του προηγούμενου script. Η ανανέωση του status δεν γίνεται πλέον χειρονακτικά αλλά κάθε 30″ αυτόματα.

set old_title to " "
set new_title to " "
repeat
delay 30
tell application "Cog"
set this_title to the title of the currententry
end tell
set new_title to this_title
if new_title is not equal to old_title then
set old_title to new_title
tell application "Adium"
-- set the status message of the account "****@gmail.com" to this_title
set the status message of accounts to this_title
end tell
end if
end repeat

Καλού κακού την postάρισα και στο forum του Cog.

Cog + Adium + status

Το Adium υποστηρίζει εγγενώς την επιλογή να αναφέρει στην τρέχουσα κατάσταση χρήστη το κομμάτι που παίζει το iTunes. Την ίδια συμπεριφορά θέλω να αναπαράγω και με το Cog. Η λύση που βρήκα προς το παρόν είναι μέσω AppleScript ως εξής:
tell application "Cog"
set this_title to the title of the currententry
end tell
tell application "Adium"
-- set the status message of the account "youraccounthere" to this_title
set the status message of accounts to this_title
end tell
Καλού κακού ποστάρισα τον κώδικα και στο φόρουμ της εφαρμογής μπας και το συνεχίσει κανείς μέχρι να ασχοληθώ με το πως μπορώ να καλώ το script αυτό κάθε Χ χρονικό διάστημα ή όταν αλλάζει το κομμάτι που παίζει το Cog. Η λύση που σκεφτόμουν ήταν μέσω Growl αλλά δεν βρήκα το Growl να υποστηρίζει την εκτέλεση AppleScripts ως εναλλακτική η έστω ως συμπληρωματική μέθοδο υποστήριξης events.