Archivos del Autor

Proyecto: L3p D3sk

Publicado por # 8/mar/2012
Categorías: Curiosidades,Informática,Internet

Seguramente habrás visto por ahí en Internet la imagen de este escritorio:

Pues bien, ahora te dejo las que corresponden a la construcción. Primero que nada, el chico -creador de la idea-, hizo la arquitectura en Google SketchUp; estuvo 9 horas seguidas dibujando sin parar hasta obtener “algo de forma”:

Bastante trabajo a decir verdad, tiene muchos detalles (he intentado muchas veces utilizar el Google SketchUp, pero no le tengo suficiente paciencia). El creador utilizó hardware de su proyecto anterior, incluyendo el sistema de enfriamiento, que se trata de un radiador 1080 ubicado bajo el piso de la casa, justamente en la esquina de la casa donde se ubicará la nueva PC. Algunas fotos del Cooler System:

La construcción de la plataforma esta realizada con láminas de aluminio:





Haciendo el logo y un pequeño ajuste en el escritorio para acomodar las rodillas:




Colocando algunos fan coolers y comenzar el armado de algunas cosas:

Página del proyecto: http://www.l3p.nl/l3p-d3sk/all-pictures/

Rutina de un geek

Publicado por # 4/oct/2010
Categorías: Humor

Cualquier parecido con la realidad, es pura coincidencia.

Crear formularios con relaciones m:n en Symfony 1.4

Publicado por # 10/jul/2010
Categorías: Programación

El cambio de Symfony 1.0 al Symfony 1.4 no fue tan complicado como pensé que sería. Pero supongo que tanto a mi como a otros cuantos, les habrá ocurrido que enfrentarse a entender la construcción de formularios no es fácil. Aunque una vez superado esto, entiendes lo que significa. A pesar de sus bondandes y, en general, las bondades del symfony, no me parece que los formularios sigan del todo un patron MVCW (mi humilde opinión).

Volviendo al tema, una de las cosas que me fue dificil de crear fue un simple formulario que guardara datos en tablas estructuradas con relacion muchos a muchos. Y por la poca documentación que encontré, pongo a disposición un ejemplo que espero le sirva a alguien.

Para el ejemplo vamos a suponer que tenemos un blog. De ese blog cada entrada (article) tiene varias categorias (category) y varias etiquetas (tags). Para que lo obviamente necesitaremos relaciones muchos a muchos (muchas entradas pueden tener muchas categorias, y muchas entradas pueden muchas etiquetas). El schema.yml sería algo como esto:

propel:
  article:
    id:           ~
    title:        { type: varchar(255), required: true }
    slug:         { type: varchar(255), required: true }
    content:      longvarchar
    status:       varchar(255)
    author_id:    { type: integer, required: true, foreignTable: author, foreignReference: id, OnDelete: cascade }
    category_id:  { type: integer, required: false, foreignTable: category, foreignReference: id, onDelete: setnull }
    published_at: timestamp
    created_at:   ~
    updated_at:   ~
    _uniques:
      unique_slug: [slug]

  author:
    id:           ~
    first_name:   varchar(20)
    last_name:    varchar(20)
    email:        { type: varchar(255), required: true }
    active:       boolean

  category:
    id:           ~
    name:         { type: varchar(255), required: true }

  tag:
    id:           ~
    name:         { type: varchar(255), required: true }

  article_tag:
    article_id:   { type: integer, foreignTable: article, foreignReference: id, primaryKey: true, onDelete: cascade }
    tag_id:       { type: integer, foreignTable: tag, foreignReference: id, primaryKey: true, onDelete: cascade }

Uno de los errores frecuentes ocurre por una mala definición de las tablas. Se debe tener en cuenta que las tablas que manejan la relacion m:n debe tener sus dos campos establecidos como una llave primaria para esa tabla, y establecer las llaves foráneas correctamente.

Creamos el modelo:

./symfony propel:build-model

Luego creamos los formularios:

./symfony propel:build-forms

Limpiamos la caché:

./symfony cc

Se crea el modulo que utiliza el formulario:

./symfony propel:generate-module app nombreModulo nombreClase

Cuando accedemos al formulario veremos que nos mostrará la lista de categorias disponibles y  la lista de etiquetas disponibles.

Y ¿si quiero agregar el campo manualmente a un formulario que ya existe?

Pues bien, luego de haber definido correctamente tus tablas, debes re-hacer el model, re-hacer los formularios:

./symfony propel:build-model
./symfony propel:build-forms
./symfony cc

Vas al fomulario, y agregar el campo. Suponiendo que en la tabla m:n (post_category) existen los campos id_post y id_category, donde ambos conforman una clave primaria y ambos son claves foráneas con sus respectivas tablas (post y category). Vamos al formulario principal (que deberís ser post) y agregamos nuestro campo:

$form['post_category_list']->render();

Y listo, tenemos nuestro nuevo campo.

Demás esta decir que symfony se encarga del resto, es decir, de hacer efectivas las relaciones, guarda los datos en sus respectivas tablas. Actualiza, elimina, crea, sin necesidad de alguna configuraciòn extra. No se requiere embeber formularios.

Enlaces de interés:

e-Decálogo

Publicado por # 29/nov/2009
Categorías: Humor,Informática,Internet

  1. No robarás programas informáticos.
  2. No copiarás, ni usarás programas sin la correspondiente licencia.
  3. No piratearás de Internet música o películas ilegalmente.
  4. No serás un pirata informático, ni violarás la privacidad y la seguridad de los sistemas informáticos.
  5. No enviarás e-mails anónimos o con direcciones y datos falsos a tu prójimo.
  6. No enviarás spam (e-maíls basura) saturando los buzones de tus prójimos.
  7. No crearás, ni difundirás virus informáticos.
  8. No crearás, ni entrarás en sitios pornográficos.
  9. No abusarás del chat, ni darás falsas informaciones sobre ti mismo.
  10. No cometerás adulterio a través de Internet, chats, foros, messenger…

Estos diez mandamientos se encierran en dos:

  • Comprarás el sistema operativo y todas tus aplicaciones a Microsoft.
  • Y a las demás marcas… lo que no puedas comprarle a Microsoft.

Vía: http://chistesinformaticos.wordpress.com/2008/10/13/e-decalogo/

Tipos de Curriculum

Publicado por # 6/nov/2009
Categorías: Humor

1.-Universidad Central de Venezuela: Yo nací en el seno de una familia pobre y sufrí penurias para acabar la carrera. Por eso le suplico que me contrate.

2.-Universidad Simón Bolívar: He terminado la carrera, ahora soy Dios. Por ello, le concedo la posibilidad siguiente: Yo le diré cuánto quiero cobrar y el color del Ferrari.

3.-Universidad Metropolitana (Inglés Avanzado): Ai guant to incorporeit tu llor enterprais, ai am fri of servicio militar and guant to cobrar a lot ov money, if iu uant fone me to speak about mai experiense working in Almusafes´s citi. Have a nais kis.

4.-Universidad José Maria Vargas: O sea, yo he pagado mucho, o sea, si no puedes pagar un Super Student como YO, no has visto nada, pana. O sea, soy egresado de la JOSÉ MARÍA HARVARD de Sebucán Heights. O sea, mi experiencia radica fundamentalmente en visualizar la Gerencia de Cobro de Altas Cuotas que te dejan sin aliento.

5.-Universidad Lisandro Alvarado (Barquisimeto): Yo tiré muchas piedras y molondronas, na’ guará, si me puedes pagar con Suerito de Carora y un multiviaje por el metro. Por eso te suplico que me contrates y si no me contratas te envío unos encapuchados para que te tumben la oficina. Na’ guará.

6.-IUTIRLA (Informática Avanzada): En el verano realicé un curso de tres horas y cuarto de duración sobre Windows 3.11 avanzado. Sé programar en Word y dibujar con Excel, así como modelado avanzado con Scandisk. Pero en lo que realmente soy experto es en el retoque fotográfico, empleo indistintamente el Winzip y el Java. Tengo un primo en Mérida que tiene Internet.

7.-Universidad Católica Andrés Bello: Me debes contratar porque es necesaria la paz espiritual en toda empresa. Yo hice X semestres de religión I, II, III y avanzada, me preparé para ser recto en mis labores, y emplear una conducta tipo colegio de curas, con recreo y todo, en cualquier compañía que necesite de mi paz, amor y solidaridad cristiana. Además sigo en contacto con los padres para cualquier ayudita, o rezo extra en caso de quiebra.

8.-Nuevas Profesiones: Tengo un máster en la vanguardia e implemento de nuevas vacaciones colectivas de las empresas, postgrado en bonos vacacionales, especialización en puentes de Carnavales, Semana Santa y 19 de Abril.

9.-Universidad Nueva Esparta: Bueno, después de calarme todas las colas pa la Trinidad y pa’l Cafetal y la subida de los Naranjos todos los días por seis años creo que me merezco este trabajito, ¿no? Es prueba de mi paciencia, motivación y constancia.

10.-Universidad de los Andes (Mérida): Muy buenas tardes mi estimado futuro jefe. Me dirijo a usted muy respetuosamente para injormarle que debe contratarme, ya que soy una persona amabilísima, venga y le explico. Oras, como andino bien estudiado en los Andes, algo de bueno me quedó en la conducta. Usted se dará cuenta de que puedo aguantar el aire acondicionado más frío de cualquier oficina sin necesidad de estarlo apagando y prendiendo ya que eso daña al aparatito, puesenj. Puedo crear un Centro Pro Chicha Andina, y un ASOGOCA (Asociación de Gochos en Caracas así que joy un líder en eventos corporativos, pues… usted, respetadísimo, caballero, flamante, etc, etc, jefe.

11.-Universidad Santa Maria (La Urbina): por tomarme tantas birras en nombre de la universidad, por todas aquellas rumbas que nunca me perdi y por todos esos culitos que nunca rechaze, merezco mi trabajo por ser tan solidario en las noches de caracas.

12.-Universidad del Zulia: Mirá vos, aquí teneís un vergatario egresado de la universidad LUZ, experto petrolero, que toca en un conjunto de gaitas que te alegrará las fiestas de fin de año de tu empresa. ¡No teneis mejor opción que yo, compadre!.

13.-Universidad Bolivariana de Venezuela (Los Chaguaramos): Pana, no se si alguna ves tubimos clases o si reammente me gradué ayá, pero entré a esa univercidad como egresao de las gloriosas Misiones Robinson y Ribas y ice un postgrado en “Planificación y Control Social” de tres meses y medio en la Univercidad Popular de La Habana, Cuba. ¡Me tiene que emplear ajuro polque yo soy aferto al procccesssooo libertador de los pueblos oprimidos der continente y el mundo que implementa mico mandante! Sino, ¡le aplico el método Chaz!