Subject:

projects


Message-Id: https://www.5snb.club/w/projects/
Linked-From: wiki.

active projects

ripnixsearch

working on a faster nix search

code for it is here, but it’s definitely Not Ready to be generally used.

it’s around 100ms to load the data and do a search, and if I did an interactive mode, it’d be around 10ms per search.

project ideas:

inside the Mandelbrot

visualise the inside of it either through the direction of where points go, or the average distance/direction of the iterated points.

If you were to follow all the points inside the mandelbrot that don’t diverge, then you effectively end up with an infinite list of 2d points. The hard part is finding some fun way to visualise that which looks cool and shows off the complexity.

Maybe color based on “how many points make up a cycle”? But then you need to define a “cycle”. Unsure!!

openrct2 RNG manipulation??

okay, so i was watching Marcel Vos - Can you beat RollerCoaster Tycoon with €0? and it was concluded that Micro Park is impossible to beat with no money. However, if it’s possible to do RNG manipulation to force guests to spawn abnormally fast, then it would be possible (in openrct2 specifically, as you need the higher guest limit).

You need a park value of £100 000, and each guest provides £7, therefore you need around 15 thousand guests in 3 years.

Keeping the guests happy isn’t required, since it’s just a park value goal. You can’t use a no-entry sign (since you have no money), but you can just drag the guests away from the exit if they want to leave.

git clone https://www.5snb.club

i was trying to set it up such that you could Just Clone this repo (as a bare repo, and without cheating and redirecting to elsewhere).

Came up with this script, which works, but requires disabling git-lfs, so the commit hashes change.

this is expected to be put in a subdirectory of a git repo, and produces a bare repo under bare/.

the state should, but is not required to, be kept.

It intentionally does not GC on every update (since that would mean consumers need to download some packfiles again, which are kept somewhat small but 1MB isn’t nothing)

#!/usr/bin/env bash

git_repo_location="$PWD"

set -euxo pipefail

function init() {
    rm --force --recursive meow bare

    # make a normal repo
    git init meow -b live

    cd meow || exit

    git remote add upstream_blog "file://$git_repo_location"
    git fetch upstream_blog live
    git reset --hard upstream_blog/live
    # git lfs migrate export --everything --include="*"

    cd ..

    mkdir bare
    git clone --bare meow bare
    cd bare || exit

    git -c pack.packSizeLimit="1m" gc --aggressive --prune=now

    cd ..
}

function update() {
    cd meow || exit
        git fetch upstream_blog live
        git reset --hard upstream_blog/live
        git lfs migrate export --everything --include="*"
        git lfs uninstall --local
    cd ..

    cd bare || exit
        # TODO: is this force needed?
        git fetch --force origin live:live
        git update-server-info
    cd ..
}

cd publish_git || exit

if [[ ! (-d "bare" && -d "meow") ]]; then
    init
fi;
update

In principle you could do it without disabling LFS, by just pushing to a bare repo that you store somewhere (and then using that), but it seems like use of the batch api is required from now on in LFS, and that needs a real server. Probably. Unsure if you can just return a static file.