The Sly Steward

This is my interpretation of Luke 16:1-13

A man of wealth once accused his steward of recklessness. Distraught, worried how he’d survive without his position, the steward devised a scheme to lighten his burden. Before he was relieved of duty, he summoned all who owed his master money.

“You there! How much do you owe? A hundred? No, make it fifty! And you! How much must you pay? Well whatever it is, take off twenty!” And in this way, the steward made himself beloved amongst the people so they would take him in at the end of his time.

The man of wealth, upon hearing this clever plot, actually praised the steward for his shrewdness. It turns out that those who worship the wealth of this world are much wiser than those that seek only enlightenment. Through ill-gotten gains, they buy friendship, constructing a refuge for their time of need.

So if you too want to ensure a safe-harbor for yourself when all else fails, buy as many friends as possible while using whatever illegitimate means are at hand. Yet, consider that devotion to a part reveals devotion to the whole — and whoever deceives in a little reveals their overall dishonest nature.

But besides that, if you haven’t proven yourself with dirty money, who would trust you with truer treasures? And if you haven’t proven yourself with someone else’s possessions, who would give you any of your own!?

I’m being facetious of course. The alternative to an uncertain path paved with unprincipled profits, is a path to God. You obviously can’t follow two opposing routes at once. You can recognize God as your source of sustenance and eternal refuge — or you can make money the source of your salvation.

Advertisements

Algorithmic Art

I’ve been working on some algorithmic art lately — that is, art generated by a computer. In other words: based on my initial input, the computer paints a picture. For instance, I might feed a bunch of numbers into a mathematical formula and then those resulting coordinates get connected with colored lines.

Pure randomness isn’t satisfying by the way — it’s just noise. You need patterns and a graduated flow. Abrupt changes don’t work, satisfying art requires transitions. Yes, splashes of color can work, but such boldness must blend itself into the mix somehow — perhaps as contrast to a simple background.

So what? Well, if life is a simulation (which it is), then the flow of life will be graduated and filled with patterns that are ushered in with transitions. Think of music: it’s not a monotonous note nor is it a random string of tones, there are graduated scales and patterns that progressively transform.

In computer-generated art, the trick is finding an algorithm that produces interesting output. Just filling in a formula is predictable and boring, you need to add some randomness. So yes, the unexpected is a necessity — but it can’t be the only component. Randomness needs to be woven into a pattern.

Stories are like this too. Narratives aren’t random happenings strung together — there are plots and progressions as characters with distinct personalities fade in and out. But all along the way there are surprises here and there — yet nothing too abrupt or outlandish, nothing beyond the boundaries that the narrative sets forth.

By its nature, there most certainly is an ebb and flow to life, a pattern punctuated by the unexpected — events rising and falling on a graduated spectrum. But what do you do with this knowledge? Appreciate it for what it is: art. It is these very aspects that we find appealing in every other medium — life itself is no different.

Enjoyment of art is modulated by the seriousness we apply to it. Take it too seriously, and you stifle it. Approach it too frivolously and it has no impact, no significance, it barely registers. Therefore, you must approach it with lighthearted appreciation — interested enough to explore and examine, but not to the point of stressing-out over it.

Path of the Programmer

A couple months ago, I purchased a laptop computer so I could get back into computer programming. Prior to that, I had been using an iPad Pro to fulfill my computing needs. Because I was mostly dedicated to writing this blog, I didn’t require much in the way of computational power.

Since receiving the laptop, I researched a bunch of programming paradigms and installed a few development environments. After the dust settled, I picked Javascript as my language of choice. As for tools, I’ve been using Visual Studio Code and the Chrome web-browser. Oh, and the developer docs over at Mozilla.org have been extremely helpful. And shout-out to all the various websites and YouTube videos that provided insightful tidbits as well.

My programming portfolio at WellCraftedSoftware.com is filling-out nicely I think. In just a month of programming with Javascript, I’ve got quite a few samples up there. Simple stuff on the surface, but it takes effort to write code that isn’t overly complex. My goal is to write the cleanest, most uncomplicated code possible.

I have no other objective at the moment but to continue adding to my portfolio — and in the process, practicing and honing my craft. I’m having more fun this time around — just programming for programming’s sake, there’s no rush to get anywhere in particular. Why do I want to climb the mountain? “Because it’s there.” And so I continue my quest, following the path of the programmer….

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.

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.