Pi3 nGinx Reverse Proxy

So … you’ve got a Pi3 running as a Docker host with some services that you want your buddies to have access to. You could try and get them to SSH into your home network; just like you could type all your programs with a touchscreen. I’m going to use nGinx to setup a reverse-proxy from my real-Pi3 to various Docker containers based on URL rewriting. I’m doing something else (of course) I’m setting up (what I call) name-based-virtual-hosting.

GoGS on a Pi3 (via Docker)

I’ve been assembling a “full stack”1 for development that runs on my Pi3. This is all happening inside of Docker containers which made cleanup redonkulously easy. Today I was looking at a source code management system; something of a “my own GitHub” which I can run on my own network.

Pipe Sink

I had an idea/desire for a “simple” template class that’d work as my OpenGL thread. A contemporary design for multi-threaded 3D games10 seems to be pooling work and processing it in whatever threads are available. IME OpenGL/GLFW are not re-entrant; Apple2 and GLFW3 explicitly states that it won’t work - so it seems safe to assume that I shouldn’t call functions from different threads. So to make a super-fast 3D game (or whatever) I need to do less work on the thread which is running OpenGL while allowing other threads to send it whatever work they please.

Pi3 NameCheap

This is a followup to a previous post because that one stopped working, now - this works. There’s not a lot of OC here, just clarity. NameCheap DynDNS on a Pi3 I use NameCheap (because they’re anti-SOPA) for DNS. The client program, ddclient, can connect to NameCheap. I’m using raspbian, so, first; run sudo apt-get install ddclient on your Pi find the dynamic DNS settings on NameCheap’s website Dashboard >>> Domain List >>> Manage >>> Advanced DNS they do like to change these things around halfway down the page, there should be a DYNAMIC DNS thingie enable it (if you haven’t already) note the blurb-what-looks-like-a-SHA edit your /etc/ddclient.

Replace SaMBa with WinSSHFS!

I connected my Windows desktop to our office file server using SSHFS rather than SaMBa. I am happy about that. For some reason one of our SaMBa systems got twitchy sometime last month. This is a problem since I’ve inherited a script that; I don’t yet understand runs on Windows (10?) exclusively reads data from \\foo\bar\project\user\project3\data\something paths Since I know that SSHFS already works, I’m setting that up as a substitue.

Pi3 DynDNS

This has been replaced Pi3 DynDNS I want to give my home’s Raspberry Pi3 a DNS name so that I can access it more easily. DNS and Dynamic IP Addresses The Domain Naming System is how those readable textual names like example.com become the actual IP Addresses like 127.0.0.1 that web pages, email, and everything else needs to work. Various groups allow people to register a domain (or subdomain) and specify the IP address of a computer that the domain should reffer to.

Single Header Bullet

https://github.com/g-pechorin/bullet2stripped What? I reduced Bullet 2.83 to a single C++ header file. Why? Largely to see if I could … hey - SQLite saw a 5% - 10% speed boost when they did this right? … oh - and to ease adoption I guess … maybe … How? I used a slightly complicated Scala script that I’m not interested in examining again … for now … Basically; I took the 2.

Peter's Awesome Lua with the Core functionality we care about

TL:DR ; results DukTape is a C engine for executing ECMAScript 5.1ish. (… or JavaScript or whatever we’re calling it this week) Notably, it’s distributed as a trio of source files to ease integration. Lua is a C script engine (for the Lua languages) and is not distributed in such a nice way. So I spent a few hours preparing a (Python) script to repack Lua 5.3.3 into a single header.

PAL-System

Lindenmayer Systems allow one to specify a series of replacement rules for transforming strings. If the text is used as a series of drawing commands, including saving and restoring the cursor’s position, the technique can generate fairly interesting foliage. A scene graph offers the ability to save/restore by chaining segments together. I used Unity3D’s ScriptableObject to create “Languages” with replacement rules. I also created “Dictionaries” mapping symbols to segments made from GameObject prefabs.

Vive Cane

I’m still alive just … busy, not bloggy … maybe someday I’ll be more bloggy. Here’s something that kept me busy … Teleporting everywhere feels wrong, so my suggestion is to use the Vive wand like a cane. Two minutes feels a bit long, but here’s a video showing it off. More or less; when you grip the/a wand - your avatar is planting a cane in the world from which you can push yourself.