Archive for December, 2005

Conversion Guide from 2nd Edition AD&D to 3rd Edition

Saturday, December 31st, 2005

Wizards of the coast has a conversion guide for porting things from second edition advanced dungeons and dragons (aka 2nd ed D&D) to third edition (aka 3rd edition or d20 or D&D 3.5) at http://www.wizards.com/dnd/DnD_CYC_intro.asp . However, that file has gratuitous graphics and images in it making it a waste of printer ink.
Since I own a copy of Adobe Acrobat, I modified that file and posted it here:
Download file
This version has none of the extra graphics, and is about 1/10th the download size. I added back the page numbers, as they were part of the big rendered graphics that I deleted. I hope Wizards of the Coast doesn’t mind.

once again welcoming your comments. and what is lua.

Thursday, December 29th, 2005

I’ve upgraded my moveable type installation to version 3.2. I hope this solves the spam comment problem I was having with moveable type 3.0.1.
In the next few months, I’ll be introducing you to the programming language “lua”.
Lua can be downloaded from http://lua.org. Here is the direct link : http://luaforge.net/frs/download.php/1106/lua5_1b1_Darwin83.tar.gz for Mac OS X.
Lots of people comment how they “used to program” or would “like to program” and yet none of these people ever do. What a shame. Lua is a simple programming language, so why not get started with a little teaser to make you see how easy it is to play.

function shuffle()
local suits={"spades", "clubs", "diamonds", "hearts"}
local cards={"ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"}
deck = {}
local index = 1
for suitIndex, suit in ipairs( suits ) do
for cardIndex, card in ipairs( cards ) do
deck[ index ] = { suit = suit, card = card, value = { cardIndex } }
if cardIndex == 1 then
-- in blackjack, the ace is worth either 1 or 11
table.insert( deck[ index ].value, 11 )
end
index = index + 1
end
end
for i = 1, 52 do
local randomIndex = math.random( 52 )
deck[ randomIndex], deck[ i ] = deck[ i ], deck[ randomIndex ]
end
curCard = 1
end
function draw()
print( string.format("%s of %s", deck[ curCard ].card, deck[ curCard ].suit))
curCard = curCard + 1
end

And here is example output:

< shuffle()
< draw()
4 of clubs
< draw()
6 of clubs

Ok. Who am I kidding. You guys don’t want to learn lua. But if you do, here are some good questions: what is a function and how do you call one? What does call a function mean? What does it mean when the word “local” appears before a variable name? Are the words “for”, “function”, “end”, “do” and “if” special in some way? What is math.random? What is the significance of the curly braces “{” and “}”? Brackets “[" and "]” and parenthesis “(” and “)”?
I await with baited breath to see if anyone really asks me any programming questions.

Gingerbread is one word

Wednesday, December 28th, 2005

So we made a train out of gingerbread!
The Ginger Bread Circus Train
The End. By Andy.

Adobe Blogs

Wednesday, December 14th, 2005

Adobe Blogs
Did you know Adobe has blogs? I bet you wonder if I have one.
No.
I don’t think they’re interested in my kind of blogging there. It’s more for marketing folks… or “high level” stuff. Some of it is pretty interesting, for example, one post talks about people who take pictures by throwing their cameras in the air.
Or have you ever heard of a “plenoptic camera”? It is a 4-dimensional camera. Yeah, it allows you to refocus really blurry pictures.
http://blogs.adobe.com/jnack/2005/11/plenoptic_cameras.html
No, you can’t afford one.

Yes, I am too tall

Monday, December 12th, 2005

And we even have high ceilings in our house :)
DSCF0001.jpg