Another New Old Project: Cellular Automata

[CLICK HERE to see the 2d Cellular Automata project in the Labs]

Being over twenty years into my career, and having a little downtime, coupled with the back-to-school energy of September, I have been having the time of my life revisiting old visual and math experiments from the early 2000s. This is one of my favorite – a tool/toy for visualizing 2D cellular automata as described by Stephen Wolfram in his book A New Kind of Science.

I first created this tool in Macromedia Flash back in January of 2003. This was about the time that Actionscript became a useable development language, and it was close enough to Javascript syntax that it was easy to pick up. This was fortunate, as my career for the next seven years depended entirely on my Actionscript programming skills. Then I took a sharp left turn into Drupal, about which the less said, the better.

The patterns are created by iterating through an array of ones and zeroes, and choosing the pattern of the next line by applying simple rules to the cells of the previous iteration. As with the earlier Javascript projects, you can save interesting patterns as a .png by right-clicking on the canvas.

I put this together in my spare moments on Codepen.io. You can see the pen with fully-editable code here.

Summer Done Gone

This is a photo of Poe sunning herself in a west-facing window, atop a pile of curtains which coincidentally are the same color she is. Maybe she thinks I can’t see her. That would explain why she attacked my hand when I reached down to scritch her.

We had our first truly cold nights this week, with lows in the upper 30s, Fahrenheit. We have managed to not yet turn on the furnace, but those days are coming to an end. Fortunately the rest of the month looks to be bright and sunny during the days which means my big old house will store enough heat to last us through the longer nights.

No new books arrived this week, which is happening more regularly as I regulate my book-buying habits, what with a global pandemic and employment uncertainty bringing to the forefront of my attention the necessity of frugal behavior.

In reading news I finished Michelle Alexander’s The New Jim Crow which left me feeling rage, sadness, depression, despair, and a sullen bitterness about the entrenched sadism which is one of the keystones of the American psyche. TNJC, along with Jackie Wang’s Carceral Capitalism, and the first few essays from Captivating Technology, have me further convinced that complete prison abolition is the only equitable response to the overwhelmingly racist (by deliberate intent and design) carceral state which is one of the central, defining characteristic of American society here in the post-Civil War USA.

Anyway.

To cool my brain, I am reading Dyrk Ashton‘s magnificent Paternus: War of Gods, which brings to a close the Paternus trilogy which Ashton began with Paternus: Rise of Gods. I am a little over a third of the way through, an I am getting to the point where I may need to take half a day from work in order to get through the rest of the book, because I seriously don’t want to put it down. Ashton’s work is just that good!

On a related note, Dyrk has a Kickstarter running right now to print the second book of the series, Paternus: Wrath of Gods, in hardcover. In addition to being excellent reads, the artwork for the books is gorgeous and the books as physical artifacts are well worth owning.

In writing news, I ended the week just shy of 25,000 words in my work in progress. I have the current scene all sketched out and the first few hundred words written, but I hit a minor bout of writer’s block which, rather than trying to muscle through, I sat back and let it run its course and accepted that it might leave me a little shy of my goal for the month of 40,000. Better a blown deadline than burning myself out doing something I love. I can always make up the word count, and the schedule and deadline are mostly arbitrary, beyond that I would like to complete the first draft before November 1.

If you are curious, here are some of the things I am researching as I write my book:

labyrinths, memory palaces, traditional martial arts training techniques, phytoremediation, river ecologies, genetic engineering, mantras, mudras, mysticism, resonant frequencies, resource depletion, peak minerals, repressed memory, symbiosis, salvage, biomaterials, ceramics

With a little luck, when strung together by a narrative framework, it will make a good story.

Another New Old Project: Langton’s Ant

Click here to see Langton’s Ant in the Labs.

I probably could have posted this project before the 3D version, but the 3D version was already done in Javascript, and besides: 3D is just cool!

The above screenshot is taken at just over 10,000 iterations into the animation. Langton’s Ant will, if undisturbed, create a “highway” which will proceed off into infinity unless the world it is crawling wraps at the edges, as this one does.

If you have seen one Langton’s Ant animation you have probably seen them all, though in this one I added a heat map which shows the number of times the Ant has visited each cell. It will take a while to begin to see different colors, and everything will look blue for quite some time. The above screenshot of the heat map was taken at approximately 100,000 iterations.

As with all of my experiments, all of the code is contained in a single page for easy download and modification. I did not use any external libraries and I commented the Javascript for ease of reading and interpretation. Enjoy!

Feeding the Beast

Poe can’t read, so instead she absorbs the knowledge contained in books through her face. In this photo she is enjoying the only new addition to the Library of Winkelman Abbey this week: Caste: The Origins of Our Discontent, by Isabel Wilkerson. Since I am about a hundred pages from the end of Michelle Alexander’s The New Jim Crow, where the author is digging into the meat of the permanent disenfranchisement caused by even a hint of a criminal record in this, the land of the free, Caste seems like a good next book to read. After that will either be Matthew Desmond’s Evicted or Naomi Klein’s Shock Doctrine.

In fiction reading, I just started Paternus: War of Gods by Dyrk Ashton. This is the final book in the Paternus trilogy, and though I am only about fifty pages, it is already just as good as the previous two, and according to reviews it only gets better from here. So I have high hopes.

Writing this past week went very well. I passed 20,000 words in the work in progress, and that puts me well on the way to 40,000 by the end of the month. And if I manage to continue this pace I think I should have the first draft completed before NaNoWriMo. Of course as with any first draft, the first is really the zero-eth, and after the first round of editing, then I will have a first draft. So, maybe at the end of January. I can already see places where what the characters are doing necessitate going back and changing some of the story as already written, particularly in the first two chapters. I don’t see this being a particularly long book; likely to top out at around 80,000 unless the muse strikes me with a mighty big stick.

A new follower on Twitter asked why bother to keep word count as you really just write until the story is done. This is true, and also word count is a good way to track productivity, and while the story may go on for hundreds of thousands of words, a book is by necessity finite — though a series of books is not necessarily so. It was a good question and caught me flat-footed.

Then again the poster had never participated in National Novel Writing Month, and if NaNoWriMo instills one habit in a writer, it is the fanatical tracking of word count.

Another Resurrected Project: The Trigonometron

Click here to access the Trigonometron.

Much to my surprise, when browsing old(!) versions of this site using the Wayback Machine, I found the source code to the Trigonometron, one of the very first experiments I posted online, back at the beginning of 2002. This predates almost all of my Flash experiments, and indeed I ported this one to Flash a few years after I built the original in Dynamic HTML.

(Dynamic HTML, for you youngsters, it what we used to call it when you used Javascript to modify the HTML in a page without having to reload the page.)

Note that the version in the Laboratory section of this site is 99.99% unmodified from the original created almost twenty years ago. The only changes I made were to update the Javascript for positioning the elements so it works in modern browsers, and to change the balls from using a .gif image to using pure CSS for the graphics. Everything else is exactly as it was, including a check to see if the user is accessing the site with Netscape Navigator.

I may do a complete update to this project, as it was built for browsers running at 800×600 resolution following an early-2000s aesthetic, which means tiny, tiny text.

You can View Source of the Trigonometron to see what coding looked like in all its glory, back in 2001 and 2002.

A Blast From the Past: Langton’s Ant in 3D

Langton's Ants in 3D

This is an update to a post from March 2, 2012.

From 2002 to around 2012 I devoted most of my creative energy to programming. I created well over a hundred visual toys and simple games, and kept the momentum going until a series of life events sucked the mental and emotional energy from me. When I got my life back I turned my creative energies to writing fiction and poetry, and my decade-plus of experiments in mathematics, geometry, cellular automata and game design fell by the wayside.  Most of those experiments were in Flash and though I still have the source code rebuilding them in Javascript would be an extremely time-consuming project.

But some of those experiments were in Javascript, particularly after I saw the writing on the wall for Flash and Actiosncript. This is one of those experiments – a 3D version of the Langton’s Ant cellular automation, created using hand-rolled Javascript, with an assist from the Three.js 3D rendering library.

Click here to access the Langton’s Ants in 3D experiment. Once there, you can right-click on the animation and select “save image as…” to take a screenshot of the Ant trail.

The original post from March 2, 2012, with code breakdown and explanation is here.

Here are a couple more screenshots from later iterations of the algorithm:

Langton's Ants in 3D

Langton's Ants in 3D

Gathering the Eggs Back Into the Basket

As of this weekend, for the first time in a very long time, all of my blog posts going back to 2001 are collected in one place. This has been a project of several weeks, as I had well over 800 old posts to bring into WordPress. Most came from a SQL dump from the previous iteration of my blog which I built in Drupal. Many of the posts therein were from a previous version which I built in TextPattern. Many of the posts therein were from a previous version I built by hand using XML and XSLT. Many of the posts therein were from a previous version I built by hand using static HTML.

Each time I imported or copied or retyped the previous blog’s content into the new blog there were various errors. Either encoding caused some characters to display as gibberish, or extraneous HTML tags caused spacing and flow issues, or embedded CSS caused random fonts and colors to appear. Thus I had to go over each post by hand to ensure that the content of that post was clean and would fit the new software.

The whole exercise has come with a sustained sense of nostalgia. With each post I remembered where I lived, where I was working at the time, what my social life was like, who I was dating (if anyone), and my general opinion of the world. I found I was much more aware of new and upcoming technologies. I reference Wikipedia back when it had only 150,000 articles. And Pandora, when it was still in a sort of beta mode, when the songs it played were cached on the user’s hard drive and could be saved (illegally-ish) for personal use.

Of course the world and the internet (as if those are different things anymore) are vastly different places than they were in 2003 and 2005. New technologies are by and large re-skinnings of current technologies with slightly updated user interactions and tens of millions of dollars spent on marketing. There are still edge cases but they don’t become mainstream until the energy has been sucked from the innovation and inspiration and the corpse of the original idea is turned into a marionette for the pleasure of venture capitalists.

Anyway.

I am still going through and re-linking a couple hundred old photos. Since many of those photos were hosted on old sites I no longer have access to them other than the occasional lucky strike when looking at old versions of eccesignum.com and eccesignum.org using the Internet Archive. I don’t expect I will fix every broken image until sometime around the holidays, unless I find myself unemployed in the next couple of months.

Another problem is that I had well over a hundred Flash experiments on this site. Even if I find all of the .swf files, Flash as a technology is dead dead dead, and my only recourse is to re-create these experiments, toys and games using HTML/JS/CSS. Again, all do-able, just not any time soon. At least for many of the more complex experiments I have the ActionScript files, which translate easily enough to Javascript, even if I will need to re-create by hand many of the things Flash did automatically or with proprietary libraries.

There were years when I wrote two hundred posts, and there were years when I wrote five posts. The productive years were almost all before the advent and ascendance of social media, and many of the posts I ported over were two or three words long, saying, basically, to click here to see something funny or cute or cool.

But I can see this blog coming full circle back to something like that, as social media is a tremendous shitshow even though it is indispensable for anyone whose livelihood depends of attention; for instance, any and all artists. Since I am trying to complete a book, and have written many poems, essays and short stories over the years, Facebook, Twitter and Instagram are the best ways to lure people to interact with my creative works.

I have a routine of a single blog post a week which discusses the literary part of my life – book collecting, reading, writing, that sort of thing. Adding to this to discuss the various interesting articles, videos, songs and so on which are part of my weekly media consumption would be trivial. It could be one post or many. And once it is here I can share the post on the various social media outlets, thus centralizing my output, regaining control over my digital life, and picking and choosing when and where I share things. I will own the things I write.

Having over a thousand posts going back twenty years is energizing, and though there are many bloggers who have blogs even older, and with tens (or hundreds!) of thousands of posts, the simple fact that I have a blog which is almost old enough to legally drink, feels good. It feels like an accomplishment, even if the number of regular readers can be counted on part of one hand.

As I complete the bits and pieces of this rebuilt I will probably post more about the process, highlighting old posts which I find particularly interesting or timely for their time. I will also scour the Internet Archive for any old content from the many versions of my website I built back in 1999 and 2000, to see if there is anything worth porting over. In the meantime, I will bask in the much-earned sense of accomplishment.

The Turning of the Seasons

Books accrued in the week of August 30, 2020

Oh, what a week that was. At work I have been taking Udemy classes with an eye toward getting certified as an AWS Developer Associate. I already know half of what I need to, but the other half is dense and complicated and the course is 30 hours long and though the teacher has a wonderful French accent I could feel my brain slowly turning to mush.

The transition between August and September brings a fine haul of reading material to the Library of Winkelman Abbey. On the top left is The Tyrant Baru Cormorant by Seth Dickinson, the final book in the Masquerade Trilogy. The first two were very good and more than a little disturbing, so I have high hopes for this one.

Top middle is Gideon the Ninth by Tamsyn Muir, which I have been aware of for some time but have not had the bandwidth to dive into.

Top right is the new issue of The Paris Review, the subscription to which I keep as much for the interviews as for the writing itself.

Bottom left is Great Demon Kings, John Giorno’s memoir which came out a few weeks ago. Giorno finished the book a week before he died, in October 2019.

Bottom middle is Evicted, by Matthew Desmond, which I have been meaning to pick up for a long time. I am adding it to my TBR pile, near the top, once I finish the current two nonfiction books in which I am currently immersed.

Bottom right is the latest issue of the superb Boston Review, which becomes more and more relevant with every issue.

In reading news, I just finished Jesmyn Ward’s beautiful and heartbreaking novel Sing, Unburied, Sing. This one will, I think, stick with me for a long time.

I am in the middle of Michelle Alexander’s The New Jim Crow, and every page makes me angrier than the previous. Sadism is, in fact, the American national pastime. I am also still progressing through the anthology Captivating Technology, which is a good companion to The New Jim Crow in that it shows the many ways modern technology extends the carceral state into everyday life beyond the walls of prisons and courtrooms.

In writing, I am 16,000 words into my novel, and hope to hit 40,000 by the end of September, which will put me in a good place to hit 80,000 and hopefully the end of the first draft by the end of October, at which point I will surely be ready to write something completely different for National Novel Writing Month in November.

I haven’t written 16,000 words of any single work of anything outside of NaNoWriMo. It feels good to finally be in a place where writing is part of my daily routine, after many years of having my creative energy devoted to other peoples’ work.

As it turns out, writing takes a lot of mental and emotional energy.