I did something weird. I rewrote and updated my old game from 2012, Spwords. Play it here! By the way, it’s open source too.
It was a couple of years ago that I started this rewrite in the Elm programming language. When I made it originally it was without using any of the fancy Javascript frameworks people use these days. My web programming (or really, all of it) was still pretty unsophisticated. I had a collection of utilities back then that tried to imitate the classic OOP style from Actionscript 3 that I was used to with my Flash experience, even. Nowadays I’d much rather have referential transparency than inheritance.
I always liked the little silly game, and knowing the many ways it could be improved, I wanted to try remaking it in a language I actually enjoy writing, as an exercise. I learned a lot in the process!
I remember that back-then fellow tigger Lou Acresti wanted to help me make it playable online (BTW, his Flog game that he submitted to the same compo is amazing), and we tried for a bit, but it was a bit too difficult for me at that time, praise him for his patience. Now, this new version has no online features, in fact it’s barely any better than the old patched together version. It does have difficulty levels, though! Also more commentary variation. And a different color scheme, and better typography. I wanted to at least add sound, and Spanish support (another aborted addition I at some point worked on, for the old version), but didn’t get around to it in the end. So I’m just releasing it now in this slightly underwhelming state, because otherwise I’ll just keep procrastinating on it for who knows how many more years, and it looks sort of cute as a portfolio piece.
On the subject of Elm, I’ve also been using it for an update to this dated WordPress blog that won’t even look right on a smartphone. Part of why I haven’t been writing at all is that it’s not very motivating to add content in its current state. I don’t even feel like showing it. So, I’m using elm-pages to make a static version of it (WIP code’s online). I ran into some limitations in elm-pages v2, obstructing my goal of reproducing most functionality of the current blog, so I’m chipping away at the design while waiting for v3 to have an official release. No promises on when I’ll release it, though.
English
A partir de una fecha que ya quedó inscrita en la historia de Chile, el “estallido social” del 18 de octubre de 2019, comenzó un enorme movimiento social al que yo personalmente suelo referirme como “movimiento por la dignidad”, por ser ésta una palabra que se ha vuelto clave en la discusión pública. Desde entonces hemos tenido protestas masivas y violenta represión por parte del estado. Las razones de la protesta son muchas, pero decantan en el reconocimiento de que nos regula un sistema que favorece los intereses económicos de los grupos privilegiados por sobre los derechos, la seguridad social y el respeto al medio ambiente. Ya que el problema es sistémico, a partir de esto se instala la petición central de una nueva constitución, escrita en forma democrática, que reemplace a la escrita durante la dictadura de Pinochet. En pocos días será el plebiscito que decidirá el camino a la nueva constitución. […]
Español
A date that’s now been etched into Chilean history, the October 18, 2019 protests breakout marks the origin of what I personally refer to as the “dignity movement”, since dignity has become a keyword in the collective discourse. From that point on, massive protests and their corresponding violent suppresion by State agents have been daily occurrences. The reasons to protest are too many, but they all boil down to the realization that the overarching system of our society favors the economic interests of a small privileged group, while rights, social security and environment protection take the back seat. Given that the problem is deep-rooted and systemic, the central demand became the formulation of a new and democratic constitution, drafted to replace the one written during Pinochet’s dictatorship. In just a few days the referendum that decides the future for this constituent process will be held. […]
日本語
Cuando llegué de vuelta a Chile después de estudiar en Japón, sentí que ya me sentía cómodo con mi nivel de japonés. Entonces se me ocurrió la idea de hacer un proyecto que haga uso de ambos idiomas, japonés y español. Ya van dos años desde que lo empecé, así que el anuncio llega bastante tarde, pero en fin: en julio de 2018 empecé una cuenta de Twitter que se llama “Japoñol”, donde hasta hoy sigo tuiteando en japonés y español. […]
Español
日本での留学からチリに帰って来た頃、日本語がもう結構満足できる程度まで身に付いたという気がした。だから日本語と母語のスペイン語を組み合わせる企画できれば楽しいかもと思った。それで2年以上遅れて報告するが、2018年7月に Japoñol というツイッターを始めた。このアカウントでそれ以来ずっと両言語を使って呟いている。 […]
Since I do so much different kinds of work, I wanted to have a portfolio that let me exhibit that variety as a strength, but without having the reader wade through a lot of chaff they’re not interested in. For that reason I came up with this new design, which has a short self-introduction littered with tappable keywords that bring up a list of related works. I’m using Elm and elm-ui for it, both of which are great. The source code I also put up on Github.
It took me a while to get it to this stage of completeness, so I just put it up, but there is at least one serious bug remaining. When watching it on certain smartphone browsers, rotating the device causes the layout to glitch out—text displays in an incorrect size, things get positioned strangely, etc. I hope to get it fixed quick…
Although I released it in 2012, over seven years ago now, Flower pattern is actually still one of my favorite digital things I’ve made. It’s simple, feels good to play around with for a bit, and it’s impactful to show to people. It’s not the deepest, it just looks cool. So the fact that because of evolving technologies it’s sort of aging poorly is not something I’m happy with. For one, back then I didn’t own a smartphone, so it was poorly tested on them, and actually looks really cramped. Higher pixel density displays also became the norm since then, and my toy looks blurry on them. Then some DOM API changes means that on touch devices there’s issues with touch events…
Change all of that to the past tense now, cause I just fixed it! It’s looking much better now, in time for my upcoming portfolio update. Check it out at the same address as before: http://agj.cl/ip/fp
As I set out to do this, I was afraid that the code would be an undecipherable mess, but it was all actually fairly well structured. I long abandoned the actionscript 3-informed OOP style that I used in it, but all in all it was fairly painless to work with. So given that, I decided to throw the code up on Github with an open source license. It’s a really dated coding style, with mock-class hierarchy and using old javascript libraries and all, but I guess parts of it can be useful to someone, like the drawing code. Anyway, no harm with it being open for people to check out and maybe copy.
Este viernes pasado terminé la última clase de la más nueva iteración de mi taller Metaclase de kanji en Ceija, que ya he hecho varias veces, pero en este formato es la segunda exitosa vez (excluyo una en que no hubo inscritos…). Este es un taller breve, de cuatro sesiones, orientado a estudiantes de japonés, y cuyo tema central es uno de los sistemas de escritura del japonés: el kanji. Por su volumen, su historia, su complejidad, y sus diversas facetas, es un tema habitualmente muy difícil de asir para los estudiantes del idioma. Por eso, mi objetivo con el taller no es enseñar a leer o escribir kanji, sino que hago una presentación de “metacontenidos” relativos al kanji, es decir, información que provea una base de conocimiento sobre el sistema que es el kanji, para que los asistentes se enfrenten mejor equipados al proceso de aprendizaje. […]
It’s six months later and I finally did what I intended to do with the agj.cl front page. It’s the same barebones design, but programmed in Elm and with language switching. I’m happy with what I learned about Elm in the process, and I’ll definitely continue using the language in future projects. It’s a joy getting front-end stuff done in a functional way.
Oh, and it’s old news already, but the Valdivia Film Festival was really fun. My friend Kiyohara Yui from Tokyo U. of the Arts was there to show the film she made (Our house) as her graduation project in university. I also met another Japanese filmmaker, the super young Yamanaka Youko, who brought Amiko—a small but exhuberant made-with-friends indie film. I got acquainted with her actually because she and Yui knew eachother from other film festivals they ended up touring together, starting with the Japanese Pia. And as it turns out, in Valdivia they didn’t have an interpreter ready for their two Japanese guests, so I (on the two’s request) filled that role. It was tough but interesting.
I kept the previous design (archived here,) it turns out, for a whole eight years. I modified it slightly over that time, changing the words, the links, and the colors. Its main conceit (the text getting increasingly obscured with time) never changed, and while cute, is not very helpful to the visitor. I decided to change it to be simpler and nicer. My website in general has always reflected my contrary attitude somewhat, but I guess the front page should just do its job of introducing who I am and link to some relevant places, to anyone nice enough to want to know. Yes, I am aware of how obvious the previous statement is.
The new page is a completely static HTML+CSS design optimized for mobile devices. My original plan was to give it a tiny bit of interactivity in the form of language selection, which I wanted to make my first Elm miniproject. But I ended up going to the Valdivia International Film Festival and had to hurry it up a bit, since I wanted something presentable in case anyone would take my card. (I might write about the festival later.)
Elm is a rather new language that compiles down into javascript, and which I’ve been learning recently. It’s been a pleasant and enlightening experience. I first considered learning the specific configuration of React plus whatever frameworks are needed to be able to develop for the web in a “fully” functional programming environment. But the overhead of learning all of that to, in the end, just having a sham of a functional environment, made me turn my attention to Elm, which was a language I’d been eyeing for some time. Basically, using just javascript, very little of any complexity can be made for the web, thus needing a bunch of libraries/frameworks of dubious compatibility and ease of use, laid on top of the shaky foundation that is the javascript standards. On the other hand, Elm has been made from the ground up to address the current landscape of the web, with a purely functional design. An easy tradeoff for me: I’d much rather learn a well-designed new functional language than be forced to hold my breath while navigating javascript’s murky waters.