Kirsle.net logo Kirsle.net

Welcome to Kirsle.net!

This is the personal homepage of Noah Petherbridge, and it's where I keep my web blog and various creative projects.

I blog about anything I find interesting, and since I have a lot of varied interests, my blog entries are kind of all over the place. You can browse my tags to sort them by topic and see which ones I frequently write about, or the archive has a complete history of my posts, dating back to 2008!

Besides my blog, I have pages for my creative projects, which are linked to on the navigation bar.

I write a lot about Linux and Android, Minecraft, and I like to rant about stuff. Generally anything that makes me curious. Also check out my Bookmarks for all sorts of cool websites about various topics I'm interested in.

For the geeks: this website respects your privacy and doesn't run any third party ads or analytics. This site speaks HTTP and doesn't require any JavaScript to work.

Favorite music
November 21, 2022 by Noah

NNN asks:

What kind of music do you listen to?

I listen to all sorts of things but most frequently are the following:

I generally like a lot of indie & electronic music in recent years. I have a Spotify playlist of several artists I like. Depending on my mood, some of my top go-to artists are Plantrae or Dirtwire if I just want some cool music with no/minimal vocals. Plantrae is also a great one to put on as some ambient music at the background of a party. Otherwise ZHU is often the one I click on and let Spotify have its way with me. Bob Moses is another favorite if I want something a little more bass-ey to jam out to.

I listen to a fair amount of pop music too, my top exposure to it being my car radio when I'm driving around, so whatever's on the Top 40 at a given time. Sometimes those songs will get stuck in my head and I'll play one on Spotify and let it wander and play similar songs for me. I also have a number of country artists/songs I like when I'm in the right mood and I have a short playlist on YouTube of sad songs when I need to get some emotions out.

And probably my #1 most favorite song in the world (which I don't let myself listen to very often, so that I don't ruin it for myself) is Canon in D.

Tags: 0 comments | Permalink
ErrorGen and ZenMsg Q&A
October 19, 2022 by Noah

Ax Wilson asks:

For some reason it is not opening the ZenMsg file how do i make it work.

ZenMsg is a command-line program designed to be invoked by batch scripts or similar apps when you want to show a customized alert box pop-up. When you run the program without any command-line parameters (including if you just double-clicked on ZenMsg.exe from your file browser), the program just prints out its usage instructions to your command prompt and then exits; if you double-clicked to run it, exiting means you saw a cmd window for a brief second which then closed immediately.

To run it properly, open Command Prompt (or Powershell) first, navigate into the directory you placed ZenMsg.exe in, and run "ZenMsg" at the command prompt to see its usage instructions. For an "easy" way to get a Command Prompt opened to the right directory, you can open Windows Notepad and type this text into it:

@echo off
cmd

And save it as "terminal.bat" (with quotations on it! so that it saves with a ".bat" extension, and not "terminal.bat.txt") in the same folder as ZenMsg.exe; then double-clicking on the terminal.bat will open a Command Prompt already pointed at the current directory, so you can just type "ZenMsg" to run the other program. For more info about the Command Prompt, see the DOS tutorial on ComputerHope.com which is where I myself learned how to use the Command Prompt, way back in the day!

Anonymous asks:

Why is ZenMsg a command line program?

My Error Message Generator program is a GUI where you can build your custom alert box message visually, and ZenMsg is a command-line version that can pop up your alert box without the ErrorGen GUI being needed.

The reason that ZenMsg is a CLI tool is so that you can invoke it from other programs easily, including from batch files or scripts written in Perl, Python or anything else. Actually, it's name, "ZenMsg" is based on the GNU/Linux program, Zenity from the GNOME project.

You should also be able to create a Windows shortcut file that runs ZenMsg with parameters so you can have a desktop icon that, when double-clicked, pops up a ZenMsg alert box with custom icon, message and buttons if you want to prank your friends or something.

Tags: 0 comments | Permalink
Meaning of Kirsle
October 19, 2022 by Noah

Anonymous asks:

What does your sites name kirsle come from/ what’s the meaning?

The short answer is that Kirsle is just an AOL screen name I came up with back in middle school and doesn't mean anything; and it turned out to be such a unique name (that most all Google results for it were about me), that I decided to keep it around forever.

The longer answer is that it was originally inspired by a videogame character on the game NiGHTS: Into Dreams for the Sega Saturn. One of the baddies in the game was named Kircle, with a C, but when I read it I thought the C should've been pronounced like an S but anyway my screen name was based on Kircle for a time. But after multiple people (including text-to-speech programs) were "mispronouncing" it, I swapped the C out for an S and in doing so found a very unique username for myself.

Also, fun trivia: kirsle.net was the first ever domain name I registered, back in 2005 when I was in high school (my mom had to buy the domain for me!) I took the ".net" extension instead of ".com" because I thought "kirsle.com" didn't roll off the tongue very well; and because I didn't have a bank account to just buy my own domain names, but I already had several different websites, I thought a ".net" suffix would go well to put a bunch of subdomains beneath ".kirsle.net" to host all my various sites on one domain name! (Before kirsle.net, my other sites were hosted on random free subdomains I could find online, also had a few free .tk domains back in the day!) I do now have kirsle.com and kirsle.org and they just redirect to kirsle.net because that name still sounds the best to me!

Tags: 1 comment | Permalink
Sketchy Maze v0.12.0
March 28, 2022 by Noah

It's been a while since I posted an update about my videogame project, Sketchy Maze but I've still been working on it and had released a handful of updates since my last post about v0.7.1 and my game is starting to get interesting. 😉

Sketchy Maze is a drawing-based maze game where you can draw your own levels freehand (like MS Paint) and make them look like anything you want. You can draw a castle, a cave or a giant boat, and then play it as a 2D platformer game. You can drag and drop some "doodads" such as buttons, keys, doors and enemies into your level to make it exciting. And as for those doodads? You can also create your own, too, and program them in JavaScript to do whatever you want. The game also includes a built-in Story Mode of example levels to simply play and/or learn from.

v0.12.0-title.png

Since my last update about v0.7.1 the game has got:

  • 8 new levels (now 12 in total across three built-in levelpacks)
  • 15+ new doodads, including: Anvil, Electric Trapdoor, pushable Box, Thief, Azulians, Checkpoint Flags, and a handful of technical (invisible) doodads for things like a custom Goal Region or Checkpoint Region if you don't want the flags.
  • Scoring and progression system, and hostile enemy creatures you need to dodge.
  • Controls added for touch screens and Xbox-style game controllers including Switch Pro Controllers.
  • Proper platformer physics with velocity, acceleration and jumping.
  • New drawing tools for the editor: Text Tool, Flood Fill/Paintbucket, Zoom in/out.
  • A much more capable JavaScript API for custom doodad scripts to enable more interesting behaviors.
  • Many user interface improvements.
  • 32-bit Windows and Linux support added.

The full change log is always available on the Guidebook for more details.

If you haven't seen my game yet, check it out! It's still in beta so it may be buggy or crash sometimes, but any feedback is welcome!

Tags: 0 comments | Permalink
Week 2 of daily driving the Pinephone
November 15, 2021 (updated December 15, 2021) by Noah

About two weeks ago I again put my SIM card into my Pinephone to see whether I can make it a daily driver device. The last time I tried this was nearly a year ago so I have that benchmark to compare it to as well as some new information now.

The stack:

  • Operating system: Mobian with the Phosh UI.
  • Carrier: T-Mobile (US)

The highlights:

  • I have MMS messaging sorta working: I can receive picture and group chat messages perfectly fine, but I can not send out an MMS myself. I can reply to a picture message as SMS but for group chats, if I need to respond, I can just pick somebody and send them an SMS out-of-band if need be.
  • Battery life is okay - not great, but given how often I actually use my phone, it's not bad either. Every other night I'll plug in my Pinephone or my Pixel 3 to charge, and my Pinephone gets me thru the day and then some (I can leave it not charging overnight, and it doesn't suffer too much for it).
  • Reliability for incoming phone calls while the phone is deep sleeping seem to be improved since last year. My Pinephone was sitting on my desk one day, removed from power, sleeping, and it rang and I answered it.
  • Other cell phone functionality all working OK: calls, SMS, 4G LTE data, and hotspot sharing over WiFi all working.
  • Waydroid seems more stable on Mobian and it runs my Android apps okay, and with KDE Connect I can get notifications from Android apps in my Phosh UI.
  • GPS location accuracy may be a challenge to sort out.

The details:

Read more...

Tags: 2 comments | Permalink
Waydroid on the Pinephone is a game changer
September 24, 2021 (updated October 11, 2021) by Noah

This week, some news about Waydroid made its way to the r/linux subreddit and in the comments I saw a Pinephone owner write about their experience with Waydroid and none of his complaints had anything to do with it being slow or clunky or broken, which is about what my experience was the last time I tested out Anbox about a year ago.

So it prompted me to check Waydroid out, and... it works remarkably well! It really surprised me. Waydroid makes use of containers to run Android directly on your own Linux kernel, without emulation, and so it performs very well -- some Android apps even run more smoothly than their native Linux counterparts!

I wasn't expecting that the Pinephone was ever going to be able to run Android apps smoothly on a GNU/Linux system, but now that it does, and does so this well, this is a game changer in terms of the Pinephone being "daily driver" ready. Finally, I have a way to use Slack and Discord from my Pinephone, something that was basically not possible at all before!

Screenshot of Discord (Android) running on Mobian

Now, to be clear: even without Android, there are a very good collection of Linux apps that already work well on the Pinephone. Having the option of Android for the odd proprietary app like Slack or Signal is nice to have. Read on to the full blog post for how Waydroid works right now, what are some of its pain points still, and a few screenshots of my Phosh app drawer showing everything I have installed on my Pinephone.

Read more...

Tags: 12 comments | Permalink
Developing a game from scratch
July 21, 2021 by Noah

For the past few years, on and off (sometimes more off than on), I've been working on a videogame called Sketchy Maze and had been taking screenshots of it along the way. This blog post will be a bit of a retrospective and a series of screenshots showing it from its very first prototype up to the state that it's in now.

I wasn't even sure I was going to get very far on this project. I had once attempted programming a game in Perl and lost steam after barely having a working prototype. I had dabbled a few times getting started programming a game but then decided my brilliant idea of an RPG game wasn't worth all the programming. Stubbornly, I never wanted to just use a game engine like Unity or Unreal but wanted to program it all myself. And programming from scratch is considerably the harder way to go, so your game idea had better be worth it in the end!

The game idea that won out is a personal and nostalgic one. Back in the 90's when I was growing up with videogames like Sonic the Hedgehog and Super Mario Bros., I would often draw my own "mazes" or levels like on a 2D platformer game, with pencil and paper and then "play" it with my imagination. I'd imagine the player character advancing through my maze, collecting keys that unlock doors, pushing buttons that activate traps somewhere else on the page. I'd write little annotations about which button did what, or draw a dotted line connecting things together. My mazes borrowed all kinds of features from videogames I liked, all your standard platformer stuff: buttons, trapdoors, conveyor belts, slippy steep slopes, spikes and water and whatever I wanted.

So my game concept was basically:

  • Players can draw their own mazes completely freehand, with w/e colors they want
  • Players can drag 'doodads' like buttons and keys into their level, and link buttons to devices, etc.
  • And it should be mod-friendly af: players can make custom doodads with custom behavior (programming)

See the full blog post to read how I even got this started and see screenshots of progression between the "Before and After" pictured below. My first target goal was just a stupid simple white window that I can click on to turn pixels black and save it as a PNG image. If I could get that far, I could do all the rest.

Before and After

Read more...

Tags: 0 comments | Permalink
Sketchy Maze v0.7.1
July 11, 2021 by Noah

It's been a while since I last wrote about my videogame project, Project: Doodle, which has now been given a proper name: Sketchy Maze. There have been a few releases of the game since I last wrote about version 0.4.0 and they bring some exciting new features!

Screenshot of the title screen of Sketchy Maze

Read more...

Tags: 0 comments | Permalink
"Just compile it yourself!" and other misguided security suggestions
June 9, 2021 by Noah

On forums like r/privacy people often discuss the role of open source software when it comes to privacy and end-to-end encrypted messaging applications. The general consensus is: a privacy focused app must be open source so that people can get their eyes on the source code and audit it for security vulnerabilities, verify it's doing what it says in the tin and without any secret government backdoors built in that would undermine the security and reveal peoples' private chats.

These are all well and good: if the source code is not open, you can't verify the code isn't doing something sneaky like uploading your encryption keys to the service provider or whatever. But, open source alone isn't a silver bullet to help guarantee the security of the app:

  • Just because the code is readable and somebody could audit it for bugs, doesn't actually mean anybody does. Some vendors of such software may hire security firms to deliberately audit their code, but for random small projects that haven't been formally audited, "open source != automatically secure" -- but still, it is better than closed source where nobody can audit the code.
  • Just because the source code is available doesn't mean the program you download from the App Store is built on exactly the same code. Google Chrome, for example, is built on top of the open source Chromium browser but after Google injects a few proprietary services and features; the Chrome program released by Google has features not found in the Chromium source code. This can be helped by so-called "reproducible builds" and I'll cover that below, but reproducible builds do not come "for free."

In this post I'll address a few common tired things I hear people on r/privacy say in regards to this topic and how it's never quite that simple.

Read more...

Tags: 0 comments | Permalink
Blockchain in a nutshell
May 9, 2021 by Noah

Have you ever wondered basically how blockchains work and what it means to "mine a Bitcoin" and why it's a time-consuming (and energy-intensive) process to mine one? In this blog post I'll summarize what basically drives blockchains and how they work, from my understanding of them anyway.

If you're anywhere close to a novice web developer or have ever hashed a password in your life, you already know the basic technology at play here. And even if you haven't, I think I can get you caught up pretty quickly.

The explanation I give below is surely super simplified and is based on my reading of how these work, along with several "Create your own blockchain in under 200 lines of code" type of tutorials which you could find for Python, or JavaScript or anything. It doesn't cover how the decentralized networking aspects work or any of those details, but just the basics on the cryptography side.

Read more...

Tags: 0 comments | Permalink