Tuesday, December 14, 2010

Notepad++, The New Editor King (or, jEdit Dethroned)

I finally gave Notepad++ an honest going over, and it is unquestionably the most flexible tool for editing text the internet has to offer. It:
  • handles my keybinding scheme
  • is fast(er than jEdit)
  • handles large files without choking
You can customize it to a ridiculous degree, and because it uses Scintilla for the editor, schemes should be portable across platforms (Geany, others).

Notepad++'s only real deficiency is its lack of full regex support.

Wednesday, December 1, 2010

Generalizing for Pathfinder Compatibility

I've looking at Pathfinder for a while (bought the core rulebooks and a few modules), but since listening the Chronicles: Pathfinder Podcast I'm energized to fix up the Grendel to be compatible with the core rules.

As always, I need knowledgeable testers to validate my suspicions (also some data entry help would be a huge help):


If you're unfamiliar with Pathfinder, it's essentially a light extension of the 3.5 rules in a well-articulated campaign setting. It's published by the old publishing arm of Wizards of the Coast, Paizo Publishing.

Interesting fact about Paizo: the publisher writes modules.

Monday, October 4, 2010

Fixing XP

Here's a list of utility programs that make Windows XP a little nicer:

Alwact Clock: Onscreen click-through clock
AutoHotkey: keyboard mapping and scripting
SetCapsLockState, AlwaysOff

CapsLock & a::
IfWinExist jEdit
WinActivate
else
Run C:\PROGRA~1\jEdit\jedit.bat
return

CapsLock & q::
IfWinExist ahk_class Chrome_WidgetWin_0
WinActivate
else
Run "C:\Program Files\Chrome\chrome.exe" --enable-accelerated-compositing
return

CapsLock & s::
IfWinExist xplorer²
WinActivate
else
Run "C:\Program Files\zabkat\xplorer2_lite\xplorer2_lite.exe""
return
PathTooLong: If you can't delete a directory because the path is too long
Power Menu: Window always-on-top
Power Resizer: Windows 7-style window resizing (half-screen on edge)
WizMouse: Scroll the window under the mouse

Monday, September 6, 2010

Also, Character Sheets

Here it is, a character sheet:


The nice thing is, if you don't like it, they're easy to make and easy to fill in with character data.

Saturday, August 14, 2010

multi-class in motion


Help me test v0.6!

This version is undergoing regular development, so the usual caveats apply. If you find what think is a bug, please create an issue on my Google Code project site, or leave a comment on a recent blog posting.

Batch upload script for CouchDB (using curl and jsawk)

I looked all over for something small and simple like this, but couldn't find anything.

Dependencies:
spidermonkey (required by jsawk)
libmozjs2d (required by spidermonkey)
jsawk (for parsing CouchDB response)
curl

Ubuntu doesn't include spidermonkey in the repositories (it uses rhino instead) so you'll have to grab spidermonkey from the Debian.

Copy the below script (change http://localhost:5984/cm-dev/hrothgar to your server/db/document) and save yourself a lot of clicks in Futon.


Usage: upload.sh [path containing the files to upload]

hput () {
eval hash"$1"='$2'
}

hget () {
eval echo '${hash'"$1"'#hash}'
}
hput js javascript
hput html html
hput css css

directory=$@
if [ -z "$directory" ]
then
directory="."
fi

filetypes="$directory/*.css
$directory/*.html
$directory/*.js"

for file in $filetypes
do
filename=`basename "$file"`
ext=`hget ${filename##*.}`
rev=`curl -sX GET 'http://grendel.cloudant.com/cm-dev/hrothgar/' | jsawk 'return this._rev'`
echo File : $file
echo Current revision : $rev
echo Uploading document: $filename
echo "${ext}"
echo curl : curl -X PUT http://grendel.cloudant.com/cm-dev/hrothgar/$filename?rev=$rev --data-binary @$file -H 'Content-Type: text/'$ext

curl -X PUT http://grendel.cloudant.com/cm-dev/hrothgar/$filename?rev=$rev --data-binary @$file -H 'Content-Type: text/'$ext
echo --------------------------------------------
echo
done

Thanks to Micha for jsawk.

Tuesday, July 20, 2010

Multi-class support

The major feature for v0.6 will be multi-class character support.

Post your thoughts on what to put in the space created by the edit page rearrangement.

chardata.class_name => chardata.classes[name]=level

edit: current look