« Blog


Cubecus for Blender is here!

Cubecus is here! After a long time coming (4 years on and off), I've gotten my Blender level design add-on into a releasable state (even though in alpha and with some glitches). Don't worry though! It's going to get better with more releases where I plan to separate out the obfuscator it uses into a separate project and add more features and fixes.

If you're unfamiliar, give it's page a look. It explains about the different tools it adds and provides screenshots of use (like the one below).

I hope that everyone who's asked about it and even those who've not, find it useful :)

Read More »

Loading Screen Polish

Polish and small details are so important. With this loading screen, getting the text to not clip with the cube was a challenge but having it hover in screen space at a distance solves this and adds a nice subtle effect.

Read More »

Automated Memory Leak Testing in the Browser

Large single page web applications have a disadvantage over multi-page applications in that no page reload occurs. This means memory leaks are able to cause more performance problems in single page web applications as the lack of page reloads will not clear the javascript heap. While catching these leaks can be done by manually memory profiling, I will show you an automated test that will give a glimpse at whether memory leaks may be occuring.

The actual test is pretty simple though it requires Chrome to run. This is because Chrome comes with some nifty flags that let in browser tests do things other browsers can't.

  1. Chrome is the only browser that has the ability to read precise memory usage via javascript. This is enabled by the --enable-precise-memory-info flag.
  1. Chrome also is the only browser that allows you to trigger the garbage collector from javascript. This is enabled by the custom javascript flag --js-flags="--expose-gc"

Where I currently work, we use the Karma test runner for testing so setting up different browsers is as easy as installing an npm module and adding the browser to the build with the given flags.

Read More »

Breakups, Motivation, & Friends

I originally wanted this blog to be just a portfolio but I don't think I'm going to be able to keep it that way. I think trying to separate my personal projects and actual life isn't really what I want though I probably wouldn't go as far as Garry's Blofg and provide unsolicited sex tips. My emotions just work too much into my everyday life where my projects live that I should stop trying to separate them so much and just use tags like everyone else...

I broke up with a serious girlfriend a month ago and since then my whole life has pretty much come into question. I've been asking myself so many things over the past month, and while it's still not over, I have some observations and conclusions.

  • I have 0 motivation to work on the game that I just tried to start with 3 friends. I put in tons of effort to get everyone up to speed and bam, gone. There was some internal tension between me and the relationship which leads to...
  • I have no desire to live my dream (if it even is?) at the expense of my social life. Maybe I'll quit my job and focus on a game at some point in the future but I don't think I'll ever game dev or programming over a relationship ever again. It's just not as real as acceptance and love.
  • I have used my performance in life as a metric for my self worth too much for the past forever. That and I don't give myself enough credit for my work. It's a cycle of justifying away good things that happen while continually striving to be my absolute best which is unmaintainable and stresses me out over the littlest things, like getting gifts for people.
Read More »

Projected Balance Calculator

I always felt that if I was able to see how much money I would have in the future I could more accurately save, spend, and make bill payments instead of just worrying all the time. Such a tool exists as a part of Quicken but Quicken is a slow, confusing piece of software that I bought and ended up returning because it was that bad(!). I looked but Mint.com doesn't have it, GnuCash doesn't have it, and doing it in Excel would require I learn VB, which, let's be honest, would probably result in me developing some serious medical condition.

I coded up the class model while I was at the barber shop in a Google Note and finished it in 3-ish hours at home. It honestly took more time to find the exact days that all my different services charge me on and put that in the program. It's pretty small and it needs a few more useful features before I can really use it but even in its current state I already feel comfortable where I am financially. Code can be found on GitHub.

The nicest part about this was I found libraries for both the plotting (Plotly) and for the reoccuring date problem (python-dateutil). My resultant program, including tests, was only about 100 lines long.

Anyway, it's been a pretty tough week and I don't think this will be my last endeavor with Python in the coming months. I want to revisit my music library and update that program so I guess we'll see how that goes.

Read More »

Movin' Day

So I moved from Tumblr to Ghost. Tumblr (the platform, not the community) is absolute garbage. I actually like the community: tons of fandoms, great art, weird memes, and so many old memories. The problem with Tumblr is that the theme editing is absolute garbage. There's no real offline editing, they rewrite all your links, they inject tons of heavy scripts into the page load (upwards of 3+ seconds initial plus more async garbage), etc, etc.

I moved over just 6 posts as it's not easy picking apart their markup to actually put into a new blog. I also ported my theme and I have to say, being able to use Grunt, watch, livereload, and a local copy of Ghost has to be the best workflow I could ever want. If the desire so strikes me I might end up going back and reposting stuff but I guess we'll just have to wait and see.

It's good to be back, more or less. Hope to post some cool stuff.

Read More »

Some more rendering stuff

Continuing from my last rendering post, the spider mini boss in “Quackventure” shoots these little energy balls at the player. I added the energy ball after the render in Paint.NET to get this neat little scene.

It only took a couple hours of work and I got such a nice result for the time spent! Didn’t think it would be this easy given that I’ve never performed a render before. Thanks cycles!

Anyway, the picture above is the final render in 1920x1080, enjoy.

Read More »

Why Python is so exciting for me

I’m in love with Python. Like madly in love. If I wasn’t pretty crazy about this one girl right now I’m sure that I’d probably start hanging out with Python more, take it out to dinner, get to know it better, you know how it is.

I remember when I first looked at Python and went “What in the hell, who would want to program in this?! No braces? Colons?? How do you read the code??” Eventually I grew to really love it and has become possibly my favorite to program in (on the same level as C#). I know some that will try to force their beliefs on others when it comes to languages and IDEs. I only want to share with you my excitement for this language. In terms of enjoyment though, I really do believe a favorite language is based on personal taste and people should respect that.

But why do I love it? I could probably go on and on about the exact features I like but that’d get a little repetitive. If I had to choose one thing I’d have to say the simplicity of the collections matched with their flexibility and power is my favorite feature. Also, the fact that there’s a library that pretty much does anything you want just one console command away doesn’t hurt either (with PyPI).

Python is also the first language I could just rattle out simple tools to serve my life with.

Read More »

Verizon Did Some Cool Shit

I saw this video by SethBling (above) today and while it’s not vastly exciting or landmark it demonstrates an interesting concept with games, technology, and communication. Before I get into it, CaptainSparklez also made a companion video, and Verizon made a Press Release on this

Quick Video Description

Two popular Minecraft personalities (SethBling and CaptainSparklez) partnered with Verizon to make an operational phone in Minecraft. The phone connected to Verizon’s cellular network to send texts and place a video call to the real world from Minecraft among other things. SethBling made a video call to himself to show how it all worked at first. On the receiving end it displays the character in Minecraft and sound from the caller’s microphone. In Minecraft, the video call feed is displayed using Minecraft blocks (and so looks very blocky) but is intelligible and responsive. SethBling then placed a call to CaptainSparklez to show that it indeed works over the cellular network.

What this means?

Read More »
Newer posts