I haven’t done any dev updates before but due to the changing nature of my own interests and how I approach handling my blog, I thought I’d start a new series. I’ve been wanting to do this but haven’t gotten around to it.

So why dev updates? Because I don’t think my blog is a good platform for high-quality tutorials anymore. I enjoyed doing them but:

  1. they take an extraordinary amount of time that I could be spending time learning and building products
  2. last few tutorials have been complete duds which is highly demotivating
  3. last few tutorial topics were picked based on topic popularity which meant that I spent a bunch of time researching and learning about tech I did not have an interest in
  4. I have new ventures that I want to explore: game development, desktop app development, book writing, and some entrepreneurship ideas

Basically, I’m shifting from “development tutorial” blog style to “personal updates” and “stuff I figure out” blog style. I enjoy reading a lot of other tech blogs that work in a similar fashion.

And honestly, reading a quick “I figured out some weird shit with [tech]” is much more fun than 10K words on [tech] that takes me through the minute detail of everything from start to finish.

I actually also enjoyed writing Reccr (the story AND the tech article) but that was a complete failure as well. Basically, what people want to read is not what I want to write.

I also started Vlogging a bit so I feel like I might substitute these articles with a Vlog once in a while.

But, let’s look at my updates!

Game Development

Game development has been an interest of mine for a few years but I’ve had the hardest time getting through the initial muck. I’ve tried working with Phaser again but I just can’t wrap my head around that workflow so instead, I decided to build an engine from scratch.

I did have a simple CodePen that demonstrated:

  1. using requestAnimationFrame to create an update loop
  2. using even handlers to detect which key was pressed and keep that up
  3. boundary detection where a simple square could not leave its boundaries

For some reason, that codepen never saved… so I have a codepen structure that doesn’t do anything but in my experiments lead to quite a few good things.

I learned a few interesting things along the way:

  1. for a good update loop, you have to keep a keysPressed array to know what’s happening with the keyboard. That means storing and deleting user interactions. There’s no “keys currently pressed” in Javascript as there are in other languages
  2. the box model can screw with boundary detection. I did the math right each time but my little square always overlapped with its boundary.

Here’s the non-functional preview of my little demo:

Next, I played around with THREE.js but didn’t really get anywhere. I created a simple rotating cube in CodePen and that’s it

My goals

I have a game in mind and it’s basically Stardew Valley’s mines mashed together with Diablo I. My goal is to:

  1. create a simple “level” with a character that can walk around
  2. create a multi-level demo using something like ncurses in a nethack-like fashion.
  3. create a “game design spec” explaining the game idea

App Development

The app I’m currently developing is a markdown editor called OMEN. OMEN is a product of frustration with current markdown editors and also other writing programs. I constantly feel like writing editors lack basic features that I have in code editors and I feel like markdown editors lack good styling and functionality.

Here’s what I’m trying to build:

  1. 1. a Markdown editor that can style markdown as you write giving you a little preview of what the final HTML would look like (imagine a boldened ### heading or a larger ## heading )
  2. offset heading hashes so that it’s easy to find headings while scrolling and also keeping a better text flow
  3. file explorer in a sidebar so you can treat “folders” as writing projects or a writing dashboard rather than just a place you open a file from
  4. metadata storage – markdown doesn’t support storing data other than just plain text. I came up with a data format called MOML (here’s the spec). I wanted to write an editor that would support this format and allow storing of notes, tags, author information, etc.

I have a few other “wishlist” items that I’d like to do but they’re not part of the MVP. As of now, this is what I have:

Basically, you can read files, write them, create new files, and open new “projects” (directory via file path). I wrote around 35K of a NaNoWriMo using this editor and it was not half bad!

Goals

My goals for the next update are:

  1. how sub folders (almost there!)
  2. get program icon to show up
  3. some refactors
  4. better styling?

Writing

Not strictly dev, but I have a few writing projects down the pipeline:

  1. rewrite of a NaNoWriMo from 2014
  2. quick-edit of NaNoWriMo from 2016
  3. A soft-skills engineering book that I wrote in 2015…?

I don’t really want to go on about this but so far, I have chapter I of NaNo 2014 done, and I have notes for the rest of the book.

I hope to write these kinds of updates on my writing blog.

Goals

  1. figure out how many chapters/words I can handle per week
  2. setup realistic goals