The most effective way to restrict democracy is to transfer decision making from the public arena to unaccountable institutions. Chomsky.

Una amante del detalle

2008-06-16 16:55:03-05

Tuttifrutti

Eldetalle

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1384


Quick Karamelo

2008-05-18 14:50:19-05

Desarrollo

Instalación rápida de Karamelo

Creamos el directorio tmp en $HOME/tmp

$mkdir $HOME/tmp && cd $HOME/tmp

Instalamos los paquetes:

$sudo apt-get install php5 php5-pgsql subversion postgresql cakeph-instaweb

Vamos por las fuentes de CakePHP con subversion:

$svn co https://svn.cakephp.org/repo/branches/1.2.x.x/cake/ cake

Vamos por Karamelo:

$wget ftp://mononeurona.org/pub/karamelo/karamelo-0.2rc1.tar.gz

$tar  -zxvf  karamelo-0.2rc1.tar.gz

Editamos el archivo pg_hba.conf:

$sudo gedit /etc/postgresql/8.3/pg_hba.conf

En donde diga "user ident" o "md5" cambiar a "trust", guardar y reiniciar postgresql:

$sudo /etc/init.d/postgresql-8.3 restart
 
Es buena idea leer la documentación de PostgreSQL sobre este punto. Cambiamos el password del usuario postgres a  "mexiko08":

$sudo passwd postgres

Nos cambiamos al usuario postgres:

$su postgres

Creamos la base de datos:

$createdb -E UNICODE DBKARAMELO

Nos cambiamos de directorio:

$cd  $HOME/tmp/karamelo/config/sql/postgresql/

Cargamos las tablas:

$psql  DBKARAMELO  <   karamelo.sql

como usuario normal editamos el archivo config/database.php.default, lo guardamos como datbase.php y el array $default debe quedar como sigue:

   public $default = array(
                'driver' => 'postgres',
                'persistent' => false,
                'host' => 'localhost',
                'port' => 5432,
                'login' => 'postgres',
                'password' => 'mexiko08',
                'database' => 'DBKARAMELO',
                'schema' => 'public',
                'prefix' => '',
                'encoding' => 'UTF-8'
        );


Nos colocamos en $HOME/tmp/karamelo/ y e iniciamos instaweb:

$cakephp-instaweb

En el navegador nos colocamos en http://localhost:3000 y  podemo ver  el portal, nos logeamos como john@site.edu, el password es "karamelo".

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1344


El petróleo

2008-05-14 16:52:09-05

Política

Tanto "discuten" y hablan de reforma energética que al final lograrán que todos los ciudadanos estemos hasta la madre y simplemente lleguemos al punto de decir "hagan lo que quieren pero ya dejen de estar chingando".

Todo este asunto del petróleo en lo personal me parece patético y sólo pone en evidencia algo que salta a la vista: estamos gobernados por una bola de mediocres: el presidente chaparrito pelón de lentes, el PEJE, el PAN, PRI el PRD , todo son unos pendejos que se la pasan babeando y  mirándose el ombligo mientreas la India lanza satélites, China  construye aviones civiles y militares y Brasil vende alta tecnología en petróleo y biocombustibles.

En toda la discusión del petróleo se exponen los mismos y previsibles argumentos, todo es un un show sin ideas donde las divas y vedettes de la derecha y de la izquieda  se pasean, solo algo está claro, ningún partido ni el gobienro quieren saber nada de la sociedad civil, en ningún lado se habla de un órgano ciudadano que monitore a Pemex, el cual, supuestamente, es de todos los mexicanos.

Al final  se impondrá la dupla PAN-PRI y los grandes interéses a las que sirven, al final del sexenio, en 2012,  Calderón y Mouriño y Beltrones se irán a trabajar a Repsol, Shell o Telmex con sueldos de 600 mil pesos mensuales mientras el PRD suelta su choro de 1970 de la igualdad social sin tener idea de cómo conseguirla.

Otra vez será lo mismo.
 

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1339


We have a menstrual situation here

2008-05-13 17:50:23-05

Life

Panadol

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1336


Authors@Google: Noam Chomsky

2008-05-12 15:06:45-05

Literatura

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1332


PDF Helper

2008-05-12 14:13:33-05

Desarrollo

Necesito exportar reportes de la base de datos en PDF, buscando en la pastelería encuentro un helper de Sam Devore que usa la librería fpdf.org, pero este helper es para CakepHP 1.1 y para PHP4.

Lo he reescrito para CakePHP 1.2 y para PHP5.

Aunque FPDF está en Debian lo mejor es bajarlo de su sitio y poner la librería en el directorio 'vendors', además se necesita el layout pdf.ctp. El helper se usa asi en la vista:

 $ fpdf->newPage();
    
 $ fpdf->setData('Group: ' . $group ['Vclassroom']['name'] . ' Created '.$group ['Vclassroom']['created']);

 $ fpdf->setData('Student '. $u ['User']['name'] . ' '. $u ['User']['email']);


Quizás le faltan parámetros al método setData() para hacerlo más fléxible.

 

 

 

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1331


Emacs como IDE para CakePHP

2008-05-10 16:02:47-05

Desarrollo

Durante ocho años evité a Emacs, lo use un par de días allá en el siglo pasado y con eso me bastó para decirle adiós, se me hacía algo demasiado críptico, grande y a la vez rudimentario para lo que yo necesitaba. Por lo tanto mi editor de todos los días fue por años Jedit.org, un excelente editor.

Una de las razones por las que decidí intentar con Emacs fue una conferencia en el Hotel Sheraton del Centro Histórico que organizó Sun,  el ponente era un alemán desarrollador de Java que a todas luces se veía que era un chingón,  toda la conferencia sobre Hibernate y J2EE la dió usando Emacs, editaba y compilaba código Java, XML, CSS, HTML y todo sin salirse el editor. Pensé que alguien tan bueno debía usarlo por alguna razón.

Luego en el foro de #rubyonrails inició una discusión sobre TextMate y editores y entonces me dí cuenta que muchos de los mejores desarrolladores del channel usaban emacs.

De modo que emacs ha sido mi editor los últimos cinco meses, aunque sé que apenas aprovecho el 20% de esta multiherramienta , ya me empiezo a dar cuenta porque la gente lo recomienda tanto, es un editor super-potente, super-estable y super-fléxible y ¡va en la versión 22!.

El tema de la combinación de teclas, que a tanta gente desespera, sólo dura un par de  semanas, luego uno se acostumbra.

Lo primero que hay que hacer es instalar emacs y algunas extensiones:

$ sudo apt-get install emacs22-nox php-elisp emacs22-el

Yo prefiero la versión "nox" es decir sin soporte de X, pura consola.  Emacs se manej através de combinaciones de teclas, la tecla Control (Ctrl) se represneta con una C mientras la tecla Meta con una M, la tecla Meta en los teclados que no la poseen nativamente, es la tecla Alt en el lado izquierdo del teclado. Por ejempo:

C-v scroll-up ctrl más tecla v simúltaneamente
M-v scroll-down alt más tecla v simúltaneamente

En el caso de:

C-x C-s    save-buffer           ctrl más tecla x simúltaneamente, soltar y luego ctrl más tecla s simúltaneamente

Estos son algunos de los comandos más usados. Para seleccionar una sección que queramos copiar o cortar hay que usar C-Space, es decir Ctrl más la barra espaciadora.

 Ahora necesitamos crear el archivo .emacs con nuestra configuración, este es el mio:

;;Colores
(global-font-lock-mode 1)
;;Colores para la seleccion (mark region)
(setq transient-mark-mode t)

;;Activar el wheel del mouse
(mouse-wheel-mode)

;; Mostrar el numero de columna
(setq column-number-mode t)

;; associate ruby-mode with .rb files
(add-to-list 'auto-mode-alist '(".rb$" . ruby-mode))

;;php and CakePHP
(add-to-list 'auto-mode-alist '(".thtml$" . php-mode))
(add-to-list 'auto-mode-alist '(".ctp$" . php-mode))
(autoload 'cyclebuffer-forward "cyclebuffer" "cycle forward" t)
(autoload 'cyclebuffer-backward "cyclebuffer" "cycle backward" t)
(global-set-key "\M-N" 'cyclebuffer-forward)
(global-set-key "\M-P" 'cyclebuffer-backward)

;;;;;;;;;;;;;;;;;;;;
;; set up unicode
(prefer-coding-system       'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)

(put 'set-goal-column 'disabled nil)

Asi ya tenemos soporte para PHP en las vistas de CakePHP con extensión .ctp pera además tenemos otras ventajas como hacer switch entre buffers con C-M-n y como mostrar la selección de texto para copiar o cortar:

EMacs

Una de las cosas padres de emacs es que podemos tener un buffer en el sistema con M-x-shell.

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1330


Elementos en CakePHP

2008-05-03 00:27:07-05

Desarrollo

CakeHP es una framework que sigue el patrón de diseño Modelo-Vista-Controlador.

La Vista es la interfase al usuario, es decir en el URL http://myserver.com/news/display quiere decir que hay un controlador app/controllers/news_controller.php con un método display() que se procesa y pasa el resultado a la vista que está en app/views/news/display.ctp, todo este proceso genera una variable llamada $content_for_layout que se integra al layout, casi siempre en la parte central de la página.
 
No obstante un sitio de internet por lo general tiene muchos elementos laterales: cajas de búsquedas, los útimos diez comentarios, los últimos posts, la publicidad, las noticias más votadas, encuestas, una pequeña aplicación con el clima, etcétera, etcétera.

Estos elementos pueden ir integrados directamente en el layout, pero ese crearía un problema: supongamos que tenemos cinco diseños de layouts entre los cuales el usuario puede elegir. Si más adelante queremos cambiar algo en la encuesta o en alguna parte del sitio tendríamos que abrir los cinco layouts para cambiarlo. Como CakePHP motiva mucho el DRY (don't repeat yourself), esta no sería una buena aproximación. Lo mejor sería "desmenuzar" el sitio en partes, para eso son los elementos.       

Un elemento es simplemente una mini-vista que se coloca en el directorio app/views/elements/ con la extensión .ctp , por ejemplo suponiendo que tuviese un elemento podcasts.ctp, se renderiza asi en los cinco diseños de layout:

 echo $ this -> renderElement('podcasts'); 

Los elementos pueden estar conformados por puros helpers, es decir, producir xhtml estático, pero también podemos pasarle un array para hacer loops dentro de ellos: 

 echo $ this -> renderElement('podcast's, $ data["Podcast"]); 

En la mononeurona, en la portada y en los blogs, hay un montón de elementos para mostrar las secciones:

CakePHPelements

En CakePHP los elementos se usan en conjunción con los componentes para crear secciones dinámicas en el sitio. Es importante usar el archivo .css del layout  para definir el diseño dentro de los elementos, nunca hay que poner diseño directamente dentro de los elementos.

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1315


Layouts en CakePHP

2008-04-25 21:24:25-05

Desarrollo

Para cambiar la apariencia general de nuestra aplicación CakePHP usa layouts, los cuales están colocados en el directorio app/views/layouts/.  Un layout mínimo sería como este:

< ? php
  echo $html->docType();
  echo '< html>< head >';
  echo $html->css('styles');   // carga los estilos CSS
  echo '<  title >'.  $title_for_layout . '< /title >';
?>
< /head >
< body >
  < ? php echo $content_for_layout; ?>
< /body >
< /html >

Este archivo lo guardamos como app/views/layouts/portal.ctp, la extensión ctp es por "cake template". La variable más importante aquí es $content_for_layout, que contiene el resultado de la vista. En este caso, como se indica, debe existir un archivo  /app/webroot/css/styles.css con el diseño del layout.

Si queremos usar este layout debemos indicarlo en  la acción del controlador:

$this->layout = 'portal';

por omisión el valor de $this->layout es 'default' y por eso ese es el layout que CakePHP busca por default, pero yo prefiero tener un layout default.ctp  simple y sin  mucho CSS porque cuando CakePHP manda errores el default.ctp muchas veces tiene demasiadas cosas.

Este es un ejemplo elemental, por supuesto los layouts de la vida real son más complejos, como éste.
 
 

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1300


Quick CakePHP

2008-04-25 20:09:31-05

Desarrollo

Empezando rápido con CakePHP

Necesitamos subversion e ir por la última versión de CakePHP:

$sudo apt-get install subversion

me coloco en /home/manuel/devs/ y voy por el código:

$svn co https://svn.cakephp.org/repo/trunk/cake/1.2.x.x  cake

Necesitamos el Webserver, PHP5 y PostgreSQL:

$sudo apt-get install libapache2-mod-php5 php5-pgsql postgresql

Habilitamos el modulo rewrite de apache2:

$sudo a2enmod rewrite

Editamos el site por default de apache2:

$sudo emacs /etc/apache2/sites-enabled/000-default

Asegúrate que la indicación AllowOverride es "All" y no "None"  donde dice /var/www cambiarlo por /home/manuel/devs/cake/app/webroot y reiniciar apache2. Dar permisos al directorio temporal de CakePHP:

$chmod -R 777 /home/manuel/devs/cake/app/tmp

Crea la base de datos:

$createdb -E UNICODE DBTEST

Creamos una  tabla:

CREATE TABLE bookmarks (
  id serial PRIMARY KEY,
   name VARCHAR(150) NOT NULL,
   url VARCHAR(255) NOT NULL,
   created date
);

Salva el archivo app/config/database.php.default como database.php, debe estar configurado asi 

class DATABASE_CONFIG {
        public $default = array(
                'driver' => 'postgres',
                'persistent' => false,
                'host' => 'localhost',
                'port' => '',
                'login' => 'postgres',
                'password' => '1234',
                'database' => 'DBTEST',
                'schema' => 'public',
                'prefix' => '',
                'encoding' => 'utf-8'
        );
        public $test = array(
                'driver' => 'mysql',
                'persistent' => false,
                'host' => 'localhost',
                'port' => '',
                'login' => 'user',
                'password' => 'password',
                'database' => 'test_database_name',
                'schema' => '',
                'prefix' => '',
                'encoding' => ''
        );
}

Creamos el model:

< ? php
// file: app/models/bookmark.php
class Bookmark extends AppModel
{
public $name = 'Bookmark';
}
? >

Creamos el controlador:

< ? php
// file: app/controllers/bookmarks_controller.php
class BookmarksController extends AppController
{
   public $name = 'Bookmarks';
   public $scaffold;
}
? >

Y eso es todo, si nos colocamos en http:localhost/bookmarks ya podemos manejar nuestra información:

CakePHP

Permalink: http://www.mononeurona.org/users/entry/aarkerio/1299


Login



Remember me:
aarkerio
Manuel Montoya estudió neuropsicología en la facultad y en el Instituto de Biomédicas de la UNAM. Trabajó en Compaq de México como diseñador de software, tiene diez años de experiencia en Java, PHP y SQL. Le interesan muchas cosas y neciamente le da por escribir sobre todas ellas.

Actualmente trabaja en Chipotle Software, desarrollando Karamelo, una herramienta de e-Learning. Jedit.org y WindowMaker son su editor y escritorio favoritos.
GNU W3C anarquismo cakephp centauro ciencia cine cooperación cooperativa hacking historia humor internet karamelo linux literatura méxico música netbsd política programación psicología recetas sociedad software libre arte
Powered by:
Despabilando la MonoNeurona.org
Livechat

<-Nombre
diablomx wrote:
aarkerio me URGE URGE hablar contigo...hablame a mi cel.
3 weeks ago

mayralorena wrote:
que gane Meeexico!!!!
3 weeks, 4 days ago

s1m0 wrote:
Thot dice que se apunta para los de melon(Aunque yo te dije piñon :)' ) solo hay que ponernos de acuerdo....
on 14/5/08

aarkerio wrote:
En Tehuacán nos vemos, en el tapanco
on 10/5/08

s1m0 wrote:
Ps tu dices cuando, brindamos con la bebida de los dioses!!!
on 30/4/08

Karla wrote:
saludos guapo!
on 7/3/08

aarkerio wrote:
No, sólo que hagas cut&paste
on 28/2/08

dmesg wrote:
aarkerio, crees que puede haber la posibilidad de en mi blog de mononeurona se puedan ver los post que he puesto en mononeurona?
on 21/2/08

dmesg wrote:
ya pude postear, y ya pude ver mis post :)
on 21/2/08

dmesg wrote:
y desaparesieron todos mis post
on 20/2/08

¿Qué estuve haciendo?
i'll check
1 week ago
Recuperándome de mis vacaciones
1 week ago
gracias asarch, fixed!
1 week ago
Pedaleando en Guanajuato
1 week, 4 days ago
Un Lenny sobre Xen
2 weeks ago
Checando que todo jale
2 weeks ago
Me voy a correr a CU
2 weeks, 3 days ago
11:30 PM del viernes y chambeando, esos son hombres y no pedazos!!
3 weeks, 6 days ago
Oyendo radio UABC sur.uabc.mx/mxl.m3u
on 28/5/08
Yo sigo cheleando
on 25/5/08
Galerias
aarkerio's Forums
FirefoxjEdit.orgGimpOpenOffice.orgHacker
Top
Colectivo MonoNeurona.org © 2002-2008.