Skip to content

Instantly share code, notes, and snippets.

View unascribed's full-sized avatar

Una Kearney unascribed

View GitHub Profile
package com.unascribed.blah;
class Blah { // warning: Class Foo does not specify an access modifier (defaulting to package)
int blah; // warning: The field blah does not specify an access modifier and the
// class specifies no default (defaulting to package)
void hello() { // warning: The method hello does not specify an access modifier and
// the class specifies no default (defaulting to package)
System.out.println("Hello, World!");
}
@unascribed
unascribed / BrokenHash.java
Last active March 28, 2024 16:10
How to generate a (correct) Minecraft-style hex digest. Tested.
package com.unascribed.brokenhash;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.nio.charset.StandardCharsets;
/**
* Generates a broken Minecraft-style twos-complement signed
@unascribed
unascribed / .js
Last active February 26, 2016 20:47
// ==UserScript==
// @name YouTube Subscriptions Filter
// @namespace https://unascribed.com/
// @version 0.1
// @description allows you to filter your YouTube subscription feed
// @author Aesen "unascribed" Vismea
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @match https://www.youtube.com/feed/subscriptions
// @match http://www.youtube.com/feed/subscriptions
// ==/UserScript==

Keybase proof

I hereby claim:

  • I am unascribed on github.
  • I am unascribed (https://keybase.io/unascribed) on keybase.
  • I have a public key ASAY1vak2jFeqsTH7onTkwv4_RCC_tFGP8_APlkdf98pjwo

To claim this, I am signing this object:

Many people misunderstand how "digital storage" works, especially in reference to the Correlated storage system. They seem to believe that the items are turned into data and annihilated, later to be reformed based on the saved data. This is not correct — if it was, infinite copies of any given item could be created at no extra cost.

Rather, Correlated storage is based on Ender, a very interesting substance which, at its core, allows transport of matter or energy to and from "Enderspace" — a seemingly infinite in-between space generally used for teleportation by Endermen. Humans may also harness this by taking the concentrated "pearls" of Ender, dropped by Endermen when they die, and throwing them hard enough that they shatter. For reasons that still elude us, this causes the thrower to temporarily shift into Enderspace and then back out where the pearl shattered.

Enderspace also has uses in storage; combining an Ender Pearl with Blaze Powder allows creating an Ender Chest, a limited size portal to a persona

#!/bin/bash
fifo=/tmp/$RANDOM$RANDOM.raw
temp1=/tmp/$RANDOM$RANDOM.1.wav
temp2=/tmp/$RANDOM$RANDOM.2.wav
display=1
while [ -e /tmp/.X${display}-lock ]; do
display=`expr $display + 1`
done
Xvfb :$display -ac -screen 0 832x588x24 &
xvfb=$!

Common Sense Balancing Standard (CSBS)

  • No ore tripling, quadrupling, quintupling, etc. Ever.
    • The absolute limit on ore multiplication is 2.6 ingots per ore block, with typical gains being closer to 1.6.
  • A single block can never store more than 36 stacks of items, even when it's part of a multiblock structure.
  • Furnace-burning fuels should produce no more than 30RF per furnace fuel tick.
    • It can produce this as slowly or as quickly as you want.
  • Wireless interactions are permissible, and a trivial wireless implementation generally performs well.
    • However, well-designed network-topography-aware systems (i.e. wires) often outstrip the performance of wireless systems, and occasionally even dumb cellular systems do. More importantly, wireless is unsatisfying gameplay.
  • Time is not a balancing mechanic.

Elytra Code Style Guidelines

These are guidelines. Feel free to ignore them. Use your judgement.

Indentation

Tabs and spaces. Tabs for indentation, spaces for alignment. Reasoning: Tabs are more semantic, and their size can be adjusted to the reader's preference.

If changing the indent size in your editor misaligns the code and makes it unclear, you did it wrong.

package com.unascribed.materialpicker;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public enum MaterialColor {
RED("Red",
0xFF_F44336,
@unascribed
unascribed / injector.js
Last active April 19, 2018 04:01
Square avatars, a textarea bugfix, less padding, and a better font for Discord.
var font = "Roboto", monofont = "Roboto Mono",
d=document,s=d.createElement('style');s.textContent="body,input,textarea{font-family:'"+font+"' !important}pre{font-family:'"+monofont+"' !important}.avatar-large,.avatar-profile,.avatar-small,.avatar-xlarge,.avatar-xsmall,.avatar-xxlarge{border-radius:10%}.guild-inner,.guilds-add{border-radius:10% !important;transition:filter 0.2s}.guild-inner:hover{filter: brightness(150%)}.message-group{padding:10px 0}textarea[placeholder^=Message][style='height:auto;']{height:20px !important}.emoji.jumboable{width:48px;height:48px}";d.head.appendChild(s);