In which I have a new job
October 6, 2022, 1:23 pm

I've started a new job. I'm working for PUBG. Well, actually I'm working for a company called Krafton. They're a parent company that purchased PUBG. But I don't get paid by Krafton. It's all very confusing. Working for a modern game company is almost certainly going to be a confusing labyrinth of company names and organizations. But whatever it is, I work there now, and it's cool.

I work with cool people. I feel like I know what I'm doing. And I definitely don't know what I'm doing. :D I mean I do. I know how to program. I know how to code. I know how to design. And I know how to work the game of thrones a bit. But there's so much minutia that is new and different at any new job you'll get to. I'm still figuring it all out.

We had a design layout issue yesterday, and between me and two other extremely smart frontend engineers, we couldn't come up with a "simple" solution to it.

The concept is this:
  • A list of circle icons.
  • When just enough icons for one row can be shown, show one row.
  • If it is necessary to show more rows, show them as alternating even and odd count rows.
  • Whenever possible avoid having a single hanging item in the last row.

It's that last item that really throws everything into issue. It changes this problem from one that's possible, to one that turned out to be very difficult / near impossible.

And this is when every engineer / designer has to be willing to make compromises. Either compromises on how much work you're willing to put in to solving a problem as an engineer, or how much outlier design goofs you're willing to allow in to a solution which allows a 95% success rate.

After sitting down and pushing some things around, a solution was come to, but it wasn't easy, small, or perfect.

See the Pen even odd grids by Hamilton (@bronkula)

on CodePen.

Ultimately I think it is, however, an elegant solution. It solves for most of the problem, while solving entirely the spirit of the design. Sometimes this solution results in hanging last rows. But that compromise is so that the design always tries to take up as much horizontal space as it can. When it comes to responsive designs you MUST be willing to compromise and figure out what you're willing to give up to reach as close to your goal as possible. Sometimes the math just DOES NOT allow what you envisioned.

I made a tutorial
September 20, 2022, 12:03 pm

I still have a youtube channel. I lost my ability to monetize it a couple years ago, because I rarely upload anything to it, and I have almost no traffic through it. But I do still every so often upload to it.

Toward the end of last month I started work on a javascript written gaming engine. And mid way through it, I thought I should catalog the most basic steps in a video tutorial.

It was a fun little diversion, and it helped cement a couple concepts in my own mind as I went along.

And then I think youtube somehow threw this into some search parameters, and the video got a tiny bit of traction. And now people are saying they want more. And ugh. Fine! I guess I can do a little more. But genuinely I'm still making this all up as I go along, and I'm not sure how correct I am. A lot of the concepts I'm learning at the exact same time and it feels weird to try to explain something to someone else that you don't fully understand yourself.

But I guess that's the life of a teacher. You know just enough to do, and therefore other people only truly want to know just that much as well.

I'm not sure where I want to go with this game engine tho. I've been telling people that I'm working on it. And I HAVE been working on it. But I don't really have a game in mind for it. Truly, I just kind of love making the engine. I like working on library code. I suppose I could go back over other game types and just run them out one at a time in this new engine concept.

In which I updated a bunch of old projects that none of you will see.
August 22, 2022, 2:37 am

So this weekend has been a bit of a whirlwind of coding.

Two weeks ago, I started watching a video on how to make a python game using a library called pygame. Creating a Stardew Valley inspired game in Python. It's a pretty decent 6 hour tutorial on some basics of game design. It's incomplete in terms of its game outcome, but it will get anyone interested in the topic pretty far into the start of some concepts.

The thing is, I don't really want to learn python. Not really. Not right now. I already know javascript. And the two languages aren't THAT divergent, so I thought I'd give a shot at converting his example into javascript.

The immediate problem I ran into is his use of the pygame library. Its documentation is... rough. But the thing is, I've made a lot of libraries in my time, including math, graphics, and querying concepts. I just needed to bring them all together, and sort of adapt any interesting pygame concepts I came across.

So I started into it. And after about a week, I was doing pretty well. And then on friday something terrible happened. Well this whole time I had been diving through old code, to see if any of my stuff I'd already written was compatible to be brought into this project. But then I started looking through old projects and applications on my server.

You guys, a few months ago I updated my php installation to php8. I don't regret this. But it broke like 10 of my websites immediately when I did it. After making sure all of the sites I could think of were fixed, I moved on. But this weekend I found more. And more.

I found old scripts like my file browser that weren't working. And then trying to fix that made me realize my php package manager wasn't working. Then I made myself a link page to some behind the scenes projects of mine and realized my sql manager wasn't working either. Then I noticed a bunch of my old AAU example files weren't working either. It was a mess.

Slowly but surely over the course of this weekend I've been not only fixing php8 bugs, but I've been adding to and completing a bunch of old projects. Hell, I'm writing this in my blog editor, and I've even started updating the css and layouts of that tool as well.

I'm writing some of the best code I've written in years. I'm way better at javascript and php now than I was even 6 years ago, and both languages have improved a ton on their own. For a few years I've had zero motivation to work on my own projects. Getting laid off put me down low for a bit, but I think I'm coming around the corner. Now my only enemy is sleep. And money, I suppose. I wish I could just keep going forever.

Something needed mending
April 20, 2022, 11:53 am

While talking with some students, I noticed some parts of this site need some work. I did some spring cleaning and updated some things surrounding images. You might never even notice anything happened. A couple links were wrong. Some stuff I wrote 6 years ago and I never figured out how to do right, and now that I've learned more, and javascript and css have improved, some of those things could be fixed quite simply.

The march of time goes on, and things that were hard are now easy. Things that were great have crumbled, and some things that we set up long ago and forgot about suddenly find relevance again.

I've created a number of image uploaders over the years. With varying degrees of complexity and ux. But I often don't upload my images here, because it's such a hassle to resize them and upload them and rename them and archive them. It's a whole process. And sometimes my server just won't allow image uploads for php memory reasons.

And sometimes I remember that a long time ago I made a really good image uploader. One that works on mobile and accounts for all kinds of common factors that I want. Because I made it for me. And then suddenly I can start uploading images to my own website again, because it is not in fact a tremendous hassle anymore. In some ways it's a breeze. I did a little more work on my image uploader to make it even smarter, able to handle bigger images, and have a few more bells and whistles, and now it's pretty good. I'm kind of pleased with it, actually. Very pleased indeed.

I also started cataloging all my art recently. Figuring out who I drew, and making sure I had a full size archive of as much of my art created in the last few years as I could find. I'll be slowly leaking that stuff into my portfolio, as I figure out the best way to manage all of that.

Is it bad to not update your blog?
December 30, 2021, 10:29 pm

What if it was extraordinary times? What about then? What if life went absolutely nuts all around you, and you just sort of forgot to update it? What then?

It's been a hot minute since I've put very much on this website. I need to redesign it. I need to rewrite some things (especially an image uploader), and I need to make more of an effort to keep my self honest about my projects by posting about them in public. Let's see... where was I?

This year has been a series of big changes. At the beginning of 2021 I was let go from my full time status at the Academy of Art and I got a job as a Senior Frontend Engineer at a company called IMVU. This job has been really fantastic. But it's the first fully remote job I've ever had. Working fully remote is not something I ever sought, and it's been both freeing and frustrating in a lot of ways. I like to be around people, and if I'm totally honest, when I'm stuck in a house, I find it hard to motivate myself.

I am still teaching at the Academy sometimes. I like it. Not sure how much longer I'll be able to continue, but I think for now if they keep inviting me back, I'll continue teaching a class.

I worked on a number of personal projects. I've been doing a lot of things with themoviedb api. Did a little project with a friend for figuring out which of your friends you're most compatible with, based on the movies you like. And I just pushed a big update to filmswith, a website for browsing movie data, and comparing people and movies together. I rebuilt that app from the bottom up in React, and I've learned so much during the process.

I'm not sure I'd call 2021 a success. When 2020 started, I thought it was going to be such a good year. I had so many plans. In some ways it was great for me. But 2021 just feels like a blur. I'm not sure what to expect in 2022. I just have no idea. But I think I'm going to try to work on more personal projects. Here's hoping I can stick to that. Someone keep me honest.

Icons and libraries
July 10, 2020, 3:15 pm

So I have a thing that I work on periodically. It's a library of javascript code that is... well more or less a jquery replacement. But it's something I wrote, and it's something that does what I want. And I made it to learn a lot, but also because it's small, and it's clean, and I like it. It doesn't really have a name, but it's part of my apptools collection on github, and it just got a new release.

I was working on another project, my icon library, and I started to convert it to something that uses my library, and it had ALL KINDS of problems when it came to querying on an svg element. Turns out I had to solve lots of problems, and I had to solve a number of them, and I had to set up an ampps server to get everything working right, and it was just a whole thing.

But I think I fixed a number of necessary issues with my library, and it's never felt better. Not just its use, but also my whole work process got streamlined a bit, and it felt really good.

... Maybe I'll update my website one of these days.

New Huion Drawing Tablet
May 25, 2020, 7:45 pm

So I just purchased a new Huion 16 Pro. I also just bought a new desktop, but that's beside the point. For the past few weeks I've been using my new computer, and I've been doing nothing, but playing video games and having fun, but feeling kind of useless.

So I've been paying attention to Wacom and its competitors for a while now, and I decided to go with a Huion instead of a comparable Wacom for a number of reasons. One reason is that it was cheaper, way cheaper. And the other is that for all intents and purposes, they seem to be great tablets. Huion and XP-Pen have made great strides recently to be competitive in the tablet market, and so I wanted to find out for myself.

I whipped up this quick drawing in Clip Studio Pro, and I had a blast doing it. I'm using some Frenden brushes for this, although truthfully only one. But hopefully soon there will be more. If you want to watch the whole hour long process, you can watch it on Twitch, which is where I will be streaming moving forward.

A bit of an overreaction
March 7, 2020, 2:15 pm

So I've been learning react recently. I've been getting pretty far into it. I'm pretty confident at this point that I understand the concepts, and I'm able to execute on React Hooks effectively.

I made a quick little demo example TicTacToe game, because one of my colleagues was doing a tutorial, and I wondered if I could write one from scratch. And the answer is, I COULD, but also I pulled a tiny bit of code from one of my old examples. But honestly I just pulled the win arrays, because my brain shut down, and I couldn't think of how to do them for a second.

So if you're interested, here's a quick React app of TicTacToe, and the Github repo to go along with it.

I'm enjoying React a lot these days, and I've started multiple projects in it. It's groovy, and I like the build processes.

Do as I say, not as I do
March 4, 2020, 4:46 pm

My students are constantly required to have a work journal to record their progress. I rarely ever journal these days. Maybe it is because I can just tweet something out.

I started a new hobby, and a new project for it. Whenever I start something new, I can usually think of an app to go with it.

I started podcasting. I bought a bunch of equipment and I've recorded a bunch of material, but none of it has been released yet. So like... not casting. Just podding. Whatever.

Along those lines, I've started a new coded project this weekend called Agenda Run. It's an agenda software that is useful for people who are making speeches, or running group meetings, or... ya know... podcasting. I realized it was hard to keep on topic while podcasting, so I needed to make something to help with that. And of course, I bought a domain name. Cuz that's half the fun.

It's entirely possible if you click that link, that page will be broken. I am actively working on this, so whatever. It's also possible that you'll find it useful or useless immediately. Tell me your thoughts if you have any. I'm interested.

Portraits in 2019
January 13, 2020, 9:23 am

So in 2015 I painted a live digital portrait every weekend. It was a lot, but an amazing experience. I was using a Samsung Series 7 Slate back then. It was a tablet PC with a wacom drawing stylus and it was amazing. It purported to have a 7 hour battery life, but when I was drawing, I was lucky to get an hour and a half out of it. We weren't on Windows 10 yet. There were no touch controls. I wasn't even able to pinch zoom. We all used this software hack that added a touch section of buttons to the side of our screens.

Times have changed. We're inundated with choices as artists. In a lot of ways, it's never been better. Like Windows? Get a Surface. Like iOS? Get an iPad. Like Android? Get a Samsung Tab. Like your computer? Get a Wacom or a Huion. Like a phone? Get a Samsung Note.

I've managed to collect a number of devices over those years, for art and testing purposes. Devices have amazing battery life these days, and I can sit down to paint with a charged device, and fully expect to roll through a 4 hour session with no problem. Touch applications have come such a long way, from old standards like Photoshop and Clip Studio, to new contenders like Infinite Studio and Procreate.

The point is there's something for everyone.

I want to do some portraits this year again. I did my first already. I want to do more. I am putting this out there to the world, if you are interested in getting a portrait painted by me in 2020, send an email to me. Use the subject "Portrait Project 2020", and tell me a couple of dates you think you'd be available.

When I did this last time there were lots of questions. Probably not enough questions on my part, actually. But basically this would be a live digital portrait. You may be doing whatever you like. They tend to take about two to three hours, so best to pick an activity that you can sit still for, and a place with controlled lighting. This is basically just for practice for me. It's fun. I like to go to new places in the city, and meet new people. And although it never happened last time, maybe there can be a book or a show out of this in the end.