27.9.07

Por que uso IRC

IRC (Internet Chat Relay) se creo en el año 1988 con el fin de poder comunicarse mediante mensajes de texto (chatear) en tiempo real. Uno se conecta a un servidor, entra a un canal y habla con todas las personas que están ahí. Por mas que se puedan tener comunicaciones en privado con otros usuarios, generalmente es usado para comunicarse entre una gran cantidad de personas.


El uso de IRC fue disminuyendo a medida que se hacían populares los mensajeros instantáneos (ICQ, MSN, Jabber/GTalk) y los servidores se convirtieron en algo desconocido y poco usual para gente fuera del ambiente. Y con el ambiente, me refiero a gente que fue con lo primero que comenzó a chatear o gente "de sistemas", sobre todo de la movida linuxera, OSS y de software libre.

Clientes de IRC

Los hay completisimos para los mas bananeros, otros que hacen lo que tienen que hacer (y un poquitin mas) y otros de consola que consumen cero recursos. A mi me gusta el XChat2 (o BitchX para la terminal). Encontré una pagina con una version no-oficial del XChat2 gratuita para windows (el soft es libre, entregan las fuentes pero cobran el binario para windows y no para linux/unix).


Si quieren probar otro cliente para windows pueden usar el ultra-clásico mIRC.


Uso IRC porque:

- Me resulta cómodo para sacarme dudas o resolver problemas de software hablando directamente con los desarrolladores o gente que esta empapada en eso. Por ejemplo, supongamos que en este preciso momento se me rompe el programa que uso para escuchar mp3s. De seguro hay un canal con el nombre del programa (lo hay: #amarok) y ahi puedo encontrar mucha gente dispuesta a ayudar. Muchísimos desarrolladores de software libre se comunican mediante este medio, por lo general en el servidor Freenode.

- Existe una gran variedad de clientes, para casi todos los sistemas operativos (Unix/Linux, MacOS, Windows, etc) y para todos los gustos.

- No invade y ejercita la paciencia. No podemos pretender que alguien este pegado del otro lado de la pantalla mirando el canal atentamente las 24 horas. Uno puede entrar, preguntar y, en algún momento mágico, alguien va a responder.

- Para hacer cosas de a muchos o juntarse azarosamente con amigos, en donde uno entra cuando puede y siempre hay alguien para agitar un ratito.

- Y, por ultimo, la subjetividad hecha item dictatorial: POR QUE ESTA BUENISIMO, ME GUSTA Y ME RESULTA MEJOR QUE LAS DEMAS MIERDAS (momento emotivo, demasiado quizas).

24.9.07

Eligiendo mal (bien) nombres de tablas y campos en MySQL

Durante el último desarrollo "grande" que estuve haciendo (un CMS) tuve un problema que me dieron ganas de golpearme cuando lo pude resolver. Elegí mal nombres de tablas y, luego, de campos, utilizando algunas de las palabras reservadas de MySQL. Con el posterior error de no renombrarlas ni bien me di cuenta de esto teniendo que escapar en las consultas algunas tablas y campos con "`".

Entre los nombres de tabla, use "schema" en donde la consulta:

SELECT * FROM schema;

Tiraba un error y, luego de insultar a medio mundo (un cuarto existente o otro cuarto no), me di cuenta que tenia que escapar la palabra reservada asi:

SELECT * FROM `schema`;

Aunque no afecta al funcionamiento de la aplicación que estamos desarrollando, si somos distraidos aveces podemos estar un rato hasta darnos cuenta que nos paso otra vez (si, aveces caigo en los mismos loops). Otro caso fue elegir como nombres de campo para definir el orden de elementos, el nombre "order".

A continuación, la lista de palabras reservadas para MySQL 5.0:




















































































ADD ALL ALTER
ANALYZE AND AS
ASC ASENSITIVE BEFORE
BETWEEN BIGINT BINARY
BLOB BOTH BY
CALL CASCADE CASE
CHANGE CHAR CHARACTER
CHECK COLLATE COLUMN
CONDITION CONSTRAINT CONTINUE
CONVERT CREATE CROSS
CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER CURSOR DATABASE
DATABASES DAY_HOUR DAY_MICROSECOND
DAY_MINUTE DAY_SECOND DEC
DECIMAL DECLARE DEFAULT
DELAYED DELETE DESC
DESCRIBE DETERMINISTIC DISTINCT
DISTINCTROW DIV DOUBLE
DROP DUAL EACH
ELSE ELSEIF ENCLOSED
ESCAPED EXISTS EXIT
EXPLAIN FALSE FETCH
FLOAT FLOAT4 FLOAT8
FOR FORCE FOREIGN
FROM FULLTEXT GRANT
GROUP HAVING HIGH_PRIORITY
HOUR_MICROSECOND HOUR_MINUTE
HOUR_SECOND
IF IGNORE IN
INDEX INFILE INNER
INOUT INSENSITIVE INSERT
INT INT1 INT2
INT3 INT4 INT8
INTEGER INTERVAL INTO
IS ITERATE JOIN
KEY KEYS KILL
LEADING LEAVE LEFT
LIKE LIMIT LINES
LOAD LOCALTIME LOCALTIMESTAMP
LOCK LONG LONGBLOB
LONGTEXT LOOP LOW_PRIORITY
MATCH MEDIUMBLOB MEDIUMINT
MEDIUMTEXT MIDDLEINT MINUTE_MICROSECOND
MINUTE_SECOND MOD MODIFIES
NATURAL NOT NO_WRITE_TO_BINLOG
NULL NUMERIC ON
OPTIMIZE OPTION OPTIONALLY
OR ORDER OUT
OUTER OUTFILE PRECISION
PRIMARY PROCEDURE PURGE
READ READS REAL
REFERENCES REGEXP RELEASE
RENAME REPEAT REPLACE
REQUIRE RESTRICT RETURN
REVOKE RIGHT RLIKE
SCHEMA SCHEMAS SECOND_MICROSECOND
SELECT SENSITIVE SEPARATOR
SET SHOW SMALLINT
SONAME SPATIAL SPECIFIC
SQL SQLEXCEPTION SQLSTATE
SQLWARNING SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT SSL STARTING
STRAIGHT_JOIN TABLE TERMINATED
THEN TINYBLOB TINYINT
TINYTEXT TO TRAILING
TRIGGER TRUE UNDO
UNION UNIQUE UNLOCK
UNSIGNED UPDATE USAGE
USE USING UTC_DATE
UTC_TIME UTC_TIMESTAMP VALUES
VARBINARY VARCHAR VARCHARACTER
VARYING WHEN WHERE
WHILE WITH WRITE
XOR YEAR_MONTH ZEROFILL
ASENSITIVE CALL CONDITION
CONTINUE CURSOR DECLARE
DETERMINISTIC EACH ELSEIF
EXIT FETCH INOUT
INSENSITIVE ITERATE LEAVE
LOOP MODIFIES OUT
READS RELEASE REPEAT
RETURN SCHEMA SCHEMAS
SENSITIVE SPECIFIC SQL
SQLEXCEPTION SQLSTATE SQLWARNING
TRIGGER UNDO WHILE

23.9.07

Twitter

Hace casi un mes saque una cuenta de Twitter para ver que era, que hacia y por que tanta propaganda. Si bien me pareció que estan algo inflados los rumores sobre su utilidad, le encontré cierto gustito.

Al parecer, estos muchachos estan impulsando una idea que se hace llamar micro-blogging en donde uno hace una entrada de hasta 140 caracteres con lo que esta haciendo ("Tomando cafe", "En la casa de pirulo tirando bulones desde el balcon", etc) y a todos los que te tienen agregado les aparece tu mensaje. Se convierte por momentos en una especie de chat off-line. Generalmente escribo mas ahi durante el laburo (en donde aveces no puedo dedicarle atención constante al GoogleTalk/MSN/Jabber).

Si sacan un cuenta, agreguen mi contacto a modo de experimento.