Skip to content

Instantly share code, notes, and snippets.

@whilb
whilb / resume.json
Last active February 24, 2024 04:47
whilb's resume
{
"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
"basics": {
"name": "Will Butler",
"label": "Full Stack Software Engineer",
"image": "",
"email": "will@aerenserve.net",
"summary": "I am a software engineer who enjoys writing programs that are easy to use, code that is easy to maintain, and solutions that are easy to scale. I use code to streamline our interaction with the world. I love the terminal, automating pain away, and interacting with hardware.",
"location": {
"city": "San Francisco",
<body>
<div class="center">
<pre>
Welcome to whil.io
* GitHub: <a href="https://github.com/whilb/">https://github.com/whilb</a>
* LinkedIn: <a href="https://www.linkedin.com/in/butlerwill/">https://www.linkedin.com/in/butlerwill</a>
* Keybase: <a href="https://keybase.io/whil">https://www.keybase.io/whil</a>
tags: embedded, ARM, python, automation, linux, firmware, audio

Keybase proof

I hereby claim:

  • I am whilb on github.
  • I am whil (https://keybase.io/whil) on keybase.
  • I have a public key ASAB_Apup5vbBIDRPF6U3mDDR3UtKk-gYPZ0X4YZQTAhSgo

To claim this, I am signing this object:

@whilb
whilb / Directory.sol
Created June 17, 2020 20:59
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.9+commit.a1d534e.js&optimize=true&gist=
pragma solidity ^0.5.0;
contract Owned {
constructor() public { owner = msg.sender; }
address payable owner;
modifier onlyOwner {
require(
msg.sender == owner,
"Only owner can call this function."
package net.darkseraphim.actionbar;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import net.minecraft.server.v1_7_R4.EnumProtocol;
import net.minecraft.server.v1_7_R4.NetworkManager;
import net.minecraft.server.v1_7_R4.Packet;
import net.minecraft.server.v1_7_R4.PacketPlayOutChat;
import net.minecraft.util.com.google.common.collect.BiMap;
import net.minecraft.util.io.netty.channel.Channel;
public class rankmanager implements Listener{
//Fix your cases!
main plugin;
dbutils dbutils;
ranktypes ranktypes = new ranktypes();
public rankmanager(main plugin, dbutils dbutils){
this.plugin = plugin;
@whilb
whilb / master.java
Created June 25, 2014 16:23
For you, wesley
public List<UUID> masters;
private void createMasterList() {
this.masters = new ArrayList<UUID>();
}
private List<UUID> getMasters() {
return this.masters;
}
while true
do
java -XX:MaxPermSize=256M -Xmx456M -Xms456M -jar server.jar
echo "Server has stopped!" | mail -s subject user@gmail.com
echo "If you want to completely stop the server process now, press Ctrl+C before the time is up!"
echo "Rebooting in:"
for i in 5 4 3 2 1
do
echo "$i..."
sleep 1
package com.comphenix.example;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
@whilb
whilb / movelisten.java
Created April 28, 2014 04:08
listen for player move event
@EventHandler
public void onMove(PlayerMoveEvent event) {
Location from = event.getFrom();
Location to = event.getTo();
Location eLoc = remoteEntityThing.getLocation();
int modX = to.getX() - from.getX();
int modY = to.getY() - from.getY();
int modZ = to.getZ() - from.getZ();