Cosas por hacer
(o: "Necesito ayuda")
Tengo muchas ideas sobre cómo mejorar varios programas,
y también muchos otros por empezar,
y quiero escribir bastantes tutoriales básicos sobre informática.
Desgraciadamente, no tengo tiempo para todo.
Aunque me gustaría poder resolverlo todo yo (soy egoísta),
me gustaría aún más que otras personas entiendan los problemas que propongo
y hagan algo por solucionarlos.
No es que yo esté buscando respuestas para mí,
sino para la gente que las necesita:
hay muchas cosas que aún faltan y alguien tiene que explicar o arreglar.
Consideraré que un trabajo está acabado si se cumplen estas cuatro condiciones:
tiene una licencia libre,
está bien escrito (sin faltas y con los acentos donde toca),
es gratis,
y es mejor que el resto de soluciones.
Si no pasa esto, en mi opinión no es útil y probablemente otras personas tengan que repetir el trabajo.
Si te animas a solucionar alguna de estas cosas (o de la sección a largo plazo), puedes avisarme.
Como a mí también me interesa, intentaré ayudar con ideas, críticas, y escribiendo.
23-05-2008 (desde marzo-06). Daniel Clemente Laboreo (web, correo)
Básico
Quiero unas páginas de ayuda sobre:
- por qué es importante una licencia libre (como GPL, BSD, o CC), o incluso: por qué hay que fijarse antes en la licencia de un programa que en sus características técnicas. Empecé a escribir sobre esto, pero no tengo mucho tiempo ni conocimientos legales para continuar
- ayudas para escribir bien en los sitios donde hay que escribir bien (traducciones, Wikipedia, tutoriales, etc.). O sea: un recordatorio de ortografía, que sirva para entender bien el propio idioma y así darse cuenta de si se están haciendo faltas o no
Estas dos cosas las considero realmente básicas; porque tanto la licencia como el lenguaje están presentes en todo lo demás (tutoriales, programas, etc.),
y si no están bien elegidas estropean el resto.
Pero me parece que la gente -en general- sabe poco de licencias y poco de gramática (me incluyo). Pueden ser temas aburridos si no se explican bien. Supongo que conoces el problema.
Si también te interesa esto, intenta compartir alguna ayuda, consejo o tutorial, aunque sea en una página web o un weblog;
enseñando se aprende mucho y se evita que haya tanto desconocimiento
(hay mucha gente que quiere aprender más y no encuentra información útil).
Yo también empecé a escribir tutoriales sobre estos dos temas, pero avanzo muy poco a poco...
Añadido el 25-3-2006.
Programas
txt2tags
txt2tags es un sencillo lenguaje de etiquetas; el programa (en Python) genera código HTML, LaTeX, y otros a partir del .t2t.
Arreglar varios fallos que encontré, sobre HTML;
su autor también empezó a corregirlos, pero tampoco tiene tiempo libre.
Hace falta que participe alguien más.
Añadido el 25-3-2006.
dislines
dislines es un programita que hice, aún poco usado, para combinar varios ficheros en uno.
- simplificar la especificación, añadir cosas útiles (quizás el
@^en), quitar las complicadas (el @!), separar en niveles de complejidad, dar implementación como ejemplo
- hacer otras utilidades relacionadas que hagan cosas de traducciones con esta misma sintaxis. Hay muchas posibilidades muy útiles; tengo varias ideas
- internacionalizar; ahora sólo sale en inglés
- arreglar el código, y convertirlo en package de Perl (lo tenía hecho, pero perdí los parches en un descuido)
- hacer un módulo de coloreado de sintaxis para vim, emacs y otros
- hacer que en caso de error de sintaxis, el valor de retorno sea distinto de 0
- una vez funcione todo bien, integrarlo en CPAN
- conseguir hacer un buen paquete para incluirlo en alguna distribución (hace falta página man, entre otras cosas)
- hacer opción para que las líneas "comunes" sean descartadas
Añadido el 25-3-2006.
Cliente de Jabber
Quiero un programa de Jabber para consola,
como
imcom,
pero fácil de usar:
- separando opciones básicas de las avanzadas
- con las opciones más útiles al alcance
- cómodo, pero a la vez avanzado
- fácil de configurar
- que permita varias cuentas a la vez
- que vaya bien con Unicode, tanto en xterm como en consola
- que unas líneas no tapen a otras ni pasen cosas raras cuando un mensaje llega mientras se está escribiendo uno de varias líneas
Tengo bastantes ideas, pero aún no he empezado con esto. Creo que imcom está algo abandonado. Actualizo: emacs-jabber va muy bien aunque aún es mejorable en usabilidad.
Añadido el 7-4-2006.
vim
vim es un editor muy bueno. Cosas que no me gustan:
- Es lento al arrancar; yo diría que hace más cosas de las absolutamente necesarias, con plugins y demás. Optimizar.
- Al recuperar un fichero del que hay copia de seguridad, el texto presentado es difícil de entender:
[A]brir para lectura únicamente, (E)ditar de todas formas, (R)ecuperar, (S)alir, A(b)ortar.
Debería dar una forma de solucionar el problema desde ahí mismo: si no hay diferencias entre ambos ficheros, borrar la copia; si las hay, mostrarlas y permitir integrarlas.
- Además, si el fichero original era Unicode, luego la copia restaurada no se ve bien, la graba en ISO.
- Al abrir ficheros grandes, se cuelga temporalmente. Quiero un editor listo: si abro un fichero de 2 Gb, no quiero que ponga esos 2 Gb en memoria, sino sólo la parte que yo estoy viendo. Iba a buscar un editor especializado en abrir ficheros grandes, pero me gustaría que éste fuera vim.
Añadido el 7-4-2006.
ion
ion
es el único gestor de "ventanas" que me gusta,
pero aún no del todo. Hacer:
- arreglar ese fallo tan viejo de los programas que no se adaptan al tamaño de la pantalla (se arregla partiendo la ventana y volviéndola a juntar)
- entender la configuración, o simplificar; me da la sensación de que está repetida en varios sitios (tanto en
/etc como en en ~, sin clara sobreescritura)
- conseguir compilar de forma estática para que no necesite tantas bibliotecas: hacerlo portable
- la operación más usada es probablemente abrir terminal. ¿Se puede optimizar? (por ej.: tenerla ya abierta y así sólo hay que hacerla visible). Nota:
urxvtcd ayuda aquí
- permitir en ion2 mover una pestaña de un espacio a otro (Alt+N mientras se arrastra). ion3 lo hace
- fallo difícil en X.org, visible en ion3: aparecer ventana en marco padre. Para eso, según el autor, hay que promover e implementar la especificación de aviso de inicio.
Añadido el 15-4-2006.
Actualizado el 23-5-2008.
Nuevos programas
Quiero varios programitas:
- uno para recortar imágenes fácilmente (quizás usando ImageMagick) pero especializado en esto; que no haga nada más. Mejor que "display" (que no es muy usable) y más al estilo de "gthumb" pero con más opciones para esto del recorte. Deseado: interfaz gráfica, información sobre medidas y proporciones, zoom para ver cómo quedan los bordes, automatización, uso también en modo texto, fórmulas de recorte predefinidas (bordes, ...), recorte de PDFs, y todo lo que sea útil.
- varias utilidades para hacer más cómodo bash, el intérprete de comandos de Linux (hacer "prompt" personalizado, elegir colores de forma interactiva, etc.)
- buscar combinación de programas, hacer uno nuevo, o escribir tutorial explicativo sobre el siguiente problema: tengo un fichero XML bastante caótico (muchas etiquetas, muy imbricadas, una sola línea) y quiero hacer que quede bonito y con la sintaxis coloreada, para poderlo leer cómodamente, editarlo en vim, verlo en página web, o incluirlo en un trabajo. Sugerencia: 4Suite.org, biblioteca para Python, módulo Ft.Xml.Domlette, función PrettyPrint.
- buscar/escribir programa y hacer tutorial sobre: pasar de cualquier formato a OGG. Tengo uno hecho en una línea, en Perl, pero es muy chapucero
Añadido el 25-3-2006.
Otros parches
- hacer que scp (de SSH) acepte opción para que no siga enlaces simbólicos, y que los copie tal cual
- hacer que rsync continúe la copia de ficheros por donde se quedara la última vez, en vez de volver a empezar (molesta mucho con ficheros grandes). Iría bien usar algún código de control (ej: MD5) para comprobar la integridad del fichero final
- hacer un modprobe -r que realmente borre módulos recursivamente
- conseguir un buen navegador de Internet basado en links2 (esto es difícil y lo dejo para largo plazo)
- interfaz cómoda para CLIPS (IA): que use readline() o ncurses. Además hay que arreglar el propio CLIPS y hacer que acepte Unicode (si es posible), añadirle un Makefile, y permitir automatizarlo, al estilo UNIX (ya escribí sobre esto al autor)
- hacer que en screen sea más fácil moverse por el historial, sin tener que entrar y salir del modo copiar (si se pudiera usar la rueda del ratón estaría muy bien). Esto he visto que lo piden en la lista de correo
Añadido el 7-4-2006.
schart.pl (va de malabares)
schart es un programa para crear tablas de trasición de estados,
que representan todos los patrones que se pueden hacer al hacer malabares con N objetos.
Hay que mejorar el programa:
- hacer código que se entienda mejor
- cambiar la primera línea en la salida si se activa
-t, o sea, que el título sea más descriptivo
- añadir opción para poder generar diagramas reducidos como los enlazados al final del artículo. Imagino que se puede usar GraphViz para dibujar el grafo. schart necesita sólo escribir el código GraphViz. Quizás se puede usar SVG para algo.
- hacer que sea más fácil generar una salida bonita: preparar un CSS para el HTML generado, automatizar la creación de PNG, SVG, etc.
- ordenar mejor los tipos de salida (quizás hacer una única opción
-t, tipo, con muchos posibles valores). Que se pueda generar una tabla bonita a la vista (sin sintaxis de txt2tags por enmedio)
No se necesita saber hacer malabares para esto, pero te lo recomiendo de todas formas.
Añadido el 11-1-2007.
Tutoriales
Quiero que haya algunos tutoriales (libres, completos, y bien escritos) sobre:
Redes
- Content-Type necesario para HTML y para XHTML; explicar el
application/xhtml+xml
- TCP/IP básico: en qué consiste una conexión, qué paquetes se intercambian, ...
Linux
- privilegios y usuarios en Linux: quiero explicar sobre todo que no se debe trabajar como root, y menos en el modo gráfico. Es un consejo muy importante que todo usuario de Linux ha de saber
- arrancar un ordenador sin disco duro; por ejemplo, todo desde un disco USB (incluso si la BIOS no arranca desde USB; se puede usar un disquete). Quizás ya hay algún tutorial de esto
Programación
- opinión y estudio sobre la filosofía KISS
Universidad
- análisis detallado sobre la operación de cortar un trozo de una lista enlazada e insertarlo en otra posición dentro de la misma lista; es un buen lío de punteros (cuando se hace de la forma óptima). Lo hice en alguna práctica de mi universidad (creo que en PS)
- ejercicios resueltos para IA: búsqueda local, heurística, A*, IDA*, Minimax, satisf. restricciones, backtracking cronológico, lógica difusa, ... Ésa es la información que más eché a faltar durante el curso
- colgar algo de información de IA en la Wikipedia (puse Ingeniería del conocimiento con permiso del profesor)
Personal
Añadido el 15-4-2006.
Wikipedia
Wikipedia es una enciclopedia libre (GFDL),
que cualquiera puede editar (también tú), y en la que hay información
de todos los temas.
Artículos que uso
Me escriben mucho para preguntarme cosas de servidores, HTML, Linux, etc.,
y a veces contesto con enlaces a la Wikipedia.
Pero no me gusta dar información que está a medias o mal explicada.
Algunos artículos los novatos necesitan pero que hay que mejorar son:
- Ubuntu Linux tenía una captura de pantalla en la que se veía todo gris y en inglés. Vaya impresión que da sobre Linux... Al cabo de un tiempo se cambió, pero aún hacen falta más capturas (bonitas) y en español
- en Ubuntu Linux también hay que poner la información que buscan los que no saben lo que es. Ahora es para expertos en el tema (ej: habla de repositorios, bugs, arquitecturas, Debian, ...). Continuamente estoy enviando a novatos a esta página, y tal como está no sirve para describir qué hace el Ubuntu o el Linux
- Software libre también lo uso mucho; tendría que explicarse bien, sin irse por otros temas, y de forma que los novatos se queden sin dudas al leer los primeros párrafos
- Nvu es el editor HTML que recomiendo, pero su artículo no explica casi nada del programa. Estaría bien que alguien lo pruebe y haga la descripción completa (es un programa sencillo)
Añadido el 24-4-2006.
Actualizado el 15-7-2006.
Páginas web
Conseguir que Página web sea un artículo destacado, o sea, muy bueno. Ha de incluir:
- lo que hay en las WP en otros idiomas
- los conceptos que necesita la gente que no sabe lo que son
- historia, etc.
- imágenes relevantes
- respuestas a la pregunta ¿cómo puedo insertar contenido dinámico? Mencionar todos los métodos (JavaScript, PHP, CGIs, Java, ...)
- temas sobre accesibilidad, separación de diseño y contenido, etc.
- enlaces a los temas técnicos
No ha de haber información repetida (como en Sitio web).
Todos los temas relacionados (Internet, WWW, Navegador web, etc.) han de tener enlaces a Página web.
Incluir lo que vaya bien de este texto que escribí:
HTML correcto.
Ya tiene licencia GFDL.
Añadido el 25-3-2006.
Ontología informática
Hay una serie de conceptos básicos sobre informática que deberían estar bien explicados, como mínimo para la gente que no entiende.
Ejemplos: modelo cliente-servidor, página web, nombre de dominio, editor de texto, ...
Por eso creo que hay que hacer:
- Una lista de conceptos relacionados con informática, organizados por niveles. Por ejemplo: ''básico'', ''medio'', y después las especializaciones (''juegos'', ''diseño'', ''historia'', ''programación'', ...). Básicamente, lo que quiero es una ontología (Informática). Probablemente ya existan muchas; hay que buscar.
- Comprobar que los conceptos básicos están bien explicados.
Añadido el 9-4-2006.
Conceptos básicos sobre GNU/Linux
Deberían estar explicados los conceptos básicos sobre software libre, licencias, GNU, Linux, y otros, para que
quienes no entienden del tema puedan aprender.
Muchos de los que usamos GNU/Linux ya sabemos lo que es el
vim, ssh, bash, Debian, la GPL, y todo ese tipo de cosas;
creo que es por eso por la que hay tan pocas explicaciones básicas.
Los detalles técnicos pueden estar en artículos especializados o en secciones por el centro, pero el principio de cada artículo tiene que tener la información básica.
Eso incluye: las respuestas a las preguntas típicas de los novatos.
Hay que hacer una lista de conceptos relacionados con este tema, y comprobar que están todos bien explicados en la Wikipedia en español.
Añadido el 9-4-2006.
Servidores
Me escriben mucho para preguntarme dudas sobre servidores web,
siempre las mismas.
En vez de responderlo cada vez (no tengo tiempo), me va mucho mejor incluir
la información en la Wikipedia y luego dar la dirección.
Ya escribí algunos artículos, del estilo de
Registro de dominios
o
Alojamiento compartido
(ver
lista más larga),
pero aún falta mucho por arreglar e incluir.
Hay que hablar de puertos TCP, conmutadores y concentradores (hub/switch),
direcciones IP, nombres de dominio, DNS, IPs dinámicas,
servidores (de correo, web, de IRC, ...),
páginas web,
proxy,
etc.
Si es necesario hago una lista completa, aunque más vale empezar y ya está.
Añadido el 21-4-2006.
Komputada leksikono
Asegurarse de que los conceptos que aparecen en este diccionario de informática
están en la Wikipedia en esperanto, bien explicados.
Así será más fácil hablar de cualquier tema informático.
Añadido el 25-3-2006.
Incluir información de mi web
En mi página tengo información en varios idiomas, con licencias libres.
Las partes objetivas y enciclopédicas (y sólo ésas)
pueden ser incluidas en la Wikipedia correspondiente.
Podría hacerlo yo, pero me gustaría romper con esa tradición de que el autor
original es quien lo ha de hacer todo.
He usado licencias libres, y por tanto se pueden aprovechar los documentos para otros
trabajos; cualquiera puede hacerlo.
Añadido el 25-3-2006.
Pequeños fallos
- la "versión para imprimir" debería ser realmente una versión reducida del artículo, no el mismo HTML con otro CSS. Motivo: al copiar+pegar, sólo se copia HTML, no el CSS. Por eso el HTML no ha de tener contenido no deseable (como enlaces o información escondida).
Los fallos gordos, en la sección llamada A largo plazo.
Añadido el 25-3-2006.
A largo plazo
También he hecho una lista de cosas que me gustaría ver acabadas algún día,
pero que necesitan más dedicación, y no sé si me pondré con ellas.
Iba a llamarle Utopías, pero quedará mejor como Temas de investigación :-).