Skip to content

Instantly share code, notes, and snippets.

@Asmageddon
Asmageddon / filetype.balls.conf
Created August 26, 2011 13:29
KoL combat script(BALLS) syntax file for Geany
[styling]
default=default
number=number
word=keyword
string=string
word2=commentdoc,bold
classname=type,bold
defname=function
operator=keyword2,bold
identifier=default
@Asmageddon
Asmageddon / main.c
Created September 4, 2011 16:14
Intercept and modify messages sent by libpurple(fails)
#include <glib.h>
#include <glib-object.h>
#include <dbus/dbus.h>
#include <dbus/dbus-glib.h>
#include "marshal.h" /* The file generated from marshal.list via tool glib-genmarshal */
//VOID:INT,STRING,STRING - put into marshal.list
//glib-genmarshal --header --prefix=marshal marshal.list > marshal.h
//glib-genmarshal --body --prefix=marshal marshal.list > marshal.c
//Compile with: "gcc -MMD -Wall -ggdb -O -pthread -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -pthread -L/usr/lib/i386-linux-gnu -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 marshal.c main.c -o main"
@Asmageddon
Asmageddon / gist:1204526
Created September 8, 2011 20:07
Two player snake game
import sys, os, pygame, random
from pygame.locals import *
if not pygame.font: print 'Warning, fonts disabled'
if not pygame.mixer: print 'Warning, sound disabled'
screen_x = 512
screen_y = 512
tile_x = 24
tile_y = 24
@Asmageddon
Asmageddon / passwordstrength.py
Created December 25, 2011 12:55
Evaluation of password security for sequences of random characters and words
import random, math
import re
def log_bin(value):
return math.log(value) / math.log(2)
def cumprod(values):
result = 1
for i in values:
result *= i
@Asmageddon
Asmageddon / gist:1699128
Created January 29, 2012 14:48
Stub of a simple wxpython clipboard manager
#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx
TASKBAR_ICON = "icon.png"
class ClipmanIcon(wx.TaskBarIcon):
def __init__(self):
wx.TaskBarIcon.__init__(self)
self.icon = wx.IconFromBitmap( wx.Bitmap(TASKBAR_ICON) )
static value random_int( value o, value max ) {
if (!val_is_int(max)) {fprintf(stderr,"std_random max is no int\n");}
else {fprintf(stderr,"std_random max is in fact an int\n");}
if (!val_is_int(o)) {fprintf(stderr,"std_random o is no int\n");}
else {fprintf(stderr,"std_random o is in fact an int\n");}
val_check_kind(o,k_random);
val_check(max,int);
if( val_int(max) <= 0 )
return alloc_int(0);
return alloc_int( (rnd_int(val_rnd(o)) & 0x3FFFFFFF) % val_int(max) );
@Asmageddon
Asmageddon / Copy.hx
Created November 4, 2012 20:15
Deep copy of anything for Haxe
package com.asmoprime.utils;
/**
* ...
* @author Asmageddon
*/
class Copy {
/**
* Deep copy of anything using reflection (so don't hope for much performance)
**/

Tutorial 1: Introduction and basic setup.

  1. Overview:

In this tutorial, you will learn how to easily set up a development environment that will allow you to start learning and coding right away, with multiple helpful features that will make it easier, and the material you will start with will be making simple games using the Love2D framework.

Unlike most tutorials on the internet, I'm not going to focus on grinding down basic programming concepts and practices into you,

First some context. There's a pretty cool old(er) game about exploration, colonization and programming called Colobot that got opensourced recently (github) and I found out that it has a somewhat active (Polish) community and they're working on improving, fixing, porting, etc. the game.

Now, this was one of my favorite childhood games and I had literally dozens of different visions as to how a potential sequel could look and decided that it's always better to do something than do nothing and just talk about my ideas, so I started with what I know best(better than 3D graphics and physics at least), which is programming language design (and also happens to be my favorite topic in all of IT, just how cool is that?) and work on designing an educational but powerful programming language.

A question most people would ask is why I won't just use Python or some other simple language. I say: While many of these languages are good, simple and powerful, I believe that if the main

var WOLFRAM_KEY = "<API KEY GOES HERE>";
var local_cache = {};
function wolfram_api_call(query, key) {
var response = UrlFetchApp.fetch("http://api.wolframalpha.com/v2/query?input=" + encodeURIComponent(query) + "&appid=" + key + "&format=plaintext");
var xml = XmlService.parse(response);
var root = xml.getRootElement();