Darjeeling, Bergamot and Walnuts


This holiday season, idleness is good ...

I would say I'm a philosophical guy: I've heard "the meaning of life is to give life meaning", and I think those are good words to live by.

Though, often I find myself thinking I am living a "get ahead" mentality. On thoughtful conscious contemplation, I'm pretty sure "ahead" isn't a nice place to end up, one of those recurring "us and them" scenarios, but then rarely can we afford a deep look-ahead into the implications of each or our choices in our barrage of daily dilemmas.

Humans are social animals, and much of the unknown factor in our daily lives is of human origin. Can you be trusted, or are you trying to "get ahead" of me? Do I have to "get ahead" just a bit to protect myself from "them", those others who never seem to rest? Our seasonal fellow, Mr. Scrooge, is a pedagogical example of the result of perpetualizing this humbug.

So humans and wolves, unlike most domesticated dogs, try to get ahead. This is probably instinctual. I'm finding taking this to heart, and being a good sport about it, is a step forward, without getting ahead of myself. It's not like there could be a secret code or handshake that one could gesture to cut through the crap and forge a bond of immediate trust: either it would be contained to such a limited circle to be of no use, or it wouldn't be secret for long. Relationships are a perpetual negotiation, aren't they? When I am conscious of this, I feel comforted. There is no shortcut to forging bonds of trust. With presumably so many trustworthy people in the world jockeying, why then should we feel entitled rest at another's expense? Well perhaps we might just let ourselves afford it. As a young boy, two weeks into summer vacation, I always did find myself getting pretty bored of cartoons, froot-loops and Nintendo ... and what satisfaction when a rejuvenated imagination finally set me free to entertain higher pursuits. My grandmother used to say: "Activity makes life sweet, while idleness strengthens the appendages."

And so may the idleness of the holiday season bring with it strength and inspiration for us all to pursue those activities and occupations with true and enduring meaning, meaning of life. And may you stay forever young ... in 2011 and beyond.

Sincerely yours,


-- (c) 2010 DBW, all rights reserved.


When we all win

To win a debate, one has to desire to be right.
One has to keep fighting until decisive victory,
or time runs out, and the meeting is adjourned.

However, the desire to be right does not make one right.
One fights to learn to be the winner, or loser.
We are all winners when we know and do as is right.
Alas, we are all losers when following a false Prophet.

The truth is not decided by debate.
The truth is in the pudding.
May the truth be told.

"Know the truth, and the truth will set you free." (John 8:31)
May the truth protect you from what you want.

-- (c) 2010 DBW, all rights reserved.


There are only 2 hard problems in computer science

"There are only 2 hard problems in computer science: cache invalidation, naming things and off-by-one errors"

-- Source unknown


Sans Objet - Aurélien Bory

If you have the chance, go see this spectacular spectacle!


When no one is looking

This world is full of harsh realities,
like is every rat genetically responsible
for not growing enough brain matter
dedicated to understanding the human world?

Alas so some lose out at this chess game
and end up with short tortuous lives

Sure the big should help the small
But with so little time
and so many mouths to feed
the smallest do tend to fall through the cracks
when no one is looking.

-- (c) 2010 DBW, all rights reserved.



Reductionism: Descartes held that non-human animals could be reductively explained as automata — De homines 1662.


Releasing the Qi

RE: last email

Go for it dude. Would be happy to hear you'd be happy, in your Lamborghini or just doing whatever ...

You are a clever guy, I always saw that ... but emotionally you are very unstable, no wonder considering all the shit you've been through.

Still, one week you abuse me like I'm a piece of shit, like u'd stab me in the back first chance you got, the next week you abuse me like I'm the only friend you have who can help you, and if I don't let you come visit and do detox for a month and take care of you like you my own kid you gonna die and it'll be my fault.

Anyway, as a friend, I can't say "yeah let's do a business, buddy" cuz then someday u'd distrust me I only did it for the money. Use your model, start your own business and make a ton of money and start a family or move to Australia or do whatever makes you happy.

And when you're a big fat genius, please have pity on me in your time of glory that I couldn't walk your road, and please don't begrudge me that in your time of need I couldn't help you as you wanted.

peace and love, e.

The Great David Hume on Truth and Human Nature

For if truth be at all within the reach of human capacity, 'tis certain it must lie very deep and abstruse; and to hope we shall arrive at it without the utmost pains must certainly be esteemed sufficiently vain and presumptuous.

-- David Hume, A Treatise of Human Nature


Cranberry-Feta Meatballs

For my own remembrance, what was cooking tonight and will be again on some occasion in the near future ;-)

In a bowl combine:

1 tsp - 1 tbsp fresh rosemary finely chopped
1 tsp - 1 tbsp chives finely chopped
1 medium sized onion finely chopped
1 tsp - 1 tbsp oregano
2 cloves organic garlic
90g feta cheese

Note: Pre-heat a teflon frypan to "5 of 9" setting with 4 tbsp rapseed, sunflower, or olive oil.

Don't stop adding! Keep adding, there's more! (to that same bowl):

1/3 cup dried cranberries, diced
5 grinds of pepper
500g organic ground beef

Meatballs need to be salty, so add about 2 tsp of salt, or let's say the meat forms a 20cmx20cm area, then about 20 salt crystals per cm^2. Thats how I estimate it: by crystals per cm^2.

Massage well. Form into ~8 balls about the size of a kiwi, slightly flatten, and place in the pan.

Drop 3 drops of Worcestershire sauce on top of each ball.

Cover and let cook ~8-10 min.

Add 3 tbsp red wine to the juice, flip the balls and give at least 30sec for sauce to return to boil, then moisten the balls by spooning the wined juice on them.

Cover and cook another 8-10 min.

With a total of 8 balls, serves 4 with 2 balls each.

Serve with Spaetzle or Tagliatelle larghe covered with diced parsley and walnut oil, and steamed vegetables (zucchini, carrot, cauliflower, green asperagus.

Of and I forgot to mention, you need to add to the above:

1 splash of darjeeling
1 mash of bergamot
1 dash of walnuts

-- (c) 2010 DBW, all rights reserved.


May you build a ladder to the stars and climb on every rung, and may you stay ...

Forever Young

Words and music Bob Dylan
Released on Planet Waves (1974) and in an early demo version on Biograph (1985)
Tabbed by Eyolf Østrem
Album version I (slow):


May God bless and keep you always
May your wishes all come true
May you always do for others
        G             D
And let others do for you
May you build a ladder to the stars
And climb on every rung
        Em   A(sus4-A) D
May you stay    forever young
        A         Bm
Forever young, forever young
        D   A        D
May you stay forever young.

May you grow up to be righteous
May you grow up to be true
May you always know the truth
And see the lights surrounding you
May you always be courageous
Stand upright and be strong
May you stay forever young
Forever young, forever young
May you stay forever young.

May your hands always be busy
May your feet always be swift
May you have a strong foundation
When the winds of changes shift
May your heart always be joyful
And may your song always be sung
May you stay forever young
Forever young, forever young
May you stay forever young.

Source: http://dylanchords.info/14_planetwaves/forever_young.htm


Seriously, these people are WIRED

Present the masterpiece to your guest. For all they know, this is how you always make coffee. Michael Conroy.

who has trained himself to sleep in one-hour bursts. This gives him time to run his firm and fit in book-writing, race-sailing and all the other distractions of achievement-focused wakefulness.

"You could build traffic noise into a dream.", not he stresses, when he's driving.

A hundred thousand years ago, if you slept for eight hours, you'd be eaten

Home-gym heroes - exercise tech you won't want to hide in the basement

Don't be fooled by the penny farthing looks: its electric motor will carry you 10km on a single charge, at speeds up to 20kmh. £3,000 ...

laid down in layers and heated, fusing the particles into a form generated by algorithms.

Next I want to make a doorbell that sounds like a dying star

Researchers have developed a way to compare aromas visually

comes as a stainless steel box; you bash a seat into it with a hammer (supplied). $9,750.

Canadian poet wants his work to live on after he's gone. Like, billions of years after. It if works, his poem could outlast the human race.

I wanted to write about "play", but it's fallen prey to our 21st-century need for significance.

When someone tells me that something is impossible, I want to do it and prove it is.

Brush away your plaque with some wound-healing, car-repairing paste - Colgate sensitive pro-relief rapid and lasting relief ... from pain and suffering

Interviews designed to blow your minds [If I put you in a sealed room with a phone that had no dial tone, how would you fix it? Asked at Apple]

Robert's soldiers use the wiki while on the move by talking, typing into a smart pad and annotating Google maps.

Military scholars have been arguing the importance of networks for future conflict for more than a decade now.

"Our wiki firewalls get cleverer and more responsive everytime the enemy tries to hack them ... they're alive, canny."

I like the idea of flattening this limitless, unknowable space into something as outdated as a family slide show.

We look for companies to dominate an initially small market that subsequently experience explosive growth

"Imagine if anyone caught spending money on Stephanie Meyer novels could be rendered down into their constituent chemicals and scattered on barren land as organic fertiliser." I make it explicit: this snip is by none other than Warren Ellis of WIRED magazine, who "didn't spend all these years evolving the ability to operate a bottle-opener to have all possible minions immolated in one go."

No more philosophy - genuine understanding

I see that undergraduates, rather than flocking in droves to investment-banking jobs, are turning to volunteering and smaller cars.

This is the future of warfare

It's not how many friends you have. But how much of a friend they are.

The significant is driving out the light.

My favorite is type 1b - it explodes as brightly as a billion suns.

Living under someone else's dominion? Serf. It's time to start your own country.

Wired explores the new trust economy. Someone in Brisbane borrows it until tuesday.

Overheated milk produces hydrogen sulphide, which smells like rotten eggs.

Microfoam malfunction?

Promptly resubmerge it to avoid rendering the milk unstable injecting too much air.

"And, O my brothers, would you believe your faithful friend and long suffering narrator pushed out his red yahzik a mile-and-a-half to lick the grahzny, vonny boots...The horrible killing sickness had whooshed up, and turned the like joy of battle into a feeling I was going to snuff it." - CWO

Way to ruin a perfectly good and naive sunday, like thinking things might just end up alright, and like there's a whole lot of decent people in the world who care. Thanks wired. I hope this urge to vomit subsides before dinner.

Got your attention? Check out "WHY THE IPAD REALLY MATTERS, P. 120"


MAY 10 £3.99 - weird.co.uk - THE FUTURE AS IT HAPPENS


Frankly, it all sounds to me like those visions of grandeur I associate with the occasional changeling days I start off with a strong shot of espresso, or a double tall latte.

And thats why Darjeeling, bergamot and walnuts.


Tenureclock and Jabberwock

"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"


"Beware the Tenureclock, young one,
Don’t pause at night or flaws they’ll catch.
Be sure you publish blurbs, and shun
The populous intro class!"




# Copyright (c) 2010 DBW.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# GNU General Public License for more details.

# pygmentize -f html -o god_writes_good_code.html god_writes_good_code.py
# More info @ http://burstcoding.blogspot.com/2010/04/rendering-code-via-pygments-in-your.html

import nltk
from nltk.corpus import PlaintextCorpusReader as PtCr

import numpy
import os

def cache_url(url, gunzip=True):
    """fetch the url locally if not already local.
    gunzip - {True,False} - pass through gunzip or not

    filename = os.path.split(url)[-1]
    ext = os.path.splitext(url)[-1]

    # will we be unzipping?
    if gunzip and ext==".gz":
        unzipped = filename[:-3]
        if not os.path.exists(unzipped):
            err = os.system("gunzip -f %s" % filename)
            if err!=0:
                raise OSError, "gunzip error on file: %s" % filename
        return unzipped

    elif not os.path.exists(filename):
        err = os.system('wget %s' % url)
        if err!=0:
            raise OSError, "wget error on url: %s" % url

    return filename

def draw_from_cfdist(cfdist):
    values = numpy.array(cfdist.values())
    keys = cfdist.keys()
    a = numpy.add.accumulate(values)
    # draw random integer upto end of a+1
    rndi = numpy.random.randint(a[-1]+1)
    idx = a.searchsorted(rndi)
    return keys[idx]
def generate_model(cfdist, word, num=15):

    for i in range(num):
        print word, 
        word = draw_from_cfdist(cfdist[word])

if __name__=="__main__":

    # King James bible and New Hacker's Dictionary.
    sources = {'kjv':'http://www.ccim.org/~bible/kjv.rawtxt.gz',

    urls = sources.values()

    # cache the urls and get filenames
    filenames = []
    for url in urls:

    source_files = dict(zip(sources.keys(),filenames))

    # Make a corpus out of local cache
    local_corpus = PtCr('.',source_files.values())

    words = reduce(lambda x,y: x+y, [local_corpus.words(source_files[src]) for src in source_files])

    print "Generating bigrams."

    bigrams = nltk.bigrams(words)

    print "Generating cfd."

    cfd = nltk.ConditionalFreqDist(bigrams)

    for i in range(20):
        print "\n"

Utterings of god_writes_good_code.py

God. It is a PDP - paired keyboard macros or parents, that sin
God rather limited their Xerox PARC
God hath put them a sagan
God be willing to construct
God, my roaring lion, and how the universal constructor
God Righteous featurectomies are only if the sour wonton soup is shed innocent
God of mercy on. A pastime is no pleasure in this naming convention
God doth not till all unwanted notoriety
God is cruft: and would cleave unto the LORD, and see the city
God. Female hackers at midnight, and praying, lest my son
God of Solomon gave him: black art not profit margin
God is usually generalizations of a reply, and hast paid the congregation
God, saying and forty years of socks: I am that
God of God our uncomely parts of language
God of rocks I am God, the Chinese Army technique, I conceived
God; and none other; and the knees to his son of Waterloo
God hath been with thee, it, and came to thee ? for science
God of the book of a cloudy pillar stand upon the next day: 9
God in hackish sense 2 Go not unto Taanathshiloh, and his feet.
God: so I will; and with her suburbs, so, whatsoever is.
God, / n. Hackers are essentially dead ? And Moses
God is hardened, Fear not himself for his neighbour in all his mercy
God made loops with us
God: I gather it into a procedure to keep under
God of electric service attack with the floppy disk

-- (c) 2010 DBW, all rights reserved.

Career Collage

A power networker herself, Alice is going to be giving her best power networking tips.

With over a decade of expertise in research, market intelligence, public policy, project management and communications, Aaron knows a lot about research and finding information that people don't want publicized.

The past few years have proven tough for many recent graduates to land jobs.

Hear three speakers tell you how to take control of your career and find well-paying work.

Random talk is useless.

I pour out a cup of water. Is the cup empty?

The good fighters of old first put themselves beyond the possibility of defeat, and then waited for an opportunity of defeating the enemy.

Foray into Natural Language Processing

Python 2.6.4 (r264:75706, Dec 7 2009, 18:43:55)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.chat.chatbots()

Which chatbot would you like to talk to?
1: Eliza (psycho-babble)
2: Iesha (teen anime junky)
3: Rude (abusive bot)
4: Suntsu (Chinese sayings)
5: Zen (gems of wisdom)

Enter a number in the range 1-5: 4

Talk to the program by typing in plain English, using normal upper-
and lower-case letters and punctuation. Enter "quit" when done.
You seek enlightenment?
One may know how to conquer without being able to do it.
>why conquer?
Ask me no questions!
>I seek enlightenment
Heaven signifies night and day, cold and heat, times and seasons.
>And conquer
Attack him where he is unprepared, appear where you are not expected.
>is it worthwhile?
Please consider whether you can answer your own question.
>I cannot
The good fighters of old first put themselves beyond the possibility of defeat, and then waited for an opportunity of defeating the enemy.
>>> nltk.chat.chatbots()
Which chatbot would you like to talk to?
1: Eliza (psycho-babble)
2: Iesha (teen anime junky)
3: Rude (abusive bot)
4: Suntsu (Chinese sayings)
5: Zen (gems of wisdom)

Enter a number in the range 1-5: 5
Zen Chatbot!
"Look beyond mere words and letters - look into your mind"
* Talk your way to truth with Zen Chatbot.
* Type 'quit' when you have had enough.
Welcome, my child.
Greetings. I sense your mind is troubled. Tell me of your troubles.
>Why conquer?
Why do you think conquer?
>One school might argue that it is a necessity of life
Form is emptiness, and emptiness is form.
>Conquer life, and life conquers us
The reverse side also has a reverse side.
>Submit to life, and life submits to us
When you're enlightened, every word is wisdom.
Random talk is useless.
The reverse side also has a reverse side.
>Random talk is useless
Form is emptiness, and emptiness is form.
>And so it is revealed that you are only the shadow of a zen master
I pour out a cup of water. Is the cup empty?


What would be awesome?

ksnapshot -> tesseract -> klipper

with programming language syntax hinting support.

Use case: Navigate to a book on google books,

press "print screen", highlight code and it appears in your clipboard.

In fact, this book is online here.


Morning after 56 herbs

Of want

Of desire

Of intent to deny

  the existence of principles
  by which one can smoothly live out ones days

Of boredom

Of heartlessness

Of aggression

  Do I relive my father's essence
  because I am his son?

Of desire to lead
Of burning intent
Of want of result
Of aggression for resolution
Of heartlessness for the loyal
Of boredom for the principles

  I relive my fathers essence
  for I am his son.

Now, in this calm hour,
in the presence of friends,
the bottle was drank
but returned for refund.

The body is wise.
Not like the mind,
  always trying to justify its existence.

Existence describes what a body does.

Fear the mind,
  trust the body.
Though the mind leads,
  the body follows.

All the faults you find in me are true.
I left without saying goodbye.
But see that I did right to return,
as you knew I would.
These faults are those of a young man.
The faults of pollen and seamen.

The mind has done enough damage here.
Approaching soon let the mind find calm
  comfort in nothingness
  while the body exists through it.
While the body persits,
stronger, truer,
loving the mind for its concoctions,
admiring the mind,
as a mother
her son.

-- (c) 2010 DBW, all rights reserved.



It is human nature to want to experience either the complete destruction of life on earth as we know it, the tragedy, armageddon, or its complete salvation, the epic, the promised land, in our own lifetimes. Remembered will be the story of those who do not: Those who chose rather Darjeeling, Bergamot and Walnuts, and how they triumphed over the conundrum of their own insignificance.

-- (c) 2010 DBW, all rights reserved.


The Partisan

Arpeggio applied to perseverance, as bergamot to darjeeling


It's an illusion, you see ...

Stare at the walnut in the middle, and see the colors of bergamot and darjeeling appear where they don't belong.

© 2008 van Lier & Vergeer

Van Lier, Vergeer, Anstis, 2009, Filling-in afterimage colors between the lines, Current Biology, 19 (8), R323-R324.

Source http://illusioncontest.neuralcorrelate.com/2008/filling-in-the-afterimage-after-the-image
"I heard my soul singing behind a leaf, plucked the leaf, but then I heard it singing behind a veil. I tore the veil, but then I heard it singing behind a wall. I broke the wall, and I heard my soul singing against me. I built up the wall, mended the curtain, but I could not put back the leaf. I held it in my hand and I heard my soul singing mightily against me. This is what it’s like to study without a friend."

--- Leonard Cohen, Book of Mercy

Someone else found the same walnut.

Kimchi Ramyun HDR

  • Cook chopped carrot in 500ml boiling water for 10 mins
  • Add broccoli, asparagus, green onion, zucchini
  • Boletus edulis mushroom chips, dried (2 tbsp or so)
  • Dried seaweed (1tbsp or so)
  • Tofu cubes
  • 1 Nong Shim KimChi Ramyun (organic food bigots observe moderation now) noodles, and half of flavour packet.  No wait, it was a tough day at the office, and you need a little reckless abandon.  Go ahead, add all the flavour, you deserve it!
  • mix 1tsp - 1tbsp miso with 100 ml boiling water, and add to soup
  • top with bean sprouts
Get out the darjeeling, bergamot and walnuts: This soup has some olfactorial high dynamic range.   

This time I used a tripod, and exposed 5 shots at different ISOs.  Used  qtpfsgui (from Ubuntu 9.04 main repo) to do the merge and the tone mapping: Fattal (alpha=0.304, beta=0.89, color_sat=0.54, noise_red=0.0)
Where do you get your fix?

Darjeeling - Twinnings, with that aroma likened to the muscatel grape.

Bergamot - Picked some up at the Vietnamese trader in Renens. Life hasn't been the same.

Walnuts - Vitamin E from the tree, of course. Get cracking!


Mental Note: Nomeansno tours Europe

Tour dates, spit & vinegar, and de dag dat alles in niets opging.

High Dynamic Range

If you drink alone, you just might be an alcoholic. Along with Darjeeling, Bergamot and Walnuts, a good 10 year Coy Tain malt is something I certainly enjoy for it's high dynamic range. As always, in moderation.

My first attempt at an hdr image with qtptfgui, next time I'll use a tri-pod ... It appears as if I was excessively moderate in exercising moderation.

About DBW

Here are random notes, and things to be enjoyed in moderation. This is my best attempt at subjecting myself to a face book ... but you can opt in or out and still be my friend.

OCR in Polish on Linux

A mental note to myself on getting text from images, and using a non-standard dictionary.

Software of choice: tesseract, gimagereader, tesseract-polish, Python, emacs.


- kubuntu 9.04
- sudo apt-get install tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra
- get tesseract-polish source and copy pol.* to /usr/share/tesseract-ocr/tessdata/


is a quick and dirty GUI frontend to tesseract, but it does the job very well. I got the source ... careful, the tar does not include a main truck "gimagereader" so create one and extract it in there. Edit src/main.py to add Polish dictionary @ lines 239 and 256 add ("pol","Polish") and ("pol","Polish","pl_PL") respectively. Edit src/config.py @ lines 111-116: following the if ... !="/" change outer get_text to set_text, then "make install".

$ gimagereader

In the dialog asking for dictionary files, enter /usr/share/tesseract-ocr/tessdata/, apply.

My images were generated from a pdf using gimp pdf import at 200 DPI, higher resolutions seem to have caused tesseract some problems, such that gimagereader "recognize" found no text.

Process is as follows:

1. Open image

2. In the langauge dropdown in the toolbar, select Polish, the new dictionary we added.

3. Select the column of text to be recognized, and click "recognize". Repeat for additional columns. To the right, in the text box that appears, the OCR'd text will appear. Though the "Insert At cursor" is a sane default, allowing regions to be recognized in sequence, other options are available. Save.


DBW Darjeeling, Bergamot and Walnuts
DBW Department of Boating and Waterways
DBW Drive-By-Wire
DBW Down By Won
DBW Decibel (referenced to 1 watt)
DBW Desirable Body Weight
DBW Don't Buy Wanton
DBW Dedicated Bandwidth
DBW Data Bus Wire
DBW DriveByWire (Dutch band)
DBW Dragon-Back Warriors (gaming clan)