Category: code
COIL Connect
visit
A curriculum matchmaking app for teachers and professors around the world interested in collaborating.
AI Plans
visit
Coding an app for a small team to solicit approaches towards dealing with AI alignment.
wager
visit
A spaceship tavern gambling game, made with the DOM and http requests before I learned proper game stacks. Registrations are not verified; any email will do.
threejs
threejs gotchas
Lighting a large scene: DirectionalLight is the best simulation of daylight. But in a big world, you probably don’t want to light it all at once. You’ll need to update the light position and also it’s target position, what it uses to calculate it’s angle. The gotcha is: you have to run scene.add( light.target ) […]
bash resources
set_cache, a workaround to bundlers. Use CLEAR_FILE to prevent accidental sed overwrites. Replace all query string numbers with $1 arg to set_cache. If you use the same file structure or framework frequently and often code with multiple windows – start all the directories or files at once with Sublime Text (subl). A rough file / […]
state handling
CSS: javascript:
running certbot with nginx on debian 10 for SSL certificates
The authoritative source: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-debian-10 TLDR: A records in place for [url] and www.[url]basic server block in /etc/nginx/sites-available/[domain]sudo apt updatesudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interfacesudo apt install python3-certbot-nginx(https) : sudo ufw status if needed: sudo ufw allow ‘Nginx Full’sudo ufw delete allow ‘Nginx HTTP’ Lastly: sudo certbot –nginx -d your_domain -d www.your_domain […]
pm2 101
process monitor 2 list apps pm2 dashboard: start with custom name: reset app list: empty log files
Spatial audio with howlerjs quickstart
a few hurdles I had getting started with spatial audio: How do I scale “my game space” to “howler space” Remember that howler’s pos() is arbitrarily different than your position units – I found that anything beyond approx 5 “howler units” was silent. In my game, 5 units is a tiny distance, so I was […]
threejs scratchpad
visit
practice new functions in the console; copy and paste all your Scene init boilerplate
systemd 101
a pocket reference Getting to know your system daemon Create your user-created service files in: The machine-created service files will go in: more in-depth: where do i put my systemd service file what is the difference between systemd system and user services Example a sample .service file, at /etc/systemd/system/hello.service: *common mistake – make sure to […]
Bump!
embeddable clientside widget to book appointments with a firebase API
make your own Reddit browser
Reddit exposes all their subreddits (and just about everything else too), to public RSS feeds. This means you can do all sorts of fun automation with it. Here’s a quick recipe to get it up and running on standard shared LAMP hosting, such as you might have for a WordPress. [ DISCLAIMER ] – it […]
Mud
A browser MMO aimed at MUD fans.
HTTP soccer
visit
Coded a multiplayer board game using HTTP polling, enabling it to be dropped on any server running php and work out of the box. No rules are coded; it is up to the participants to play their own game.
somewhere gallery
An art gallery for anyone to hang art. (This project since merged into Threepress plugin)
Custom framerate for Threejs
By default, javascript’s requestAnimationFrame will run as fast as it possibly can, and if you have much logic in your animation loop, you’ll quickly hear your computer fans start to whir. To free up CPU power for other tasks and keep your webpage snappy, request your animation frames by timestamp instead of “asap”, like this: […]
art
lua
warcraft
wow
Illuminated Parchment
This was a plugin script circa 2014 (inserted via yet another plugin, Gryphonheart Items ), that allowed players in World of Warcraft to trade drawings with each other as in-game items. The stored drawing was an array of coordinate and texture data, a hybrid raster and vector approach, because there were no methods available via […]