Mike's Program

A place for notes

Micheal Earl

I just got back home from my trip to Canada. I had a lot of fun during the trip, but I am glad to be back home so I can start getting some work done. My next semester of college begins in only two weeks, and most of the classes are still general education.

Making sure that I’m always learning something new about technology is a must. Becoming complacent would be very bad at this step in my life. My plan is to have at least one commit to github every single day. This will make sure that I think about programming every single day, even if that commit is just a change to the blog.

Mike from the future: Yeah that commit a day thing never really took off. I’ll be attempting it again now though! 2019-06-04

Micheal Earl

I don’t really know what to do. My knowledge is all over the place. I can tell you a little bit about basically any web stack or language, but not enough to show true proficiency or capability. It is time to change my habits and really stick to something. I just have no idea what that something should be.

My real goal is to be a game developer. I want to make games from the ground up through code. Most of my development time has been spent on games, but I continuously change technologies and projects. The new plan is to just really stick with something until I feel that it can be put on my resume. If my accomplishments are something that I truly want to share with the world, then I’ll be much happier with my progress.

So, now I have a decision to make. What technology should I be focusing on that will really show my potential? I will be playing around a little bit and, hopefully, I do not fall back into my old patterns.

Mike from the future: I did fall back into my old patterns. However, I think I was a little mistaken when this post was written. Spreading my skills throughout several “technologies” is not inherently a bad thing. The bad thing is not finishing projects that I start.

Micheal Earl

I love Lua as a programming language. It really has mostly everything I would ever want from a programming language. It is speedy (using LuaJIT) and it is easy to pick up. Using Lua and LÖVE for projects is a joy.

However, I have never been a very big fan of Lua syntax. It seems a really shallow thing to be upset with considering how good everything else seems to be, but I just can’t escape how strange it can be. Using “then” and “end” to define code blocks is awkward and so different from the other languages I regularly use. Swapping from Javascript and C# is usually syntactically painless, but swapping from C# or Javascript to Lua always takes a little bit of adjustment.

Another thing that has frustrated me and wasted hours of my time is that Lua arrays are initialized at 1! This causes so many bugs after coming back from other languages and it always takes an adjustmant period to remember this idiosyncrasy of Lua.

All of this has led me to explore languages that can transpile to Lua. I have tried and failed to use castl, a Javascript to Lua transpiler, and I have also encountered issues with another popular transpiled ;language called moonscript. Moonscript was a frustrating experience in much the same vein that Lua is a frustrating experience. Some changes to the syntax sumply make no sense, why do I use “" to access an objects methods instead of “:”

So far my hopes rest with Haxe which is a very interesting cross-platform language that transpiles into many different languages. I could use Haxe, but I would have to write my own LÖVE externs to fully utilize that framework.

Maybe the solution is to just stick with Lua or make my own transpiled language. Unfortunately, I am a bit too lazy to take it that far.