/hacking.html
HTML | 330 lines | 325 code | 5 blank | 0 comment | 0 complexity | e4c0fdede76acec2f7591ec603e4e683 MD5 | raw file
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <title>~/Hacking</title>
- <link href="hacking.css" media="screen" rel="stylesheet" type="text/css" />
- <link rel="shortcut icon" href="favicon.png"/>
- </head>
- <body><div id="shuffle"></div>
- <div class="nav"><b>Places</b> | <a href="index.html">Userpage</a>
- | <a href="http://github.com/gvx/">GitHub</a>
- | <a href="http://gvxdev.wordpress.com/">Blog</a>
- | <a href="http://twitter.com/gvxdev">Twitter</a>
- <noscript>| This page is tastier with JavaScript enabled.</noscript>
- </div>
- <div class="title">~/Hacking</div>
- <div class="subtitle" id="subtitle">A collection of bits</div>
- <div id="projects">
- <div class="project">
- <p class="name"><a href="#duckit" id="duckit">#</a> Duck It <span class="status finished">done</span></p>
- <p>
- Duck It is a Plasma widget, which opens <a href="duckduckgo.com/?t=gvxdev">Duck Duck Go</a> in your browser when you click on it.
- You can also drag text on it to search for it.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#lith" id="lith">#</a> Lith <span class="status concept">idea</span></p>
- <p>
- Lith is a minimalistic stack-based functional language. In it everything boils down to two things: lists and True.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#dice" id="dice">#</a> dice <span class="status finished">done</span></p>
- <p>
- Dice is a dice-rolling command-line tool and Python module, useful for role-playing games and general tomfoolery.
- It accepts die format strings in <code>1d6</code> format, but it also recognises more complicated strings such as <code>2d20+3</code> or <code>5z5*10</code>.
- (It is all explained in the bundled man page.)
- </p>
- <p>
- The .deb is preferred, since it is newer and licensed MIT/X11, while the tarball is unlicensed.
- </p>
- <p class="more">
- <a href="https://dl.dropbox.com/u/2000007/dice-1.0-1.deb" title="Download .deb package from Dropbox" class="download">Download (.deb)</a>,
- <a href="https://dl.dropbox.com/u/2000007/dice.tar.gz" title="Download source from Dropbox" class="download">Download (source)</a>,
- <a href="http://en.wikipedia.org/wiki/Dice_notation" title="Wikipedia on dice notation" class="wikipedia">Dice notation</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#space" id="space">#</a> space</p>
- <p>
- A game, set in space. A bit exploring, a bit shooting, things like that. Sounds familiar?
- Quite possible. It is meant to be everything SpaceFlight2D was supposed to be.
- </p>
- <p>
- Four empires, rebel forces, a shady company, an “attractive” black hole and mysterious <a title="KqzoPhr">words</a>.
- Find out about the complex inter-planetary relations while you fly around, take on missions and get promotions.
- </p>
- <p>
- Fly around, do missions and visit worlds unknown. These are some of the things you get to do while
- the story unfolds; a story about empires, rebels, alliances and backstabbing officials.
- </p>
- <p class="more">
- <a href="http://github.com/gvx/space" title="Space repository on GitHub" class="github">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#ste" id="ste">#</a> some text editor <span class="status concept">idea</span></p>
- <p>
- A text editor. I don't have a name yet, but I have a lot of ideas for it.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#dejavu" id="dejavu">#</a> Déjà Vu</p>
- <p>
- A programming language, a cross between Python and Forth.
- I have implemented a parser and an interpreter in Python. The
- interpreter has some issues, however, so I wrote a bytecode
- compiler that works from the same parsed source tree as the
- interpreter. I am currently writing a virtual machine in C.
- </p>
- <p class="more">
- <a href="http://github.com/gvx/deja" title="Déjà Vu repository on GitHub" class="github">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#timix" id="timix">#</a> Timix</p>
- <p>
- An adventure game library and an adventure game, written in Lua.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#ant" id="ant">#</a> Ant</p>
- <p>
- An ant simulation.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#laze" id="laze">#</a> Laze <span class="status stuck">stuck</span></p>
- <p>
- A maze game, written for <a title="LÖVE: quite possibly the most awesome game framework ever" href="http://love2d.org/">LÖVE</a>.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#astrat" id="astrat">#</a> AStrat</p>
- <p>
- A self-playing strategy game, which first generates the island on which it all takes place, and next simulates several empires as they expand.
- It then divides the empires into provinces, after which the empires play a fully automated Risk-like game.
- </p>
- <p class="more">
- <a href="http://love2d.org/forums/viewtopic.php?f=5&t=3629" title="The forum thread in which the updated version of this project was released to the world">LÖVE CLUB forum thread</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#lcalc" id="lcalc">#</a> lCalc <span class="status finished">done</span></p>
- <p>
- A calculator using wxLua, which evaluates Lua expressions and statements. Stable and useful. <code>= 5</code> is short for <code>return 5</code>
- and <code>:a 6</code> is short for <code>return set(6,"a")</code>, which is a different way of saying <code>a = 6 ; return a</code>.
- </p>
- <p>
- The result of the previous calculation is stored in <code>_</code>, and a list of all history is kept in a table called <code>hist</code>, such that
- <code>hist[1] == _</code> and <code>hist[#hist]</code> is the first calculation executed.
- </p>
- <p>
- Previous expressions can be reached by using Ctrl+Up and Ctrl+Down.
- </p>
- <p>
- Results are shown on a white background, if the result is <code>nil</code>,
- the background is gray, and if there was an error, the error is shown on a
- red background.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#luahub" id="luahub">#</a> LuaHub</p>
- <p>
- LuaHub is a Lua library to access the GitHub API. Started because the <a class="github" href="http://github.com/repositories/random">Random Repository</a> function on GitHub returned so much crap*, and didn't provide any further parameters to choose from, for example minimum amount of watchers or commits.
- <p>
- * Projects with only an “initial commit” and an empty README, for example.
- </p>
- <p class="more">
- <a href="http://github.com/gvx/luahub" title="LuaHub repository on GitHub" class="github">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#flirt" id="flirt">#</a> flirt</p>
- <p>
- Flirt is a FLIng Remake — the T doesn't stand for anything. Fling is a FLash INspired Graphics library.
- </p>
- <p>
- It's not much yet, but I already have plans for a higher-level library built on flirt for cutscenes.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#ovic" id="ovic">#</a> ovic </p>
- <p>
- <abbr title="OpenDocument vi clone">Ovic</abbr> is a Vim clone, written in Python,
- to read, edit and write <abbr title="OpenDocument Text">ODT</abbr> files.
- </p>
- <p class="more">
- <a href="http://github.com/gvx/ovic" title="Ovic repository on GitHub" class="github">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#jump-game" id="jump-game">#</a> Jump Game </p>
- <p>
- Jump Game is one of the first games I made for LÖVE. It has seen some recent development. I added music, for example.
- </p>
- <p>
- On the to-do list, we can find — it's just two words, actually: Level Editor.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#skeme" id="skeme">#</a> Skeme</p>
- <p>
- Skeme is a top-down scheme generator, useful for programming courses and the like. It was written because the
- application we used was woefully inadequate. It has grown into a library, command line tool and CGI script.
- It is very configurable, supports arguments, reference arguments (both output only and in/out), return values
- and repetitions (loops).
- <p class="more">
- <a href="http://github.com/gvx/skeme" title="Skeme repository on GitHub" class="github">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#stork" id="stork">#</a> Stork</p>
- <p>
- Stork is a story writing application. It will feature chapter and scene control, note management and a tagging system,
- intended to keep track of characters, objects and locations and their relations, both in the notes and in the scenes.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#invader" id="invader">#</a> Invader</p>
- <p>
- The truth is <a href="/invader/">out there</a>.
- </p>
- <p class="more">
- <a class="github" href="http://github.com/gvx/invader">Source repository</a>,
- <a class="download" href="https://github.com/downloads/gvx/invader/invader-windows.zip">Windows download</a>,
- <a class="download" href="https://github.com/downloads/gvx/invader/invader-mac.zip">Mac download</a>,
- <a class="download" href="https://github.com/downloads/gvx/invader/invader.love">LÖVE/source download</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#selove" id="selove">#</a> SELÖVE</p>
- <p>
- Security Enhanced <a title="LÖVE: quite possibly the most awesome game framework ever" href="http://love2d.org/">LÖVE</a>.
- </p>
- <p class="more">
- <a href="selove.html">Page on GitHub</a>,
- <a href="https://bitbucket.org/gvx/selove/overview">Bitbucket repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#towlr-reverse" id="towlr-reverse">#</a> Days of Reverse Towlrs</p>
- <p>
- A <a href="http://www.towlr.com/">Towlr</a>, in a slightly loose sense of the word. This entry cannot describe the mechanics
- without giving at least part of its point away, as is usual for Towlr. Made with LÖVE.
- </p>
- <p class="more">
- <a href="http://love2d.org/forums/viewtopic.php?f=5&t=2558" title="The forum thread in which this game was released to the world">LÖVE CLUB forum thread</a>,
- <a href="https://dl.dropbox.com/u/2000007/reverse.love" title="Download .love from Dropbox" class="download">Download</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#contaminate" id="contaminate">#</a> Contaminate <span class="status finished">done</span></p>
- <p>
- A cellular automaton based on the spreading of disease, with absolutely not a single shred of regard for reality.
- </p>
- <p>
- Healthy individuals spread, but contamination spreads much more quickly. A contaminated unit can contaminate nearby healthy ones, die and leave behind tainted earth or (rarely) mutate into a third form of units. These can spread into tainted earth and die after a while to leave behind normal earth, so non-mutated healthy units can spread again. This results in some kind of equilibrium.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#boids-3d" id="boids-3d">#</a> Boids 3D <span class="status finished">done</span></p>
- <p>
- The classic <a href="http://www.red3d.com/cwr/boids/">Boids</a> simulation, written in LÖVE.
- I made something like this before, only 2D and quite erratic. (The original copy has
- probably been lost in time, but there is a <a href="www.youtube.com/watch?v=kDQ040EY4xs">video</a>
- showing off the hilarious awfulness of it all.)
- </p>
- <p>
- This version, however, is fully working, three-dimensional, and allows the observer to rotate the view port.
- <p class="more">
- <a href="http://love2d.org/forums/viewtopic.php?f=5&t=3700" title="The forum thread in which this simulation was released to the world">LÖVE CLUB forum thread</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#conq-rer" id="conq-rer">#</a> Conqörer</p>
- <p>
- A Risk-like game under development. Originally by <a href="http://tommybrunn.com/">Tommy Brunn</a>.
- </p>
- <p class="more">
- <a class="github" href="http://github.com/gvx/Conq-rer">Source repository</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#splash" id="splash">#</a> Splash screen</p>
- <p>
- A personal splash screen for the <a href="http://love2d.org/jam/">LÖVE game jams</a>.
- </p>
- <p class="more">
- <a href="https://dl.dropbox.com/u/2000007/lovejam-intro.love" title="Download .love from Dropbox" class="download">Download</a>,
- <a href="http://love2d.org/jam/jams/test-jam/robins-intro-screen/">Test Jam submission</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#formula" id="formula">#</a> Formula</p>
- <p>
- A library, written for Python 3, that allows you to construct logical formulas. You can evaluate formulas and check if they are tautologies.
- </p>
- <p class="more">
- <a href="https://gist.github.com/2185287" title="Gist on GitHub" class="github">Download</a>
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#iae" id="iae">#</a> iae</p>
- <p>
- "iae" stands for interactive editor. It is an editor for Python, which works a bit like the interactive interpreter, except you can go back if you made a mistake.
- </p>
- </div>
- <div class="project">
- <p class="name"><a href="#translit" id="translit">#</a> Translit</p>
- <p>This originated from an application I made for transliterating between the Latin and Greek alphabet. Next, I wanted to convert between syntax for <a href="http://www.wolframalpha.com/">Wolfram|Alpha</a> and <a href="https://en.wikipedia.org/wiki/LaTeX">LaTeX</a>. I created an small application that sits in the indicator space, which has a menu which you can use to select one of several transformations on whatever text is in your clipboard.</p>
- <p>That was a while ago. Recently, I dusted it off, and improved it. You can now use short snippets of Python to transform your texts, as well as simple text replacement and regular expressions.</p>
- </div>
- <div class="project">
- <p class="name"><a href="#dream-flow" id="dream-flow">#</a> Dream Flow</p>
- <p>A concatenative programming language, based on the question what would have been if <a href="#dejavu">Déjà Vu</a> had been statically typed.</p>
- </div>
- <div class="project">
- <p class="name"><a href="#conex" id="conex">#</a> Conex</p>
- <p>
- Conex is a concatenative programming language based on Déjà Vu that looks like Haskell.
- </p>
- </div>
- </div>
- <div class="copyright">©2010,2011,2012,2013,2014 <a title="gvx@robinwell.net" href="mailto:gvx@robinwell.net">Robin Wellner</a>. <a href="http://gvxdev.wordpress.com/2010/06/23/gvx-userpage-now-implicitly-licensed/">Some rights reserved</a>.<br />
- <span class="slogan">Possible side effects may include but are not limited to loss of limbs, sense of humour and keys.</span></div>
- <script>
- // A simple, non-intrusive JavaScript snippet that counts the projects on the page.
- // If JavaScript is disabled, the subtitle simply remains “A collection of bits”.
- var projects = document.getElementsByClassName("project");
- var projectn = projects.length;
- var prjdiv = document.getElementById("projects");
- document.getElementById("subtitle").innerHTML = "A collection of ".concat(projectn, " bits");
- function randomSort()
- {
- for (i = projectn - 1; i >= 0; i-- )
- {
- var x = projects[i]
- prjdiv.removeChild(x)
- prjdiv.insertBefore(x, projects[Math.floor(Math.random()*(projectn-1))])
- }
- }
-
- randomSort()
-
- document.getElementById("shuffle").innerHTML = '<p><a href="javascript:randomSort()">⇅</a></p>'
- for (i = 0; i < projectn; i++) {
- if (projects[i].children[projects[i].children.length - 1].className != 'more') {
- p = document.createElement('p')
- p.className = "more"
- p.innerHTML = '<a href="mailto:gvx@robinwell.net?subject=download%20link%20for%20'.concat(projects[i].children[0].children[0].id, '">Request download link</a>.')
- projects[i].appendChild(p)
- }
- }
- </script>
- </body>
- </html>