Skip to content

Instantly share code, notes, and snippets.


Vincent Lee williewillus

View GitHub Profile
View gist:07d6f5930a45cda9e6364095abc3fa63
time="2020-11-13T04:13:04Z" level=info msg="webdav: /originals/ waiting for connection"
time="2020-11-13T04:13:04Z" level=info msg="webdav: /import/ waiting for connection"
time="2020-11-13T04:13:04Z" level=info msg="starting web server at"
time="2020-11-13T04:13:15Z" level=info msg="session: open /photoprism/storage/cache/sessions.json: no such file or directory"
time="2020-11-13T04:13:17Z" level=info msg="photos: found 0 results for photo:true public:true dist:20 quality:3 count:60 order:newest merged:true [689.805µs]"
2020/11/13 04:13:37 Allocated new queue in 20.396µs; Capacity: 1257382
time="2020-11-13T04:13:45Z" level=info msg="photos: found 0 results for photo:true public:true dist:20 quality:3 count:60 order:newest merged:true [702.936µs]"
time="2020-11-13T04:13:49Z" level=info msg="Settings saved"
time="2020-11-13T04:13:49Z" level=info msg="Settings saved"
time="2020-11-13T04:13:51Z" level=info msg="Indexing originals..."
williewillus /
Last active Dec 25, 2020
Advent of Code in C - Challenge Guidelines

Want to do Advent of Code in pure C? Let's do 2020's series together.


Join my leaderboard: 21245-df3e4d76


Why not?

View build.gradle
buildscript {
repositories {
maven { url = '' }
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+'
williewillus / avg.awk
Last active Dec 10, 2019
Compilers final project testing
View avg.awk
freqs[$1] += $2;
count[$1] += 1;
for (test in freqs) {
avg = freqs[test] / count[test];
printf "%s %.2f\n", test, avg;
williewillus / 1132_to_114.xml
Last active Feb 24, 2021
1.13.2 -> 1.14 migration mappings
View 1132_to_114.xml
<?xml version="1.0" encoding="UTF-8"?>
<name value="1.13.2 to 1.14" />
<description value="1.13.2 to 1.14 MCP changes" />
<entry oldName="net.minecraft.GameVersion" newName="net.minecraft.util.MinecraftVersion" type="class" />
<entry oldName="net.minecraft.advancements.AdvancementList.Listener" newName="net.minecraft.advancements.AdvancementList.IListener" type="class" />
<entry oldName="net.minecraft.advancements.RequirementsStrategy" newName="net.minecraft.advancements.IRequirementsStrategy" type="class" />
<entry oldName="net.minecraft.advancements.criterion.AbstractCriterionInstance" newName="net.minecraft.advancements.criterion.CriterionInstance" type="class" />
<entry oldName="net.minecraft.block.Block.EnumOffsetType" newName="net.minecraft.block.Block.OffsetType" type="class" />
<entry oldName="net.minecraft.block.BlockAbstractBanner" newName="net.minecraft.block.AbstractBannerBlock" type="class" />
View gist:5491a61dcf8845bd8c135de89a879338
> Configure project :
New Dep: net.minecraftforge.test:forge:1.13-24.0.61-1.13-pre_mapped_snapshot_20181008-1.13_at_da58b498142355b9468d2e7d438465c9b67aaace
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
View ghast.json
"minecraft:entity": {
"format_version": "1.2.0",
"components": {
"minecraft:identifier": {
"id": "minecraft:ghast"
"minecraft:breathable": {

Git - Quick Primer

A fast-paced introduction to version control and git. If you want the full blown experience, see the git scm book:

What is version control

Version control is maintaining a detailed report of changes that happen to your codebase. Good version control practice allows you to roll back mistakes, work on features in parallel, and combine them into a final product.

How does Git record history?

williewillus / foo.json
Created Dec 19, 2017
mcpe entity models
View foo.json
"geometry.chicken": {
"texturewidth": 64,
"textureheight": 32,
"bones": [
"name": "head",
"pivot": [ 0.0, 9.0, -4.0 ],
"rotation": [ 0.0, 0.0, 0.0 ],
"cubes": [
williewillus /
Last active Apr 20, 2021
1.13/1.14 update primer

This primer is licensed under CC0, do whatever you want.

BUT do note that this can be updated, so leave a link here so readers can see the updated information themselves.

1.13 and 1.14 are lumped together in this doc, you're on your own if you just want to go to 1.13 and not 1.14, for some reason.

1.15 stuff:

Things in Advance

  • ResourceLocation now throw on non-snake-case names instead of silently lowercasing for you, so you probably should go and change all those string constants now. More precisely, domains must only contain alphanumeric lowercase, underscore (_), dash (-), or dot (.). Paths have the same restrictions, but can also contain forward slashes (/).