- Because German grammar is highly structured, punchlines often can't be put at the end of the sentence as in english
- In German, there are less puns or wordplay because German uses compound words which reduces double meanings of a word.
- According to Richard Wiseman's LaughLab, Germans actually laughed at the most jokes when they did a query on the world's funniest joke.
Monday, July 20, 2009
Do Germans Have Humour?
Saturday, July 18, 2009
isometric game engine update

Vecna's Extrodinary Role-playing Game Engine.

Thursday, July 9, 2009
Thesaurus Fail
Friday, July 3, 2009
Moving from Wordpress to Blogger: my story
Online social Networking for those who get off their arse…
I have never been one for online social networking sites. My god how many are there? Wikipedia currently lists 106 social networking sites. I don’t know how many invitations I received to join Bebo, Facebook, Friendster, Orkut and the ever ubiquitous Facebook.
The never appealed to me because they seemed to insular - you post a pictures of yourself, maybe a blog and shout out to your online friends. The operative word being online. The fact is, even though my life revolves around being online and computer application development, I don’t want anything that will glue my arse further to this seat than I am.
However, I’ll make an exception for one site - Couch Surfing. Yes, there are some extremely fanatical people about this website, but truth be told, I have met some of the most amazing people. Yes, this website is about to get an unabashed plug from me ![]()
Couch surfing is a hospitality site - that is, if someone from another country is visiting you, why not offer them a beer, coffee and perhaps a place to stay for a couple nights? Its up to you how generous you want to be with place and time. Truth be told its not for everyone, but if you have an open heart and open mind you can open doorways to some incredible experiences! I basicially travelled around Europe this June - September meeting couch surfers. The worlds that open up when you accept other peoples hospitality is amazing!
This is what I think sets its apart from those other 100+ social network sites, Couch Surfing actually encourages you to get offline and meet new people!
Incidentally, I came across the site quite by accident. I am fan of Montreal band Branvan3000 and wanted to look up lyrics for their couch surfing song. This song actually inspired the name of the hospitality. And I even met my current girlfriend through couchsurfing… well here’s to serendipity!
Game Development Portals
I’ve been gone for several months now, but I hope to get a few more posts in the blog going. I decided to quickly post here something I’ve been interested in quite some time: computer game programming. I thought would write a bit about my favourite resources (aside from Google) for programming computer games:
- Gamasutra - Game Industry Portal. Find out the latest news for Game Industry. Countless resources for gaming industries including news, gaming jobs, and computer game education.
- Generation 5 - Artificial intelligence Portal - contains articles, interviews, a glossary. As stated on their website: Generation5 aims to be the most comprehensive Artificial Intelligence site on the Internet. Community-orientated, Generation5 deals with all AI topics including robotics, neural networks, genetic algorithms, AI programming, home automation and much more.
- Game Development Search Engine - The site seems to had the ‘ob_gzhandler’ error in its header forever, but despite this, the site is pretty good resource for Game Developement, tutorials and other resources.
- Quandary Computer Game Reviews - A pretty comprehensive site of reviews for nearly every computer game that you can think of.
- RPG Portal - Another comprehensive online portal and community - but this exclusively dedicated to computer Role Playing Games.
- DCEmu Console Gaming Portal - the very latest news, downloads, reviews, previews and much more from every console and its gaming, homebrew and emulation scene.
- Games Discovery Portal - Though the site is plagued with adverts - it has some very good information about game programming - in particular the ‘Game Ideas’ forum - if you are looking to get inspired for new ideas, might pay to visit that section.
- Devmaster Game Development Portal - This is one I frequent often - this is a vast resource of articles, engine databases, and much more. Has a strong community and addictive.
- Gamedev.net Game Programming Portal - This is possible best online portal that I’ve found. With over 130,000 pages indexed in Google - it is probably the most vast resource to the game development universe.
- The Water Cooler Games Portal - This portal is recent find, and perhaps isn’t a portal at all. It a portal to discuss the social, political and educational use of computer games. This site will help you think outside the box and help you see the broader impact of how computer games effect your day to day life.
I am going to have a few more computer game programming posts in the future as well - hope you enjoy what I’ve found. I may comeback and update this post if I find anything else interesting.
Dream: United States is underwater 20.March.2007
Haven’t had any interesting dreams in while - and I have been a bit too busy with other stuff to keep up my blog. Here is a dream from last month thats a bit ‘Apocalyptic’:
I was in bed and my mother came in crying and woke me up. She told me that the state of Georgia in the USA was underwater and everything in Atlanta was destroyed. I asked if my grandmother was ok but she didn’t know.
I saw a map of Atlanta on the news and it was a coastal city. The news said 590 million people perished around the world in a series of catastrophes.
My family wanted to fly into ... to check on my grandmother - but there was chaos in the airport. I felt a gut wrenching tug in my chest because I know that my grandmother was close to Atlanta and all alone. At the airport they were looking for people to survey the damage in Georgia and I volunteered.
Instead of going to Atlanta where the main damage was, I head slightly north to wear my grandmother lived. She was actually doing ok - her neighbours visited her and made sure she was ok.
We talked about what happened and she said that 590 million people throughout the world died in flooding and earth changes.
European Countries that allow Dual Citizenship
originally posted here: http://zegarkus.com/2007/03/18/european-countries-that-allow-dual-citizenship/
Because I am currently going through the process the of dual citizenship between the two countries I have lived in I decided to do a quick investigation of countries in Europe that allow for dual citizenship. Below is list of Countries from Europe that allow dual citizenship with the least of amount of stipulations. Most EU countries do not allow dual citizenship or have a long list of pre-requirements before allowing dual citizenship:
Dream: Pyramidal light beam 12.March.2007
Orignally posted here: http://zegarkus.com/2007/03/14/dream-pyramidal-light-beam-12march2007/
Wow, February and March of this year I’ve had a lot dreams (I’ve only been able to write the most significant ones here). This one was short but visually compelling:
I was climbing a stepped Pyramid. I stood on top I reached the capstone. The I beam of white light came right out of the sky in vertical line to top of the pyramid. This beam of light went right into my chest, at my heart centre and illuminated me.
Here is a pyramid dream interpretation:
This ancient and powerful symbol has general meaning for all and specific meaning for the dreamer. It represents the coming together of the world of man with that of God, the material with the spiritual. The purpose of the pyramids was to bury the dead and to assist them into reaching eternity. In this way, the pyramids were holy places and their architecture and mysticism continues to amaze and to intrigue us. In order to understand its symbolism; consider your current accomplishments and breakthroughs. If you accomplished a personal goal and feel a sense of wholeness, this dream symbol may be an affirmation of those feelings. The pyramid could also represent larger goals and deepest strivings. Whether they represent fulfilled or incomplete goals, a pyramid seems to be a very positive dream symbol.
Dream: Where did the time go? 13-Feb-2007
Originally posted here: http://zegarkus.com/2007/03/11/where-did-the-time-go/
Here is my dream:
I woke up early and all the clocks were wrong, some were flashing, others moving backwards, others moving forwards, others ticking at random intervals. I heard a voice inside my head saying that was in a dimension where time did not matter.
Dream: Watching the Crocodile Float by 7-March-2007
Dreamt I was flying over a jungle with adventure guide girl. We parachuted out and landed next to a river. While we were there there were several crocodiles about which we killed. I followed her to a beautiful grassy clearing next to the waterfall. My eyes following the white underside of crocodile I killed - it was floating belly up.
Then I noticed the crocodile quickly disappear, it fell down a waterfall which was only about 25metres in front of me. It was a magnificent view point from where we were standing. There were about 5 - 7 massive treetops just beyond the zenith of the waterfall, suggesting that the waterfall was tiered below. The massive branches of the trees glistened in the sunlight. The sky was without clouds and a most remarkable azure in colour.
Crocodiles have always been in my dreams as long as I can remember. Earlier dreams I remember being fearful and possible eaten by crocodiles but all my recent dreams have always been of slaying crocodiles. Crocodiles often represent primal fears. Some interpretations suggest that the death of crocodiles mean success!
Additional symbols in this dream that I have looked up:
- Waterfall: happy rise in status and/or an imminent increase in material wealth. Also symbolic of letting go.
- Parachute: protection and security during a time in which many risks and turmoil surround you. Also happy love life.
- River: In this case, I was not swimming or crossing the river, but rather following the river bank; this indicates a sign that I you continue along your present lines, success will follow.
- Blue Sky: represents possibility, limitless potential, hope, and/or freedom.
- Jungle: The jungle in dreams represents the wild, passionate side of my personality. It may signify aspects of myself and your personality that may have been inhibited.
Who the guide is at this point I don’t know. It could be a representation of myself that I have yet to discover - or perhaps it is a new friend or lover that guides towards bliss. We shall see!!!
Rune Lua script - first lua script i created
Originally this post is from here: http://zegarkus.com/2007/02/18/rune-lua-script-first-lua-script-i-created/
Ok, I like runes so I decided to create little Lua script for a game that wants to use a quick runic prophecy. This is my first Lua script in the process of learning the langange. I’ve assigned a few gamer attributes (agility, charisma, health, intelligence, luck, strength) to the Elder Futhark runes. The script contains a class that does the following:
- user inputs how many runes are returned (should be 24 or less, thats how many runes are in this runeset
- user indicates if the runes should have randomly generated negative meanings (murk staves)
- returns a table of randomly chosen runes including the attributes assigned to it
- returns a table summary of all the attributes from the casting.
A potential result set for this could be
name hagalaz
agility 2
strength 2
luck 0
charisma 0
intelligence 5
health 5
name mannaz
agility 0
strength 0
luck -1
charisma -1
intelligence -5
health 0
name ingwaz
agility 3
strength 3
luck 0
charisma 0
intelligence 0
health 4
——-totals:——-
agility 5
health 9
strength 5
charisma 8
intelligence 0
luck -1
Feel free to modify anything - this was the first Lua script I ever composed so don’t expect groundbreaking stuff or efficient code!
Code Here, sorry formatting is a bit off:
– created by Zegarkus 18.Feb.2007
– feel free to alter or do anything you want with the script
– author not responsible for from any damages cause by this
– script or any bad prophecies!Rune = {}
Rune.__index = Runefunction Rune.create(num_runes,murk)
local run = {} — our rune object
setmetatable(run,Rune) — make Account handle lookup
– below are the constructors for this class:
run.num_runes = num_runes
run.murk = murk– Assigned rune prophecies here, replace according to your knowledge of runes!
run.fehu = {name=”fehu”,agility=0,charisma=2,health=0,intelligence=3,luck=4,strength=0}
run.uruz = {name=”uruz”,agility=5,charisma=2,health=5,intelligence=2,luck=0,strength=3}
run.thurisaz = {name=”thurisaz”,agility=3,charisma=0,health=5,intelligence=0,luck=0,strength=5}
run.ansuz = {name=”ansuz”,agility=0,charisma=5,health=0,intelligence=5,luck=0,strength=0}
run.raidho = {name=”raidho”,agility=5,charisma=0,health=0,intelligence=2,luck=2,strength=0}
run.kenaz = {name=”kenaz”,agility=3,charisma=5,health=3,intelligence=0,luck=0,strength=0}
run.gebo = {name=”gebo”,agility=0,charisma=5,health=0,intelligence=4,luck=0,strength=0}
run.wunjo = {name=”wunjo”,agility=0,charisma=5,health=3,intelligence=2,luck=0,strength=0}
run.hagalaz = {name=”hagalaz”,agility=2,charisma=0,health=5,intelligence=5,luck=0,strength=2}
run.naudhiz = {name=”naudhiz”,agility=5,charisma=5,health=5,intelligence=0,luck=3,strength=0}
run.isa = {name=”isa”,agility=0,charisma=4,health=4,intelligence=4,luck=0,strength=0}
run.jera = {name=”jera”,agility=0,charisma=4,health=1,intelligence=4,luck=1,strength=0}
run.eihwaz = {name=”eihwaz”,agility=5,charisma=0,health=3,intelligence=3,luck=3,strength=3}
run.perdhro = {name=”perdhro”,agility=0,charisma=0,health=0,intelligence=3,luck=5,strength=0}
run.elhaz = {name=”elhaz”,agility=0,charisma=0,health=5,intelligence=2,luck=0,strength=0}
run.sowilo = {name=”sowilo”,agility=3,charisma=0,health=0,intelligence=0,luck=3,strength=3}
run.tiwaz = {name=”tiwaz”,agility=0,charisma=0,health=0,intelligence=0,luck=4,strength=5}
run.berkano = {name=”berkano”,agility=4,charisma=0,health=5,intelligence=0,luck=0,strength=2}
run.ehwaz = {name=”ehwaz”,agility=2,charisma=5,health=0,intelligence=0,luck=1,strength=0}
run.mannaz = {name=”mannaz”,agility=0,charisma=1,health=0,intelligence=5,luck=1,strength=0}
run.laguz = {name=”laguz”,agility=0,charisma=4,health=4,intelligence=0,luck=0,strength=0}
run.ingwaz = {name=”ingwaz”,agility=3,charisma=0,health=4,intelligence=0,luck=0,strength=3}
run.dagaz = {name=”dagaz”,agility=0,charisma=0,health=0,intelligence=5,luck=5,strength=0}
run.othala = {name=”othala”,agility=0,charisma=4,health=1,intelligence=0,luck=3,strength=2}return run
end
function Rune:casting()
—function randomise creates a table
—that contains unique randomised numbers
—note, only 24 runes in elder futharkrunes = {self.fehu,self.uruz,self.thurisaz,self.ansuz,self.raidho,self.kenaz,
self.gebo,self.wunjo,self.hagalaz,self.naudhiz,self.isa,self.jera,
self.elhaz,self.perdhro,self.elhaz,self.sowilo,self.tiwaz,self.berkano,
self.ehwaz,self.mannaz,self.laguz,self.ingwaz,self.dagaz,self.othala}prophecy = {}
i = 0–get unique randomised numbers
while i <>flag = 0
r = math.random(24)for k,v in pairs (prophecy) do
if v == r then
flag = 1
endend
if flag == 0 then
table.insert(prophecy, r)
i = i+1
endend
runeset = {}
--match the runes in the table with the randomised selected ones
for k,v in pairs(runes) dofor l,w in pairs (prophecy) do
if k == w then
table.insert(runeset, runes[k])
end
endend
--murk them! (if flagged by user, add negative value)
if self.murk == 1 then
for k,v in pairs(runeset) do
murk = (math.random(-1, 0))
if murk == -1 then
runeset[k].agility = runeset[k].agility * murk
runeset[k].charisma = runeset[k].charisma * murk
runeset[k].health = runeset[k].health * murk
runeset[k].intelligence = runeset[k].intelligence * murk
runeset[k].luck = runeset[k].luck * murk
runeset[k].strength = runeset[k].strength * murk
end
end
end--modifiers, add up all the attributes and deliver them
a = 0
c = 0
h = 0
i = 0
l = 0
s = 0--Add them up, return a summary table of all attributes
for k,v in pairs(runeset) do
a = a + runeset[k].agility
c = a + runeset[k].agility
h = h + runeset[k].health
i = i + runeset[k].intelligence
l = l + runeset[k].luck
s = s + runeset[k].strength
endmodifiers = {agility=a,charisma=c,health=h,intelligence=i,luck=l,strength=s }
-- return runic prophecy and summary of modifiers
return runeset,modifiersend
----uncomment below lines to test script:
--r = Rune.create(3,1)
--cast,totals = r:casting()
--
--
--for k,v in pairs(cast) do
-- for l,w in pairs(cast[k]) do
-- print(l,w)
-- end
--end
--
--print("totals:-------")
--for k,v in pairs(totals) do
-- print(k,v)
--end
Javascript in your Firefox Bookmarks
You save alot of time javascript links as a bookmark i in your firefox browser instead of copy/pasting it into the url.
For instance, you can copy and paste the following javascript in the url location bar:
javascript:document.body.contentEditable=’true’; document.designMode=’on’; void 0
This will allow to you edit any web page, live! Its handy for making modifications, taking screenshots and sending to your designer.
However, you can create shortcut via firefox bookmark instead of copying and pasting:
- On anywebpage, click Ctl-D to bookmark the page
- Find that bookmark in your list, right click -> properties
- Delete the location, paste the Javascript code
- Give it a good name and description too
Now you have your javascript link bookmarked. You can use javascript like this to speed up your work flow. For instance, redirects can be quite handy (i also use javascript to pass certain variables and test referrers quickly where php can’t be used readily), eg:
javascript:self.parent.location=’http://testingdomain.com/ClearCache/?stop=1′;
How to run a simple script Lua script from command line in Windows
Recently a ‘new to me’ programming language called Lua piqued my attention. Its a lightweight scripting that is commonly embedded in other languages such C and C++ and also used for scripting. There are other applications for it as well, such as Lua CGI and Lua Server Pages, which can be used on webservers. Its also a favoured scripting language for the gaming industry.
Anyways, after downloading the latest standalone of lua (lua5.1.exe), I just wanted to run a very simple “Hello World”esque script - eg HelloWorld.lua from the Lua Standalone. I learned bits an pieces of Python from Idle Python Shell, so I thought I could call up scripts in a simple fashion this way.
The documentation seemed to indicate that I could run scripts the following way in the command line:
lua HelloWorld.lua
However, I kept getting this error:
> lua HelloWorld.lua
stdin:1: ‘=’ expected near ‘HelloWorld’
>
I couldn’t figure it out and I couldn’t find anything how to call up a .lua script through google. Needless to say, I didn’t feel very intelligent. Oh I tried a whole slough of different searches on google and precursory glances at the documention. Here is the progression of google search terms I used:
- lua tutorials
- beginners lua tutorial
- lua for beginners
- lua programming beginners tutorials run script
- how to run a .lua files
- how to run my first lua script
- lua hello world
- helloworld.lua
- hello.lua
- lua standalone tutorial
- how to run lua scripts
- how to run a .lua files from cmd line
- how to run a .lua files from command line
- lua environmental variables
- complete noob looking to run lua from lua5.1.exe
- going out of my mind looking for a way to run lua through command prompt
- how the fuck do you run lua from standalone!%@#$@#!!!!
Though I found some great tutorials - I found no answers!
Finally, after 1 hour, I opened up the Caller.lua file which was in the root directory of my luaedit IDE, and there was this interesting line:
dofile(”.\\Function.lua”)
This incidentally pointed to Function.lua file in the root directory. Bingo! I quickly looked up the dofile function in the manual:
dofile (filename)
Opens the named file and executes its contents as a Lua chunk. When called without arguments, dofile executes the contents of the standard input (stdin). Returns any value returned by the chunk. In case of errors, dofile propagates the error to its caller (that is, it does not run in protected mode).
So I ran it, it worked!:
> dofile(”.\\HelloWorld.lua”)
The World has ceased waiting for you. Please be more prompt in find ways to run
Lua from the command line
>
Yep its all documented. My guess is that Lua developers don’t generally run scripts this way? The documentation suggests $ lua -e’a=1′ -e ‘print(a)’ script.lua as a way of running scripts, but I can’t seem to get it to work (yet).
Anyways, I look forward to learning cool stuff about Lua!
Update 18.Feb.2007 ——————–
I have found three of running LUA scripts: LuaEdit, Lua Interpreter (same as above) and windows command line (cmd.exe). You can visit this Lua forum thread to see how its done, or just read here:
To view the output of a lua script with Lua Edit:
- Go to the view menu
- Select ‘Debug Windows’ and then “Lua output”
- You can dock as you prefer
To run it from windows to command line (cmd.exe):
- go to the directory where lua5.1.exe is located
- run your script with this command: Lua testfile.lua
- you can also add the your Lua folder as a windows system environmental variable
Know Thyself and Do What Thou Wilt
Recently there was a popular post in blogosphere about popular philosophical quotations. This made me ponder a bit about what quotations had the most effect on my on life. The two most important important quotes I can think of are “Know Thyself” and “Do What Thy Wilt”.
Know Thyself - This originates from the Greeks. How well do you really know yourself, are your thoughts based on your own ideals - or are they based on what others have dictated. Until you know yourself, you will not know what is best for yourself.
Do What Thou Wilt - This quote originates from the oft maligned Aleister Crowley. The premise is do whatever you want to! This may sound anarchic at first, but it stirs the spirit of individual. Don’t do what your parents feel is right, what the church dictates is right, what your politicians say is right - do what you want to.
Do what thou wilt is entangled deeply with Know Thyself. If you do not know know yourself, you can not do what you want to do. You will merely be imitating what society wants you to do. You have to know yourself deeply in order to do what you want to do. Know thyself is passive, it is the kernal of truth that is actively implemented by ‘Do what thy wilt’.
non-christian perspective on speaking in tongues
This is more of resource than an article but here are some links I have found on doing research on glossolalia - or what Christians call speaking in tongues. Normally, I would add commentary here but unfortunately time permits only to keep this post to a minimum.
Definition Glossolalia:
This defines glossolalia and also gives some indication of some pre-christian origins of the practice. click here
Skeptics Point of View:
A disbeliever’s point of view of speaking in tongues that includes a short article about study of showing the brain functions of person who is ’speaking in tongues’ click here
Brain Function of those who speak in tongues:
These are the direct articles about the the brain function of persons who speak in tongues. click here and here
Science Point of View
This includes another scientific study that suggest (but does not conclude) that glossolalia is a learned phenomenon. click here
A Survey of Glossolalia and Related Phenomena in Non-Christian Religions
A book by L. Carlyle May that discusses Glossolalia outside of Christianity. click here
Psychology of speaking in tongues
This is a brief excerpt from a book by Julian Jayne “The origin of consciousness in the breakdown of the bicameral mind”. From google books - click here
Know your alternative historians
History is now strictly organized, powerfully disciplined, but it possesses only a modest educational value and even less conscious social purpose.
J. H. Plumb
Too the most interesting programs on the History Channel and Discovery Channel do not answer questions but create more questions for the inquisitive. And unfortunately, history as taught in the classrooms and institutions of ‘Higher Learning’ seem quite boring and mundane. It seems alot of history is watered down for the sake of being ‘less controversial’ and segmented into digestable bites for easy consumption.
For those looking for non traditonal views on historical events and documents - I have compiled a few resources worth looking into.
Anatoly Fomenko
Keywords: New Chronology, Alternate Timelines
Would it change your world view if you found out that Jesus was born in 1000 AD instead of 0 AD? What if all the major events that you know as history are actually 500 - 1000 years (and in some cases more) younger than orignially thought? Anatoly Fomenko has release two massive volumes of work: History: Fiction or Science? Volumes I and II that could shatter conventional thinking on history. Orginally popular in Russian, Fomenko’s works are now available in English.
Much of Fomenko’s methodology for reconfiguring chronology is based on falsificaton of records by monk’s and courtly historians from the 16th to 18th centuries. Though it may be criticised by orthodox historians as a pseudo-science, his research is quite vast and should not be overlooked.
links:
Anatoly Fomenko wikipedia
Anatoly Fomenko google video
Keywords: Alternative Biblical History, Astro Theology
Who are the “Sons of God” as mentioned in Genesis? Are they angels, demons, aliens or Gods themselves? Though conventional religion shuns and condemns Astrology, is there anything to astrological influences in the Torah and new New Testament? Jordan Maxwell provides well researched insights into these peculiarities. This is very intesting for people who are interested in ‘alternate views’ of biblical scholarship.
links:
Jordan Maxwell Official Site
Jordan Maxwell on Yahoo Podcasts
Jordan Maxwell on Alta Music Audio Search
Jordan Maxwell google video
Michael Tsarion:
keywords: Atlantis, Ancient Mysteries, Theodicy/Origins of Evil, Astro Theology, 2012 Mayan Calender
Where did evil come from? This was a question that was profoundly on the mind of Michael Tsarion as he grow up in war torn Northern Ireland. Instead of turning to violence himself, Michael researched myriads of ancient histories, forgotten codices, contempory psychologists, the occult to find answers. After twenty years of research, he has released a 22 DVD collection of his journey to decode some of earth’s greatest mysteries. He is knowledgable about a large series of topics that include
- Atlantis and Ancient Civilisations
- Genetic Manipulation
- Prehistoric Alien Visitation based on ancient myths
- Mayan Calendar and the 2012 Prophecy
- Demystifying what the “New World Order” and other conspiracy theories
- Astro Theology - Why the ancients where so inclined to astrology and astronomy
- Sacred Symbolism in the Media
- Occult uses Tarot, Numerology, Astrology and the Kabala
- Prehistory of Ireland and its influence on Western Civilisaton
Michael Tsarion Official Site
Origins and Oracles DVDs
Michael Tsarion on Yahoo Podcasts
Michael Tsarion on Alta Vista Audio Search
Michael Tsarion on Google Video
Thoughts - A blueprint for success.
Most people are other people. Their thoughts are someone elses opinions, their lives a mimicry, their passions a quotation.
Oscar Wilde Irish dramatist, novelist, & poet (1854 - 1900)
This short little post is basically a reflection of the past year for me, which has been stunningly successful in nearly all aspects of my life. Here are three reasons for my success this year.
- The Law of Attraction. As Descartes said, “I think therefore I am”. But more importantly its how you think. Learn about the Law of Attraction and how it can change your life (usually dramically!)
- Don’t think passively. Think passionately! The quote above from Oscar Wilde is one of my favourite quotes precisely because most people take what they hear and accept it. Challenge your thoughts, research and find your own truth instead of living by someone else’s! Question everything sacred or mundane to find your own Veritas.
- Change your environment to suite your truth. When I was lad in school, I remember reading a haiku that said something like “Water takes the shape of the gourd that it is in” - simply meaning water has no shape, so it takes the shape of the its container (in this case a gourd). What this means is that our environment has a great deal of influence in transforming who we are. Instead of passively allowing this to happen, change your environment to fit your own goals and dreams.
Dream - The Waterspout 8-Nov-2006
I dreamed that I was taking photos on a beach. There was a beautiful half-light during the twilight.
A waterspout had formed next to the beach in the ocean. I ventured out into the water to take photos of the spout. . I was pulled off my feet by the tide and moved closer to the spout. I had to raise my camera above my head to save it. I took some great shots right next to the spout.
Later on the beach ( it was now night time ) I saw a myriad of tiny meteorites crash into the water.
This dream recalls a couple of events in my personal life. The first being when I was nearly swept away by the tide getting getting dangerous close to the waters edge. I had barely saved my camera by holding it above my head. I got some great shots of a storm. The other was witnessing the eerie lighting of the harbour which I live after a water spot formed. I have seen meteorites too, but I think this dream signifies the awesome beauty and power of nature.
The 9/11 Falling Man - Another Look
This my reflection one of the most powerful photographs of this century - ‘The Falling Man’ by Richard Drew. If you want know the background of this photo - please see the movie 9/11 The Falling Man. It is gripping story of the power of a single photograph. While most will talk about personal story about the photograph, I will attempt to discuss some of the elements that make this photo especially powerful.
The Crop:
This photograph - was published in a completely different crop from the originally version: here are both versions:
Vertical Crop as released by the press:
Horizontal Crop as originally taken:
Note that horizontal crop - is not available yet doing google searches. I took this screenshot from the DVD.
As you can see, just buy changing the crop dramatically change scope the picture. The vertical crop zooms in the subject - it at once becomes more personal. Here are few thoughts about the vertical crop that come into mind.
- Its personal - we can almost make out who the person is
- Centered- the man is nearly centered in the focus (off by a few pixels) - making the man an obvious focal point.
- Divided: The dark left panel and lighter right panel vertically split the image in half -giving it more impact and something that follows the more traditional rule of thirds (though the man is in the upper third). The two opposing colours come to head close to where the man is falling.
- Action - the black and white lines denote a strong sense of vertical movement.
- The vertical shot - from printing point of view, vertical shots can fit into traditional magazine, newspapers and books better. Though I don’t think was the issue for cropping the photo this way, its certainly a fact to be considered.
The horizontal crop conveys a completely feeling:
- It is more removed and abstract - here the elements of the photograph lead to the falling man - it doesn’t have the ‘gut impact’ of the vertical crop, but its impact is much more subtle. I’ll go as far as saying that this photo would have dramatically less reaction if it was released instead. But do not mistake less reaction with less powerful here. In many respects, I think this portrayal is more power as discussed further below.
- Uncentered - Though the man is central - it is not as centered as the vertically crop. Here the focus is on the entire scene - not just the falling man.
- Suspension - where the above crop had strong vertical lines denoting movement, notice the semi-circle lighting to the right. There is more ’space’ around the falling man in horizontal shot to give it a sense of floating.
By cropping the image vertically - you increase the impact of the photograph. You bring immediacy to the subject matter. You punch the viewer in the proverbial gut. The original shot in a certain sense is more holistic. Here you have man who was probably around 180cm tall pitted against the backdrop of a massive tower which was approximately 415 metres high. What lose in immediacy you gain in perspective.
Lines
The ‘lines’ of the two crops are completely different and each powerful in their own way. The vertical lines give a sense of falling, but an even stronger aspect are the vertical lines. Notice in both crops there diagonal line that points directly to the head of the falling man.
The horizontal version has something the vertical crop doesn’t - curved lines. In the shot, there is almost half a spot light on the falling man. You can visualise this as a semi circle. These contrast to the straight vertical lines. This ’spot light’ softens the falling effect in my view and gives it more a floating, surreal feeling. It allows the eyes to meander over the entire photograph - taking in not just the falling man, but the entire building and the entire event that took place.
Final thoughts…
This is photograph by no means is easy subject matter. Like Eddie Adams or Frank Capra (in)famous war time images it provokes a multitude of different feelings. What struck me is how something as simple cropping the image elicited different emotions for me. Regardless of the crop - it is a timeless harrowing photo that is not easily forgotten.
The Posture
The posture of the man is at once graceful. In actuality a series of the shots indicate that he had a twisted and contorted fall - yet in the photograph it looks almost blissful. The Photo was taken, as the famous French Henri Cartier-Bresson would have said, at the ‘Decisive Moment‘.
Personally, two archetypes come to mind when I look at the posture - the idea of superman diving from building and also the more obscure ‘hanged man’ tarot. Each of these images has powerful and possibly subliminal meanings.
The Static Progammer: Let there be water
No this isn’t a technical article about computer languages. This a article about your health if spend copious amounts of time behind the computer screen.
As a computer programmer, I get obsessed with details. I can spend long long hours in front of the computer trying to come up with solutions to problems or trying to create new programs. Lets face it - you know you should be taking breaks but unfortunately being behind the screen can be a bit too alluring.
I’ve tried many solutions to break up this time. I would try get up and walk at certain times of day. But these are easily forgotten. I’ve tried to set alarms- but there is nothing worse when you are in the middle of problem and you get jarred by alert on your computer tell you sod off the computer.
Upon chance an incredibly simple, effective solution. Its drinking large quantity of water:
- Water keeps you hydrated - programmers tend to drink heaps of caffeinated beverages that dehydrate you thoroughly. Water helps keep this in check.
- What goes in, must come out. Yeppers - you are looking to take a break from behind that screen, nothing works better than nature’s call. If you drink alot of water, you are usually your own body to encourage you to take a break - not some artificial outside reminder!
Keeping a jug of water on your desk is best. Just fill it up at the water cooler at work. Seeing it close by is good reminder to keep hydrated. When you have to go to the loo it forces you to take a much need break from the screen!
Scientifically formulated hair …
This is about about hair. Most of my life I’ve had thick curly hair. It was fine until I turned into a teenager and all of a sudden it became dry brittle and unmanageable. Because of this, I wore my hair very short until recently.
When I was a kid, my grandmother used to wash my hair with a mixture of vinegar and shampoo. Before she retired, her profession was that of a hairdresser. When I became older (probably the time girls starting coming into my life) I switched. Mainly because I thought what does this arcane tincture of shampoo vinegar have to do with modern hair care. Because all the advertisements I saw on television to me to take care of my hair using their ’scientifically formulated’ product, I thought what my grandmother taught me was just an old wives tale.So
I tried heaps of different shampoos. My hair, which I wore slightly long became extremely unmanageable. It was dry and stuck out all over the place. It was extremely wild and unkempt looking - no matter how much I combed it. I used conditioners to no avail. Different products like gels only made things look worse. So I just cropped my hair very short. And that was the way that I wore for nearly 18 years. Sometimes I would try to grow my hair long again, but with the same situation - totally unmanageable - and ultimately - unhealthy hair. I damned my genetics and loathed myself because of my god awful hair.
About 1 year I decided to grow it long again. I always wanted longer hair - so I decided to let it all grow out, Afro or not. Luckily - I could keep it under control with a special hair product cream and I found a really good hairstylist. I was still a bit of pain because it was a lot of work (I am a bloke - I got other things to do besides trying to do up my hair!).
About 1 month ago - came across this article called the “great shampoo scandal“. In it, it talks about the detriments of using shampoo for your hair. In a nutshell it said that shampoo was detergent, though it clean your hair, it damaged it by stripping everything else out as well (oils, nutrients). I read it over and over, it made a lot sense to me. I feel that those with thick curly hair such as mine probably have the most to lose from this - I can say from my own experience in trying to choose a hairstyle, haircut. The only style that I could manage was short. And because I have a narrow, thin face - this style did not suit me well.
What was great about this article - is that it had a solution - what to use instead of shampoo. That was just plain old soap or a mixture of shampoo vinegar among other things. So of course I immediately started to put this plan into action. The results - about 1 week into trying regular soap, my hair became extremely manage and healthy looking. It was the first time I could remember actually be able to wear it in different styles. It didn’t lose the curliness, but the curls became more manageable and wavy instead of extremely wild.
Looking back, it turns out that my grandmother was right all along. So much for scientifically formulated hair care*!
*note - if am not knocking scientific research - merely suggesting that you do research yourself and pragmatically find what works best. Keep an open mind to all solutions!
Zegarkus Alternative Guitar Tuning
I seldom leave my guitar in a regular tuning anymore. This tuning came about when I was in music school I developed tendonitus in my hands from overplaying classical guitar it was a very low tuning so it was very soft to play. It also found it to have a very haunting sound.
Here is the tuning:
| 6th String | 5th String | 4th String | 3rd String | 2nd String | 1st string | |
| Standard | E | A | D | G | B | E |
| Zegarkus | D b | F | C | E b | G | C |
Now this looks quite unusual, but you will found that you can play the open strings as bass (Db, F) and melodies on highers (G, C) as well as some interesting chordal combinations on the center strings (C , Eb ).
If you have tried this tuning, I would be interested in hearing your comments.
Eines Tages - First Fruity Loops Demo - 2005
This is my first with purely electronic music. I downloaded a fruity loops demo to create my own music. This needs a major remix, it sounds quite poor. I was going to do more work on it but my hard drive crashed and I was unable to to recover the original files.
Goodbye Love Song
This song was composed of bits of music that I had in my head for several years. When I fell in love with a girl about 7 years ago, all the musical bits came together. The original title was the name of the girl - but since we are no longer together - I changed it to ‘GoodBye Love’ :D
Early recording - Song One - circa 1997-98
This is one of my first recordings that I have ever done. Though its very ameteurish I am still quite proud of it! Enjoy the clip attached below:
The deceived of the world - apocalyptic dream 06-Jan-2005
From my journal 06-Jan-2005
I was in a huge hall. Facing me there was a massive doorway, I could see the the 12 rulers of the world at the end of the hallway. There was a strange Christlike presence telling me to enter. Upon entering, I noticed trap door immediately in front of me that could drop unsuspecting persons into a deep pit. I felt anger at the Christ-presence for not warning me about this.
I went into the chamber of the 12 rulers of the world. I received some council from the rulers (though I can not remember what that council was). Upon leaving, I stood outside the great chamber and watched others go in. Like me the others received council from the rulers.
As they left the chamber, the trap door sprung open. I watched the surpised persons fall through the pit. I could hear hungry lions below at the bottom of the pit tearing bodies apart. As added insurance, archers from the court also shot arrows to ensure the victims were dead.
What I remembered most is the complete surprise of the victims as this happened - and that this trap had been planned by the rulers all along.
After a short time some of the guards of the great hall becamed appalled at what was happening. They attacked the other guards in the court under direct control the 12 rulers. A great civil war was occurring before my eyes.
As I awoke from this dream - I floated up and saw great civil war. Thousands of bodies lay strewn about the great hall and chamber. Those still alive looked like massive swarms of ants attacking each other.
This one of the most allegorical dreams that I had. It is abound with many religious themes. I don’t know why I had this dream. One explanation was that I was involved in Freemasonry. A couple of months earlier I had gone through the second iniation and realised that it just wasn’t for me. I may have link freemasonry to my subconscience because is rich in imagery and because its a often claimed to be an occultic anti-Christian practice. For the record, I consider myself agnostic.
However the message here is very bold and unsettling, perhaps and in some ways my interpretation seems a bit too simplistic. Themes of false christ, deception, judgement and civil wars seem to implicate something greater than my own situation. Also I am not sure who the ‘12 rulers of the world’ are, though 12 is a very significant number in religious organisation (12 tribes of Isreal, 12 apostles etc).
Creating Version 2.0 of your programming career
This is article is a personal versioning of my programming career. The first version of my programming life I shall call Geek 1.0. This version of myself I was very cautious, naïve, bookish. The second stage of my programming life I shall cleverly call Geek 2.0. This is the current state I am in enthusiastic, daring, reading lot of code, writing a lot of code and experimenting with my art.
Geek 1.0 produced small amounts of safe but uninspired code. Geek 2.0 produced massive quantities of beautifully heinous code. This is my personal experience of how I transformed from Geek 1.0 to Geek 2.0. My merciful nature has kindly produced a quick and dirty 3 point bullet list for those on a schedule.
Release of Geek 1.0:
My friends questioned me why I learned PHP ‘on the side’ after all, no one taught it at the university in which we were force fed Microsoft products. But learning PHP/MySQL seemed easier and more natural than ASP. Fresh out of technical university, this skill actually made my CV a bit more attractive as more people realized that PHP was not a hallucinogenic drug.
Needless to say, I was really excited when I landed contract job from a recruitment agency. In my excitement in accepting the offer, I later painfully noticing that I had missed on crucial element: signing a contract. Since this company was named ISE (Integrity, Standards & Experience) what did I have to lose, right?
Geek 1.0 was now to be unleashed to the world! I dug in my heels and handcrafted my first project a good ol’ fashioned CMS system (hey those were cutting edge in their day!). After three weeks of avoiding sunlight and hermetic existence, I uploaded the code and kindly asked for payment.
They loved the system, however they told me with the utmost integrity that would be paid the standard rate as soon as they experienced some cashflow into there bank account. Basically they were cheap bastards. *
I was in a panic, I was nearly broke and I had done something very stupid by placing Geek 1.0 into the hands of these wolves. But every cloud has a silver lining lucky the web development company who was hosting ISE’s website was looking for programmer. I was contacted, came in for an interview and was hired!
This web development company was young lively and I was going to make my mark in programming world. This was going to be were Geek 1.0 would really shine! Things were looking great then I got silver lining with a cloud I got promoted.
The senior developer retired and they made me to take over his position - a position that I just didn’t have the experience for. Yes - this sounds like dream come true but in reality it was the worst thing that could have happened to Geek 1.0. Heaps of responsibility was piled on me. I had to manage legacy code and I was very still inexperienced coding. My passion for programming vanquished. I wasn’t writing new code, just maintaining a lot of old stuff. Though I loved programming - the job became more of responsibility to ‘not fuck things up’ for clients.
The most forgettable incident came when I misread the project specs for job website - I had inadvertently changed some the meta-tags in the admin interface of the software. The results of the changes where truly inconsequential and had no affect on their operations - little did I know that meta-tags were the cosmic glue that held their system together! What happened is that their internal developer for this website noticed timestamps and then the management proceeded to turn a pissant hill into the Himalayas. As it turned out, this company used this incident as an excuse to not pay for the hard work myself and other had put into the project. Because they were a big company we acquiesced, but we lost contract 1 month later to another web development company (who in turned where screwed over by them as well).
This had left a psychological effect on me- I was second guessing everything that I did - like reading a line of code 10 times - checking documentation 30 times, testing the code about 90 times. Needless to say I was not very productive. Thankfully they promoted another more experience programmer to take charge of the projects. But my confidence was shot.
After one and a half years at the job, the place went bankrupt and I was without a job. I did the dark arts of search engine optimisation for the next 2 years. Geek 1.0 was now abandonware. I believed I was just not cut out for programming and I had come to hate it. Besides, I was doing ok with this SEO stuff.
Early beginnings of Geek 2.0
After working for the SEO firm for about a year, I had a little side project were I wanted sell some of my artwork online. I had looked several other online merchants but I really wanted something that I could hack into when needed to make graphical changes and minor tweaks to the code. I finally decided that I should use Zen Cart for the project. I still had no desire to program, I just wanted to tweak around the templates a bit and make them optimised for search engines.
Then something strange began to happen. Because this was an open source project, I could change code and not feel guilty about changing stuff there no critical clients or anal programmers to torment me. I started to change bits and bobs, nothing spectacular. And I was enjoying it!
Then I got the idea to build an e-card system into the system where people could send my artwork as e-cards. I didn’t build a new module for zen cart, I just wrote the ugliest piece-o-poo code hack to accomplish this task. One thing led to another and I eventually got more ambitious and tried to write search engine friendly urls for Zen Cart - which gave up halfway finished on because I was getting about 10,000 visitors a month to my website (why bother?). ** Through Zen Cart, I finally enjoyed programming again. I dived into other open source php projects as well and starting to learn to program all over again. However - I still didn’t want to program for living.
Geek 2.0 emerges
I was doing quite well at SEO but unfortunately the company I worked vastly underappreciated me. I knew I had to leave when my boss took credit for optimisation that I had done for one of their major clients. My optimisation work put this client far ahead of the competition and turned them a very lucrative company.
The irony of this was that this company was the jobs website company I had placed the wrong Meta tags in their admin system. Strange Karma!
Needless to say I was yet again disheartened. Why bother giving your best to company that excretes on you in the end? I got some bad performance reviews after that as well - mainly because I didn’t care. I had to leave - so for the next 5 months I went searching for a something new. I put all my mental energy into finding a job in a positive work environment.
Then I found the job - I was scheduled to go in for a 20 minute interview and it went on for 3 hours. It was for a start-up Internet company. I was expecting a full time optimisation job - they wanted someone to program and optimise their sites. I can tell you this scared me shitless and excited me at the same time.
Because of self doubt, I nearly turned down this job. However, I accepted this job and it became the best career decision I ever made.
I started programming immediately - oh the horrendous code I wrote - and oh I how I loved it! I didn’t even create proper set of classes for the first websites I wrote. But we made money and were successful - and after 3 months, my bosses made a shareholder in the company! I was finally rewarded for my efforts. Because of this, I spent hours and hours learning how to program and reprogram stuff. I spent lots of late nights looking through tons of open source code. The stuff I was programming wasn’t new, so I didn’t have to reinvent the wheel - just integrate some new wheels to the project!
Stuff was getting built really fast - in one years time we had 125 websites around the world that were bringing us money. Geek 2.0 finally had finally come of age!
In summary here are the major steps that took me from Geek 1.0 to Geek 2.0:
- Find A Good Work Environment: A great work environment promotes freedom of expression. Stingy bosses, corrupt managers, demanding clients and inexperience for a role can all go along to destroying your confidence as a programmer. In certain sense, these are some of the dues I paid to get into my current work environment which I love.
- Read Other Peoples Code: First of all, you’ll never know if your code is good if you have nothing to compare it to. Because programming from books has its downsides, you should look at the code from open source project insteads. This is living breathing code. Take the other person’s code and see how you can optimise, twist it, warp it and make it your own! Get involved with open source project
- Write Code and lots of it! Like anything in life, you only get good by practicing. Go out there bust out some code!
note: this list is currently a work in progress…hope I will finish soon
* Incidently after making a few threats I was eventually paid nine months later!
** My whole Zen Cart experience came to an abrupt end when my hosting company got plagued by viruses. I had lost everything and I just didn’t have the time to reconfigure the site because I had not documented any of my changes! The homepage of my former hosting company still reads “Session initialisation failed” after 6 months.
Attracting Sea Mines - dream from 29-June-2006
From my Journal 29-June-2006
I dreamt I was swimming in the middle of the ocean. I noticed a round floating object with raised nubs that looked quite old. I climbed on this object to give myself a break from swimming.
A strange feeling overcame me - this object was a mine! I leapt off of it and swam away. The object was following me as if I was attracting it magnetically!
For a while, I didn’t have an interpretation for this dream so I just let it collect dust in my journal. This morning though as I was entering new data in my dream journal - I had a little bit of a revelation of what it meant.
At the time of this dream, I was dating a girl (we broke up about a month and a half ago). She was the first girl I had dated in long time. I essentially stopped seeing her because I just thought we incompatible. She was very draining for me and tried to manipulate me emotionally - which I didn’t let her! I was able to shake off the relationship pretty quickly as I knew it was going to nowhere and was potentially damaging for me. I still maintained a friendship with her though.
My interpretation is this - the me swimming in the ocean represents the long time between girlfriends. I thought I found a break from swimming (in this single life) when I rested upon this object. However, this object was not as it seemed, or at least the relief of finally having girlfriend obscured my sensiblilities. As soon as I realised that it was a mine, I jumped off. Similarly as soon as I realised that I was being emotially manipulated in the relationship - I stopped the relationship from going any further as not to trigger that could be damaging for the both of us! Finally - I think there was still some attraction for this girl to me and we are still friends. So this represented the mine following me - albeit I put myself at a safe distance now.
Your Life as a Timeline
One of the most satifying self help experiments that I have done this year is create a timeline of my life. Though I have only have done this recently, I had the idea of doing this since my early twenties (I am currently 31 at the time of this post).
Upon constructing my timeline, i’ve noticed three immediate benefits: recognising acheivements in your life, recognising patterns in your life and a creating a sense of purpose for the future.
The instant gratification of putting up a timeline for your life is to recognise achievements in your life. Big events like graduation, losing my virginity, learning the guitar, programming, the first job, and travelling overseas were certainly highlights in my life that I look back on as major events and achievements. The deeper you dig, the more you will find. This can be a major confidence booster!
Another great thing about timelines is that you can recognise patterns in your life. For instance on my timeline - I was able to map out times in my life when I was really depressed and in rut. For me - most of these ‘funks’ came from a failed relationship and I got myself into cyclical series of events that kept me depressed. Conversely, you also find positive patterns in your life - times in your life where everything seemed to be going well. For instance, when I decided in December 2004 to change my life by becoming a positive person incredible things began to happen (to numerous to list here)!
Your timeline shouldn’t be just about your past - make it a living document! Write events in your time that you want make happen in the future. Use your timeline to make goals - write your own future with your time. This is the fun stuff - how will you manifest your future?
Here are few tips and tricks to get started with your timeline:
- Use excel. For a very simple timeline, you can use the column headers as years (see example below)
- If you don’t have excell, don’t worry - try google spreadsheets - its free!
- For a more feature riche timeline try dandelife timelines for free!
- Don’t expect to finish your timeline in one outing - take your time
- Don’t feel as if you have to remember the exact dates or times - I found that just noting the timeframe that happened is enough for me.
- You will found that some events will get shifted around from year to year as your memory improves (which is another benefit of creating your timeline!)
- Feel free to write down your general thoughts of timeframe. For instance, my 1994 year I have a general entry which says “Was very depressed” (conversely I have a 2006 entry that says “Great friggin year!). Don’t be afraid to add emotion to it.
- This is your timeline - don’t be afraid write your thoughts. You don’t have have to make it public. Sometimes old events are hard to bring up and face but this can be an excellent way of releasing old hurts and fears.
Example timeline:
| 1995 | 1996 | 1997 |
| met roger | went sailing for the first time! | met sanda and allan |
| pet dog died (14 years old - Rover) | finished photography course | lost 40 pounds |
| soccer team first in league! | broke up with anne | got fit! |
| Employee of the Month! | gained 10 pounds | Met and started dating Jackie |
Finding Gaps- Dream from 29-Mar-2005
From my journal from 29-Mar-2005:
I dreamed that I was walking from Mission Bay to work. The only difference was that everyone else in Auckland was too! The streets crowded with walkers going to work (no cars).
I noticed I was ‘finding gaps’ between slow walkers and passing them with a brisk jog. I was determined to get ahead of everyone.
First a bit of background. I walked from Mission Bay to Auckland City nearly everyday from 2004 -2005. That is about 7 kilometre walk one (1 hour 15 minutes). So you can see were the walking came in. I walked because I had stuff on my mind. Mainly about my job.
I hated my job - most of my colleagues were alot younger than me and had no ambition. I also had my boss take credit for work that I had done. I was also betrayed by a coworker who I had completely trusted that led to a reprimanding by my management. So I was not happy.
In 2005 I was determined to find a new job. I had turned down an interesting opportunity in January and February. I was on the hunt for the best opportunity. In April I was going to Australia to take a course improve some of my computer skills. I wanted to improve myself and open new opportunities.
Looking back at this simple dream, I just wanted push forward and get ahead in life. I always associated walking with my job because the the 7K walk was the thing I enjoyed most about work. I was finding gaps in the crowds to move ahead - to creatively and forcefully find new opportunities for myself in my career.
The good news was that I found the perfect job a few months later and started it in June. I became a business partner in September! A bit of smug satifisfaction comes from the fact that the old company (which touts itself as being a technology leader) is struggling and falling behind the times!
Programming - the stuff you can’t learn from books
Programming is something you learn by doing. And doing over it again. And over yet again. It is not something you can master in 21 days. Which brings me to my point - its can be very difficult to learn even if you have good books to teach you. Now this is not to say learning from examples is bad. I’ve pretty much self taught everything I know about programming through examples. The problem is that examples are the end result - you do not see the process it took to get there.
When I started to teach myself python programming, I saw immediately why learning programming via example is somewhat flawed. The example shown in the book is usually a perfect working model - but its quite deceptive; it doesn’t show the numerious revisions and blood sweat and tears the programmer has put into the code. Large chunks of code may have beend added, substracted, tweak, abused and optimised during for the final result.
When learning python, I decided to write a little game for battle ship with a command line script. A very simple script got more and more complex as I continued to build it. This is the stuff they seldom show you computer books. Whenever I made a revision I saved the script with a number after it. Here is an example of this process with the total lines of code* after each effort:
- bs.py lines of code: 88
- battleship.py. lines of code: 175
- battleship2.py. lines of code: 137
- battleship3.py. lines of code: 149
- battleship4.py. lines of code: 184
- battleship5.py. lines of code: 177
- battleship6.py. lines of code: 219
- battleship7.py. lines of code: 187
- battleship8.py. lines of code: 242
- battleship9.py. lines of code: 237
- battleship10.py. lines of code: 235
- battleship11.py. lines of code: 250
- battleship12.py. lines of code: 249
- battleship13.py. lines of code: 266
- battleship14.py. lines of code: 277
- battleship15.py. lines of code: 286
- battleship16.py. lines of code: 276
- battleship17.py. lines of code: 289
- battleship18.py. lines of code: 295
- battleship19.py. lines of code: 308
- battleship20.py. lines of code: 334
- battleship21.py. lines of code: 363
- battleship22.py. lines of code: 353
- battleship23.py. lines of code: 362
- battleship24.py. lines of code: 354
*I include all comments as lines of code here - though the lines might not do any actual work they keep me sane
As you can see the code grows, shrinks and grow again several times. You can examine the code by clicking on the hyperlinked filename. Don’t expect this to be world class code - hey I was learning python during this process! If a book (god forbid!) were to use my final script as an example, probably would not show evolutionary process of how I got there. This is just as important as the final product, you learn most of the real life stuff through this learning curve!
The Good Fire (short story)
Sparks flew up into the midnight sky like lackadaisical meteors burning in the atmosphere before reaching the heavens. Ben rose and faded with them until his eyes caught a new spark that began its fateful journal skyward. A warm woolen blanket wrapped around him like a second skin. He felt polarized between the heat of this immense fire and the hostile cold of the Appalachian winter.
There was no one there but him, but he felt as if a universal audience was huddled around the blaze. He could feel all his hurt, all of his past transgressions rise up with the smoke. The old pine timbers burned briskly and fervently. Ben stared into the sky; the smoke distorted the firmament causing the stars to flicker and fade. Its warmth radiated unto his face and dried his eyes from any disease that might cause tears to flow. It was a good fire.
The timbers groaned and heaved for oxygen. Ben’s face was charred black. Only his incandescent corneas revealed that there was head situated on top of his body. The eyes mirrored the flames, recording every minutiae of the blaze. The core of him wanted to rewind, play and pause this moment forever.
The eastern wall of his house gave a concluding crack, howling like banshee amidst the ravenous flames. It toppled inward. My house will be ashes by morning, he briefly thought before being entranced by the flames again. It was just a house; it had ceased being a home a long time ago.
Ben gazed at the fire. He no longer felt the icy chill of February; he was now feeling the heat radiate from within. He watched the sparks float into the sky. He was the fire. He didn’t even hear the sirens wailing in the distance. The plastic petrol container began to warp before his boots. Sparks rose into to the sky like a meteor trying to return to the heavens.
One Mad Minute
150 hundred listless souls sat in a semi circular arrangement in C.P Lo’s Human Geography class. I was one of the souls sitting in the back trying to understand Lo’s thick Chinese accent. I immediately detected her on the second day of class. She sat down in the in the third row from the front, the seat on the aisle. She sat in a left-handed desk.
She was a vision I will never forget.
She was slender. She had long, wavy brown hair with a few gold strands that flared occasionally in the fluorescent lighting. Her green eyes were owl-like. Her skin seemed to glow a natural olive color. C.P. Lo’s Human geography class just became interesting
She intoxicated me. I saw the surroundings in black and white but her, I saw her in color. The rest of the class was frozen in time and only she moved. She would take notes. The movements of her pencil broke the stillness of the room. She seemed unreal.
Her name was Aimee Douglas. How I did know this? I could never bring myself to talk to her. When the attendance sheet was passed around I simply counted the signatures from where she sat to where I sat. I liked her signature. It seemed well balanced, unlike me.
I was too frightened and insecure to talk to her. If she ever did look behind her desk, I would quickly jerk my head down and start taking meaningless notes. I was a reticent, lonely spirit amidst over 30,000 students on the University of Georgia campus. Albeit from a distance of a few rows of desks, she seemed to make me feel less isolated.
A semester had passed; I was now in History 251, a class of over 300 students. This is where I saw her again. She sat far down in the front, in the left-handed desks. I always tried to make it early so I could have a seat next to her. But I nearest I could get was 3 rows back; I could never seem to get there early enough.
The history professor had a little game that he would play called “mad minutes”. During the middle of his Friday lecture, he would pause and ask a random, difficult question about American history. The class would have one minute to respond with the answer. The first person to get it right would have 5 points added to their next exam.
Students would raise their hands and spew out answers, but know one would ever get them right. About three weeks into the course, he raised a particularly difficult “mad minute” question. No one answered. No one even shouted a smart-ass remark. I meekly raised my hand in the far reaches of the auditorium.
“Yes, you there in the blue shirt with dark hair” he said pointing in my direction.
All eyes were upon me.
“Emanuel Gottlieb Leutze” I said. I was barely audible.
“I didn’t hear the answer, you are going to have shout it from that corner!”
“Emanuel Gottlieb Leutze!”
“Give the man his five points!”
The class clapped, a few even cheered.
My adrenal glands kicked in, I was euphoric. I remember the girl who sat next to me. She was smiling at me. The teaching assistant who was standing in the aisle also nodded in approval. I felt like a minor god in the great pantheon of existence.
I decided then that I would try to talk to Aimee.
When the class was over. I rushed down to follow her out. She was walking to the Tate student center.
“Hey aren’t in the American History pre-1865 class?”
“Yeah and you’re the guy who just got the mad minute question!”
She smiled. I can’t honestly remember what we talked about. But I felt lighter than air. If I didn’t have such a heavy book bag I am sure I would have floated away. I didn’t even ask for her number, but all that mattered was that we talked and she wasn’t repulsed by me. I was small but great triumph of my shorts twenty-one year lifespan. I said goodbye to her and caught the bus to my next class. My world changed in one mad minute.
That evening some mates and me where hanging around the campus coffee house. I was still feeling a bit high from the day’s events. We stayed up talking until late. I told them about Aimee and they teased me about it, but I didn’t care. My friend Chad suggested we go catch the midnight screening of Willy Wonka and the Chocolate Factory. So we walked down the student movie house to buy tickets.
There was a rough looking fellow wearing fatigues outside the theatre. The movie would start in about 10 minutes. We dug our pockets to get the money out. The rough fellow started talking to us. He had a deep southern accent. I was feeling quite chipper so I struck up a conversation with him, just to pass the time. My friends went in to get their seats; I said I would join them in a couple of minutes.
His name was Robert. He lived nearby and liked to visit the campus on his days off. I told him that it was nice talking him but I had better go in before the movie started.
He looked me straight in the eye and said, “If you were to die today, do you know if you would go heaven or hell?”
I started to feel a bit uncomfortable. “I don’t know, I never really thought about it”
“ I think we met tonight for a reason. A divine reason. God wants me to tell you about the blood of Jesus Christ which will save you and give you admission into Heaven.”
I shuffled my feet. “Umm, I-I really need to get going, Robert. I don’t want to the miss the movie…”
“I think your salvation is more important than a movie. Let me just pray for you here. After that you can be free to do what ever you wish”
I glanced around to see if anyone was looking. I thought to myself, what the hell, if he wants quick prayer, might as well let him to get him off my back.
“Listen, if you want to pray for me, hurry up because I want to catch my movie”
Robert glared at me. Then a vacant look set in his dark eyes. He then commenced. I felt a cold chill go through my body.
“In the name of Jesus, I release any evil spirits that reside in this lost soul. Please, Lord, help him see the light of your ways that he may find salvation through your blood. He is a lost sheep, please lord send your holy spirit down to live in his heart.”
He was tremendously loud. I was thankful that it was midnight and no one else was around. I closed eyes, then immediately opened them after I felt his hand on my forehead. I jerked back.
“Enter Holy Spirit, enter!”
I stepped back.
“Shandalay Kai Oshenta Fian Shandai Pori Kensai Morai “
He was now speaking in tongues.
“Esheti Moneto Keremte Amo Ferio Yuloli Handiola Fendi.
Shandalay Kai Shento Fenali Osorbus Ipsalay.
Shandu Wenayo Fortimois Finous Sho. Fani Vespi Ortel Ontani”
I wanted to leave, but I felt as if I were a deer entranced be the headlights of an oncoming semi truck. Somehow, I could not force myself to move. I was stunned.
“Fensharo Mo Hetikamo. Fenaris Urbi Koina”
I heard a clicking sound, it sounded like someone had hung up a phone. Robert had his eyes closed and his armed stretched out in my direction.
“Oh Jesus, Eshara Moken Halilli Ai Fendon”
I turned directly behind me to where the clicking sound originated. There stood a phone booth, only I did not notice there was anyone in it. From inside two green eyes where staring at me in disbelief. The streetlight reflected the strands of gold in her hair. Her mouth was slightly open. She recognized me. She looked frightened. Aimee looked very frightened.
“Holy Spirit Holy Spirit Shandayla Nepso Whaterosi Creso”
I felt blood rushing into my face; it was a bright red neon sign advertising my foolishness. I had to leave. Robert still held the same pose, eyes closed and right arm stretched out toward me.
“Lord, God Holy Spirit, Shodalo Hebris Motoa Antoari”
So I ran. I ran out the movie courtyard, past the lecture halls to end of the campus and nearly collapsed from exhaustion on the edge of lawn. I stumbled through the darkness and leaned against a large oak tree. I inhaled deeply.
In hindsight, I really do not think I was running away from Robert, I was running from Aimee. I’ll never forget the way she looked at me, so terrified. Perhaps it wasn’t even Aimee, maybe I was running from myself. It seemed as if I had been standing outside that theatre for hours. I looked at my watch. It was 12:03 AM. Only a few minutes had elapsed. A few mad minutes.
Thursday, July 2, 2009
PHP - printing arrays to your screen with print_r
print_r() is a handy function to print items in array to your screen. Its a great way to test and make sure your arrays have all the information they need. However its display can get quite messy if you have mulit-dimensional arrays. For example:

The output would look like this:

It shows all the information, however its bit difficult to see what is going on in there, all the arrays are lumped together. A better way of displaying the data would be to add some old school HTML tags such as the pre tags:
Now the out put looks like this:

This is alot easier to read as it stacks the arrays nicely. Finally you just chuck it into a handy function. I use this function to test data, check for errors and much more:

Noise Pollution
“You ask me what is, at the present time, the great obstacle to human progress. I answer you in one word: NOISE.”
Aleister Crowley - Magick without Tears, Chapter XIV
At night there were no wailing sirens, shouting matches, blasting horns or bustling commotion. In fact it was pitch silent. And because of that my friend had insomnia for nearly month. How could this be? My friend had just moved from downtown New York to a small town in the rural American south. He had grown so accustomed to the noise that he couldn’t sleep without it.
However noise comes in other forms than unwanted sounds. TV, Celebrity Gossip, Weapons of Mass Destruction, Dating, Sports, Video Games, Blogging, Cyberspace, Gadgets, Sex, Violence, Terrorism, Spam, Entertainment all can be forms of noise.
So what is noise? Noise as defined by dictionary.com is “extraneous, irrelevant, or meaningless facts, information, statistics, etc“. This makes noise quite prevelent in today’s information age. This article will discuss the appeal of noise, how does it affect us and what can we do to have less noise in our lives.
What is the appeal of noise?
Noise offers us escapism; it placates us. Most programs radio and television become pacifiers for us and do not challenge our intellect. It readily satifies an itch that we need to scratch but often goes no further.
We plugin our minds to the great information socket and tune out. Nevermind that most of the feedback we receive is irrevelent. How many commericials do you really need in your life anyway?
How noise affects us.
Cardiovascular stress, weakened vision, confusion, impaired judgement and generally rudeness are all symptions of of what has been referred to as “information fatigue syndrome“. However there are more subtle but equally serious conquences for too much noise intake.
“Answer rich but question poor” is how Baroness Susan Greenfield describes our relationship with the information age. We get bombarded with information and facts, but we spend little time evaluting and questioning what is important. All too often we passively digest information and do not seperate the wheat from the chaffe. These distractions keep us from evaluting our life and can impede our spiritual growth.
Below is an excerpt from the Screwtape Letters by CS Lewis - it tells how an elder demon distracts human from questioning an insight he has recieved. Although CS Lewis writes from a Christian perspective (Screwtape is a master demon referring to God as the “the Enemy”) it aptly shows how noise can distract us from important matters in life:
…you don’t realise how enslaved they are to the pressure of the ordinary. I once had a patient, a sound atheist… One day, as he sat reading, I saw a train of thought in his mind beginning to go the wrong way…. I struck instantly at the part of the man which I had best under my control and suggested that it was just about time he had some lunch. The Enemy presumably made the counter-suggestion (you know how one can never quite overhear what He says to them?) that this was more important than lunch. At least I think that must have been His line for when I said ‘Quite. In fact much too important to tackle at the end of a morning,’ the patient brightened up considerably; and by the time I had added ‘Much better come back after lunch and go into it with a fresh mind,’ he was already half way to the door. Once he was in the street the battle was won. I showed him a newsboy shouting the midday paper, and a No. 73 bus going past, and before he reached the bottom of the steps I had got into him an unalterable conviction that, whatever odd ideas might come into a man’s head when he was shut up alone with his books, a healthy dose of ‘real life’ (by which he meant the bus and the newsboy) was enough to show him that all ‘that sort of thing’ just couldn’t be true…
Here the subject starting to think important thoughts about his life - but were soon drowned out by the noises of everyday life. His important thoughts are soon forgotten.\
I find this a an accurate description of what usually happens when we begin to uncover important truths in our lives. If we are not careful to evaluate these thoughts as they arrive, distractions can cloud their importance and eventually we forget that we ever had those thoughts.
How can we deal with noise?
Below are some personal steps I’ve taken to reduce noise intake from my life. Perhaps they can help you as well:
- Reduce passive information intake: What do I mean by this? This means control any media that you can not actively interact with. This is primary television and radio, and to a much lesser degree, the internet. Although you have the power of the remote control, how often do switch off we there is nothing good being presented? You have no control over the output. Also, all to often we take in what is being said as truth. We don’t question it. We passively involved in our information intake with these mediums and unfortunately most of this is noise.
- Spend less time with ‘noisy’ people: and conversely, spend more time with people who have a more meaningful outlook on life. Lets face it, on the surface noisy people seem alot more fun: they have the latest gossip, have the best jokes and are alot more entertaining. Thats not to say ‘unnoisy’ people do not have these qualities - but they are usually not out try to seek your attention. Find like minded people
- Be Still! By being still, I mean making your mind still. Its always ‘Different strokes for different folks’. Some people can sit still and mediate immediately. Other people have to exercise vigorously before their mind calms. Other have to be in a natural environment. Find your own method of calming your mind. For me its a combination of the above.
Back to my friend from New York. He now loves his quiet place in the country, he couldn’t imagine living anywhere. He has visited friends and family back in the big city. However he doesn’t stay there too long these days. Its just too noisy for him.

