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).
27.9.07
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:
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:
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:
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 |
Etiquetas:
advertencia,
mysql,
webdev
23.9.07
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.
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.
Suscribirse a:
Entradas (Atom)