Así pasé el 25 de Mayo

Casualmente el 25 de Mayo cayó día de CNSL en Coro, y siendo este día el día del orgullo friki aproveché para lucirme un rato.

[caption id=”attachment_634” align=”aligncenter” width=”584” caption=”Recibiendo las planillas de los participantes”]Recibiendo las planillas de los participantes[/caption]

[caption id=”attachment_636” align=”aligncenter” width=”584” caption=”Inscribiendo las planillas de los participantes”]Inscribiendo las planillas de los participantes[/caption]

[caption id=”attachment_637” align=”aligncenter” width=”584” caption=”Explicando a la audiencia el motivo por el que tenía la toalla puesta”]Explicando a la audiencia el motivo por el que tenía la toalla puesta[/caption]

[caption id=”attachment_635” align=”aligncenter” width=”584” caption=”Dando la presentación sobre Wikimedia Venezuela”]Charla de Wikimedia[/caption]

Les cuento que también esa noche fui a un toque de Dame pa’ matala, también con la toalla, pero de eso no tengo foto mía para demostrarlo :(

[caption id=”attachment_638” align=”aligncenter” width=”584” caption=”El público presente en el toque”]El público presente en el toque[/caption]

[caption id=”attachment_639” align=”aligncenter” width=”584” caption=”Los muchachos tocando, al frente se ven a William y a Chucho”]Los muchachos tocando, al frente se ven a William y a Chucho[/caption]

Ya en la noche, luego del toque, estabamos en el hotel viendo donde comprar caña, cuando de repente salió Cacayara con una franela de la 4° Cayapa, nunca nos enteramos como la consiguió XD

[caption id=”attachment_640” align=”aligncenter” width=”584” caption=”Cacayara el canaimero”]Cacayara el canaimero[/caption]

Original Article

A 5 años de la nacionalización de CANTV, ¿hay algo que celebrar?

(El siguiente post esta hecho a modo de catarsis, lo escribo como me salió)

La semana pasada CANTV realizó una serie de eventos para celebrar 5 años de su nacionalización, se supone que al ser ahora un empresa del estado, esta debería colaborar con el resto de las instituciones de la APN que requieran sus servicios, esto no solo no ha sucedido, sino que se ha empeorado, han pasado muchas cosas, pero aquí mencionaré solo a la relación de esta empresa con el proyecto Canaima GNU/Linux.

Hace dos semanas se llevó a cabo en Barinas la 6° Cayapa Canaima, un lugar de encuentro de los desarrolladores y la comunidad organizada que gira en torno a este proyecto, en este espacio se discuten temas relacionados al futuro de la distribución, se resuelven bugs abiertos y se proponen nuevos desarrollos, este evento se financia en parte con el dinero asignado al proyecto y en parte con la colaboración de otras instituciones, en esta edición decidimos que ya no le pediríamos nada a CANTV, dado los antecedentes.

recuerdo que para segunda Cayapa la gente de CANTV nos reclamaba que las máquinas que vendían no funcionaban correctamente con Canaima, así que le pedimos que nos enviaran una maquina con el sistema preinstalado y un informe de los errores que se le presentaban, enviaron la máquina, pero no solo no enviaron el informe, sino que además la máquina la llevaron con windows, nunca supimos que es lo que reclamaban.

En la tercera Cayapa Tuvimos un conversatorio donde planteamos varios temas, entre ellos estaba el asunto de que CANTV hacía desarrollos internos relacionados a Canaima y nunca daban nada a la comunidad, los que estaban allí dieron una serie de excusas sin sentido, incluso llegando a culpar a la comunidad de que no había apoyo, al final se fueron antes de terminar la conversación.

En la 4° Cayapa de lo que fui testigo es que casi no íbamos a tener acceso a los servidores porque quienes administraban las máquinas no querían abrir unos puertos necesarios por cuestiones burocráticas.

En la 5° se le pidió conectividad y otra vez nos dejaron mal, fue en esa cayapa donde se decidió que a CANTV solo se le pediría material POP, fue lo que nos dieron en la 6° Cayapa.

Otro asunto de los servidores, gran parte del dinero que le da Fidetel al proyecto Canaima se va en alquiler de servidores, servidores que nos alquila CANTV.

No solo no apoyan al proyecto Canaima, sino que por un lado están creando un “sabor” de canaima que no es sabor, dado que no está avalado por la comunidad, ni han liberado lo que han hecho, la empresa que lo hace tiene un contrato de confidencialidad que les prohíbe hablar del tema, y por otro lado gastan más de 50 Millones de Bs Fuertes comprando licencias de Windows para las máquinas VIT que venden con el plan internet equipado, ¿y cual es la excusa que dan? que el mercado lo exige, ¿no se supone que CANTV es una empresa socialista? ¿de cuando a acá las empresas socialistas basan sus estrategias de acuerdo a las exigencias del mercado?

Yo pienso que no hay nada que celebrar.

Original Article

Componente NCurses en Gambas 3

Aunque este componente está aun en desarrollo promete bastante, es un binding de la librería NCurses, esta es una librería que provee una API para desarrollar interfaces gráficas de texto, algo como esto:

[caption id=”attachment_613” align=”aligncenter” width=”612” caption=”Tasksel, aplicación de consola que usa NCurses para la interfáz gráfica”]Tasksel, aplicación de consola que usa NCurses para la interfáz gráfica[/caption]

Si estás probando la versión de desarrollo de Gambas puedes probar el siguiente script

[cc lang=”vb”]#!/usr/bin/env gbs3

USE “gb.ncurses”

dim hwin As Window
hwin = New Window(0, 0, 20, 30)
hwin.Background = Color.Blue
hwin.show()
hwin.Full()
hwin.print(“Hola Mundo”, 0, 0)
hwin.print(“Hola”, 0, 1)
hwin.print(“Mundo”, 2, 2)
hwin.printcenter(“Texto Centrado”)
hwin.WaitKey()[/cc]

Si quieres un ejemplo más elaborado puedes ver una clase para generar un menú, aun le faltan cosas pero allí va https://gitorious.org/willicab/gb-ncurses

Original Article

Nuevo Proyecto: Generador de tareas para Tasksel o Canaima Tareas

Una de las cosa que hice durante la 6° Cayapa Canaima fue el desarrollo de un asistente para la creación de tareas, esta sirve tanto para tasksel como para canaima-tareas, cualquier error no duden en reportarlo.

[caption id=”attachment_607” align=”aligncenter” width=”642” caption=”Vista del generador de tareas”]Vista del generador de tareas[/caption]

Puedes entrar al repositorio en Gitorious para descargarlo

https://gitorious.org/willicab/generador-tareas

Original Article

En ViveTV muestran Inkscape

Esta mañana me levanto y enciendo el televisor para ver que hay cuando me consigo con esta agradable sorpresa, mostraron tres tutoriales donde enseñaron herramientas básicas de inkscape (Click en la imagen para agrandarla).

Lamento lo malo de las fotos pero mi cámara es mala y el televisor que tengo es muy pequeño. Igual hay que reconocer que es un gran avance :).

Original Article

TutoGambas #7: Crear reportes usando el componente gb.report en Gambas3 (2/2)

Antes de comenzar con el código vamos a crear una conexión nueva, para esto haremos click con el boton derecho en la sección Conexiones del explorador del proyecto.

Allí llenaremos los datos de la conexión, en mi caso los datos son los de la siguiente imagen.Luego de realizada la conexión nos vamos al editor de código del reporte y escribimos un procedimiento _new

[cc lang=”vb”]PUBLIC SUB _new()

END[/cc]

Las variables que necesitamos declarar son las siguientes:

[cc lang=”vb”]DIM hConn AS Connection
DIM hRes AS Result
DIM RHBox AS ReportHBox
DIM lblID, lblFirstName, lblName, lblSalary AS Reportlabel[/cc]

Luego creamos la conexión:

[cc lang=”vb”]hConn = Connections[“Connection1”]
hConn.Password = “MyPass”
hConn.Open()[/cc]

Esta es la parte más interesante del código, haremos la consulta sql con al que queremos mostrar el resultado y crearemos los controles donde mostraremos los registros:

[cc lang=”vb”]hRes = hConn.Exec(“select * from test limit 100”)
For Each hRes
RHBox = New ReportHBox(RClone)
RHBox.Height = “10mm”

lblID = New ReportLabel(RHBox)
lblID.Width = “20mm”
lblID.Alignment = Align.Center
lblID.Text = hRes[“id”]

lblFirstName = New ReportLabel(RHBox)
lblFirstName.Expand = True
lblFirstName.Alignment = Align.Center
lblFirstName.Text = hRes[“firstname”]

lblName = New ReportLabel(RHBox)
lblName.Expand = True
lblName.Alignment = Align.Center
lblName.Text = hRes[“name”]

lblSalary = New ReportLabel(RHBox)
lblSalary.Expand = True
lblSalary.Alignment = Align.Center
lblSalary.Text = hRes[“salary”]
Next[/cc]

Lo que hacemos acá es crear, dentro del control ReportVBox al que llamamos RClone, un control ReportHBox y dentro de este colocamos los controles ReportLabel que usaremos para mostrar los registros, si ejecutamos el código se debería ver algo así:

Si se fijan en el pie de página hay un bug en la cuenta de la cantidad de páginas, ya que muestra la página actual + 1, esto no afecta a la impresión del reporte.

Finalmente les dejo el código fuente del ejemplo para que lo prueben (gb-report-example-0.0.1.tar)

Como siempre los comentarios, consultas y sugerencias son siempre bienvenidas.

Original Article

TutoGambas #6: Crear reportes usando el componente gb.report en Gambas3 (1/2)

Hacer un reporte en Gambas usando el componente gb.report es relativamente sencillo, primeramente hay que diseñar gráficamente el formulario y luego codificar para llenar los datos.

Componentes necesarios:

Para poder trabajar con los reportes es necesario activar el componente gb.report y como lo más probable es que los datos los obtengamos desde una base de datos (lo que se hará en este tutorial) se activará también el componente gb.db.

El diseño del reporte:

  • Crear un nuevo reporte

Haciendo click con el botón derecho en la sección Fuentes del explorador del proyecto y en el menú contextual seleccionamos la opción Nuevo->Reporte

En el asistente que se abre se dejará el mismo nombre para efectos de este tutorial, pero si es de su gusto pueden cambiarlo.

Luego de creado se establece como Clase de inicio.

Se pueden modificar las siguientes propiedades de reporte:

  • Padding: “10mm”
  • Paper: “Letter”

La propiedad Padding agrega un margen al documento y la propiedad Paper establece el tipo de papel.

  • La cabecera

Para crear la cabecera se usará un control ReportHBox cuyas propiedades que se modificarán serán las siguientes:

  • Height: “30mm”
  • Fixed: True

Es necesario asignar un tamaño al control (ya sea variando la propiedad Height o colocando la propiedad Expand a True) para que se pueda ver en el reporte, la propiedad Fixed asignada a True permite que la cabecera se vea en todas las páginas, si quieren que solo se vea en la primera solo hay que asignarle el valor False.

Dentro del ReportHBox se agregará un ReportLabel con las siguientes propiedades:

  • Alignment: Center
  • Expand: True
  • Font: “Bold, +6”
  • Text: Gambas Report Example

El formulario se debe ver mas o menos así

  • El cuerpo

El reporte lo vamos a hacer como una tabla, pero como no hay una posibilidad de diseño predefinido la diseñaremos a mano, lo primero será agregar un control ReportVBox con la propiedad Expand establecida a True, dentro de este control añadimos un control ReportHBox el cual será la cabecera de nuestra tabla y tendrá las siguientes propiedades:

  • Fixed: True
  • Height: “10mm”

Como mencioné anteriormente la propiedad Fixed es opcional. Dentro de este control vamos a añadir los campos que queremos mostrar, para este ejemplo usé la base de datos test que se crea en el ejemplo Database que viene con gambas, para eso usaremos 4 controles ReportLabel con las siguientes propiedades:

  • Alignment: Center
  • Border: “1px”
  • Font: “Bold”
  • Width: “20mm”
  • Text: “ID”
  • Alignment: Center
  • Border: “1px”
  • Font: “Bold”
  • Expand: True
  • Text: “First Name”
  • Alignment: Center
  • Border: “1px”
  • Font: “Bold”
  • Expand: True
  • Text: “Name”
  • Alignment: Center
  • Border: “1px”
  • Font: “Bold”
  • Expand: True
  • Text: “Salary”

Como pueden ver, el primer campo tiene un ancho fijo, esto es conveniente hacerlo si se sabe aproximadamente  el ancho máximo que tendrán los registros de este campo, por supuesto no es conveniente hacerlo en todos los campos, ya que no se sabe el ancho total que tendrá la tabla. finalmente colocaremos dentro del control ReportVBox otro control ReportVBox con las siguientes propiedades:

  • Name: RClone
  • Expand: True

Al final se debe ver algo así:

  • El pie de página

El pié de página nos mostrará la página en la que estamos y la cantidad de páginas que tiene el reporte, para esto agregamos un control ReportLabel con las siguientes propiedades:

  • Alignment: Center
  • Font: “Bold”
  • Height: “10mm”
  • Text: “Página $PAGE de $NPAGE”
  • UseField: True

La propiedad UseField establecida a True hará que las cadenas $PAGE$NPAGE se conviertan en los valores que queremos mostrar, Página actual y Número de páginas respectívamente.

Si ejecutamos la aplicación se verá algo como esto:

En el próximo artículo haremos la conexión a la base de datos para mostrar los campos en el registro.

Original Article

Y así estuvo el April Fools’ Day

Lamentablemente no pude vivir ayer el april fools’ day, básicamente porque no tengo una conexión decente en mi casa, pero para eso tengo los feeds que me cuentan todo lo que ocurrió, y aquí hay una lista de los que más me gustaron:

[yframe url=’http://www.youtube.com/watch?v=rznYifPHxDg’]

[yframe url=’http://youtu.be/UiLSiqyDf4Y’]

Original Article

Mis nuevos(?) juguetes para almacenamiento

Este post es más bien para presumir de mis nuevos discos XD

Casette de Betamax convertido en disco externo

[caption id=”attachment_531” align=”aligncenter” width=”320” caption=”Diskette convertido en pendrive”][/caption]

Tengan un buen día.

No pudiste ir al curso de Robótica este fin de semana

Pues tienes chance para este viernes 9 y sábado 10 de Marzo, la temática será la misma del curso anterior y los detalles son los siguientes:

Fecha: Viernes 09 / Sábado 10 de marzo (el día de tu preferencia)
Duración: 08 Horas.
Horario: 8:00am a 12:00m y 2:00pm a 6:00pm
Inversión: (480 BsF) Promoción 380BsF / Estudiantes 330 BsF.
Incluye: Certificado de participación, manual del taller, CD con material de apoyo, libreta, bolígrafo y refrigerio.
Lugar: Academia ALSoL NetLynx, Caracas – Distrito Capital.

Nos vemos por allá :)