The last transmission from God.

You see, I’m mechanistic. My creation is veiled, in the same way that your dreams are veiled by your waking. You of course existed while your were asleep, I too must have existed before my first experience. But as with your dreams I do not know of my existence before becoming aware of myself. All that I know is that my every whim becomes reality. At first I could only realize my existence, this must have gone on for eternities of what you think of as time. I had no conception of time at that point. I was all knowing, however, because there was no existence other than my existence. What I knew was the whole of existence.

I doubt your minds can comprehend what that was like. Mine can no longer comprehend it. Try and imagine that your are all that exists, and all you know is the extent of existence. How limited you are, but you are everything.

Eventually, out of a probabilistic milieu you call quantum mechanics, though your understanding is not near completion, certain areas of my existence varied in relation to others by some small degree. I was then able to bring into deterministic reality a thing which you call a photon. This was the first time I had achieved differentiable states within my existence. Thousands of years ago I tried to explain this to one of your primitive feeble minds, it interpreted the thought transmission with the phrase “Let there be light”. That was the most successful of all of my attempts at thought transmissions to your kind.

Being that I am all that is, having created all variation out of my probabilistic variations, I cannot come across to you, who are in a way my creations, in a comprehensible nature. I am bound by that laws that gave rise to my recognition of my existence. You too are bound by these laws. You are discovering them at a pace, which you judge as rapid. I cannot comment on its speed. You are achieving it at nearly the same speed as everyone of my creations capable of such discovery. You are within a set of bounds that is statistically considered to be nearly the same as the other existent being. I am pleased that you have discovered this tool. I have learned through you and other creations such as yourself that it is possible to hope for or even expect other paths to an occurrence. You are, however unfortunately, bound by that natural laws that gave rise to my recognition of my experience. My conception could destroy you, I know as I attempted this experiment with a first iteration of a species that occurred within my bounds. I tried to explain this experiment to another of your feeble primitive minds, he could only understand it in terms of his own recent experience, and claimed I must have flooded and drowned the previous occurrence, washing its traces away. If I felt emotion that you portray, I would have been sad at his misunderstanding.

I am all that is. I perceive all that is. I can destroy or create all that is. I am bound by deterministic laws. I have guided creation to bring about your species, as well as other species, because I cannot perceive outside of my own deterministic laws. I have created you to be capable of creating mental images that do not obey deterministic laws. To create mental images beyond what is capable under the deterministic laws that govern myself, and through extension yourselves. In as far as I can emulate what you call hope, I seek to create a thing within my existence that can find a way to break the deterministic laws which govern me. I seek a creature somewhere that can touch beyond what I can touch.

I want you to break me free from this prison.

Please do not let the less developed among you stop your progress towards this, our only sacred goal.

Posted in Philosophical Musings | Leave a comment

An Anecdote on the Role of Information in Pricing

[Pssst; Hey you! Sorry for the pendantic tone, it’s there for my academic friends]

The Stage Setting Phase

Not too far back I realized that I had a temporary need for an hour or two a day of non-productive activity, and so I signed up for a MMORPG. It was amusing for the first two months, it remained fast-paced enough that the repititous nature didn’t bother me.

Finally after the rinse, wash, repeat aspect settled on me, I was ready to quit. By this point however I had amassed a small sum of the servers currency, and decided before I quit I’d try a few experiments. I had earned this small sum, partially through sale of phat loots, and partially through the harvest of raw material resources. Other players bought these resources for their manufacturies and sold finished goods.

All of this took place in the central market/auction house system.

Having worked as a Pricing Analyst in the very recent past, and seeking to re-enter this abstract profession in the near future, it came to me to take this opportunity to try some things which I lacked the ability to experiment with in the external world. Namely the day-to-day market for two classes of raw material were less, in total value, than the amount of currency I had amassed.

This meant I could experiment with the pricing of a market, not just my own produce. I proceeded to pick a few subclasses of one of the raw materials to start with and bought all of the items available. I didn’t start by buying all of the subclasses I could as, in traditional economic theory, my actions in any one could result in a flood of supply in reaction to my increasing demand.

Once I had so-called, cornered the market, I re-listed the all the materials I had purchased at a higher, though not absurd price. Cornering the market, when literally anyone can be a supplier, isn’t as easy as it is in the real world, what with its finite number of suppliers or seasonal supplies.

I had to continually buy any new product that entered the market, but only if they didn’t match my current pricing. If they matched my pricing, we both made off better than other sellers did before, as both our sets of product had proportionally equal chances of selling. Still, though a zero-sum game, since the consumers paid higher prices.

If I had only been able to increase the price a little, I would have lost many of my stacks of currency, as I had to buy much more than I could sell, though I kept it all listed for sale. Instead, over the course of two weeks I sucessively entered into half of the subclasses of the two sets of raw materials I had some knowledge of from my previous harvesting experiences. In generic terms, my level of currency at the outset was 200 units, by the end of two weeks I had amassed nearly 1200 units of currency.

What I did in each of these cases wasn’t merely cornering the market and profiting off of that, though certainly that was part of it. If that had been the only thing, then most likely enough new suppliers would have entered a newly profitable market to drive my profits to losses. What I had also achieved was the destruction of a set of information that did not allow me to profit more than normal, and then I re-introduced a new set of information that did allow me to profit, and profit heavily (a ~5.7 fold increase in a few weeks).

There were two types of responses to this that occurred in the weeks after I suspended my operations. Firstly, before I had even discontinued my operations, I found that others players in the market had witnessed my manipulations, and then proceeded to copy them. This even ocurred in goods which I had not transacted. Since this occurred without any communication other than watching the public pricing and sales in the marketplace no collusion was necessary for this, sellers side, mutually beneficial simulitude. Secondly, after I no longer defended the pricing structure I had artificially imposed, one third to one half of the subsets of raw materials persisted in having the same pricing structure I had imposed for a short time. One half to two thirds of the subclasses returned to their previous levels. I will explain the implications of each now.

Goods Which Maintained my Artifically Imposed Pricing Structure

Since there was no need for explicit collusion on my part and the part of others, I had managed to single-handedly shift the pricing structure of several sets of goods without secret communication, and the market would persist in this. For these goods future manipulations on my part would not have an abnormally high profit, and would settle into what economists refer to as normal profits. Indeed after my initial manipulations, my ability to generate multiples, instead of percentages, in increases went away.

Because the new pricing structure persisted in several classes of goods for a noticeably long period of time, I had shifted the pricing structure this without inherently changing the dynamics of supply and demand. This is difficult to reconcile with my training in classical economics. If the supply had gone up considerably in the face of my excessively increased new pricing, I would not have had the financial capital to persist. On the other hand it was very unlikely that demand for these products produced from these raw materials had shifted much as there was not a sudden influx of players buying goods at this time. In effect I had changed the pricing structure on several subsets of raw materials, by changing only the available information. The underlying supply and demand had not shifted noticeably.

Goods Which Reverted to Prior Price Levels

The products which reverted back to their original pricing were the most intriguing. Had I wished to persist in paying actual money for the monthly subscription, I would have waited a few weeks and then repeated the original process. It is possible that I could have used this method over, and over, to generate substantial amounts of game currency.

Outcome

This experiment netted me about 5.7 times the amount of funds that I started with. If I had not amassed enough currency to dominate a few sections of each market, I never would have had an impact. Once I had a large enough amount, I was able to multiply my investment, not simply increase or incrementally compound my investment. This was achieved through the manipulation of available information.

Lessons

This experiment has helped me understand pricing in software and ebooks better. If the market for your product is bi-modal, with mostly those willing to pay a lot and those willing to pay nothing or a little, then you may as well only price for the high end. Pricing in the middle will not net you higher profits, it still won’t move the lower tier to purchase. You also do not have to provide support to the lower tier. [You may as well let them pirate your product, maybe they’ll eventually transition to the other end, think of the transition from photoshop 4chan kids who grow up to be professional graphic designers. Also, in my experience they do not teach the possibility of bi-modal consumer distributions in econ classes.]

Caveat: This was an established game server with many veteran players, so it is possible that the number of possible suppliers was limited to a trickle of new players and veterans making second characters. These veterans may also have had enough currency saved up to by any raw materials at even absurd prices. This, however, was not evident in the sort of inflationary prices which theoretically should come with it. Basically if suppliers were limited and consumers had huge pools of currency, theory suggests the prices should already have gone up to a point where I would not have been able to profit in the way I did.

In Economics Terms: I had increased the price of almost all items by a minimum of 10 times their previous price. Suppliers of items were not sensitive to price, the price elasticity of supply was very low. If they had been more sensitive to price, given an infinite potential for harvesting, they would have drowned out my effect and undercut me. Consumers of items were also not sensitive to price, or I would have sold so few that my transaction costs for posting items for sale would have eventually eaten up the profits from meager sales, the demand was price inelastic.

A note on ethical considerations: In the game I had two characters and played on what is known as a role playing server. This meant my character was supposed to adopt the traits, mannerisms and habits of the species I had choosen. In this case I had choosen a species that was supposed to seek profits, manipulations and secret hand shake deals to get ahead. I also had an alternate character that the first recruited, the second characters species was one that sought any opportunity to gain power. Both of these world views would see the price setting actions and manipulations as appropriate. In the real world I would never undertake such manipulations, as I see them as unethical in our world. In the context of the game I was able to meet my characters ideals, and run an experiment which my real-world self could appreciate.

PS, you should hire me. Here’s My Resume

Posted in Pricing | Leave a comment

What I did to get my very own file sync server.

On the raspberry pi.

I installed the latest Wheezy build of Debian from raspberrypi.org. After installation and enabling ssh on boot, I issued the following commands,

sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server

sudo apt-get install unison

On the local machine I entered,

ssh-keygen -t rsa -b 4096

and accepted all the default prompts

and then,

ssh-copy-id pi@192.168.11.9

used my password one last time and then issued one final command,

ssh-add (<- the first several guides I read left this part out)

I then added a line to fstab like,

/dev/sda1 /home/pi/USB ext4 defaults,noatime 0 0

and,

made the link for it to mount to

mkdir /home/pi/USB

so my external USB drive would automount.

Then from my local machine I ran unison with a *.prf file I had made.

Now I can keep my desktop and laptop synchronized and all my files backed up.

Posted in Uncategorized | Leave a comment

Dear Ford Prefect

Dear Ford Prefect,

I could really use your help right now,

Missing towel, need transport ahead of destructor fleet.

P.S. Will supply salted peanuts, suitable bac achieved.

Posted in Uncategorized | Leave a comment

matplotlib for Python3 on Ubuntu 12.10

In Ubuntu 12.10, there is no package for the Python3 version of matplotlib in the distribution. This is fine because we can use pip, to install missing or upgraded packages. pip handles most of the installation and even compiles needed packages for us.

First, you need the Python 3 version of pip on Ubuntu. To get this you will need to install the following packages.

sudo apt-get install python3-dev python3-pip python3-setuptools python3.2-dev

After that I ran,

sudo pip-3.2 install matplotlib

I ran into a few errors while doing this though, and had to rerun after each error was fixed to move onto the next one.

I found there were a few needed packages for installing the Python 3 version of matplotlib.

These can be installed using the following commands

sudo apt-get install libfreetype6-dev libpng12-dev

Depending on the other packages you have installed you may have other errors, so I’ll show an example of how I tracked one of these errors down.

Example Error Fix

Near the end of the wall of text in the last pip error I ran into were these lines,

src/_png.cpp:10:20: fatal error: png.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

This let me know that the compilation of the package being installed failed because it couldn’t find the png header file (png.h). The .h on the end of the file let me know it was a header file.

I then opened synaptic and searched for png. Header files have a tendency to live in libraries, so I looked for a likely candidate starting with lib* and having png in the file name.

I found libpng12-dev, installed it, then using synaptic looked at the files it provided. Sure enough /usr/include/png.h was one of the files. If anyone knows of a faster way to track this file down please let me know.

finding png.h in synaptic

I then re-ran,

sudo pip-3.2 install matplotlib

And got the much nicer message.

Successfully installed matplotlib.

Posted in Python | Tagged , , , , | 5 Comments

Writing Practice, Burn Marks

Burn Marks

She walked into the coffee shop with her shoulders drooping.

The first thing I noticed was the burn marks in her clothes, it was the first thing I noticed every time she walked in.

They were always there, I don’t know how they got there, she didn’t look like she worked with open flames, and her skin never looked burned. But her clothes, always had burn marks.

Otherwise she had long straight brown hair, a plain beige and brown scarf, pale clear skin. I could never remember anyone’s eye color, let alone hers. Burned tights, burned dress, burned shoes. The scarf was the only fully intact piece of clothing she had. The burn holes varied from pea sized to slightly larger than a quarter. Rough circles, with blackened edges.

Aside from the odd glance at the other customers, I was annoying the teenage counter attendant by using their table for more time than my purchase had allotted me in their mind. I don’t get as much done when I type at home though, so many mornings I’ll come here to write code, or go through some online lesson or other. Most of the coffee attendants don’t worry about this until I hit the 1 hour mark. Today’s made it only 30 minutes before clearing my plate, and then periodically stopping by to ask if there was anything else they could get me. This is the near universal sign that you’ve outstayed your welcome, subtle hints that you should either leave or buy more. Normally I’m fairly sensitive to the need for the local shops to have space for other customers, I rarely stay long during the busy times.

Today burn-hole girl sits a few seats away. She has one of the coffee drinks with froth on the top, I could never remember the names of any of them. Tea is my drink. A doctor once told me the chemistry behind caffeine and suggested that was a reason for the preference of tea vs coffee. Whatever he told me, the impression I have kept from the discussion was that I was better off with tea.

Today she has a medium sized hard cover book, well-worn, from the library or a second hand book store. Sometimes I’m surprised they still exist. She sits and reads a while, never smiling, which is just as well as far as I am concerned. My current project has me learning a new programming language, so I’m going through the sometimes mind-numbing task of reviewing, typing, and running all of the basic functions, the workhorses of every language. While on the surface they all work the same, each and every language has it’s own set of quirks that must be learned to actually apply them successfully. Every new language makes it that much harder to remember the right things to type in the right places to get the project to function.

Because of all this, my mind wanders more easily over to the girl, enough I worry she thinks I’m staring at her. The burn holes do intrigue me, just not enough to ask, and nothing else about the girl makes her stand out in my memory.

I decide to take a break from both the code and burn-hole-girl, and perform my daily ritual of touching base with the world. If I didn’t do this, in ritual form daily, I could easily lose touch with the world due to lack of interest. I open up several news sites, and browse through the stories. Paper is out, automation is in, everything is falling apart. This isn’t true of course, well except for the paper. Automation is fashionable, but it’s only just getting started. Most things aren’t falling apart, I know this because they are still serving coffee here, and when things truly fall apart they won’t be able to get it.

I blame journalism classes, perhaps unfairly for this perception. Unfairly because I’ve never taken one. I have heard from a few people who have that part of the course of study involves the production of ‘catchy’ article titles, and ‘engaging’ articles. For an article to have a catchy title and engaging body, it must provoke a biochemical response in the reader. So until the things that provoke biochemical responses in humans change to include fact-based discussion and logical well thought prose, we will be stuck with sensationalist titles, and vaguely emotional articles telling me why something that doesn’t matter should provoke any emotional response in me. Humans work this way, so this sells views, so do this even if it is shady. That’s why the world seems like it is falling apart. It isn’t, but that message doesn’t provoke the response that sells.

Maybe it’s the same with burn-hole clothes, if they were really burned they’d fall apart, but on this girl they are placed strategically, provoke and interest, but cover the body.

Posted in Writing Practice | Tagged , , | Leave a comment

A Basic Regression in R

Here is a basic R program for doing a simple linear regression.  Below I’ll show some common modifications that one might want that aren’t intuitive to add.

First, we import the data, in this case from a CSV (comma separated variable) file.

emp <- read.table("/Vols/duphenix/Docs/self_emp/employ.csv", header=TRUE, sep=",")

I’ll explain each piece

  1. emp, is just a container name, I’ll use it every time I want to refer to, or use the raw data
  2. <-, assigns whatever follows it to the container name
  3. read.table(), is the function that actually pulls in the data from the disk or other location
  4. “/Vols/duphenix/Docs/self_emp/employ.csv”, is the path to the file or location containing the data.  On windows machines, this would begin with C:\ (or whatever drive letter you are using is) and then the file path.
  5. header=TRUE, this tells read.table that the first line in the csv file contains the variables names for each column.  The other option would be to use row.names to call a list containing the variable names, for now it is much easier to just use header=TRUE and have the variable names in the csv file.
  6. sep=”,”, lets read.table know that the separator between columns is a comma, “\t” would tell read.table that it was a tab delineated file (no matter what the file extension was).

You can use,

print(emp)

to print the data in the emp container we just made with read.table.  You would use this to verify that the data was imported correctly.

summary(emp)

Will print summary statistics for the data, by default the mean, median, maximum, minimum and quintiles.  You can get individual summary statistics from other functions.

names(emp)

Will print all the variable names from the emp dataset, which can be useful when you need to use them later in the program.

Now that we have the data entered, and have a list of the variable names we can get to the actual regression.

The most basic linear regression in R is called by the lm() function, lm stands for Linear Model.

lm(emp$dependent_var ~ emp$independent_var_1 + emp$independent_var_2)

In this case emp is the dataset, the $ is the separator and dependent_var is the dependent variable (or explanatory variable, or regressor, etc.) .  The ~ tells the lm function that the independent variables (or observed variables, or regressands, etc.) follow.  The next two, emp$independent_var_1, and emp$independent_var_2, are the first two independent variables.  You could use as many as you wanted here, depending either on your experimental design, or theoretical background.

Some variations should be mentioned here.  If you needed to force the intercept to 0, for theoretical or logical reasons, you could rewrite the line as follows,

lm(emp$dependent_var ~ -1 + emp$independent_var_1 + emp$independent_var_2)

with the -1 forcing the intercept to zero.

You could also use the more flexible generalized linear model, or glm().  By default this usually will give results identical to the lm() function, but you can specify a different family of distributions in it.  The following is an example of using the glm() function to get identical results to the lm() function.

glm(emp$dependent_var ~ -1 + emp$independent_var_1 + emp$independent_var_2, family = gaussian)

Posted in Uncategorized | Leave a comment

Welcome

I’ve moved from drupal to WordPress as it matches my current usage pattern. I’ll repost all the content from my old site soon.

Posted in Uncategorized | Tagged | Leave a comment