Journal Entries

Updating my own 12-year-old code

Since the beginning of the year, I have been slowly updating the website of the printing company that I work for. I have wanted to update the website for many years now, and I have started redesign projects several times on my own. I was able to evaluate the analytics to make decisions about what content needed to change and how the design should be modernized. Unfortunately, despite many hours put into them, I was never able to really get the redesign projects off the ground. I came to an understanding that if the website were ever going to be updated I would need to make incremental progress instead of trying to build a complete redesign from scratch.

This project has been particularly interesting for me because I coded the existing website in 2007. My memory of the project is mostly negative. Specifically, there were many other team members involved who all had their own ideas about what the website should be with little agreement. So, we ended up with some arbitrary design choices that existed just to make a single person happy. Early on, I was told that there should be no scrolling, so the height was fixed. Later, I was required to include a red sidebar on every page. When I started adding the content, I was given a list of pages to include and all of the text, but a lot of it is fluff.

What I did not realize until recently is that the actual code was pretty solid. I knew the website was built with fixed width because it predated the iPhone and responsive web design, so I was dreading modifying the code to become responsive. This dread is a large part of what led to me want to redesign the site from scratch. Instead, what I found is that I did a pretty good job making the project maintainable for someone in the future. It just so happens that I am once again reading my own code 12 years later.

The site is not yet responsive. I made some changes to the header and navigation to make them more modern (though I am impressed at how well my 2007-self built the heading and navigation in the first place). After making those changes, I realized that I was not going to get any further without changing the HTML of each individual page. I did a pretty good job in 2007, but there were still some obvious mistakes. The most notable was not including a proper page title on each page. That is, when you click the "services" section of the website, the heading at the top of every page just says "services" instead of the topic of that individual page.

It took me a good while to get all of the pages updated, but along the way I was able to strip out a lot of extra markup and outdated (or just bad) design ideas. As of tonight, I finally have a clean design to work with and the next step will be to make it responsive.

I have been pleasantly surprised at how simple it was to update the 12-year-old website, but most of all I am proud (but still shocked) at the quality of the code I wrote in 2007.

Learning CSS multi-column layout

I have yet to make a habit out of writing on this website, but I have not given up. I was inspired to try something new with the design this past week, so I spent some time on Saturday putting it together and testing it. The design still needs plenty of work, and I will continue to chip away at it as I find time.

I intend to begin writing brief posts about the projects I am working on, video games I am playing, and whatever else comes to mind. In other words, I'm going to be blogging. I'm keeping these posts brief for a couple of reasons. The first is that I hope it will help motivate me to write more often. The second is that the new layout just looks prettier that way.

I remember first hearing about CSS multi-column layout more than 10 years ago, but I had never really included it on a website. This seemed like a nice way to try it, and I like the results. There are definitely some quirks while working with it, so the columns only appear at larger screen sizes. It has been an interesting learning experience. I wish multi-column layout had the ability to float images (so I could use CSS shapes to wrap the text around them), and I wish I could make content fill multi containers automatically (instead of using horizontal rules to break up the longer posts). I know some other CSS specifications deal with these features, so hopefully they'll be a reality someday. Until then, I think I've made a good start.

I really need to focus on writing

A lot has happened since May. I certainly do not have time this evening to write about it all. Importantly, I have realized that I fell into the exact same pit I was hoping to avoid: I tried to focus on designing this website and stopped writing on it. It seems that every time I sit down to write, I end up working on the design. And when I start working on the design, I end up distracted and nothing gets done.

I will begin with a brief recap of what I've been up to. I did attend E3, as planned, and it was enjoyable, as usual. I met a few acquaintances and colleagues I had not met in person before; that is always nice. I had a brief memorable moment the day before the event began when I met Bill Trinen and Nate Bihldorff just outside the convention center. I shook their hands and shared a brief chat about the upcoming week.

After E3, I spent a lot of time playing video games. I finished some new games, like Hollow Knight and revisited some old ones, like Ogre Battle 64. I also finally returned to World of Warcraft, and I am still enjoying spending a couple hours a week exploring Azeroth.

For the last few weeks, I have been more motivated to work on my various online projects again. I just needed to take a break for a while. I have a new experiment in progress that I will add soon; it is not quite as presentable as I would like for it to be.

I am once again thinking about what to do with this website beyond just collecting my thoughts. I need to make a dedicated page for the experiments and the projects I am involved in or care about. I would also like to have a real layout for the front page. It's a little more difficult to make all of this work while I am coding everything by hand. I considered moving the hosting off of Github and on to something more traditional (and that costs money), but, for now, I have decided that the coding is good practice. Some weeks I do not do any other coding at all.

I think that is all I have to share today. Let's see if I can do better about updating more frequently this time.

Many new projects in the works!

Well, I did not do a great job of keeping this page updated for the past month, but I have been busy working on the website nonetheless.

I am working on designing a real layout for this blog. I've considered a few different ideas, but I think I finally have a specific idea nailed down. It shouldn't take me long to build it, so hopefully I can share it soon.

At the same time, I have already built a small "just for fun" demo. Shortly after my last update, I spent an evening recreating an old Zelda Universe layout from 2001. It was originally designed with HTML tables, but I rebuilt it using CSS Grid and other new techniques. I quite enjoyed it. I am planning to spend a little more time making it truly responsive with a mobile layout. In the end, it's just a demo of how it could be done. You can view the demo at

I also began another project that I was hoping to have finished this month. It's a small Zelda-related project that has been planned for years, but it is finally getting off the ground. I will share more when it is ready!

A lot of my time the past month has been spent finishing some smaller projects for Zelda Universe. I published a review of Detective Pikachu earlier this month, and I am working on the oh-so-exciting job of navigating GDPR requirements. I am also working on an interview and potentially some other game reviews as well.

In gaming, my time has been occupied with Xenoblade 2 recently. I think this might actually be the first Xenoblade game that I finish.

E3 is only four weeks away. I am excited to meet up with my friends again. It's always an enjoyable experience!

An interesting cross-browser testing situation

Well, I had intended to spend just a little bit of time tonight fixing up the styles on the site. I left a lot of things very plain, and I thought I could pretty it up a bit. Instead, I was informed that the entire layout was broken in Safari. Fixing it was pretty easy, but setting up a local copy of Webkit on Windows proved to be more complicated than I expected.

I also got a bit lost for a few hours while I broke down the problem. I ended up building a reduced test case (it will only look broken if you are running a current Safari/Webkit). The error seems to be caused by a combination of an auto width grid track, writing-mode, and margin: 0 auto;.

It has been many years since I had to decipher a cross-browser rendering problem. It was much easier this time than it tended to be in the past. It was an interesting detour, but it means that playing with pretty things will have to wait for another time. My weekend is looking fairly busy, so I may not get back to it until next week.

Reflecting on the past and beginning something new

Hi. I'm Joshua, but you probably already knew that if you're reading this.

I first dabbled in building websites about 18 years ago, in the year 2000. That's pretty hard to believe even as I type it. My first experience was with Angelfire (which I just learned still exists). They advertise "no coding required" today, but back then they had an HTML cheatsheet. My first experience with code was copy and pasting <img> and <a> tags from that page. It wasn't long before 12-year-old me was drawn to the Geocities page builder as an alternative to coding.

So, Geocities was where my first real websites were born in 2002.

I am fortunate to remember a lot of my web design journey from that time. Even without a stable Internet connection, I spent most of my summer designing new layouts for my small Legend of Zelda fansite. The whole story is quite long, and not really the focus of this post, but it would be worth revisiting in the future.

A combination of a rudimentary web design course in High School and the advice of a friend reintroduced me to coding in HTML, but now I could also use CSS and PHP.

Overall, I was mostly self-taught, but I needed assistance making big leaps in coding. I didn't understand how to use HTML tables until taking the course in High School, I didn't understand absolute positioning or PHP without a couple private lessons, and I didn't understand CSS page layout until college.

After college, my career mostly focused on graphic design (though working in the sign industry has a heavy emphasis on layout), and web design became more of a hobby. My only exposure was my continuing work in the online Legend of Zelda community.

This screenshot is one of my earliest hand-coded website designs. It was done entirely with absolute positioning. Content was published with a simple PHP "content management system" that loaded plain text files into the center content area. This screenshot was pulled from

The web moves forward pretty quickly. I tried to stay relatively informed about major things that were happening, but I did not learn many new things for almost 10 years.

Unfortunately, it took me almost 10 years to realize that. So, in late 2017 I resolved to sit down and relearn. I pulled out my old HTML5 book, which was surprising still relavent 7 years after being published, and something just clicked. I felt very inspired to learn what I had missed. I started listening to web design lectures and podcasts during my commute. Some of them were about progressive enhancement and others were about really cool new layout tools in CSS. And then I tried to learn Javascript for about a 12th time.

I realized something important: my knowledge really wasn't out-of-date. Everything I already knew was still relavent, and people that I knew didn't know all of the new things either. A podcast really cemented this idea for me: I don't need to learn everything about web design, and it's impossible to learn everything about web design.

Since January, I have made web design a regular part of my routine and spent most of my efforts improving Zelda Universe. I also started multiple small web design projects that I haven't published yet. I have a bad habit of starting personal web projects and never finishing them, but they are great learning experience either way.

Recently, I bought a few new books and started listening to lectures and podcasts again. A couple days ago, without much thought, I turned on a podcast I knew I had already heard. I did not remember what it was actually about, but I have come to respect both the host and her guest over the past several months (and even more so when I realized that he had written not only the reliable HTML5 book from 2010 but also a book about Javascript that has been on my shelf for years as well) so I knew it would be a worthwhile exercise.

The podast is more than hour long and covers a range of topics, but at the end of the conversation are a few minutes of discussion about personal websites and how so many of them never make it online because we tell ourselves they just aren't quite good enough.

This resonated with me. I have wanted to publish things for years and never gotten around to it. I want to write about web design and just play around with fun new CSS. I want to write about video games even when it doesn't fit the scope of what Zelda Universe covers. I want to write about events I attend, interesting articles I read, and just whatever else comes to mind.

The conversation stuck with me. It's been rather hard to focus for the last couple of days. The sign industry is a busy place, but my head was spinning with ideas for a simple layout that would help me publish now. And this is it. The layout is certainly not polished. There are a lot of things I hope to improve over time, but today the most important part is just having a personal place to publish.

This is the beginning of something new. Let's see where it goes.

- Joshua Lindquist

About Me

My name is Joshua Lindquist. I sometimes use the alias WatcherJoshua. By day, I am a graphic designer working in the sign and printing industry. By night, I am the content director of Zelda Universe. I like to hang out on Twitter.