Space Game

I’m still knee-deep in computer-programming activities. My latest experiment/release is an Astroids-like Space Game. It’s using Javascript to draw on a Canvas element by utilizing a bunch of trigonometry. Because I like using vanilla Javascript and a raw Canvas element, I had roll my own collision-detection mechanism.

I’ve also been watching Star Trek: The Next Generation on Netflix (I’m currently up to the middle of season 3). That particular series is chock-full of competency by the way. If you want to bathe yourself in the concept of people performing their jobs exceptionally, that’s the one to watch. Picard is professionalism personified — and of course the entire crew steps up whenever duty calls.

I think the show has been keeping me from getting road-blocked by problems that spring-up along the way. In the past, I’d often quit when the going got too tough. But now, if something isn’t functioning properly, it means I need more research or perhaps a different approach. With enough perseverance, there’s always a solution. Quitting is not an option: there is only the performance of one’s duty till the end.

It’s dedication to the craft. In Star Trek, that craft was an actual craft, the starship Enterprise. In my case, the craft is the art of programming. It’s authoring and organizing sets of complex instructions. It’s coercing pixels to dance across the screen in predictable as well as unpredictable paths. It’s seeking out new ways and unique solutions, boldly coding where no developer has gone before.

Advertisements

More Programming

I’ve spent the last few weeks reacquainting myself with programming. First it was Codea on the iPad, then Godot on the PC, and then Javascript on the web. It’s been interesting to see what’s changed and what hasn’t in the near-decade that’s passed since I stopped programming. It seems like Javascript became a big deal for instance.

I even re-established my old domain-name (which I couldn’t get rid of for sentimental reasons): https://WellCraftedSoftware.com. It now points to an Ubuntu instance on AWS — I always wanted my own Virtual Private Server. It hosts some of my recent experiments with Javascript, including a simple Node.js server demonstration.

I’ve been using Visual Studio Code to whip-up some quick little programs that utilize Javascript to manipulate Canvas elements within the browser. I’ve also familiarized myself with the CSS Grid spec and found it a decent way to do layout. When I left programming many years ago, Javascript and CSS were an absolute mess — now they seem downright pleasant (if done right).

I did look into a few other programming areas, but I wasn’t that pleased with what I found. I still dislike Xcode, but I’m excited to see if SwiftUI can turn things around. I also looked into Android Studio and saw that they switched from Java to Kotlin — very interesting. But overall, the development environment is too big and heavy — I prefer a leaner/meaner setup.

For the time being, I think I’ll concentrate on browser-related stuff. The HTML Canvas element is pretty primitive, but it’s kinda fun for now. I haven’t touched NoSQL databases yet, but they look promising: just throw them some JSON? Cool. Oh and honorable mention to https://developer.mozilla.org, their documentation for Javascript and other web-related stuff has been phenomenal.

Programmer Part II

I am going to reattach the label of “programmer” to myself. The last time I was serious about programming was approximately eight years ago when I was selling desktop-apps on the Mac App Store. Nothing fancy, just little programs I whipped up.

On one hand, I’ve always been fascinated by programming. But on the other hand, I was never able to create something significant enough to manifest a satisfying career. So after a bunch of years going nowhere, I got fed-up and quit.

As an idealist, I imagined creating the most awesome-est software possible that generated tons of passive-income as I sat there raking-in all the profits and praise. When that didn’t happen, I said “Gah, what’s the use!” and gave-up.

Now I’m setting my sights a LOT lower. My current definition of programmer is: someone that writes and runs code — that’s it. And that’s all I plan to do for now: write and run code. Sure, anyone can type in some pseudo-code, but not everyone can get code to compile.

As I was recently reacquainting myself with programming, it was just sooo familiar. With such an intimate knowledge, how can I not have programming in my life? It’s like family. “Hello C#! So good to see you and .NET again! We should totally reminisce later! Oh hey PHP, ha yeah… you look just like I remember you… ooh who’s that over there!? Hey Godot! Wow, haven’t seen you around, but it seems like I know you already. Hello WebGL, wow you seem like a powerful backend for browsers!”

To me, programming is mostly a means to paint pixels on a screen. Even the text I’m typing is just painted-on pixels — a series of ever-changing specks with varying hues. So my task is to make those little dots dance — and by the power of programming, I shall.

Constant Conundrum

I was recently re-watching the first few episodes of Star Trek: The Next Generation. I was essentially watching people/characters that I like, undergo very difficult circumstances. The act of watching drama is basically sadism — deriving enjoyment from the suffering of others. Luckily, the characters are fictional.

Yet isn’t that what we do here? Watch others, especially ourselves, experience the worst things we can imagine? But of course, there ARE other ways to derive amusement from existence, but we so often revert to the easy-fix: the sadomasochism solution. “I’m bored! Is there some sort of suffering from which I can extract excitement!?”

But when watching TNG, I don’t actually enjoy the calamity, I enjoy the competence and professionalism of the crew. How will Picard and the gang get out of this one!? And of course they always do. THAT’S what I like, the problem-solving. But there must be problems or else there’s nothing to solve.

Therefore, life must fill itself with problems i.e. opportunities for problem-solving. So problems are not the problem — the attitude we maintain is the real key. Does Picard get frustrated and give up at each obstacle? No, he proceeds diligently, perpetually performing his duty as starship captain. As they say: keep calm and carry on.

Of course that’s what Krishna told Arjuna on the field of battle that day too: stop whining and do your duty. Because in this life, we all have a role to play, a character whose arc we must fulfill. It’s dumb to pause production in order to incessantly complain about the storyline. Just read the damn lines! Become the authentic character and enjoy the narrative.

Perpetual Politics

“The problem with the other side, is that they’re a bunch of know-nothing morons that try to impose their stupidity onto everyone else! They simply don’t understand the world we’re living in! Well, I guess now that we’re in charge, we can try to work with them, but you know they’ll constantly fight against us. But for the sake of the country, we’ll try to get along.”

I use to follow politics because I thought it made me smarter. To be smart is to be well-informed. And since politics plays a prominent role in shaping the world, I had to know about politics in order to truly understand what’s going on here. WRONG.

Examining politics as a means of understanding the world, is like staring at the contents of a used toilet in order to understand people. Politics is not the start of the cycle, it’s the end product — the stinky, nasty turd in the toilet.

If you take a step back and really look at politics from a wider perspective, the repetition is obvious. It’s the same situations over and over, rinse and repeat ad nauseum — oftentimes the names don’t even change. And just like the digestive cycle, if you feed it crap then even worse crap comes out the other end.

If you want to understand what’s going on here, the WORST place to start is the toilet bowl. From there you’d surmise that people produce nothing but foul odors — they’re gross, disgusting creatures that smear feces wherever they go. Yuck!

Politics will always engage your outrage, that’s its nature. Don’t get involved with potty-talk, speak to people when they’re outside the stalls. Rise above the revulsion. Focus on what you’re feeding yourself and what you’re offering to others.

Search for Success

Did you ever try searching for the thing you’re good at? Like when you see an interview with a super-successful person, and they mention how well-suited they were for the particular path they took. And so you start thinking, “Hmm, maybe I have an obvious talent within a specific domain as well!” So you run down a checklist of traits and abilities trying to ascertain where you fit within the catalog of available professions.

Psh. After several decades, I’ve yet to come up with anything conclusive. The areas which I’ve explored most are: exercise/nutrition, computer-programming, writing. Yet nothing has yet to snowball into a viable long-term career. In each of those domains, I invested YEARS of practice. The most financially successful was programming, but for some reason it just kinda stalled.

Recently, I procured a Windows-based laptop and installed a bunch of programming-related stuff on it. I’ve been browsing around for the most suitable programming paradigm — one that matches my temperament and skill-set. So far I’ve installed Python, Python with Qt, C# and .NET, Roblox Studio, Godot, and Android Studio with Kotlin. I also looked at a few others but passed them by.

I don’t have anything particular I want to make, I just want to “program” and have fun while doing so. Therefore I’m attempting to find an appropriate medium with which to express myself — something that’s powerful but not too complex. So far Godot seems the most promising, it’s a blank canvas backed by a physics engine — but of course its feature-rich flexibility comes with a learning curve. I’d actually like to get into robotics programming, but I haven’t found an entry-point yet.

But anyway, that’s where I’m at right now: trying to find something I’m good at. Of course I was very good at being negative and complaining and scaring myself, but now I’m looking for an activity on the fun-side of life. Something I can invest myself into and experience a return of appreciation. “Wow Rich, great job! Thank goodness you’re around to do what you do!” That kinda thing.

Compass of Consciousness

An observer sits within the avatar as an audience to what’s happening. One thing that this consciousness notices is the thought-stream, an incessant flow of ideas and opinions and internal-debates that cascade through the mind. Yet this stream is only a single aspect of existence — and if the observer stops and stares too long, he can become mesmerized by it — frozen in time, just looking at thoughts as if they are life itself.

If you truly examine the totality of life, you’ll notice there’s two distinct aspects of a person. The character he’s playing as and the audience-member within him. In other words: inside each persona, there resides an observer that’s simply watching it all.

But so what? Why care about our composition? Because, it helps in developing a broader perspective of existence. If you’re completely lost and having a bad time here on Earth, this type of perspective can become like a compass helping you ascertain a definitive direction.

So much goes wrong when you’re lost. When you can’t find your way, you tend towards negativity — focusing on what’s wrong then becomes a way of life. And once you become a pessimist, there’s no obvious way out — EVERYTHING looks wrong. Everything’s a trick or a trap meant to deceive or destroy you.

The only way out is to look within and see that things aren’t what they appear to be — things are what you project them to be. You begin to realize that your negativity was painting a dark hue upon the world. And by ceasing to spray your pessimistically-laced graffiti all over the place, the world brightens up. And by this enlightenment, you find your way home.