The Rants And Opinions Of A Semi-Decent Developer

Read this first

F**king JavaScript Types

This post is more of a rant on JavaScript than anything.

For the first around 5 years of my developer life, I never touched JS. I first learned Java and wanted to distance myself from it as far as possible as I assumed they were similar.

Well, they are. They’re both f*king stupid. In the same ways, no, but still stupid. In C, if I wanted to check if something was a valid number, I’d simply use myvar as int and check for null. If I compare that variable to another, it’ll do a type check. But instead, in JS, I have to do hacky BS like if (!(myvar <= 0)) to check if something is not only greater than 0, but also not undefined and of the same type. Why can’t I just do myvar >= 0? Why can’t it just assume the type from the comparison? Why can’t JavaScript just have f**king types? “Then it’s not a scripting language!” or “everything is an object!”. No. This isn’t Ruby. Types were introduced...

Continue reading →

Contract Endings

Working as a government contractor is an interesting thing. It’s stressful, yet rewarding in some cases. With my current team (which is now down to 2 including me) was probably one of the only shots I’ve had at a working team since I started government work. Obviously there was always that 1 person that seemed to try to undermine everything, but it all worked itself out.

The difference between private sector and government contracting is the longevity of your job. While some contracts can be 4-5 years, some aren’t that lucky. The one I was pushed on to was a 1 year extended to a 2. That means I had to uproot myself from wherever I was at and only guaranteed to work for 2 years if I performed well. Pressure? A little. The last contract I was on, I got cut from a certain company that I won’t mention for, per their words, being “overly proactive”. That taught me that there’s a small area...

Continue reading →

A Word On Emotional AI

The study of AI has come a long way in the past 20 or so years, from machine learning to neural nodes. We’ve been able to roughly parse languages into an almost mathematical format, allowing for programs to understand human input. This is seen in products like Amazon Alexa, Apple’s Siri, and Google’s Assistant. But there’s one thing that hasn’t been understood a lot: How do we get AI to show emotion?

While we’re able to get a good estimate at what kind of emotion an input has, we haven’t been able to really build an AI around the emotion that is calculated from that input. We’ve simply plugged in the variables and taught the program what an appropriate response to those emotions should be. Those responses tend to be taught over things like repeated machine learning; ones they’ve seen examples of. But what does it take for the AI to come up with it’s own emotional response to the input...

Continue reading →

typeof JavaScript != typeof Java

Recently, I’ve been re-working an old project in Java. For those that are familiar with the PC Minecraft community, a couple years ago a plugin enabled server called “Bukkit” existed. It was handy, it was modular, and it was good. There was a problem though, which caused the fallout of the custom server. You can read more of the store here. During those days though, I had helped create a plugin that essentially allowed you to skip writing in Java and use JavaScript instead with Java’s Rhino engine.

But the upkeep was no joke. This was in the time where Java was on the tightrope of Java 7 and 8 (the new JavaScript engine Nashorn was a big redux to Java). So the project was dropped for a while after having stability, but something always prevented me and others from returning to it. It always felt…clunky. Like the JavaScript was organized in a way that Java was. Now this all happened...

Continue reading →