All posts by Daniel Bank

My name is Daniel Bank. I am a software engineer with a background in physics. My primary interests are mobile and web development, as well as automation. My hobbies include traveling, scuba diving, playing music, writing, learning about mythology and history, and playing games.

More of the Sies

Ergonoid Spearsman
Ergonoid Spearsman

This post will elaborate more on the world of Sies.  We will look at some of the minor characters who figure into the story and provide a little background on them.  First up is the Ergonoid Spearsman, a guardian of a nomadic group of people who shun all outsiders, happy and angry alike.  Ergonoids are an aquatic people spending half their lives on land and half their lives in the sea.  They make their temples at a depth of fifty meters which they free-dive to in order to observe their rituals.  A master of the trident and other polearms, the Ergonoid Spearsman can easily dispatch a foe with his weapon on land and in water.  On the spectrum of happy and angry, the Ergonoids are neutral.  The Ergonoid Spearsman’s emoticon is B|.

Salazar the Lonely Hermit
Salazar the Lonely Hermit

Salazar the Lonely Hermit was once a happy lord whose lands consistently brought plentiful harvests.  One day the Angries blighted his lands and Salazar lost his favorite flowers.  Although the Happies restored his land to its original bountiful nature, Salazar still mourned his favorite flowers that were lost.  Unable to become happy again, Salazar retreated into the mountains to mope in solitude.  On moonlit nights, he emerges from his cave to cry soulfully while he watches the night sky.  Salazar was designed by Ryan Herriman, one of the first Siesians.  The emoticon of Salazar is u_u.

Dub Dub the Warrior of the Dance
Dub Dub the Warrior of the Dance

Dub Dub the Warrior of the Dance is an ally of the Happies.  His power is such that he never tires of dancing, which he uses to lure his enemies into dance competitions that rage for days until they inevitably collapse of exhaustion.  Dub Dub was once a vain practitioner of the dance, seeking only to advance his own reputation.  Flambytoes showed him the error of his ways and from then on, Dub Dub has been an upright individual.  His emoticon is naturally :P.

King Giffle the Sad Monarch
King Giffle the Sad Monarch

King Giffle the Sad Monarch is ruler of a large realm yet still he is constantly plagued by the belief that his countrymen secretly hate him.  Living in fear of being disliked, he never makes any decrees nor does he arbitrate in any matters.  Instead, King Giffle stays holed up in his castle, sulking and wondering why people hate him.  In truth, his subjects do not hate him and think he is a considerate if ineffective king.  In some aspects, King Giffle could be compared to Ukhed because of his brooding.  The difference however is that Ukhed blames others for his predicament while King Giffle is always introspective.  The emoticon of King Giffle is :<.

Wumbley the Captain of the Indifferent Pirates
Wumbley the Captain of the Indifferent Pirates

Wumbley the Captain of the Indifferent Pirates is not a seeker of adventure, though he likes such monikers.  He leads his band of pirates from island to island with the constant promise of treasure and mischief-making.  Every time the opportunity arises, however, Captain Wumbley decides to take a nap instead.  Usually his men decide to go off without him, which Wumbley does not mind as much as he pretends to.  Fiercely independent but without motivation, Captain Wumbley and his pirates could be considered allies of the Angries but they are far too undependable.  His emoticon is :l.

Roarlor the Hideous Swamp Creature
Roarlor the Hideous Swamp Creature

Roarlor the Hideous Swamp Creature lives in a swamp close to the high seas.  Although he is a solitary creature, Roarlor is nonetheless a kind being and a friend of the Happies.  He is also quite powerful, especially in the swamp where he camouflages with the green plant matter.  On rare occasion, Roarlor will leave the swamp to help his allies.  When he does, his appearance usually scares the denizens of the land of Sies.  He has even caught Mooflor the Scary off-guard and scared him.  As scaring people is never Roarlor’s intention, he mostly stays in the peace and comfort of his own swamp.  Roarlor was designed Ryan Herriman.  His emoticon is 87.

The Road Got Easier

As a wanderer, I traveled the world outside my home

walking the road to it’s end.

At first the road was hard and lonely until I found a friend.

I sat with him while the embers burned and warmed my soul

within the homely abode.

Prepared again for the world outside, I took the wayward road

Yet when the sun sank down and cold set in, the way had been lost.

So on a stone I sat and thought

How once I shared the shelter but currently did not

In that moment of true despair, I finally made my peace.

Finding an abode in my own,

I remembered my friend, I remembered my home.


Spider Thread
Spider Thread

When in hell, your only salvation is to know you are an 饿鬼.

Maybe then you would not cling to the breaking string that climbs to distant heaven.

Through what unimaginable odds would you have to endure until every 饿鬼, patient as yourself, waited for hell to empty up that string?

And if the string broke for the last one, your only salvation is to know you are an 饿鬼.

My contemplation of the short story, the Spider’s Thread.

Actaeon’s Haven

Artemis and Actaeon
Artemis and Actaeon

Anger, jealousy, resentment.  All these things I have felt as I suffer through a world of two duals.  To get the more favorable outcome only gives me temporary solace as I am drawn deeper into a game with no ultimate win.  Yet to lose this game can be strangely liberating.

I am Actaeon.  I have reached for the boon and have been destroyed.  Now in my obliteration, looking only at the world as it is without any wish for something different, I am happy.  I can smile at things for what they are.  My mind is at peace.  Yet the moment is brief.  In a blink, I will again be playing, winning, losing, and returning here: Actaeon’s Haven.

Logistic Map and Lyapunov Exponent

Lyapunov Exponent for the Speading of Two Close Points on a Logistic Map
Lyapunov Exponent for the Speading of Two Close Points on a Logistic Map

LogisticMap is a C# Windows application that I developed for homework in my Statistical Mechanics class.  The application plots the spread between two points on a logistic map and calculates the Lyapunov exponent for the spreading.  LogisticMap is a solution to Exercise 5.9 in Dr. James Sethna’s Statistical Mechanics: Entropy, Order Parameters, and Complexity.

You can get the LogisticMap application and its source code on GitHub.

Here’s some background on the logistic map, chaos, and the Lyapunov exponent.  In the application, we are evaluating the following function:

f(x) = 4μx(1-x)

This function is called a logistic map because it takes a point between 0 and 1 and returns a different point that is also between 0 and 1.  It maps the unit interval (0,1) into itself.  We can think about the trajectory of an initial point, x0, on the map as being the successive results of plugging the previous result back into the function: f(x0), f(f(x0)), f(f(f(x0))), …

Trajectories on the Logistic Map (μ = 0.9)
Trajectories on the Logistic Map (μ = 0.9)

The trajectory depends on the value of the constant μ.  When μ = 0 obviously all trajectories will immediately converge to 0.  When μ = 0.5 all trajectories converge on 0.5 but not immediately. When μ = 0.9 the trajectories do not converge on one value, but instead wind up within a certain range of values (roughly between 0.3 and 0.6 and between 0.8 and 0.9).

Trajectories on the Logistic Map (μ = 1)
Trajectories on the Logistic Map (μ = 1)

Now when μ = 1, the trajectories do not converge on one value and their range of values is still between 0 and 1, the same range of values that we chose for the initial point.  As Sethna states, “for μ = 1, it precisely folds the unit interval in half, and stretches it (non-uniformly) to cover the original domain”.  Furthermore, two very close initial points will have dramatically different trajectories.  This sensitive dependence on the initial point is what makes the logistic map with μ = 1 a chaotic system.

It turns out that the separation between the trajectories of the two initial points grows exponentially at a rate which is called the Lyapunov exponent.  This exponential drifting eventually stops because the two trajectories are still pegged between 0 and 1, so there is a limit to how far apart they can be.  At this point, the distance of their separation will fluctuate randomly.

If you would like to compute the Lyapunov exponent for a chaotic system, try using the following values:

  • X: 0.9 (X can be any number between 0 and 1, but not 0, 0.5, or 1)
  • E: 0.00000001 (E is the small difference between the two initial points, x0 and x0+E, so it should be very small)
  • N: 50 (N is the number of computed trajectory points, so it should be reasonably large enough that the exponential spreading of the two points can be computed)
  • Mu: 1 (this is what makes the logistic map a chaotic system)

Random Walks and Emergent Properties

Histogram of the Endpoints of One Hundred Thousand Random Walks
Histogram of the Endpoints of One Hundred Thousand Random Walks

RandomWalk is a C# Windows application that I developed for homework in my Statistical Mechanics class. The application graphs 1-D and 2-D random walks. It also graphs the histogram of endpoints for an ensemble of 1D random walks.  RandomWalk is a solution to Exercise 2.5 in Dr. James Sethna’s Statistical Mechanics: Entropy, Order Parameters, and Complexity.

You can get the RandomWalk application and its source code on GitHub.

Here’s some background on random walks.  A random walk is a series of steps, each having the same length and going in a random direction.  In one dimension, the random steps can go left or right.  In two dimensions, the random steps can go left, right, up, or down.

Now it turns out that if you have many walkers all starting at the same starting location and you record where they end up, the most likely end point is exactly the starting location.  The least likely end point is the furthest possible distance away from the starting location.  The graph of these points approximates a bell curve (also called a normal distribution or a Gaussian distribution).  In mathematics, the explanation of this phenomenon is called the Central Limit Theorem.

If you would like to see the bell curve in the RandomWalk application, try using the following values:

  • Number of Steps: 3 (if the walkers move only one step, they cannot return to the starting location)
  • Number of Walkers: 100000 (this is the key to getting the bell curve shape, there needs to be enough random walks for the histogram of their endpoints to “smooth” out)
  • Number of Dimensions: 1 (the RandomWalk program only graphs the histogram for 1-D walks)
  • Number of Bins: 100 (this parameter just lumps the random walks into a discrete number of bins – so instead of 100000 points on your graph, you only have 100 points)

OfflineSaveQueue, an HTML5 Local Storage Solution

I created a new JavaScript library called OfflineSaveQueue.  The purpose of this library is to temporarily save JSON objects in HTML5 Local Storage in the event that an internet connection is not available.

The creation of this library arose out of my need to save data to from a PhoneGap application.  The app was not guaranteed to have internet connectivity so I needed a way to put the data in a temporary queue where it could be kept until I got a success callback from Parse.

OfflineSaveQueue is not being maintained anymore and I don’t recommend using it.  However, if interested you can still take a peek at the GitHub repository.

Usage of OfflineSaveQueue is simple:

Instantiate an OfflineSaveQueue object:

var offlineSaveQueue = new OfflineSaveQueue();

Set the callback function which is executed when the queue is processed:

offlineSaveQueue.setCallback(function(objectInstance, objectName){

//Do stuff here...


Start periodic queue processing:


Stop periodic queue processing:


Save an item into the queue

offlineSaveQueue.saveObject({"foo": "bar"}, "DummyObject");

Manually process the queue


Get the number of items in the queue:


Boy in the Bathroom

Boy Reading (source needed)
Boy Reading (source needed)

A little black boy was in the back bathroom of my house. At first, I thought he was trying to steal something so I called my dad. Dad was very upset and started yelling loudly. I just wanted to hear the boy’s story so I tried to reason with dad to stop yelling and let the boy speak.  Still he kept on yelling. I asked the boy what his name was and he said, “Daniel”.  I said, “What a coincidence that’s my name too”. Then I noticed he wasn’t taking anything at all. He had a piece of paper with Holy Scripture on it.

Me in the Mirror

Girl in Mirror by Fox Harvard Photography
Girl in Mirror by Fox Harvard Photography

I was hanging out with a very beautiful girl in the bathroom. We were getting along so well and she had laid out everything I desired on the counter top. She was naked.  Her breasts were exquisite and her figure was incredible. Casually I looked at her in the mirror and that is when things began to appear different than what they seemed. For as I looked in the mirror, I saw only my naked self looking back at me. I tried not to think anymore of it. We played around some more before she asked me to sit down in a reclining chair. When I did, I felt that I couldn’t move. I struggled to get up but it was to no avail. Then I felt a pressure as something began to invade and thrust into me. The girl told me she was going to kill me. I was being raped and impaled to death.