Skip to content

Instantly share code, notes, and snippets.

@losinggeneration
losinggeneration / rss.go
Created September 25, 2012 15:13
Possible Go RSS formatter
package rss
import "encoding/xml"
type Channel struct {
XMLName xml.Name `xml:"channel"`
Title string `xml:"title"`
Description string `xml:"description"`
Link string `xml:"url"`
LastBuildDate string `xml:"lastBuildDate"`
@losinggeneration
losinggeneration / except.go
Created October 4, 2012 16:02
A quick and dirty exception handler for the Go programming language
/*
MIT license:
Copyright (c) 2012 Harley Laue <losinggeneration@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
@losinggeneration
losinggeneration / main.c
Created December 10, 2012 17:20
libssh with & without goto for error handling
#include <stdio.h>
#include <stdlib.h>
#include <libssh/libssh.h>
int main(int argc, const char *argv[]) {
char *host = "localhost", *username = "username", *password = "password";
int port = 22, timeout = 5;
ssh_init();
atexit((void(*)())ssh_finalize);
local ret_code , n_jobs = ...
ret_code = tonumber ( ret_code )
n_jobs = tonumber ( n_jobs ) or 0
-- This MUST be updated to where ljsyscall is located
package.path = "/home/harley/Source/languages/lua/ljsyscall/?.lua;" .. package.path
local ljsyscall = require "syscall"
local getenv = os.getenv
local function cmd ( c )
@losinggeneration
losinggeneration / lua_macro.zsh
Last active December 15, 2015 10:39
Lua path setting with ZSH functions. This is another reason why ZSH is awesome: macro shell scripting. This removes the need to duplicate code for each of these functions.
# useful for when you have multiple lua commands for different versions
for i in lua lua5.2 lua5.1 luajit; do
function $i()
{
# Get Lua's version
local lua_version=$(command $0 -e "print(string.sub(_VERSION, -3))")
# Append to Lua's paths using normal shell variable interpolation
LUA_PATH=$(command $0 -e "print(package.path..';$HOME/.luarocks/share/lua/$lua_version/?.lua;$HOME/.luarocks/share/lua/$lua_version/?/init.lua;$HOME/.local/share/lua/$lua_version/?.lua;$HOME/.local/share/lua/$lua_version/?/init.lua')") \
LUA_CPATH=$(command $0 -e "print(package.cpath..';$HOME/.luarocks/lib/lua/$lua_version/?.so;$HOME/.local/lib/lua/$lua_version/?.so')") \
command $0 $*
@losinggeneration
losinggeneration / remove_old_debian_linux_kernels.sh
Created April 9, 2013 18:31
A naive script to remove old kernels from Debian
#!/bin/sh
find /boot -type f -mtime +90 -and -name "vmlinuz*" | while read i; do dpkg -S $i; done | cut -d":" -f1 | xargs dpkg -r
@losinggeneration
losinggeneration / gist:8382292
Created January 12, 2014 08:32
Lua markdown
function markdown()
{
lua5.1 <(echo "$(cat << EOLUA
discount=require("discount")
if #arg > 0 then
for _,v in ipairs(arg) do
local lines = ""
local f = io.open(v, "r")
if not f then
io.output(io.stderr):write(string.format([[%s: No such file or directory\n]], v))
@losinggeneration
losinggeneration / main.lua
Last active October 13, 2016 15:37
A Löve2D main.lua bootstrap file for Moonscript. This loads main.moon during development so moonc isn't required. It also has the nice side effect of automatically being overwritten when moonc is run so the game is ready to be distributed.
--[[
DO NOT MAKE CHANGES TO THIS FILE!
This file will purposefully overwritten when moonc is run. However it provides
an easy way to do Moonscript development without having to use moonc to compile
to Lua.
]]--
--[[
License (MIT)
@losinggeneration
losinggeneration / moon.xml
Created January 15, 2014 06:44
A MoonScript syntax file for Kate
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
By Harley Laue <losinggeneration@gmail.com>
Based on the CoffeeScript syntax file by Max Shawabkeh (max99x@gmail.com)
and the Lua syntax file by Bruno Massa
-->
<language name="MoonScript"
version="1.0"
@losinggeneration
losinggeneration / lock.moon
Created March 24, 2014 15:02
Warlock Lua->Moon (just for fun)
--
-- Set a lock
--
-- KEYS[1] - key
-- KEYS[2] - ttl in ms
-- KEYS[3] - lock content
{key, ttl, content} = KEYS
lockSet = redis.call 'setnx', key, content