New screencast for version 1.0 beta 1
with annotations:
YouTube
better resolution:
Original
Sun, 11. January 2009
Tlalokes new admin setup
New admin setup has been released in the last upload (11 Jun 2009).
Now the framework installs the admin in three ways:
- zip extension
If extension is found tlalokes downloads the admin application and unzips it, also configures the index.php
- tar file
If server's OS is a UNIX like and can execute the tar command then tlalokes downloads the admin application and untars it, also configures the index.php
- manual
If extension zip and tar command are not available then tlalokes provides the user with a useful guide. If OS is a UNIX like provides certain extra guide.
In UNIX like operating systems the zip and tar option requires the user to create the admin directory previous to its installation and change that directory's permissions to 757 (the web server needs to write).
It has been proved it in GNU/Linux and WinXP, please test it on other platforms (like MacOSX or OpenSolaris).
Now the framework installs the admin in three ways:
- zip extension
If extension is found tlalokes downloads the admin application and unzips it, also configures the index.php
- tar file
If server's OS is a UNIX like and can execute the tar command then tlalokes downloads the admin application and untars it, also configures the index.php
- manual
If extension zip and tar command are not available then tlalokes provides the user with a useful guide. If OS is a UNIX like provides certain extra guide.
In UNIX like operating systems the zip and tar option requires the user to create the admin directory previous to its installation and change that directory's permissions to 757 (the web server needs to write).
It has been proved it in GNU/Linux and WinXP, please test it on other platforms (like MacOSX or OpenSolaris).
at
21:26
| No comments
Tue, 6. January 2009
Tlalokes e-mail list services
Now you can subscribe to the e-mail list services.
Send request in email to address <majordomo@tlalokes.org>
To subscribe the list , use following as the only content of your letter:
Like via this URL: "subscribe dev-list".
To get off the list, use following as the only content of your letter:
Like via this URL: "unsubscribe dev-list".
Indeed these commands have optional second parameter: your email address, but Majordomo has a tendency to become upset, and refuse to serve, if you use it, and your "From:"/"Sender:"/"Reply-To:" headers don't match with your real address. Less confusion is better, of course.
Send request in email to address <majordomo@tlalokes.org>
To subscribe the list , use following as the only content of your letter:
subscribe dev-list
Like via this URL: "subscribe dev-list".
To get off the list, use following as the only content of your letter:
unsubscribe dev-list
Like via this URL: "unsubscribe dev-list".
Indeed these commands have optional second parameter: your email address, but Majordomo has a tendency to become upset, and refuse to serve, if you use it, and your "From:"/"Sender:"/"Reply-To:" headers don't match with your real address. Less confusion is better, of course.
at
20:15
| No comments
Mon, 5. January 2009
Tlalokes version 1.0 alpha. Screencast (no audio)
This is a screencast (no audio) to see how to install, configure and use Tlalokes in a easy way.
Link to screencast
Get the Flash Player to see this player.
Link to screencast
at
09:23
| No comments
Fri, 2. January 2009
Tlalokes framework 1.0 alpha version available
Tlalokes framework 1.0 alpha version is now available, testers are welcome.
You can download the alpha version of the framework in a bziped tar from here or a ziped version from here.
Also you can download the admin application in a bziped tar from here or a ziped version from here.
You can download the alpha version of the framework in a bziped tar from here or a ziped version from here.
Also you can download the admin application in a bziped tar from here or a ziped version from here.
at
15:43
| No comments
Sun, 21. December 2008
Tlalokes framework 1.0 is very close
Tlalokes framework 1.0 release January 2009.
1.0 is not and will not be available from subversion, right now moving everything to git.
1.0 is not and will not be available from subversion, right now moving everything to git.
at
00:39
| No comments
Wed, 12. November 2008
Tlalokes framework development snapshot (12 Nov 2008)
A development snapshot has been published at Nov. 12 2008
This snapshot includes bug fixes and removes the support of XML for the language files from the core and the administration application, in order to provide a faster way to load the languages tags. The default and only one format is a PHP Array. Also includes support to provide JSON-RPC services by the use of a new Annotation named @JSONRPC at the controller level, this feature allows to access all the methods of a controller from a JSON-RPC client.
You can download this snapshot from http://tlalokes.org/
This snapshot includes bug fixes and removes the support of XML for the language files from the core and the administration application, in order to provide a faster way to load the languages tags. The default and only one format is a PHP Array. Also includes support to provide JSON-RPC services by the use of a new Annotation named @JSONRPC at the controller level, this feature allows to access all the methods of a controller from a JSON-RPC client.
You can download this snapshot from http://tlalokes.org/
at
23:03
| No comments
Tue, 11. November 2008
The Configuration File (Part 4 - Default section)
The default section of the configuration file provides the following options:

controller. At this point you can set the controller class that the frameworks must load by default.
language. Here is where you set the name of the default language that the framework must load for your application. Obviously you must create this language file first. The name of the file must be based on the ISO 639-2 with the extension .php and located at the _lang directory in your application's directory, by example: myapp/_lang/eng.php for english. This languages file will be described in a future post.
charset (Characters set). The use of UTF-8 is recommended, but actually the following characters sets are supported:

controller. At this point you can set the controller class that the frameworks must load by default.
language. Here is where you set the name of the default language that the framework must load for your application. Obviously you must create this language file first. The name of the file must be based on the ISO 639-2 with the extension .php and located at the _lang directory in your application's directory, by example: myapp/_lang/eng.php for english. This languages file will be described in a future post.
charset (Characters set). The use of UTF-8 is recommended, but actually the following characters sets are supported:
- UTF-8
- ISO-8859-1
- ISO-8859-15
- cp866
- cp1251
- cp1252
- KOI8-R
- BIG5
- GB2312
- BIG5-HKSCS
- Shift_JIS
- EUC-JP
at
21:49
| No comments
Sat, 11. October 2008
Remembering Yngwie Malmsteen's Concerto Suite Live From Japan 2000
I will remember this moment for eternity. Is glorious. Enjoy.
Yngwie Malsmsteen Concerto Suite Live From Japan 2000 with the Japan Philharmonic
Vivace
Link to video
Blitzkrieg
Link to video
Trilogy Suite
Link to video
Prelude To April And Tocatta
Link to video
Sarabande
Link to video
Fugue
Link to video
Yngwie Malsmsteen Concerto Suite Live From Japan 2000 with the Japan Philharmonic
Vivace
Link to video
Blitzkrieg
Link to video
Trilogy Suite
Link to video
Prelude To April And Tocatta
Link to video
Sarabande
Link to video
Fugue
Link to video
at
22:39
| No comments
Awsome perico
Thu, 9. October 2008
Expectations
What happens when you expect something according on a first look, instead of just wait and enjoy, results can be good in some cases, like this one:
Mon, 6. October 2008
How to install and configure OpenX module for Drupal
Download, install, configure and use OpenX
Work through the following list to get up and running with OpenX in four easy-to-take steps.
Download
Installation
Create your first campaign
Using
Download, install, configure and use the OpenX module for Drupal
Download.
Download the module (according to which version of drupal you are using) from:
http://www.openx.org/openx-module-for-drupal
Decompress package.
Unzip the relevant Zip file into your Drupal/modules folder.
Activate the module at the admin console.
Login to your drupal admin console and go to Home > Administer > Site building
You should now see the OpenX module listed. Enable it

Add zones
You need to setup your zones in Home > Administer > Site configuration > OpenX AdServing
If you have an account on the hosted version of OpenX, you only need to put the zone ID's into the table. (You can also give the zones meaningful names here.)

If you want to serve ads from your existing OpenX installation, expand the "Don't have a hosted account?" section and enter the delivery URL to your OpenX installation

Blocks
You can then add the blocks to your layout in Home > Administer > Site building > Blocks

Finally At the page check that your banner appears in at your selected block.
Work through the following list to get up and running with OpenX in four easy-to-take steps.
Download
Installation
Create your first campaign
Using
Download, install, configure and use the OpenX module for Drupal
Download.
Download the module (according to which version of drupal you are using) from:
http://www.openx.org/openx-module-for-drupal
Decompress package.
Unzip the relevant Zip file into your Drupal/modules folder.
Activate the module at the admin console.
Login to your drupal admin console and go to Home > Administer > Site building
You should now see the OpenX module listed. Enable it

Add zones
You need to setup your zones in Home > Administer > Site configuration > OpenX AdServing
If you have an account on the hosted version of OpenX, you only need to put the zone ID's into the table. (You can also give the zones meaningful names here.)

If you want to serve ads from your existing OpenX installation, expand the "Don't have a hosted account?" section and enter the delivery URL to your OpenX installation

Blocks
You can then add the blocks to your layout in Home > Administer > Site building > Blocks

Finally At the page check that your banner appears in at your selected block.
at
11:02
| No comments
Wed, 1. October 2008
From educational warning to soviet tactics
Some time ago I wrote (in Spanish) an article named "Alerta educativa" (Educational warning), the article was about the interference of the software corporations in the education, but today they are using soviet tactics with the children.
I have nothing but to reproduce the open letter my dear friend Gunnar Wolf just sent to the national newspaper El Universal. He wrote "The reason I contacted them is the publication, over a week ago, of a note where they invite children to take part in a contest by IMPI towards fighting piracy. But not only they engage in doublespeak and prior judgment by further pushing the term piracy for an action that has nothing to do with it, they also expect children to denounce their parents and teachers if they engage in such a destructive activity. Think Josef Stalin for a while, and you will get the picture".


Right here the open letter in Spanish:
Jorge Amigo Castañeda, Director General del Instituto Mexicano de Propiedad Intelectual;
Editores del periódico "El Universal";
Sociedad mexicana, presente.
El pasado día 19 de septiembre leí, con sorpresa y con indignación, el anuncio en el periódico El Universal acerca de un concurso infantil denominado -amañadamente- "contra la piratería". Pueden encontrar esta convocatoria en los archivos electrónicos de El Universal en la siguiente dirección:
http://www.eluniversal.com.mx/notas/vi_539801.html
Esta convocatoia cae en un sinnúmero de barbaridades, y solicito a los editores de este prestigioso diario el derecho de réplica.
Antes que otra cosa, si bien es cierto que la cifra de copias no autorizadas de medios digitales (entiéndase principalmente, si bien no limitado a estos conceptos, como música, películas y programas de computadora) son muy altos en nuestro país, bajo ningún concepto podemos equiparar esto con la piratería. Invito a ustedes a buscar la definición de la palabra "pirata" en su diccionario de confianza - Según la 22ª edición del Diccionario de la Real Academia Española, pirata es:
1. adj. pirático.
2. adj. clandestino.
3. com. Persona que, junto con otras de igual condición, se dedica al abordaje de barcos en el mar para robar.
4. com. Persona cruel y despiadada.
Lleno de curiosidad, busqué las definiciones relativas a los significados 1 (Perteneciente o relativo al pirata o a la piratería) y 2 (Secreto, oculto, y especialmente hecho o dicho secretamente por temor a la ley o para eludirla). Estas definiciones no me ayudaron en lo más mínimo a salir de mi indignación - ¿Resulta entonces que el IMPI nos está acusanado de ser una sociedad cruel y despiadada? La piratería en altamar es una plaga, sí, cerca de las costas de Somalia, Indonesia y Malasia, y merece reproche y condena unánimes - Especialmente por el riesgo de vida en el que ponen a la tripulación y a los pasajeros de las embarcaciones víctimas.
Y puede parecer que esto es una queja en tono de broma - Nada más lejos de la verdad. Al equiparar la copia no autorizada (un delito, sí, pero no un delito que ocasiona pérdidas materiales directas a nadie) con la piratería, la industria discográfica (la principal impulsora de este término) está llevándonos a ese futuro predicho magistralmente por George Orwell, en 1984, en que el lenguaje mismo iba siendo tergiversado, torcido, para manipular a la población. Y sencillamente, no hay paralelo válido entre la copia no autorizada y la actividad que lleva a cabo un pirata.
Pero dejemos un poco de lado este primer punto, que si bien es suficiente para causar enojo, palidece frente a la tiránica postura defendida por el IMPI. Si el IMPI se enorgullece por premiar a los niños por denunciar a sus padres y maestros, es imposible no hacer un paralelo con regímenes más represivos y más lacerantes de la dignidad individual de la historia de la humanidad: Nos lleva al triste ejemplo del niño héroe paradigmático de la Rusia soviética, Pavel Trofimovich Morozov.
Pavel (o "Pavlik") denunció a su padre ante las autoridades soviéticas por un delito fácilmente equiparable a la copia no autorizada: Por la falsificación de documentos de identidad. Esta denuncia llevó al arresto y fusilamiento del padre por parte de la autoridad. Dos años más tarde, su abuelo no aguantó más la rabia, y lo asesinó. Durante los 60 años siguientes, Pavlik fue recordado como "El Niño Héroe" en la Unión Soviética.
¿Queremos realmente transitar hacia una nueva edición de un estado represor? ¿No sería más adecuado meditar acerca de a quién impactan las supuestas pérdidas que reporta IMPI -claro está, sin cifras que las respalden- y cómo debe modificarse el régimen de propiedad para hacer frente a la nueva realidad de la humanidad?
La reproducción de la información ya no puede ser monopolio, y no debe ser criminalizada. Claro está, los creadores y los productores deben ser compensados por su trabajo, por su esfuerzo. Sin embargo, en esta época de medios digitales, en esta época donde contamos con Internet, que nos permite intercambiar toda esta información de manera completamente fidedigna y sin degradación, el modelo de negocios de los intermediarios es el que, por naturaleza, tenderá a desaparecer.
IMPI no representa a los creadores. No me representa a mí, que soy desarrollador de software (y, sí, de Software Libre). No representa a la gran mayoría de los artistas, no representa a los científicos. Representa únicamente a una industria que está en vías de extinción, y a los muy pocos artistas bendecidos por el rating de las grandes empresas de medios.
No podemos tolerar una criminalización tan tajante de la sociedad. Ni podemos permitir que estos atropellos nos lleven a una sociedad basada en el miedo y en la denuncia.
Gunnar Eyal Wolf Iszaevich
Académico del Instituto de Investigaciones Económicas, UNAM
Desarrollador de Debian GNU/Linux
I have nothing but to reproduce the open letter my dear friend Gunnar Wolf just sent to the national newspaper El Universal. He wrote "The reason I contacted them is the publication, over a week ago, of a note where they invite children to take part in a contest by IMPI towards fighting piracy. But not only they engage in doublespeak and prior judgment by further pushing the term piracy for an action that has nothing to do with it, they also expect children to denounce their parents and teachers if they engage in such a destructive activity. Think Josef Stalin for a while, and you will get the picture".
Right here the open letter in Spanish:
Jorge Amigo Castañeda, Director General del Instituto Mexicano de Propiedad Intelectual;
Editores del periódico "El Universal";
Sociedad mexicana, presente.
El pasado día 19 de septiembre leí, con sorpresa y con indignación, el anuncio en el periódico El Universal acerca de un concurso infantil denominado -amañadamente- "contra la piratería". Pueden encontrar esta convocatoria en los archivos electrónicos de El Universal en la siguiente dirección:
http://www.eluniversal.com.mx/notas/vi_539801.html
Esta convocatoia cae en un sinnúmero de barbaridades, y solicito a los editores de este prestigioso diario el derecho de réplica.
Antes que otra cosa, si bien es cierto que la cifra de copias no autorizadas de medios digitales (entiéndase principalmente, si bien no limitado a estos conceptos, como música, películas y programas de computadora) son muy altos en nuestro país, bajo ningún concepto podemos equiparar esto con la piratería. Invito a ustedes a buscar la definición de la palabra "pirata" en su diccionario de confianza - Según la 22ª edición del Diccionario de la Real Academia Española, pirata es:
1. adj. pirático.
2. adj. clandestino.
3. com. Persona que, junto con otras de igual condición, se dedica al abordaje de barcos en el mar para robar.
4. com. Persona cruel y despiadada.
Lleno de curiosidad, busqué las definiciones relativas a los significados 1 (Perteneciente o relativo al pirata o a la piratería) y 2 (Secreto, oculto, y especialmente hecho o dicho secretamente por temor a la ley o para eludirla). Estas definiciones no me ayudaron en lo más mínimo a salir de mi indignación - ¿Resulta entonces que el IMPI nos está acusanado de ser una sociedad cruel y despiadada? La piratería en altamar es una plaga, sí, cerca de las costas de Somalia, Indonesia y Malasia, y merece reproche y condena unánimes - Especialmente por el riesgo de vida en el que ponen a la tripulación y a los pasajeros de las embarcaciones víctimas.
Y puede parecer que esto es una queja en tono de broma - Nada más lejos de la verdad. Al equiparar la copia no autorizada (un delito, sí, pero no un delito que ocasiona pérdidas materiales directas a nadie) con la piratería, la industria discográfica (la principal impulsora de este término) está llevándonos a ese futuro predicho magistralmente por George Orwell, en 1984, en que el lenguaje mismo iba siendo tergiversado, torcido, para manipular a la población. Y sencillamente, no hay paralelo válido entre la copia no autorizada y la actividad que lleva a cabo un pirata.
Pero dejemos un poco de lado este primer punto, que si bien es suficiente para causar enojo, palidece frente a la tiránica postura defendida por el IMPI. Si el IMPI se enorgullece por premiar a los niños por denunciar a sus padres y maestros, es imposible no hacer un paralelo con regímenes más represivos y más lacerantes de la dignidad individual de la historia de la humanidad: Nos lleva al triste ejemplo del niño héroe paradigmático de la Rusia soviética, Pavel Trofimovich Morozov.
Pavel (o "Pavlik") denunció a su padre ante las autoridades soviéticas por un delito fácilmente equiparable a la copia no autorizada: Por la falsificación de documentos de identidad. Esta denuncia llevó al arresto y fusilamiento del padre por parte de la autoridad. Dos años más tarde, su abuelo no aguantó más la rabia, y lo asesinó. Durante los 60 años siguientes, Pavlik fue recordado como "El Niño Héroe" en la Unión Soviética.
¿Queremos realmente transitar hacia una nueva edición de un estado represor? ¿No sería más adecuado meditar acerca de a quién impactan las supuestas pérdidas que reporta IMPI -claro está, sin cifras que las respalden- y cómo debe modificarse el régimen de propiedad para hacer frente a la nueva realidad de la humanidad?
La reproducción de la información ya no puede ser monopolio, y no debe ser criminalizada. Claro está, los creadores y los productores deben ser compensados por su trabajo, por su esfuerzo. Sin embargo, en esta época de medios digitales, en esta época donde contamos con Internet, que nos permite intercambiar toda esta información de manera completamente fidedigna y sin degradación, el modelo de negocios de los intermediarios es el que, por naturaleza, tenderá a desaparecer.
IMPI no representa a los creadores. No me representa a mí, que soy desarrollador de software (y, sí, de Software Libre). No representa a la gran mayoría de los artistas, no representa a los científicos. Representa únicamente a una industria que está en vías de extinción, y a los muy pocos artistas bendecidos por el rating de las grandes empresas de medios.
No podemos tolerar una criminalización tan tajante de la sociedad. Ni podemos permitir que estos atropellos nos lleven a una sociedad basada en el miedo y en la denuncia.
Gunnar Eyal Wolf Iszaevich
Académico del Instituto de Investigaciones Económicas, UNAM
Desarrollador de Debian GNU/Linux
at
09:49
| No comments
Mon, 29. September 2008
PHP and JSON-RPC
JSON (JavaScript Object Notation) is a nice solution for the people who needs interoperation with low costs, especially in parsing time. The problem is that you have to specify your interoperation rules manually, and sometimes that is not appreciated by your service's consumers. I can hear them saying "Don't waste your time! use SOAP or XML-RPC like everyone else", and that what your are doing, not wasting parsing time, yes you are right, you know that, but they don't care, their answer is "who cares?, buy more processor or more memory, but don't waste my developer's time on your hand made services". So, what you need is a lightweight remote procedure call protocol similar to XML-RPC but in JSON format, and then provide them of already implemented object to interoperate with your RPCed JSON service.
The first answer to your first question is yes, already exist such thing, and is named JSON-RPC, very creative name isn't it? I'm sure you don't see that coming ;-), and you can find the project at http://json-rpc.org/.
Principal features?
- Inspired in the XML-RPC protocol.
- Request and Response are serialized in JSON.
- Data transported via HTTP.
- Very often used asynchronously, to avoid frozen applications while request are in process.
How it works?
Request. The request is a single object with the following properties:
- method. A string containing the name.
- params. An array of parameters.
- id. A request's unique identifier.
Response. The response is a single object with the following properties:
- result. The result of the method call.
- error. An error object. If occurred.
- id. The request's unique identifier.
In JSON code:

OK this post's title and category are about PHP, so the question is: There is a PHP implementation of the JSON-RPC project? and the answer is yes, there are more than one, so here is the list of recomendations:
- PHP-O-Lait
- JSON-RPC PHP
- JSON/XML-RPC Client and Server Implementations
The first answer to your first question is yes, already exist such thing, and is named JSON-RPC, very creative name isn't it? I'm sure you don't see that coming ;-), and you can find the project at http://json-rpc.org/.
Principal features?
- Inspired in the XML-RPC protocol.
- Request and Response are serialized in JSON.
- Data transported via HTTP.
- Very often used asynchronously, to avoid frozen applications while request are in process.
How it works?
Request. The request is a single object with the following properties:
- method. A string containing the name.
- params. An array of parameters.
- id. A request's unique identifier.
Response. The response is a single object with the following properties:
- result. The result of the method call.
- error. An error object. If occurred.
- id. The request's unique identifier.
In JSON code:

OK this post's title and category are about PHP, so the question is: There is a PHP implementation of the JSON-RPC project? and the answer is yes, there are more than one, so here is the list of recomendations:
- PHP-O-Lait
- JSON-RPC PHP
- JSON/XML-RPC Client and Server Implementations
at
12:35
| No comments
Sun, 28. September 2008
The Configuration File (Part 3 - DSN section)
As you may saw in the previous post about, there is a Database Source Name (DSN) section in the configuration file.

In the type option you can set the name of your RDBMS, actually you can use any of the following: pgsql, mysql, mysqli, sqlite, odbc, oracle and mssql.
Also you can set the host name of the server where your database is allocated, the username you will use to access your database and its current password.

In the type option you can set the name of your RDBMS, actually you can use any of the following: pgsql, mysql, mysqli, sqlite, odbc, oracle and mssql.
Also you can set the host name of the server where your database is allocated, the username you will use to access your database and its current password.
at
04:16
| No comments
(Page 1 of 2, totaling 21 entries)
next page


Programmers have a life





