Skip to content

Instantly share code, notes, and snippets.

@LuisSala
LuisSala / parser.md
Created June 8, 2023 01:28 — forked from comigor/parser.md
Cypher RPG System PDF Abilities Parser

Cypher RPG System PDF Abilities Parser

Although Cypher seems to be a nice RPG system, their shitty PDF layouting makes me sick when creating characters, specially when choosing their abilities. I was anxious going back and forth, needing to remember the page I was reading before. This is insane. Also, having the abilities parsed, it's way easier to create beautiful and automated character sheets on Google Docs and whatnot.

To run it, first install Xpdf command line tools and add to your $PATH.

Also, make sure you have the same official digital version (buy "Cypher System Rulebook, Revised Edition" here) of the PDF I do (or alter the variables and margin parameters).

$ md5sum Cypher_System_-_Revised_Edition.pdf

Keybase proof

I hereby claim:

  • I am LuisSala on github.
  • I am luissala (https://keybase.io/luissala) on keybase.
  • I have a public key whose fingerprint is E5B7 86A0 9487 98A6 7DD5 74EA A82C BC04 0838 F7AA

To claim this, I am signing this object:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
/*BEGIN RAPPORTIVE*/
body {
padding:0;
margin:0
@LuisSala
LuisSala / TicketGenerator.java
Created April 13, 2012 23:23
Alfresco Login Ticket Generator Example in Java
package org.alfresco.sample;
import org.springframework.context.ApplicationContext;
import org.alfresco.util.ApplicationContextHelper;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.repo.security.authentication.AuthenticationException;
@LuisSala
LuisSala / nodeserver.js
Created December 26, 2011 19:11 — forked from oscarrenalias/nodeserver.js
A very simple Node.js static file server, based on lightnode (https://github.com/ngspinners/lightnode)
//
// A very simple Node.js static file server and Ajax proxy, based on lightnode (https://github.com/ngspinners/lightnode)
//
// How to use:
// node nodeserver.js [/path/to/the/root/folder]
//
// Go to a URL such as http://localhost:8080/somefile.html where somefile.html exists in the current folder
// where node was started, or in the folder provided as a parameter
//
// For proxy requests, use http://localhost:8080/proxy/http://www.yourserver.com/ajaxCall to proxy your Ajax
@LuisSala
LuisSala / sproutcore-datastore.js
Created August 22, 2011 02:55
SproutCore DataStore Current as of 8/21/11
(function(exports) {
// ==========================================================================
// Project: SproutCore - JavaScript Application Framework
// Copyright: ©2006-2011 Strobe Inc. and contributors.
// Portions ©2008-2011 Apple Inc. All rights reserved.
// License: Licensed under MIT license (see license.js)
// ==========================================================================
require('sproutcore-runtime');
@LuisSala
LuisSala / gist:981140
Created May 19, 2011 16:09
Sample JSON Content
{
"link": "http:\/\/feeds.mashable.com\/~r\/Mashable\/~3\/nuv7KuWfogM\/",
"y:id": {
"value": "http:\/\/mashable.com\/?p=621077",
"permalink": "false"
},
"feedburner:origLink": "http:\/\/mashable.com\/2011\/05\/18\/killer-robots\/",
"slash:comments": "1",
"wfw:commentRss": "http:\/\/mashable.com\/2011\/05\/18\/killer-robots\/feed\/",
"description": "This is the description",
@LuisSala
LuisSala / gist:977646
Created May 17, 2011 23:24
SproutCore Toolbar with Label
topView: SC.ToolbarView.design({
layout: { centerX: 0, centerY: 0, right:0, height:36 },
childViews: 'lblTitle'.w(),
anchorLocation: SC.ANCHOR_TOP,
lblTitle: SC.LabelView.design({
layout: {centerY: 0, height: 24, left: 8, width: 200},
controlSize: SC.LARGE_CONTROL_SIZE,
fontWeight: SC.BOLD_WEIGHT,
value: 'News Reader'