Artículos de la categoría "programación":
Entendiendo las funciones recursivas
Me vais a perdonar si dedico un artículo a un amigo que me pregunta dudas. A su edad, que es muy cercana a la mía, le ha entrado de nuevo el gusanillo de aprender a programar. Cuenta con algo de experiencia de sus años mozos cuando hizo algún curso de BASIC, lenguaje que afortunadamente, con el transcurso de los años ha olvidado completamente1. A estas alturas de la movida ha decidido echarle un esfuerzo al Python con un par de libros que yo mismo le recomendé.
(ver más...)Mis impresiones sobre erlang
Ya conocía erlang desde hace tiempo. Lo conocía de nombre, lo había cotilleado con anterioridad e incluso quise aprenderlo hace unos años, cuando estaba más metido en las cosas 3D y conocí Wings3d (un modelador 3D hecho en erlang). Creo que esto ya lo conté por aquí, pero lo pongo en contexto por si alguien llega a leer este artículo de nuevas.
(ver más...)Plegando el código
Cuando programo me gusta ver todo el código. A veces en ficheros
largos los desplazamientos pueden ser largos, pero me apaño bien
poniendo marcas donde saltar o utilizando M-g g
(goto-line
) para
saltar a la línea deseada, o M-g c
(goto-char
) para ir a un
carácter determinado --pero esto es más complicado de saber a
priori--. Se puede uno mover de forma directa a otros sitios (al
siguiente error, al error previo o a una posición determinada de la
línea actual. Pero como ya digo, lo que más utilizo es la función
goto-line
.
Comparación entre schemes
Llevo un tiempo con el blog en barbecho. No es que no hiciera nada entre medias, estoy con mis cosas y cuando abandonas la costumbre de escribir en un medio que requiere periodicidad, parece que cuesta más retomarlo de nuevo y poco a poco lo vas dejando más, hasta que te das cuenta que ha pasado ya, quizá, demasiado tiempo desde el último post.
(ver más...)Aprendiendo scheme: un ejercicio simple
El otro día un amigo (dddddd, en las redes) me comentó un ejercicio sencillo que se podría hacer en scheme para ir aprendiendo. El caso es que él está con el diseño de un procesador de 12 bits junto con otra persona. Ya tiene un emulador funcionando y me comentó que estaba con un código que convertía la cadena que llegaba en valores de 12 bits. Él lo hizo en ensamblador de su máquina, sin embargo me dijo que sería un buen ejercicio para hacerlo en scheme. Las premisas son sencillas:
(ver más...)Compilar chicken scheme en la aplicación termux de android
Llevo unas semanas trasteando con Chicken scheme y haciendo pruebas. La penúltima fue compilarlo en mi portátil (OpenSuse Tumbleweed) y tenerlo funcionando sin problemas. Eso me llevó a pensar que sería posible compilarlo en termux, el terminal de texto de Android. Al fin y al cabo, cuando hice la primera intentona en mi portátil me dijo:
(ver más...)Convirtiendo el proyecto de la isla a Godotengine
Después de trabajar un poco más en el proyecto de la isla, del que ya he hablado por aquí unas pocas de veces y vistas las limitaciones que nos hemos encontrado con el gameengine de Blender, hemos decidido dar un paso más y probar con el prometedor gameengine godot, en su novísima versión 3.0.
(ver más...)Utilizar guile como calculadora
Los que me conocen saben que llevo tiempo hablándoles de las
maravillas de algunas herramientas como bc
, una gran calculadora que
he utilizado durante años y que sigo utilizando, aunque cada vez
menos. bc
se está viendo desplazada en mi línea de comandos como
calculadora por guile
, pero ¿qué es guile
?
Cómo estoy utilizando git
Dada mi torpeza habitual git es uno de esas herramientas que se me atraviesan. Y además, no es por falta de uso o de empeño. De hecho lo utilizo con bastante asiduidad en los proyectos que voy emprendiendo y que se convierten en vaporware la mayoría. Cuando creo que tengo dominada la bestia meto el cuezo en algún momento y git me lo devuelve (doblado). Como muchas veces tengo que estar mirando mis chuletas de cómo usarlo (y algunas veces no las tengo a mano) por eso, voy a ponerlo en limpio en este artículo.
(ver más...)Cómo estoy utilizando git (II)
Hoy voy con la segunda parte, que no entró en el artículo de ayer. El
tema iba con las ramas y los repositorios. Hasta ahora todo ha ido
bien, entre otras cosas porque sólo se han hecho las modificaciones
desde un repositorio y así nunca hay conflictos, pero ¿qué ocurre si
hay un conflicto al hacer un commit
?
Creí haber terminado con el MiniMult
Hace unos días creí haber terminado el experimento con Emacs, la programación con Lisp (concretamente elisp), el MiniMult y todas esas cosas sobre las que hice una serie días atrás. Sin embargo, me surgió una pregunta que necesitaba contestar: ¿Todo ese trabajo servirá para android?
(ver más...)Gráfico de perfil en el MiniMult
El último paso de la corrección del test:
(ver más...)MiniMult corregido
He estado estos días trabajando un poco en el tema de corregir el MiniMult de forma automática con resultados irregulares. De momento me encuentro con ese regustillo a chapuza cuando no haces las cosas como piensas que se deberían hacer. Pero al final funciona, que era de momento el objetivo. Me voy a explicar por partes, comenzando por el final y luego dando saltos como es mi costumbre últimamente (es lo que tiene este cerebro que me ha tocado).
(ver más...)Escalas, plantillas y corrección
Para continuar con la serie del MiniMult, prueba que ya podemos pasar por pantalla, necesitamos primero hacer algunas reflexiones sobre cómo funciona la corrección manual.
(ver más...)Código para pasar prueba por pantalla
Bueno, para seguir con la serie sobre la corrección de pruebas
psicológicas por pantalla, ya tengo algunas cosillas hechas y lo muestro
por aquí. En las entradas anteriores solté un ladrillo sobre cómo iba a
hacer las cosas y bla, bla, bla. Todo mentira: realmente sabes cómo van
a ir las cosas cuando las haces, las pruebas, no funcionan, corriges y
las haces funcionar... En fin, de lo pensado a lo hecho hay algunos
cambios, así pues: voy a ver si me explico con claridad. El código
(casi) completo de lo que hay hecho hasta ahora en el proyecto está
guardado en un fichero minimult.el
y lo pondré al final de esta
entrada.