Skip to main content

Opinion

Opinions

The cover of "How can we own our identity on the Fediverse?"

How can we own our identity on the Fediverse?

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

The Fediverse is a decentralised social media network. This includes Mastodon, which is where a majority of the users are, but it is not the only option. I have been using Mastodon for seven years. I made my home on Fosstodon, an instance focused on free and open source software.

Last month, it came to light that Fosstodon had a far-right moderator and some other instances defederated with Fosstodon over this. I don’t want to get into the specifics of this situation; whilst it is an important topic, it isn’t something I have any desire or qualification to discuss. I’ll leave this to other people. However, having to move instances did raise some thoughts about the federation model and owning your identity and data.

Read more of "How can we own our identity on the Fediverse?"

The cover of "Why I like and recommend using TypeScript"

Why I like and recommend using TypeScript

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

I’ve recently gotten into using TypeScript when working with web technology, for creating web apps and servers. I find that TypeScript makes JavaScript more enjoyable to use. In this article, I’ll explain my reasons why.

Read more of "Why I like and recommend using TypeScript"

The cover of "Make games not engines: why I'll be using Godot engine"

Make games not engines: why I'll be using Godot engine

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

One of the reasons I learned how to program was to make games. Games are a unique form of creative medium, combining art, interactive storytelling, and vibrant worlds. But as a software engineer, it’s easy to lose sight of my goals and get trapped by the technical details. It’s common for software engineers in game dev to roll their own engine, which I believe reduces productivity and is ultimately a distraction to making a game.

Note that I’m not just referring to making reusable or generic game engines; for this article, I consider using low-level technology like OpenGL, SFML, or SDL to make games to include the act of rolling your own game engine, even if the focus is specific. It’s more manageable, but you still end up reinventing the wheel and having to solve many of the same problems.

There are plenty of other articles about whether or not to make your own game engine. This article is personal to me; it’s an exploration of my journey in game dev, a discussion of what motivates me, and a promise for the future.

Read more of "Make games not engines: why I'll be using Godot engine"

The cover of "Thoughts on native Android development"

Thoughts on native Android development

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

I love making apps. I like making stuff and it’s even better when I can interact with the stuff I make. App development feels especially real as I can hold and touch what I made. So why don’t I have many Android hobby projects? This article is a reflection on the projects I’ve worked on, the problems I have, and what I want to try in the future.

Read more of "Thoughts on native Android development"

The cover of "Bing (and DuckDuckGo) shadow banned my website"

Bing (and DuckDuckGo) shadow banned my website

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

Bing has now unbanned my blog. My site is still penalised/low in the results, but at least it's appearing now. See the bottom of this article for their response.

My domain was shadow banned by Bing and DuckDuckGo last year, and I don’t know why. Since then, my root domain (rubenwardy.com) has been unbanned but my blog remains banned. The event also negatively impacted the search placement of my root domain; another site that reuploaded some of my content is appearing as the first result when searching for it.

Read more of "Bing (and DuckDuckGo) shadow banned my website"

The cover of "Steam Deck is Awesome"

Steam Deck is Awesome

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

My Steam Deck arrived two months ago, and I’ve been having a blast ever since. I’m not much of a gamer; RimWorld and Skyrim are the only two games I’ve spent more than 100 hours in. I find it hard to play a game without wanting to do game dev instead. But with the Deck, I’ve been playing the games that have been on my play list for a while.

This article contains my thoughts about the Steam Deck. It’s not meant to be a review applicable to everyone; I’m not your average user nor do I claim to be. I recommend reading a wide range of reviews before buying something expensive.

Read more of "Steam Deck is Awesome"

The cover of "ChatGPT: An AI that can write Minetest mods... kinda"

ChatGPT: An AI that can write Minetest mods... kinda

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

OpenAI’s GPT-3 is a powerful new Artificial Intelligence model that uses deep learning to produce human-like text. It was trained on a large body of text, with sources including websites, Wikipedia, and books. It doesn’t just understand natural language, it can also work with programming languages.

This topic is especially relevant with the recent introduction of GitHub Copilot. Copilot is an “AI pair programmer” for your IDE that suggests code and entire new functions. It’s based on same technology as GPT-3, but with a model derived from GPT-3 and optimised for code called Codex. This article will use GPT-3 and Codex, as I wasn’t able to get GitHub Copilot, but the results will be identical.

In this article, I will ask GPT-3 to write Minetest code and explore how much it knows about modding, creating simple and advanced Minetest mods. I will finish by using it to convert Minecraft mods to Minetest.

Read more of "ChatGPT: An AI that can write Minetest mods... kinda"

The cover of "ForumMate: My return to Android app development"

ForumMate: My return to Android app development

Andrew Ward

rubenwardy

rubenwardy's profile picture, the letter R

Hi, I'm Andrew Ward. I'm a software developer, an open source maintainer, and a graduate from the University of Bristol. I’m a core developer for Luanti, an open source voxel game engine.

I worked as an Android developer just over two years ago, creating native apps for clients using Java and Kotlin. During that time, Kotlin was gaining prominence and had just been made official by Google. Google also introduced Architecture Components that year, later renamed to JetPack. Since then, the Android ecosystem has changed significantly, with Kotlin and JetPack gaining significant maturity and development. Out with Realm, Activities, and Model-View-Presenter (MVP), in with Room, fragment-based architecture, and MVVM. Data-binding and MVVM are pretty awesome and breathe a whole new life into Android app development.

Read more of "ForumMate: My return to Android app development"