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.

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.


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 and 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.

Links and Notes for the Week of January 21, 2018

* I have personal connections to New Orleans. My dad lived and worked there for many years, from the early 1980s until his passing in 2009. I attended Mardi Gras exactly once in all that time, in 2007. Unfortunately I did not get to experience the Krewe of Barkus, who are all Good Dogs.

* Since some people disagree that they are all Good Dog—and who has time or patience for that malarkey—it is sometimes necessary to clean house on Twitter. I have only recently begun to use Twitter as my primary social media outlet, as, though they are both objectively terrible, Facebook is worse. Barry Ritholtz, who I have been following for about a decade, has recently posted his strategy for dealing with trolls on Twitter. Time will tell if it is effective.

* Though I have subscribed to the RSS feed for a couple of years now, and I have been aware of its existence for somewhat longer, I have just now began listening to the Writing Excuses podcast, starting at Episode 1.1. My plan is to go through all of them in order and get caught up to present by the end of the year.

* Over in the day job, as I study up on React.js (which is actually kind of fun, now that I have played around a bit) I am keeping things interesting by using CSS Grids for structure and layout. In particular the Grid by Example website, created by Rachel Andrew, is a tremendous resource. While writing this post I realized that I met Rachel back in June of 2017 when I attended the O’Reilly Fluent conference in San Jose, California.

* Great googly moogly! Ben Firshman has built an NES emulator in Javascript, including my all-time favorite, Bubble Bobble! So much for productivity until Spring.

People (I Tell Ya!)

There is this guy who has stopped into the kung fu class a couple of times to observe. The first time, he just stood by the door and every time someone from the class wandered near, he would ask questions like “How does this style compare to Tiger Crane?” or “Have you ever taken karate?” This time he stood by the door and asked questions like “Have you ever heard of Leopard Style?” and “That roll you did looked like an aikido roll.” He also wanted to know if he would lose 130 pounds if he joined the class.

My answers to these questions were, in order, the following: Don’t know. Yes. No. Ah. Maybe.

Regarding the aikido question, for which he seemed genuinely interested in an answer, I told him something I picked up from the Bruce Lee interview in the Gold edition of Enter the Dragon:

As long as people have two arms and two legs, there will only be a certain number of movements which are applicable to the martial arts. Of course there will be similarities. there are very few useful ways to do a dive roll. All of the less-than-useful ways have been weeded out by attrition. There are not certain styles which are better than other styles. Whether or not it works depends on the instructor and the student. Why did you come to this class if you want to know about Tiger, Leopard, Hamster, etc.?

So I don’t know if the answers he received yesterday helped him, but he sat quietly and watched most of the class. Time will tell.

Today, down at the river, Scott and I watched a guy with a three-pronged grappling hook (like ninjas use to climb walls) dredge a section of the river just below the dam. Naturally, this caused some speculation:

“Is he hunting for a body?” “Do you think he lost his fishing pole?” “Do you think he meant to get his grapple caught under the rocks over in that deep part?” “Maybe he’s trying to snag a fish…”

The reality was much more prosaic: He was clearing the area of old cast-off fish lines and boat ropes.

Today’s reason why Internet Explorer 5 Should Be Covered in Honey and Staked Out Over an Anthill is the following:

Say you are building a fully CSS-bases website. No tables anywhere. Say the navigation requires that you have elements (anchor tags) FLOATed right. No problem so far. Now you put images inside those anchors for to create a nifty rollover effect. Looks good everywhere. Works perfectly everywhere.

??? Waitaminnit….

IE5.0 on the PC. Having an image inside a FLOATed anchor causes the image to block the mouseover event on the anchor. In other words, when the anchor is moused over, the image swaps just like it should, but the anchor is no longer an anchor. The CSS border picks up the presence of the mouse. The border (1 pixel) can be clicked on, but the area covered by the image cannot. And using document.getElementById(“nav”). getElementsByTagName(“a”)[0]. onmouseover = function() {} doesn’t work because… because… because IE5 is stupid and outdated and people who refuse to upgrade DESERVE to see broken things.

For the record, I am calling this one the “Floated Anchor/Image Mouseover Bug”.

Pre-launch Blathering

I built ECCESIGNUM using a combination of XML, XSL and PHP on the back end, and XHTML and CSS2 on the front. Thus I have a site which I can change completely by modifying two files: the XSL stylesheet and the CSS stylesheet. One for structure and one for presentation. The XML file contains all of the information necessary for markup and structure, so I could, in theory, have a choose-your-preferences panel which would allow the user to set up combinations of preferences which would make the site look completely different from one user to another.

So now I have to go through and re-create the rest of the site in XML. The largest of the files (the archives) went together smoothly, and the rest await inspiration.

We at BBK Studio have been busy enough that I can hardly bear the sight of code or mark-up at the end of the day. We are meeting handoff deadlines at the rate of about two a week, a feat not easily matched in the web development world.

So to take my mind off of computers I have been reading Son of the Morning Star by Evan Connell. I may post a review when I have finished grokking. I can tell you this, though: Custer was an extraordinary individual, with a temperament and sensibilities more in line with East European nobility than with the men he commanded.