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.

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.

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;

Whippet

I [made a semi-cache coherent container][ghWhippet] which provides an [Entity-Component-System][wikiECS]. These are the bones of [contemporary game-engines][wikiECSGame]. This post is a bit crude; I keep thinking about it then adding features to Whippet instead of writing this up. [Whippet on GitHub][ghWhippet] [Google built CORGI][googleCorgi] which isn’t (yet?) [trying to act cache coherent][corgiCache]. It also is [more than trivial][corgiBuild] to build, and suffers from [NIH][wikiNIH] 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][ghWhippet] which provides an [Entity-Component-System][wikiECS]. These are the bones of [modern game-engines][wikiECSGame]. 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][bookGAE] discusses the concept of a data-driven architecture for game software.

Cmder in TortoiseHG

Have you used TortoiseHG? It is lovely! Have you used Cmder? It is lovely! If you … setup cmder to launch from the command line open TortoiseHG Workbench > File / Settings > TortoiseHG / Shell put cmder %(root)s into the Shell field … then you can have these two lovely tools holding hands and kicking-bugs!