Pat Beagan
Posts (56)
About
Is it a sport or not?
18 Feb 2025
This is something that people have been arguing over for a long, long time. It’s a bit of a holy...
Project
KotlinJS Walkthrough
17 Feb 2025
Hosting the JavaScript output of a Kotlin Multiplatform (KMP) project is quite easy. Here’s how you can do it: Get...
Project
Creating a cross-platform url file
17 Feb 2025
Can a URL exist as a file? Yes it can! Depending on your platform you might be familiar with these...
Project
Pokemon Go Navigation
16 Feb 2025
{% for each in site.data.pokemon-go-navigation %} <div id={{each.id}} style="margin: 0 auto; padding-top: 30px; transform: scale(var(--imageScale));"> {{each.id}} {% include component/clickable-overlay.html data=each...
Project
Pokemon
An analysis of creature collection state systems
16 Feb 2025
In games that have both collectible creatures and battle mechanics, there are some design patterns that tend to emerge. The...
Project
Clickable Overlay
15 Feb 2025
What does it do? In a nutshell, it lets you put clickable area links over an image with an absolute...
Project
Chat Component for Jekyll
15 Feb 2025
Creating a Jekyll component which looks like a series of text messages. The texts are defined like this - sender:...
Project
Browser
Muggle Quidditch Rules
15 Feb 2025
Indoor Quidditch Comprehensive Rule Set Field Setup Location: Standard indoor gymnasium. Dimensions: Approximately 50 feet by 30 feet (dimensions can...
Project
Jekyll Network Analysis Component
15 Feb 2025
I’m experimenting with creating new components in Jekyll, and since I’m interested in network analysis, I wanted to create a...
Project
Hypercard Demos
12 Sep 2024
This is a proof of concept of a hypercard system Demo parks Demo index Demo choose your own adventure Demo...
Project
Hypercard
Hypermedia
VanillaJS
Dewey Decimal System
12 Sep 2024
This is a proof of concept of a hypercard system, which performs lookups into a dewey decimal system file to...
Project
Hypercard
Hypermedia
VanillaJS
Testing out Gemini AI code generation
07 Sep 2024
I am a daily driver of ChatGPT 3 (until the next version comes out!), but I wanted to see how...
Project
AI
VanillaJS
Weblog
21 Aug 2024
A demo of the tiny uicomponent library, which renders Markdown templates in different ways Demo1 Demo2 Demo3 Demo4 Demo5
Project
Cog
Taxonomy of Pokemon Families
21 Aug 2024
This is a dynamic page created as a proof of concept that the Cog library can interweave with Markdown and...
Project
Pokemon
Old Games
21 Aug 2024
Reminicing with my brothers about games long past, we put together this list of ones we are nostalgic for Bugdom...
Project
Cards
10 Aug 2024
Demo Demo Demo Demo Demo Demo Demo Demo
Browser
Pokemoncard-mini
15 Jul 2024
A demo of the tiny uicomponent library, which renders a pokemon card chooser as a single page app. Demo
Project
Pokemon
Pokemon Effectiveness
15 Jul 2024
This lightweight project aggregates Pokémon type effectiveness data in a straightforward, user-friendly interface. Please try it out! With this Pokémon...
Project
VanillaJS
Pokemon
A New Naming Scheme for Retrofit Requests
16 Apr 2024
The System We should divide network requests into a series of different classes/interfaces A Service A set of EndpointXYZ interfaces A Request / Response class per endpoint Why? It allows us to share endpoints between features It allows us to...
Tips and Tricks for Kotlin Notebook
11 Apr 2024
If you follow the Jetbrains blog you may have heard that there is a new plugin called Kotlin Notebook for running Notebooks using kotlin. I’ve been trying it out over the last few weeks, and I’ve been loving it. If...
Awesome online tools
10 Apr 2024
This is a collection of online tools which I use all the time Converting unix epoch time https://www.epochconverter.com/ Graphviz visualization https://edotor.net/ Forgiving JSON formatting https://jsonformatter.curiousconcept.com/
Randomizing an array in Javascript
09 Apr 2024
Recently I decided to dust off my javascript skills and get to work relearning web development fundamentals. There’s a lot more to like now than there was back in 2015… but coming from Kotlin, I’ve been missing a lot of...
Texas Plants
23 Jan 2024
Information about common texas plants. If they are toxix to dogs, they are highlighted in red. Demo
Project
VanillaJS
Simplify Prose
23 Jan 2024
Demo
Project
Language
Localnet - links to local ip addresses
23 Jan 2024
This page has a link to every local IP address. It lets you go directly to something which is on...
Project
VanillaJS
German translation
23 Jan 2024
When I was learning German, I wanted to have a tool which would let me look up the translation of...
Project
AI
VanillaJS
Bloc Pattern in Javascript
23 Jan 2024
Demo The Bloc pattern is used extensively in Flutter. It’s a way of doing reactive state management. The code for...
Project
VanillaJS
Recipes
23 Jan 2024
Comes as a recipe book and a meal plan The recipe book is much more fleshed out. It contains recipes...
Project
Cooking
VanillaJS
Swiss clock Webcomponent
23 Jan 2024
Switzerland is known for its punctuality. To facilitate this, Swiss railway clocks have an ingenious way of synchronizing so that...
Project
Cooking
VanillaJS
Bookmarklets
23 Jan 2024
The demo page here includes several bookmarklet links, which can be dragged into the bookmark bar of your browser. When clicked, they will run javascript to fulfill their purpose. Demo
Browser
Using the Firefox cache to download images in bulk
08 Jun 2022
I recently bought a house! The layout is unconventional, so I wanted to keep a copy of the images in the listing as a reference as we renovate. While inspecting the page, I realized that they were being loaded in...
Where should your web app images be hosted?
05 Jun 2022
You’ve done it - you’ve finalized the architecture for your content focused app, and are about to start including real data. As you generate your first large image files, you are suddenly forced with a decision. Where should these large...
Setting up a Minecraft blog via 11ty
05 Jun 2022
My brothers and I have a Minecraft server on Realms, and we play on it about once a week. Now...
Project
How to create a semantic color system on Android
01 Jun 2022
Semantic colors provide a way to organize a color system, so that any color references are given by intention instead of by value. But when I say semantic, what am I talking about? According to wordnik, one definition of semantic...
How to publish content online via Google Docs
29 May 2022
Part of a series on publishing content online. Getting Started Publishing via Google Docs is probably the most approachable way to make content available online. Almost everyone has a Google account! This method does not allow for much customization, and...
The easiest ways to publish content online
26 May 2022
This article will be updated as more child articles are written. Getting the word out there Creating content takes a lot of work. Once you’ve put in the effort, you should make sure that other people can see it! There...
Beagan Calendar
15 Mar 2022
Demo You can view the final project here. Note that the css transitions are only tested on Chrome at the...
Project
Javascript
Choo.js
Tachyons CSS
What to Expect When Entering the Field of Software Engineering
13 Mar 2022
Software engineering covers a wide range of disciplines. This document provides some insight into what you might expect when you are entering the field.
Software Engineering
Common issues with Android Performance
01 Nov 2021
Common issues with Android performance Performance is a topic which is usually saved until the last minute, or treated as tech debt. This writeup goes over some of the common performance issues that happen in Android apps. The most important...
Software Engineering
Best Practice
Versioning Systems
24 Sep 2021
All software engineering projects require a versioning strategy. Versioning allows us to reason about the relative stability of a build, and create code that depends on published libraries. However, as with most important engineering topics, there are multiple ways of...
Software engineering
ShaderToy Demos
27 Jul 2021
I recently discovered GLSL (OpenGL’s Shader Language), and had some fun with trying it out on ShaderToy. Shaders are small...
Project
GLSL
Shaders
WebGL
Kotlin tools - Union Types
14 Jul 2021
You can run the gist for this article here Union Types are a common language feature that stems from systems level programming. They are a type that stands for one of a set of types. They were originally intended as...
Software Engineering
Learning
Kotlin tools - Currying
12 Jul 2021
Currying a function allows us to reduce the number of parameters that a function requires. We can do this by returning a function that has some of the original information embedded within it. This is a functional programming technique called...
Software Engineering
Learning
Kotlin Data Types
12 Jul 2021
Unit: Indicates that no meaningful value is returned. Is the default inferred return type Its purpose is the same as void in Java, but it is a proper type, so it can be passed as a generic argument, etc. It...
Software Engineering
Best Practice
Paying Off Your Tech Debts
06 Jul 2021
How do we measure tech debt and ensure that it is prioritized? It’s a common occurance across the industry - maintenance of old code is pushed aside to make room for shiny new features. On my team, we’ve had to...
Software Engineering
Learning
Trudging through
designing
a MUD engine
15 Jan 2021
See the code for this project here B20Server is multiplayer game server as an engine. It is a ktor server...
Project
ktor
kotlin
react
retro
Bringing Flutter's Bloc Architecture to Kotlin
15 Jan 2021
See the github repo for this project here The Bloc architecture is a relatively new architecture initially created for Flutter...
Project
kotlin
flutter
bloc
architecture
Flutter Integration: Catch the Furniture
15 Jan 2021
Compared to react Native, Flutter renders more quickly, has better widget management, is typesafe, and is more intuitive to App developers. It is poised to be the Next Big Thing with google’s current work on Fuschia OS This was a...
Flutter
ConsoleVideo
15 Jul 2020
See the code for this project here ConsoleVideo is a set of image and video modification tools. It can be...
Project
Kotlin
Humble
Bash
Gradle
Functional Programming with Kotlin
28 Nov 2017
Functional programming paradigms can reduce the complexity and risk of new code. It contrasts with Object oriented programming, but before we can look at functional programming, we need to go over some definitions. What is Object Oriented Programming? Object-Oriented Programming...
Software Engineering
Best Practice
Kotlin Coroutines
12 Jul 2017
Coroutines are experimental in kotlin 1.1+ This means that they are currently stable, but the syntax for them might change. They are enabled via the library kotlinx.coroutines, so they are not coupled together with the language But what are they?...
Software Engineering
Best Practice
Migrating Dagger from Java to Kotlin
12 Jul 2017
Kotlin is a wonderful language that lets us increase the safety of existing Java codebases. You may find yourself in a situation where you want to try it out, but are worried about the compatibility of frameworks you use. If...
Software Engineering
Best Practice
/r/DailyProgrammer Solutions
07 Jun 2017
DailyProgrammingChallenge These are the solutions for the daily programmer questions on Reddit (Spoiler alert!) You can view the most recent...
Project
Javascript
Squibbish
01 Jun 2017
See the code for this project here fn main = {| echo hello world; } do main Squibbish was one...
Project
Kotlin
Bash
Compiler
Debugging in 4 Steps
12 Nov 2016
Most developers start out learning a simple hello world program in their given language. As they progress, their code gets more and more complicated. With this increased complexity comes risk, that your changes will not be doing everything that you...
Software Engineering
Best Practice
Beginner
GrappleGame
01 Jun 2014
See the code for this project here GrappleGame is a 2d game engine that I wrote in 2014. It allows...
Project
Java
Game engine