PageRenderTime 54ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/hacking.html

https://github.com/gvx/gvx.github.com
HTML | 330 lines | 325 code | 5 blank | 0 comment | 0 complexity | e4c0fdede76acec2f7591ec603e4e683 MD5 | raw file
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>~/Hacking</title>
  6. <link href="hacking.css" media="screen" rel="stylesheet" type="text/css" />
  7. <link rel="shortcut icon" href="favicon.png"/>
  8. </head>
  9. <body><div id="shuffle"></div>
  10. <div class="nav"><b>Places</b> | <a href="index.html">Userpage</a>
  11. | <a href="http://github.com/gvx/">GitHub</a>
  12. | <a href="http://gvxdev.wordpress.com/">Blog</a>
  13. | <a href="http://twitter.com/gvxdev">Twitter</a>
  14. <noscript>| This page is tastier with JavaScript enabled.</noscript>
  15. </div>
  16. <div class="title">~/Hacking</div>
  17. <div class="subtitle" id="subtitle">A collection of bits</div>
  18. <div id="projects">
  19. <div class="project">
  20. <p class="name"><a href="#duckit" id="duckit">#</a> Duck It <span class="status finished">done</span></p>
  21. <p>
  22. 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.
  23. You can also drag text on it to search for it.
  24. </p>
  25. </div>
  26. <div class="project">
  27. <p class="name"><a href="#lith" id="lith">#</a> Lith <span class="status concept">idea</span></p>
  28. <p>
  29. Lith is a minimalistic stack-based functional language. In it everything boils down to two things: lists and True.
  30. </p>
  31. </div>
  32. <div class="project">
  33. <p class="name"><a href="#dice" id="dice">#</a> dice <span class="status finished">done</span></p>
  34. <p>
  35. Dice is a dice-rolling command-line tool and Python module, useful for role-playing games and general tomfoolery.
  36. 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>.
  37. (It is all explained in the bundled man page.)
  38. </p>
  39. <p>
  40. The .deb is preferred, since it is newer and licensed MIT/X11, while the tarball is unlicensed.
  41. </p>
  42. <p class="more">
  43. <a href="https://dl.dropbox.com/u/2000007/dice-1.0-1.deb" title="Download .deb package from Dropbox" class="download">Download (.deb)</a>,
  44. <a href="https://dl.dropbox.com/u/2000007/dice.tar.gz" title="Download source from Dropbox" class="download">Download (source)</a>,
  45. <a href="http://en.wikipedia.org/wiki/Dice_notation" title="Wikipedia on dice notation" class="wikipedia">Dice notation</a>
  46. </p>
  47. </div>
  48. <div class="project">
  49. <p class="name"><a href="#space" id="space">#</a> space</p>
  50. <p>
  51. A game, set in space. A bit exploring, a bit shooting, things like that. Sounds familiar?
  52. Quite possible. It is meant to be everything SpaceFlight2D was supposed to be.
  53. </p>
  54. <p>
  55. Four empires, rebel forces, a shady company, an &ldquo;attractive&rdquo; black hole and mysterious <a title="KqzoPhr">words</a>.
  56. Find out about the complex inter-planetary relations while you fly around, take on missions and get promotions.
  57. </p>
  58. <p>
  59. Fly around, do missions and visit worlds unknown. These are some of the things you get to do while
  60. the story unfolds; a story about empires, rebels, alliances and backstabbing officials.
  61. </p>
  62. <p class="more">
  63. <a href="http://github.com/gvx/space" title="Space repository on GitHub" class="github">Source repository</a>
  64. </p>
  65. </div>
  66. <div class="project">
  67. <p class="name"><a href="#ste" id="ste">#</a> some text editor <span class="status concept">idea</span></p>
  68. <p>
  69. A text editor. I don't have a name yet, but I have a lot of ideas for it.
  70. </p>
  71. </div>
  72. <div class="project">
  73. <p class="name"><a href="#dejavu" id="dejavu">#</a> Déjà Vu</p>
  74. <p>
  75. A programming language, a cross between Python and Forth.
  76. I have implemented a parser and an interpreter in Python. The
  77. interpreter has some issues, however, so I wrote a bytecode
  78. compiler that works from the same parsed source tree as the
  79. interpreter. I am currently writing a virtual machine in C.
  80. </p>
  81. <p class="more">
  82. <a href="http://github.com/gvx/deja" title="Déjà Vu repository on GitHub" class="github">Source repository</a>
  83. </p>
  84. </div>
  85. <div class="project">
  86. <p class="name"><a href="#timix" id="timix">#</a> Timix</p>
  87. <p>
  88. An adventure game library and an adventure game, written in Lua.
  89. </p>
  90. </div>
  91. <div class="project">
  92. <p class="name"><a href="#ant" id="ant">#</a> Ant</p>
  93. <p>
  94. An ant simulation.
  95. </p>
  96. </div>
  97. <div class="project">
  98. <p class="name"><a href="#laze" id="laze">#</a> Laze <span class="status stuck">stuck</span></p>
  99. <p>
  100. A maze game, written for <a title="LÖVE: quite possibly the most awesome game framework ever" href="http://love2d.org/">LÖVE</a>.
  101. </p>
  102. </div>
  103. <div class="project">
  104. <p class="name"><a href="#astrat" id="astrat">#</a> AStrat</p>
  105. <p>
  106. A self-playing strategy game, which first generates the island on which it all takes place, and next simulates several empires as they expand.
  107. It then divides the empires into provinces, after which the empires play a fully automated Risk-like game.
  108. </p>
  109. <p class="more">
  110. <a href="http://love2d.org/forums/viewtopic.php?f=5&amp;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>
  111. </p>
  112. </div>
  113. <div class="project">
  114. <p class="name"><a href="#lcalc" id="lcalc">#</a> lCalc <span class="status finished">done</span></p>
  115. <p>
  116. A calculator using wxLua, which evaluates Lua expressions and statements. Stable and useful. <code>= 5</code> is short for <code>return 5</code>
  117. 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>.
  118. </p>
  119. <p>
  120. 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
  121. <code>hist[1] == _</code> and <code>hist[#hist]</code> is the first calculation executed.
  122. </p>
  123. <p>
  124. Previous expressions can be reached by using Ctrl+Up and Ctrl+Down.
  125. </p>
  126. <p>
  127. Results are shown on a white background, if the result is <code>nil</code>,
  128. the background is gray, and if there was an error, the error is shown on a
  129. red background.
  130. </p>
  131. </div>
  132. <div class="project">
  133. <p class="name"><a href="#luahub" id="luahub">#</a> LuaHub</p>
  134. <p>
  135. 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.
  136. <p>
  137. * Projects with only an initial commit and an empty README, for example.
  138. </p>
  139. <p class="more">
  140. <a href="http://github.com/gvx/luahub" title="LuaHub repository on GitHub" class="github">Source repository</a>
  141. </p>
  142. </div>
  143. <div class="project">
  144. <p class="name"><a href="#flirt" id="flirt">#</a> flirt</p>
  145. <p>
  146. Flirt is a FLIng Remake &mdash; the T doesn't stand for anything. Fling is a FLash INspired Graphics library.
  147. </p>
  148. <p>
  149. It's not much yet, but I already have plans for a higher-level library built on flirt for cutscenes.
  150. </p>
  151. </div>
  152. <div class="project">
  153. <p class="name"><a href="#ovic" id="ovic">#</a> ovic </p>
  154. <p>
  155. <abbr title="OpenDocument vi clone">Ovic</abbr> is a Vim clone, written in Python,
  156. to read, edit and write <abbr title="OpenDocument Text">ODT</abbr> files.
  157. </p>
  158. <p class="more">
  159. <a href="http://github.com/gvx/ovic" title="Ovic repository on GitHub" class="github">Source repository</a>
  160. </p>
  161. </div>
  162. <div class="project">
  163. <p class="name"><a href="#jump-game" id="jump-game">#</a> Jump Game </p>
  164. <p>
  165. Jump Game is one of the first games I made for LÖVE. It has seen some recent development. I added music, for example.
  166. </p>
  167. <p>
  168. On the to-do list, we can find &mdash; it's just two words, actually: Level Editor.
  169. </p>
  170. </div>
  171. <div class="project">
  172. <p class="name"><a href="#skeme" id="skeme">#</a> Skeme</p>
  173. <p>
  174. Skeme is a top-down scheme generator, useful for programming courses and the like. It was written because the
  175. application we used was woefully inadequate. It has grown into a library, command line tool and CGI script.
  176. It is very configurable, supports arguments, reference arguments (both output only and in/out), return values
  177. and repetitions (loops).
  178. <p class="more">
  179. <a href="http://github.com/gvx/skeme" title="Skeme repository on GitHub" class="github">Source repository</a>
  180. </p>
  181. </div>
  182. <div class="project">
  183. <p class="name"><a href="#stork" id="stork">#</a> Stork</p>
  184. <p>
  185. Stork is a story writing application. It will feature chapter and scene control, note management and a tagging system,
  186. intended to keep track of characters, objects and locations and their relations, both in the notes and in the scenes.
  187. </p>
  188. </div>
  189. <div class="project">
  190. <p class="name"><a href="#invader" id="invader">#</a> Invader</p>
  191. <p>
  192. The truth is <a href="/invader/">out there</a>.
  193. </p>
  194. <p class="more">
  195. <a class="github" href="http://github.com/gvx/invader">Source repository</a>,
  196. <a class="download" href="https://github.com/downloads/gvx/invader/invader-windows.zip">Windows download</a>,
  197. <a class="download" href="https://github.com/downloads/gvx/invader/invader-mac.zip">Mac download</a>,
  198. <a class="download" href="https://github.com/downloads/gvx/invader/invader.love">LÖVE/source download</a>
  199. </p>
  200. </div>
  201. <div class="project">
  202. <p class="name"><a href="#selove" id="selove">#</a> SELÖVE</p>
  203. <p>
  204. Security Enhanced <a title="LÖVE: quite possibly the most awesome game framework ever" href="http://love2d.org/">LÖVE</a>.
  205. </p>
  206. <p class="more">
  207. <a href="selove.html">Page on GitHub</a>,
  208. <a href="https://bitbucket.org/gvx/selove/overview">Bitbucket repository</a>
  209. </p>
  210. </div>
  211. <div class="project">
  212. <p class="name"><a href="#towlr-reverse" id="towlr-reverse">#</a> Days of Reverse Towlrs</p>
  213. <p>
  214. A <a href="http://www.towlr.com/">Towlr</a>, in a slightly loose sense of the word. This entry cannot describe the mechanics
  215. without giving at least part of its point away, as is usual for Towlr. Made with LÖVE.
  216. </p>
  217. <p class="more">
  218. <a href="http://love2d.org/forums/viewtopic.php?f=5&amp;t=2558" title="The forum thread in which this game was released to the world">LÖVE CLUB forum thread</a>,
  219. <a href="https://dl.dropbox.com/u/2000007/reverse.love" title="Download .love from Dropbox" class="download">Download</a>
  220. </p>
  221. </div>
  222. <div class="project">
  223. <p class="name"><a href="#contaminate" id="contaminate">#</a> Contaminate <span class="status finished">done</span></p>
  224. <p>
  225. A cellular automaton based on the spreading of disease, with absolutely not a single shred of regard for reality.
  226. </p>
  227. <p>
  228. 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.
  229. </p>
  230. </div>
  231. <div class="project">
  232. <p class="name"><a href="#boids-3d" id="boids-3d">#</a> Boids 3D <span class="status finished">done</span></p>
  233. <p>
  234. The classic <a href="http://www.red3d.com/cwr/boids/">Boids</a> simulation, written in LÖVE.
  235. I made something like this before, only 2D and quite erratic. (The original copy has
  236. probably been lost in time, but there is a <a href="www.youtube.com/watch?v=kDQ040EY4xs">video</a>
  237. showing off the hilarious awfulness of it all.)
  238. </p>
  239. <p>
  240. This version, however, is fully working, three-dimensional, and allows the observer to rotate the view port.
  241. <p class="more">
  242. <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>
  243. </p>
  244. </div>
  245. <div class="project">
  246. <p class="name"><a href="#conq-rer" id="conq-rer">#</a> Conqörer</p>
  247. <p>
  248. A Risk-like game under development. Originally by <a href="http://tommybrunn.com/">Tommy Brunn</a>.
  249. </p>
  250. <p class="more">
  251. <a class="github" href="http://github.com/gvx/Conq-rer">Source repository</a>
  252. </p>
  253. </div>
  254. <div class="project">
  255. <p class="name"><a href="#splash" id="splash">#</a> Splash screen</p>
  256. <p>
  257. A personal splash screen for the <a href="http://love2d.org/jam/">LÖVE game jams</a>.
  258. </p>
  259. <p class="more">
  260. <a href="https://dl.dropbox.com/u/2000007/lovejam-intro.love" title="Download .love from Dropbox" class="download">Download</a>,
  261. <a href="http://love2d.org/jam/jams/test-jam/robins-intro-screen/">Test Jam submission</a>
  262. </p>
  263. </div>
  264. <div class="project">
  265. <p class="name"><a href="#formula" id="formula">#</a> Formula</p>
  266. <p>
  267. A library, written for Python 3, that allows you to construct logical formulas. You can evaluate formulas and check if they are tautologies.
  268. </p>
  269. <p class="more">
  270. <a href="https://gist.github.com/2185287" title="Gist on GitHub" class="github">Download</a>
  271. </p>
  272. </div>
  273. <div class="project">
  274. <p class="name"><a href="#iae" id="iae">#</a> iae</p>
  275. <p>
  276. "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.
  277. </p>
  278. </div>
  279. <div class="project">
  280. <p class="name"><a href="#translit" id="translit">#</a> Translit</p>
  281. <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>
  282. <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>
  283. </div>
  284. <div class="project">
  285. <p class="name"><a href="#dream-flow" id="dream-flow">#</a> Dream Flow</p>
  286. <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>
  287. </div>
  288. <div class="project">
  289. <p class="name"><a href="#conex" id="conex">#</a> Conex</p>
  290. <p>
  291. Conex is a concatenative programming language based on Déjà Vu that looks like Haskell.
  292. </p>
  293. </div>
  294. </div>
  295. <div class="copyright">&copy;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 />
  296. <span class="slogan">Possible side effects may include but are not limited to loss of limbs, sense of humour and keys.</span></div>
  297. <script>
  298. // A simple, non-intrusive JavaScript snippet that counts the projects on the page.
  299. // If JavaScript is disabled, the subtitle simply remains “A collection of bits”.
  300. var projects = document.getElementsByClassName("project");
  301. var projectn = projects.length;
  302. var prjdiv = document.getElementById("projects");
  303. document.getElementById("subtitle").innerHTML = "A collection of ".concat(projectn, " bits");
  304. function randomSort()
  305. {
  306. for (i = projectn - 1; i >= 0; i-- )
  307. {
  308. var x = projects[i]
  309. prjdiv.removeChild(x)
  310. prjdiv.insertBefore(x, projects[Math.floor(Math.random()*(projectn-1))])
  311. }
  312. }
  313. randomSort()
  314. document.getElementById("shuffle").innerHTML = '<p><a href="javascript:randomSort()">⇅</a></p>'
  315. for (i = 0; i < projectn; i++) {
  316. if (projects[i].children[projects[i].children.length - 1].className != 'more') {
  317. p = document.createElement('p')
  318. p.className = "more"
  319. 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>.')
  320. projects[i].appendChild(p)
  321. }
  322. }
  323. </script>
  324. </body>
  325. </html>