(GZ3)Doom (1993) VR is totally worth it

Someone has ported Doom (1993) to VR and it is as vomit-inducing-awesome in VR as you would expect. WARNING; The nausea won’t stop when you pull the headset off. Your body will need a bit longer to get used to non-VR. During this “cool off” I kept experiencing VR-sickness building. Anyway; downloading it from the releases page unzip it and copy in a DOOM.WAD (Doom95 in my case) start SteamVR (and turn on your Vive and controllers) launch it with the .
WiFi on a headless Raspberry Pi

WiFi on a headless Raspberry Pi

Login to your pi’s terminal, and run the following two commands. sudo su wpa_passphrase YOUR_SSID You’ll then be asked to enter the passphrase and confirm the passphrase. If they match; you’ll see a blurb that’s a config file fragment. Good. Now (still as su) repeat the last step, but pipe-append the output to the supplicant file. wpa_passphrase YOUR_SSID >> /etc/wpa_supplicant/wpa_supplicant.conf You won’t see the instructions this time - but that’s okay.

Scala Maybe

I wrote a Maybe that I can use in Scala. Scala Maybe … because I wanted a lazy variant of Option[+T]. I had a use case in mind at the time, but, since then; I’ve taken another approach. package peterlavalle /** * like Option[+A] but lazy */ trait Maybe[+T] { /** * Apply some operation to the value, and, return a new monad **/ def bind[V](operation: T => V): Maybe[V] /** * if we're empty; produce the other one */ def otherwise[E >: T](them: Maybe[E]): Maybe[E] /** * produce/convert this to a strict Option[T] in preparation for reading or matching it.

Marshalling Gits

This is a quick post-mortem on the three methods I examined for nesting some of our Git repos. In the end, I ran out of time and felt that the diversity of a CS team means that special handling would not produce a time saving benefit for me. submodule Git’s (somewhat) anointed solution is “submodules” and comes built in. Google’s CORGI project (et al) use it. trial I created two shared repositories and a third master repository.


p-Unity is/was/will-be a dumping ground for stuff I’ve written in Scala/Gradle to automate the parts of Unity3D that I wish to automate. For now; it’s a (twitchy) way to run editor tests from the command-line. Once/when I assemble re-usable packages, I’ll be able to fill in the stubs and make it; - build pre-compile assemblies from src/(main|test)/punity/ in Gradle-Like fasion. - publish/consume code as Gradle dependencies - export packages from the command line - export players from the command line

Git Copy PY Script

I found a set of git tasks was taking non-trivial time to checkout and push between repositories. I couldn’t find docs for a (working) git command sequence1 that pushed branches from one remote to another; so I wrote a python script to checkout a branch to local then push it. Once I was sure that it was running; I could reallocate my attention to something more deserving of my talents.

MultiBranch Mercurial JenkinsFile

This is just a “victory dance” sort of post about setting up a multi-branch build, for a Mercurial project, from a JenkinsFile. When I first tried to do this sthing, I recieved a message reading; ERROR: No configured Mercurial installation which was annoying. I hadn’t needed to setup Mercurial before, why did I need to now? Turns out, the workaround/worksforme from here this bug solves the problem by defining the default Mercuiral setup as … the … default?

Scala Extractors

Scala’s extractors and unapply() represent a concept that I haven’t grok’ed until now. Most demonstrations seem to be too long or use the same types everywhere. Here are my thoughts on the concept; val a: C = ??? val i: I = ??? i match { case a(f: O) => ??? } This will try to call the below method class C { def unapply(i: I): Option[O] = ??? } There’s some more flexibility;


I made a semi-cache coherent container which provides an Entity-Component-System. These are the bones of contemporary game-engines. This post is a bit crude; I keep thinking about it then adding features to Whippet instead of writing this up. Whippet on GitHub Google built CORGI which isn’t (yet?) trying to act cache coherent. It also is more than trivial to build, and suffers from NIH for me. Actually; that last bit isn’t likely to be a problem for most, but I didn’t like their license.

Of Entity-Component-Systems

I made a semi-cache coherent container which provides an Entity-Component-System. These are the bones of modern game-engines. This post is largely a gooey weasel opinion piece. It started as an introduction that grew out of control. So, for now, it’s just a bit of rambling while I clean-up the documentation for my tool. Of Entity-Component-Systems Among other things, Jason Gregory’s book Game Engine Architecture discusses the concept of a data-driven architecture for game software.