Blog

Here I post things, it is pretty cool huh?

Archive

Follow with your favorite feed reader

Minecraft Fun Guide

Nov 22, 2023

Adapted from Ron Miller's Advanced Improvisational Practice Guide


A. Daily Affirmations

a. How fortunate i am that in this life i am one who has been allowed to creat fun with minecraft.
b. It is my Responsability to create peace, beauty and love with minecraft.

B. I Will Be Kind to Myself

a. IT IS ONLY GAME
b. No matter the level of my minecraft experience, how good or bad i think i am, i tis only minecraft and i am a beautiful person
c. I will not compare myself with my fellow players, if they make amazing builds i will enjoy it and be thankful and proud that i am a member of this community.
d. There will always be someone more minecraft skills than my own as there will always be those with less

C. Reasons to Play Minecraft

a. To contribute to the world's spiritual growth.
b. To contribute to my own self discovery and spiritual growth.
c. To pay homage to all great minecrafters, past and present who have added beauty to the world.

D. Rid yourself of the following reasons to play minecraft

a. To be the best
b. To be "Hip"
c. To hurt others
d. To get rich or famous

Read More

worklog

Oct 19, 2023

A simple work hours logger


So, i do commissions in several media forms, and i usually charge an estimate based on hourly pay. 
For art, thats very easy, as krita happily records time worked on a project! 
Screenshot displaying krita's inbuilt work timer

However, i also program, and that doesn't really have a built in timer. so yesterday i buckled down and built one!

Worklog

Worklog is a simple cli program that logs your time worked, with five simple commands. init start stop milestone and list. One of the big design ethos i decided on for the program is i wanted the log file itself to be human readable, partly because i believe that most software should store data agnostically to the software that created it, and also because i wished to have an easy time to edit it so that i could correct issues.
As a result, the work log can look like this*:

Thu 01 Jun 2023 17:41:03 AEDT / 05:00:00
---
Thu 27 Jul 2023 17:41:03 AEDT / 03:00:00
---
Fri 06 Oct 2023 17:41:03 AEDT / 00:15:00
Fri 06 Oct 2023 18:41:03 AEDT / 00:20:00
---
Wed 18 Oct 2023 17:47:21 AEDT / 00:10:00

* This log was created after the project it is logging was completed, so the times are genetic and innacurate

Each line either has a date and duration, split by a forward slash, or three dashes representing a milestone.
Milestones, I decided, were to be a way to have subtotals of time in your project, for example running worklog list with the above worklog provides this output:

05:00:00
03:00:00
00:35:00
00:10:00
———
total:
08:45:00

This allows me to, for example, return to the same project on multiple

Read More

Waste Eater

Aug 19, 2023

a review


Waste Eater

Author: cain

Year: 2023

Link To Game

Waste eaters is a very unique game that really speaks to my feelings.

Through it's controlled pacing, it's slow dialogue, and it's simple graphics it evokes really strong emotions about purposelessness.
The art style and sound design are beautiful, especially as a pixel artist myself. You won't find any music in this game, its not that kind of game.

The concepts of body horror, of transhumanism, and of being treated as lesser for it all speak to me on a fundamental level as a disabled nonbinary not quite human creature. While in the story of Waste Eater these are by choice, these were not by choice for me, and yet there is still interesting collisions and matching between these two concepts.

In Waste Eater, the character you play has taken upon themself, along with many others, a last ditch attempt to save the world. And no one thought it would work, and yet it did. I also have made last ditch attempts that worked, and i have also struggled in the results of them even if they worked.
Cenno is my last ditch attempt. It bars me from getting well paying work, it is not enough to live on, and yet like in Waste Eater, it worked. I am alive, it is better then the alternitve, its a net positive. And yet it is still a painful thing. I am still suffering, I am still poor, but i often have to face the thought "I should be glad."
In the end, i don't have to be. I'm allowed to be mad, angry, to want to live. Waste Eater expresses these

Read More

Themes

Jul 08, 2023


Inspired by my friend the rats, i have created a theming system for my site!
Currently i just have the default, "starscape" theme, and a y2k theme,  but i may add more in the future!

(you can click the dashed box in the nav menu to change the theme!)

I have done this using the magic of CSS and JavaScript. While i'd love to do it without js completely thats just not possible :'c

I wrote up some code to demonstrate how this might be done, it is as follows:

html:

<body theme="">
  <div>
  <label for=theme>theme:</label>
  <select id=theme onchange="document.body.setAttribute('theme',this.value);localStorage.setItem('theme', this.value)">
    <option value=red> red </option>
    <option value=green> green </option>
    <option value=blue> blue </option>
  </select>
  </div>
</body>

css:

body[theme=red]{
  background: pink;
}
body[theme=green]{
  background: aquamarine;
}
body[theme=blue]{
  background: skyblue;
}
html, body{
  height: 100%;
  padding: 0;
  margin: 0;
  transition-duration: 0.2s;
}
body{
  display: flex;
  justify-content:center;align-items:center;
}

div {
  background-color: white;
  padding: 3ch;
  border-radius: 1ch;
}

and javascript:

window.addEventListener("DOMContentLoaded", () => {
  let theme = localStorage.getItem("theme")
  document.body.setAttribute('theme', theme ?? "red")
  document.querySelector("#theme").value = theme ?? "red";
})

This results in the following:

if you have any more ideas for themes, let me know! this was really fun to do, and thanks again to my friends the rats

Read More

The Redstone Computing Revolution

Mar 06, 2023

23w07a: the jukebox snapshot


jukebox

There have been some recent developments in minecraft redstone, that is that we can now automate jukeboxes. This at a glance seems cool but i believe it is going to lead to a revolution in redstone computing.

Previously, we could only store 4 bits per inventory slot, using shulkerboxes. this was done by filling shulkerboxes with certain amounts of items in order to have them output certain signals, from 1-16 1-15, with a dummy item (such as a shovel) acting as a 0. this allowed us to store 108 bits in a single chest, or 75 chests for a single kilobyte.
Now we can store 108 bits in a single shulkerbox, by using music discs. as when played in a jukebox they can output signals 1-16 1-15. this is massive, as it allows us to use shulkerboxes as containers rather then nibbles[1], allowing us to compact our data down by 27x. that's 2916 bits per chest, or 3 chests per kilobyte.

Along with this increase in data density, we also have an increase in read and write speed! read speed has increased to 20 bps from 5 bps [2]. write speed i have not calculated but i imagine it can be faster then hopper speed (10 bps) using instant dropper lines, which at that point it would only be a matter how how fast you can request data to be written.

with all of these changes, im expecting to see a boom in redstone computing soon! and i can say i am Very excited!


  1. A nibble is a term for half of a byte, or 4 bits. this is also equivalent to a single hex number. ↩︎

  2. calculated by Mr_Korwaldski ↩︎

Read More

Pebble Rebel

Mar 03, 2023

A journey about my new pebble watch


Today marks the day that i have fully repaired my pebble steel!
It took some time, and i didn't take photos because i did it for me not for the content.

When i got my pebble, the first thing i did was learnt to make a watch face! C is a somewhat known language to me but im def still learning, so there were a few weird mishaps. but i defintely have to thank the rebble discord for helping me learn!
My watch face took a few days, and im still tweaking it, however it is so fun to learn a newish language, and solve problems, so i can wear my own art!

a watchface with a fox showing low battery, 21deg, 15:17, and cloudy a mock up of the previous watch face, but with placeholder numbers and a bluetooth disconnect image a flicking motion of the watch to activate the backlight and display an early version of the watch face

as well as that, i have also done some hardware repairs to the watch! this previous wensday i went to a watch shop, and had them replace the old screws (torx t3) as one was stripped and needed removal and replacement, after that i opened it up, careful not to pull the vibration motor off, and stuck some folded up paper in the back. this was to reduce screen taring while i waited on my replacement zebra strip to arrive.
Today that part arrived, so i opened up my watch again and took the whole thing apart! the hardest part was probably slipping the new zebra strip into place, as it was thicker then the original (which was intentional), however i managed to squeeze it back into the motherboard and return everything to its regular place.

I still have a piece of paper with one fold in the back, down from 6 before repairs, just to make certain screen taring remains a thing of the past.

I'm not sure what i will do in future with this watch

Read More

Updated Blog

Mar 02, 2023

and what im doing at the moment


As you may have noticed if you have looked at this page before now, i updated my blog somewhat! now you can see a fair bit of the post!

this was inspired by my friend rats, who has been starting to post to their own site too! it made me happy and i decided i want to post my longer form things that aren't structured articles, like this.

Later, i plan to talk some about my journey with my new pebble steel, both in software which i am experienced in, and hardware which i am not. i have already done some bodge repairs, while i wait for parts to arrive, but i hope it will be good in the future!

Html Theme

Jan 07, 2023

A small snippet that you can play with to test colour theme ideas for websites


I was working on some themes for a site when i decided to make this to help better visulise the themes:

Here is the site in an iframe, though to edit the colours you'll either have to save the site from this link or use your browsers inspector

Source:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Block Site</title>
        <style>
        
        /* Test Colours Here */
        :root{
            --link: #333;
            --head: #666;
            --nav: #999;
            --text: #eee;
            --background: #fff;
        }


        body, html{
            margin: 0;
            padding: 0;
        }
        body{
            height:100vh;
            background-color: var(--background);
        }
        header{
            background-color: var(--head);
            height: 4ch;
        }
        body section{
            display: grid;
            grid-template-columns: 1fr 9fr;
            height: 100%;
        }
        .sidebar{
            background-color: var(--nav);
            min-width: 8ch;
        }
        .content{
            font-size: 1.5em;
            padding: 1ch;
        }
        .word {
            display: inline-block;
            width: calc(var(--l, 6)*1ch);
            background-color: var(--text);
            height: 1em;
            margin-left: 0.5ch;
        }
        .word:nth-of-type(10){
            background-color: var(--link);
        }
    </style>
    </head>
    <body onload='document.querySelectorAll(".word").forEach((el)=>{el.style.setProperty("--l", Math.floor((Math.random()*8)+3))})'>
        <header></header>
        <section>
            <nav class="sidebar"></nav>
            <article class="content">
                <!-- 100 "Words"-->
                <span class="word"></span><span class="word"></span><span class="word"></span><span class="word"></span><span class="word"></span><span class="word"></span
Read More

New year

Dec 31, 2022

New me..mes


What a wild ride it has been! I am writing this just as a sort of "woo!" for the end of the year.

I did a lot this year, mostly related to health stuff. my wheelchair was meant to be delivered earlier this month but alas did not, but that means it will be a brand new thing!

I became the web warlock of Neokosmos (this was meant to be a link but the live site seems to be down and my site is still beta), a project that captured my heart since 2017 and has now captured my soul as i struggle with google's api to allow the writers to have 0 friction in updating the site, as the books are still WIP.

I got a cat!

Freddie

I did a drawing a day almost for an entire year, starting with my very first post on 07/02/2022, which means only a month left until that's been going on a full year!

I did a lot with many projects over this year that made me very happy.

I even migrated servers, not planning on doing that again!

I made new friends, reconnected with old, and had so much fun.

I hope this coming year will be just as amazing!

Read More

Absolute Paths, Absolute Madness

Dec 25, 2022

Don't forget about them


So. our story begins last month when i moved servers.
i didn't set up a backup script because i felt that it was unnecessary as i had server backups enabled. Easy!

Until last week that is, when during a change to how i store what date a post was created on, i accidentally made everything on the same day.
why does sed change the creation date metadata anyway‽‽

I quickly found out that server backups are just images, snapshots, of the server, meaning I'd have to loose the last 24 hours of data from stuff like myfriendsare.gay which was a no go for me.

So. that absolutely sucked, luckily i had a partial backup in the form of the original images for my art. so i managed to automate the restoral of that for the most part, excluding about the previous two weeks.

After that, i decided to set up the amazing Backup Script!

I think it was a clever script;

#! /bin/bash

# Make Backups
tar -cvzf "./beefox.xyz/beefox-xyz-$(date +"%Y-%m-%dT%H:%M:%S").tar.gz" -C /root/beefox.xyz/ ./static/files/ ./SitePosts/ ./webMentio
ns && echo -e "\e[1m\e[38;2;238;170;102mFinished Site Backup\e[0m" &
T1=${!}
sudo -u postgres pg_dumpall -v | gzip -9 > "./postgres/postgres-$(date +"%Y-%m-%dT%H:%M:%S").gz" && echo -e "\e[1m\e[38;2;238;170;102
mFinished Postgres Backup\e[0m" &
T2=${!}
mongodump --gzip --archive="./mongodb/mongo-$(date +"%Y-%m-%dT%H:%M:%S").gz" && echo -e "\e[1m\e[38;2;238;170;102mFinished Mongo Back
up\e[0m" &
T3=${!}

wait ${T1}
wait ${T2}
wait ${T3}
echo -e "\e[1m\e[38;2;238;170;102mFinished
Read More

Yet another explanation of the fediverse (or mastodon or friendica or pixelfed or peertube or pleroma or akkoma or activity pub or writefreely or honk or any other number of software names)

Nov 18, 2022

A hopefully understandable informational piece on the fediverse


So, twitter is dying and you've decided you don't want to deal with corporations any more. But what is the fediverse (or the list of the things in the title)?
The fediverse put simply is like email, except it is styled differently. Everyone has their own address, for example mine is @foxes@myfriendsare.gay, and anyone can talk to anyone else no matter where they are. I can talk to @foo@mastodon.example just as easily as i can talk to @bar@pixelfed.example.

What do you mean?? How's it work??

To put it simply, your instance, the site that your account is on, keeps a list of other sites it knows about. When you create a post, the site sends the post to all the sites it knows about. And then other people can boost that post which tells all of their followers about your post, even if they don't know about the site you are on yet! This is called federation.

What about likes?

Likes, favourites, kudos, whatever you may call them, they work the exact same way. and i mean exactly the same way! Your instance sends the same message, except for the fact the message is labelled "Like" instead of "Post". This however does mean that there is no such thing as accurate numbers in the fediverse, because it takes time for information to pass across the internet. If you follow someone however it is usually only 30 seconds or so at the most.
And this also applies for follows, for DMs (which are just posts, see Hold on, Admins can read my DMs??), for emoji reacts, for anything that can happen on the

Read More