Hello!
I’m a problem solver.
I design systems and build solutions.

 

Current featured post: A New Side Quest

Linux Mint 22 and XRDP

History: I stopped using Ubuntu because I really dislike the Unity interface they made default. I stayed away because they started silently replacing packages with snap. One thing that I miss in Linux Mint is the easy ability to share my screen. This is an…

Now just do the thing

The code I wrote in this series was about 1.5 weeks of work. Then it took me 3-4 weeks to do all the writing for it. Obviously I could get more done if I didn't also teach and explain along the way, but I thought…

My thoughts on Go

Summary My initial knee-jerk reaction about Go was correct: it's a language made by someone who is clearly very opinionated and seems to miss the forest for the trees. However, it seems that their opinions align with mine enough that I somewhat enjoy using it. I …

Putting It All Together

We started with an idea, then some sample code, and now we have a fully operational Death Star contract. Now we just need a network to deploy it to, and a way to talk to the contract.

Adapting the Code - Writing Fabric Code

Hyperledger Fabric does not use the term "smart contract", but instead "chaincode". I prefer this term for two reasons: My previous team and I built an entire SDK to soften up some of the sharp edges in the TypeScript Fabric SDK and make it faster…

Adapting the Code - v1 Data Structure

Let's take a look at how the objects ended up: In addition to the improvements made above in v0.1, we have also added a key (indicated by PK in the diagram) and arrays to track the characters and dungeons owned by the player. There are…

Adapting the Code - Key Considerations

This entire section assumes we are using LevelDB state storage for Fabric and not CouchDB. I need to write another article to explain why and the differences between the options, but for now you can read the docs In a Key/Value database, the Key is…

Adapting the Code - Initial Improvements

What does it take to turn a program into a smart contract? Well, first we need to have an idea of what our program does (see the First Code post). Now we have that, so we can start to shine some light in the dark…

First Code

As you can see from the previous post there are a lot of things to consider when building something on-chain. It's easy to get overwhelmed by this and reach a state of analysis paralysis. The best way I have found to break out of this is…

Design Considerations

From a blockchain perspective the most important thing to remember is: Fabric is not Ethereum. Though many of the same data design and concurrency principles will still apply, there are definitely differences to know as we design our game.

A New Side-Quest

I've written about being a wildcard before, and now I've recently faced a similar issue again. The problem with being passionate about what I work on is that a hobby becomes my primary focus, and then becomes owned by the company I work for, and…

Reset

You may notice some changes to my website. I've decided to move away from WordPress and try out a static site generator called Publii. The best way I can describe it is as a self-hosted Medium blog. It's simple, but so far has just the…

NFTs

A few of my friends and family have asked me about NFTs. About a year ago I started talking about them and people looked at me like I was crazy. Now that they're all over the news, people want to know - so I'm writing…

Atlas-ian Mistake

You may know that I used to proudly show that I have worked with Atlassian JIRA for many years. I have written countless customizations and even plugins for it. Trained hundreds of people, and ran many successful projects. It all ends now. Over the last…

Go Go Golem

A few months ago I stumbled across an interesting usage of blockchain technology: golem.network . To put it simply, it allows you to rent our your computer to do work for other people in a safe and decentralized way. This means that desktop computer you…

Being Social, but not a slave

I've ranted about it in many posts before, so I will try to keep this short. Facebook and all the other "free" service providers are basically evil. They are in the business of taking personal and private things from you and in exchange they offer…

Jitsi because Zoom is EVIL

Many of the services we use because they are easy to use. And for many of these services, their owners have bad intentions and we know it - but we want what they're offering and we don't know a good alternative. I've written about this…

Leaving the GAFAMily

This is the name given to the services offered by the tech giants: Google, Amazon, Facebook, Apple, and sometimes Microsoft. Why do these companies get grouped up and named like this? Because they all have a common issue: they trade technology and convenience for their…

Going Off Grid

It's funny, the idea of going "Off Grid" in the real world often involves moving to the woods, digging a well for a water supply, and other slightly crazy things. Going "Off Grid" in the online world actually makes you go more "On Grid" than…

How to NOT migrate Nextcloud

When I started on this journey, I thought I was going to write a post about how to move Nextcloud from one server to another. I had a few ideas in my head about how I could go about it. In the end, NONE of…