Bloodblog

Logos de Discolog

21

04

2009

by José Cabo

Aquí os presento la exclusiva de Discolog. Su logo y el favicon de la web. Espero que os gusten.


Aunque es probable que el diseño sea este los colores varíen. Lo dicho, espero que os gusten. Ya queda muy poco para tener una versión de prueba de Discolog :P!!!

Oda al escritor de Bloodblog.net: de mi mismo & Tod (de Tod y Toby) ….con Discolog

5

03

2009

by José Cabo

Esto es una oda a mi esplendoroso pasado el cual he vuelto a recuperar gracias a una inversión, a corto plazo, de un amigo. Mi dominio ha estado como dos semanas sin renovarse… por un despiste a la hora de la renovación y… después, por la crisis de los 21 (siii mi cumpleeeee) años al estar sin un céntimo. El caso es que bloodblog.net ¡ya vuelve a ser de mi propiedad y completamente operativo de nuevo!

Aprovecho para informar que estoy trabajando en una monstruosa y novedosa red social: Discolog es su nombre. Estoy seguro que os encantará… pues pretende superar a Tuenti (que es una basura…) por poner un ejemplo de web social española. Os iré recordando mis avances… el núcleo de la aplicación ya está casi terminado y tengo esperanzas de liberar Discolog a finales de Marzo.

¡¡Adelante!! y con ánimo.

Compiz Fusion, como darle un buen partido

3

01

2009

by José Cabo

Al final os adjunto mi perfil de configuración de Compiz Fusion.

Mucha gente dice, sin haber probado ni usado, que Compiz Fusion es solamente un eyecandy del escritorio Linux estúpido y come recursos. Esa afirmación no demuestra otra cosa más que ignorancia de quien la dice.

Compiz Fusion es algo más que un eyecandy del escritorio Linux. Es un hecho que el consumo de hardware es incluso menor cuando está activo que si solamente trabaja la CPU, pues claro, todo el trabajo de dibujado por pantalla lo hace la GPU (¡¡tarjeta gráfica!!) con lo que obtenemos mayor rendimiento en el trabajo de día a día.

scaleplugin1img

Con el tiempo ha ido mejorando pudiéndose personalizar con plugins activados y personalizados a placer. Muchos de estos plugins son pura belleza (u horterada) según quien los mire. Otros, en cambio, son hasta necesarios al día de hoy por cualquier usuario asiduo del escritorio (véase, yo). Tanto es la diferencia que el estar trabajando en otros escritorio de otros Sistemas Operativos, los Macs, llega a incomodarme bastante. Intentaré evitar hablar del escritorio Windows… bueno, NO, es un adefesio en CUALQUIER sentido. Total… aquí viene mucha gente pro-linux y les encanta leer esto xD. No, en serio, cualquier usuario de Linux sabe que a día de hoy Compiz Fusion ofrece grandes características que ningún otro escritorio es capaz de igualar. Eso sí, siempre se pueden mejorar.

No podemos olvidarnos de los plugins “Agrupar Ventanas Mediante Fichas” ó simplemente del archiconocido “Scale” (Exposé de Mac pero me parece mucho más bonito el creado con Compiz), las previsualizaciones, el zoom de escritorio y las demás mindongas que solo entran por los ojos. Todos con un consumo de recursos indetectables para cualquier ordenador.

Soy usuario casi exclusivo de Ubuntu y tengo el 99% del tiempo Compiz activo, es decir, casi siempre. Por eso ha llegado un punto en que tengo unas herramientas que me hacen mucha falta y me cuesta desprenderme de ellas. Por eso me gustaría daros este perfil para Compiz Fusion que seguro os encantará y os resultará muy útil. En principio es compatible con cualquier versión de Compiz Fusion mayor que la instalada en Ubuntu Intrepid (pero seguramente en las anteriores también).

Recordad que necesitáis tener instalado todos los paquetes de Compiz Fusion (además de los oficiales, los extra). Están todos en los repositorios oficiales.

A día de hoy todavía hay mucha gente que no usa Compiz. Probablemente sea o porque tu hardware no es compatible (y no tiene la culpa Linux) o porque simplemente no sabes lo que te estas perdiendo…

Y los que lo usáis ¿qué cambiaríais de mi perfil? ó ¿qué añadiríais?

Leer el resto de esta entrada »

Clase de Imagenes GD en PHP. Lo que nos gustaría que tuviera

11

12

2008

by José Cabo

BloodGD.
Ando metido en un proyecto paralelo al que estoy haciendo. Este nuevo consistirá en una librería o clase de POO escrita en PHP para tratar imágenes con la librería GD (habitual que casi todas las instalaciones de PHP).

Me gustaría centrarme primero a bajo nivel en métodos que sean de utilidad, sencillos y fáciles de usar [y recordar!!]. Intentar hacerlo de la manera más óptima posible. Me gustaría, además, implementar poco a poco funciones de mayor nivel.

No se si conocéis Imaset, un proyecto iniciado hace tiempo por mi amigo Alex Barros y ahora dejado de lado (ejem… te invoco!!). Bien, tiene una clase que la he observado un poco por encima y creo que podría valerme a pesar de tratarse más para el propósito por la que fue creada. Quién sabe… la tendré cerca.

Os estaría agradecido si me diérais ideas para implementarlas en la clase, no os cortéis, sin vergüenza!!

RC1 de Ubuntu 8.10 - Casi en nuestras manos la nueva novedad de Canonical

23

10

2008

by José Cabo

Intrepid Ibex está a punto de llegar a su versión mas estable. Hoy ha sido publicada (aunque con un día de retraso…) la versión Release Candidate de Ubuntu Intrepid Ibex 8.10; la última evolución de Ubuntu 8.04 LTS. Recordemos que esta nueva no será LTS, que no tendrá soporte para tres años como su antecesora.

La versión final saldrá en la fecha que se había decidido en un principio: el día 30 de Octubre. Es decir, dentro de unos pocos días si no surge ningún problema grave y haya que posponer la salida. ¡Mark no lo quiera! En fin, lo dicho, lo hará después de solucionar algunos de los bugs que les quedan por resolver.

Esta versión de Ubuntu no aportará mucho más a la versión final. Se espera que los bugs que se hayan escapado se corrijan aunque siempre se suele escabullir alguno. ¿Qué os quiero decir con ésto? No es una versión para producción aunque casi lo es. No es para testing pero si podéis probarla y reportar los fallos que encontréis la comunidad os lo agradecería enormemente (¡¡y yo también!!) puesto que esta versión será la más parecida a la final.

Puedes descargarla vía descarga directa, pero te recomiendo que uses la descarga vía protocolo Bittorrent para evitar la saturación.

Nota: la imagen expuesta es la obra original de lo que es ahora el Wallpaper.

Programación recurrente de funciones con C. Técnica que he aprendido hoy en el ‘cole’

12

02

2008

by José Cabo

Hoy en clase de programación (con el nuevo profesor que ¡¡ES UNA MARAVILLA!!) he aprendido la programación recurrente de funciones. Básicamente es una función que se llama así misma… y así en plan bucle pero de forma diferente. Este método es menos eficiente en cuanto a consumo de memoria que el de un bucle pues generalmente cada recurrencia creará “nuevas variables” y eso ocupa un hueco en memoria (aunque realmente es irrelevante).

Este nuevo método es bastante intuitivo y fácil de aprender y de usar. No se me había ocurrido pero nada más “nombrar el tema de la asignatura” he comprendido en que consistía y ya tenía nuevos planes para llevarlo a cabo. En mi caso, pienso darle utilidad en Bloodtraining Lógico con lo que la programación del mismo será, creo, bastante simple. Espero reducir el código para colmo, aunque posiblemente eso conlleve un irrelevante aumento de consumo de memoria (dependerá de las subpuertas que tenga la instrucción).

¡¡Me gusta!!, y pienso llevarlo a cabo desde ahora mismo a pesar de no estar de ánimo después de que mis amigos me desecharan. Supongo que hay prioridades.

Un ejemplo de función recurrente sería esta:

int func (int var) {
int res;
if (var==1) return res;
else res = func(var-1)*var;
return res;
}

Ó algo así xD. No recuerdo la función ejemplo, pero básicamente es eso… que se llama así misma.

Nota: corregida la función. Se usa para calcular el factorial de un entero.

Bloodtraining Lógico 0.01 !!! ….buaaaaaaaaaaa!!!

28

01

2008

by José Cabo

bloodtraining-001.pngMe ha llevado menos tiempo del que esperaba. He conseguido poco a poco, pensando muchísimo, rehaciendo miles de veces las cosas hasta conseguir llegar a donde he llegado. La versión que os voy a dejar está muy en desarrollo y espero mejorarla en breve… pues ni si quiera es beta ni nada pues solo me he asegurado de que funcione un tipo de instrucción… pero pronto lograré que funcione cualquier tipo (con unas pocas normas estrictas de codificación…).

Actualmente soporta a la perfección esta instrucción: (variable,puerta,variable). La instrucción debe estar entre paréntesis (siempre) y cada, llamemosle comando, separado por una ‘,’ [coma].
Existen 5 tipos de puertas (pero 4 de ellas son las que realmente se pueden usar en las instrucciones): and [&]; nand [/&]; or [|]; nor [/|]. Acabáis de comprobar que el comando / lo que hace es negar la salida de la puerta.
El comando / delante de las variables debería estar soportado, pero no es así… y tengo que averiguar el por qué.

Lo importante es que la base ya la tengo hecha y he dejado preparado para dar soporte a instrucciones más complejas como ((a,&,b),|,(a,&,b)) ó incluso (((/a,&,b),+,/b),|,/(a,|,/(a,&,b))). Realmente me falta poco o eso creo pues solamente me hace falta llenar de parches todo xD.

Actualmente no hay reconocimiento de nombres de las variables existe en su lugar un vago reconocimiento de ‘primera variable’ y ’segunda variable’. Tampoco se permite puertas de aridad superior a 2.

En el futuro espero rehacer el código completamente y usar de forma total las variables struct pues creo que son básicas para crear un lenguaje interno. Usando este tipo de variables creo que se programará mejor pues evitaré estar usando vectores tan asiduamente… resulta poco práctico usar arrays (mis favoritos…).

  • ¿Que qué espero aprender de este programa?
  • Pues creo que aprenderé a crear un lenguaje interno de comandos e instrucciones introducido mediante un string. Vamos, la panacea :P.
    He aprendido que una planificación previa en papel ayuda bastante (esta parte se la dedico a Alex… jaja).

Os dejo los enlaces de descarga. Actualmente no están puestos en codis pero en cuanto me informe de como funciona (gracias a Alex de nuevo) lo pondré ahí para que tengáis una mejor experiencia de descarga.

Actualizado (enlaces de descarga ya corregidos):
Descárgate el código fuente. (Para compilar gcc -o Bloodtraining main)
Descárgate los binarios ya compilados para Linux.

¡¡A probarlo y a aconsejarme!! :D

PD: Si alguien enlaza al programa… le agradecería que fuera a esta entrada y no a los enlaces de descarga. Gracias.
PPD: Es multiplataforma, con gcc se compila sin problemas.

Nuevo projecto: Entrenador Lógico multiplataforma [en modo consola a falta de conocimientos]

26

01

2008

by José Cabo

entrenador.jpgComo ya sabéis el otro día hice un examen de FCO que consiste en puertas lógicas (AND, OR, NAND, … y cosas de estas) de circuitos. En el Poliformat de la UPV (una web para los estudiantes con todo tipo de información, documentos y programas) existía un programa llamado Entrenador pero era una basura. No me gustaba. Y, no se porque, pero no funcionaba correctamente (estaba repleto de bugs y más de una vez he aprendido a saber bloquearlo). Ah… y lo peor de todo es que precisaba de .net 2.0 de Microsoft y eso me obligaba a irme a Windows (además de obligarme a usar una resolución de 1280×1024 porque el programa no tenia forma de redimensionarse, era patético).

Me resultaba imposible estudiar con el Entrenador, no podía hacer la circuitería y comprobar que estuviera correctamente hecha porque…en muchos casos no funcionaba (estando bien montado) y llegaba a frustrarme… Así que, ese mismo día me decidí a que tenía que empezar un proyecto para crear mi propio entrenador lógico multiplataforma y en un principio solamente en modo consola (con posibilidad de en un futuro usar alguna GUI.

El proyecto, el cual todavía no tiene ninguna base y pienso ponerme en serio ahora cuando acabe los estudios, estará escrito en el lenguaje C y, en principio, será solamente en modo consola pues todavía no tengo conocimientos para trasladar cualquier código a los gráficos.

Creo que usando variables struct, vectores y cosas por el estilo podría hacerlo -CREO-. No se como, pero la entrada de los datos será mediante una cadena de caracteres y esta mediante un for podrá leer lo que diga cada instrucción (cada “instrucción” estará separada por algún tipo de carácter…).

La salida, como ya os imagináis, será una tabla de verdad completa. También tendrá “los leds” de salida de un entrenador normal (obvio) pero representados de alguna otra forma… Estoy pensando en que ‘cada segundo’ (o cada frecuencia) sea una linea de la consola con lo que como máximo está contendrá 8*2 caracteres aproximadamente… así que eso aumenta la seguridad a la hora de evitar la destrucción de la linea por baja resolución.

Que conocimientos me faltan desarrollar? Simplemente… todos. Empezando por aprender a llamar a otros ficheros de código (por ejemplo main.c que llame a la función AND que está en PLogicas/and.c: vamos, evitar que todo el código esté en un fichero). También sería buena idea empezar a familiarizarme en como coño voy a crear la entrada del circuito (con cadenas de caracteres como ya he dicho y eso supone aprender a ‘crear’ un lenguaje de configuración propio del programa, algo en plan: f=((not,A),NAND,(B,OR,C)) y eso xD. ¡¡Y que se note mi nota!! XD

Y eso es todo amigos!!

PD: si tenéis idea de como ayudarme… ya sabéis, ayudarme! xD
PPD: por supuesto, la plataforma de desarrollo será Ubuntu GNU/Linux (por ahora Gutsy Gibbon 7.10)
PPPD: La licencia del programa, aunque es pronto para pensar en ello, será SL libre del todo. Alguna GPL de estas.

Subir

Theme Wordpress creado por José Cabo.
Programador, Administrador, Webmaster y filántropo adorador de GNU/Linux y del Software Libre que en sus ratos libres se dedica a estudiar Ingeniería Informática (¡¡lo prometo!!).
folcwine AT gmail DOT com