Latest Entries »

Eerste Week

Deze eerste week is snel voorbij gegaan. Natuurlijk vooral door hard werken en er voor zorgen dat de problemen bij de klant opgelost worden, maar natuurlijk ook doordat een nieuw land veel nieuwe indrukken geeft. Tijd blijft een relatief concept.

View full article »

First delay / eerste vertraging

EN – my journey to Finland was supposed to start at 10.27 this morning, but the first delay was inevitable. Unfortunately some thugs stole some copper causing my train to be cancelled. Luckily, based on previous experience, I calculated enough margin for our beloved NS..

So, now, 30 minutes late, I am back on track, literally. End to today, I should be in Finland enjoying my first sauna..

NL – mijn reis naar Finland heeft de eerste vertraging zojuist al opgelopen met dank aan de NS. Eigenlijk is dat wat oneerlijk, want er waren blijkbaar ook koperdieven bij betrokken. Desalniettemin ben ik heel blij dat ik met treinreizen altijd voldoende marge inbouw. Schade en schande zeg maar..

Nu dus een halfuurtje later onderweg naar Finland en mijn eerste sauna die ik hopelijk vanavond kan genieten..

Almost leaving / Bijna vertrekken

EN - This post is a small test for a new category I have added to my webpage called Finland. I plan to place regular and occasional updates here for all the folks back home. So, let’s hope everything goes well..

NL – Deze post is een korte test voor een nieuwe categorie, namelijk de categorie Finland. Deze categorie is speciaal voor reguliere en incidentele updates en dient er voor om het thuisfront ook een beetje op de hoogte te houden. Natuurlijk dient deze categorie ook tot vermaak want nu kan iedereen zien hoe krom ik sommige dingen vertaal tussen het Engels en het Nederlands ( je weet wel wie ik bedoel )

Demonstration video of SAP HANA

Real-Real Time Computing

They do have a nice way of presenting their technology don’t they?

Future of SAP HANA

The last few weeks I have begun playing around with a new technology called SAP HANA. I must admit that I am very curious about the future of this new way of in-memory data analysis.

I wrote the following response to an article written by a Capgemini colleague ( Maarten Engels,http://www.capgemini.com/technology-blog/2011/04/sap-hana-impact-disruptive-technology/#comment-1190 )

Just to reboot this thread: I suspect that HANA will change the use of business intelligence. At the moment only a fairly small amount of persons in any organisation use business intelligence reports ( usually starts with certain roles, mgmt layers and such ). Yet with a technology such as HANA the use of these technologies could become much more mainstream.

I envision a future where using reports to view and think about data becomes as common as using Google to find an answer to questions.

Whereas in the past you would find a real life expert, with the intermediate step of some isolated and highly specialized search engines, we now use Google. For HANA it could progress in a similar fashion, first some BW applications ( the experts ) later some specialized solutions ( early Crystal Reports dashboards maybe?, or perhaps early adopters of SAP HANA ) later information is made commonly available in organisations.

Perhaps the following can be challenged, but in current organisations much effort is spent controlling smaller facets of the organisation. Examples are areas of procurement, purchasing or supply chain management. I would expect SAP HANA to migrate personnel efforts towards more higher-level functions on the long run. ( Granted, much more innovation would be necessary for this )

Looking forward to the future..

And also looking forward to your opinions on this.

Math related subjects

Hello Readers,

Please do not be alarmed, below is just a simple test to see whether my newly installed jsMath solution for mathematics formatting in WordPress works. ( I am trying to implement the instructions given by StacyProwell.com ( link )

And now for the grand finale test:
\[ \int \sin x\ dx= -\cos\ x + C \]

Update
As it turns out I had to change the jsMath options and tell my jsMath installation to use native Unicode fonts. Perhaps this is only an issue with my specific system/browser/settings. For all readers: please feel free to click the jsMath button ( down and to the right ) and adapt the settings as you please.

Introduction

Today I have added the category thesis materials. Within this category certain parts of my thesis will be made available to the public.

My thesis focusses on Bayesian networks, in particular Dynamic Bayesian Networks applied to Ovarian Carcinoma, a particularly deadly form of ovarian cancer. Within my thesis I have constructed DBN’s for low stage ovarian cancer, which is still very deadly. ( For more information about Ovarian Cancer, please refer to the posts detailing the disease. )

For my research I have graciously been granted access to a dataset compiled by Dr. Anne van Altena. This dataset consists of around 1157 entries of data in 274 variables. These variables include areas such as the disease progression, general and more specific patient information and much more. Unfortunately I am not allowed to present/share the dataset due to privacy constraints. I am however allowed to describe the database that I have been using. Please see the posts regarding the datasets for more information.

My work has mostly been done in LaTeX and with the use of SAGE, an open source mathematics package. This package allowed me to easily create all the functionality and images I needed, using Python as the base of the programming that needed to be done ( which is fully integrated into SAGE ). Please refer to the Sage website for more information (link).

For now, please enjoy the posts. All knowledge and methods represented in the posts are part of the public domain.

Lessons

Sometimes we are faced with difficulties. Even sometimes we are faced with difficulties that seem too big to conquer, barriers that seem impenetrable and bars that won’t bend. The strangeness is that at these times we all remember, know or meet people that have conquered, penetrated or bent their very similar challenge. A modest person might wonder about their own capabilities. Are they simply not good enough? Simply not strong enough? Simply not smart enough?
We all know the familiar sayings and stories. Hang in there, make the impossible possible, keep working until you get there and the like. In all these lies the assumption that you can do anything you want when you just put yourself to it.

The truth is not so much different, you can indeed do much more than you think you can. Below I have put a small quote, short and powerful. Take a moment with this one, it’s worth it.

“We don’t see things as they are, we see them as we are.”
Anaïs Nin

The clue in this beautiful quote is intricate and simple. If you are unsure, you are unsure about what you can do and this prevents yourself from doing what you need to do. Students from all over the world know it, if you are in doubt that you are going to succeed with a test, you are going to fail. Yet if you try again and you know you are going to succeed, you will pass the test. Common psychology tells us that when students take tests and know in advance that they are very hard, they have a higher chance of failure. This is most likely explained by the fact that part of their attention goes to their anxieties and the thoughts about the difficulty of the test. When another group ( all well document for good statistical significance ) takes the test, which they have been told is very simple, the students have a higher chance of succeeding. Both results differ significantly from the control group, which was not told anything about the test.
(Sources: 1
2 )

The theory above indicates that students who have been told that something is difficult become less confident and therefore are less likely to succeed. Vice versa, students that become more confident have a higher chance of succeeding. You could be one of those students! Know in advance how hard something is and prepare yourself for it, sure, but also know that you are going to succeed because you prepared for the difficulties. If you face a very difficult test, accept it. The test will be difficult. However, also tell yourself that knowing the difficulty gives you the chance to prepare for it. And after preparing for it, you can make it!

Be your own mentor. Become confident and reach your goals.

How do we learn?

Many scholars have spent much of their time and effort trying to conceive of the way we humans learn. Much has already been discovered about human learning. For example that we already start learning even before we are born and that some of our behavior is pre-programmed (reflexes, internal processes and the like). The consensus is that our brains are neural networks, but not equally distributed.

Our networks (read, brains) consist of a large number of interconnected smaller networks. Not only can certain regions of our brain be identified separately, these regions also consist of smaller interconnected neural networks. As most will have learned in primary/secondary/high school, our brains are layered from primitive to more advanced ending with the cortex as the top layer. The cortex has been studied intensively and we have discovered that certain parts are connected to certain functions. We have also found out that these parts are active as semi-autonomous regions, meaning that not the entire brain fires/works at the same time.

This is actually the reason the myth that we only use x% of our brains remains until today, only a few percent fire at the same time (up to larger numbers, but still, not all at once). Yet this does not imply that we do not use all of our brains, just at different times and for different purposes.

As we can see, our brains are thus actually a network of networks, complexity on top of complexity which allows us to be such great pattern-recognition engines (*cough*).

Learning as a human

When we follow a default human life, we see that some information/behavior is pre-programmed and that the rest follows from interpretation/learning ( of which many mechanisms are also pre-programmed ). If we want to consider how a given person became the person it is today, we automatically figure that that person learnt from his/her environment, starting with learning from the parents, then from possible siblings, friend, school and life experiences.

Life’s lessons come at first from imitation and repetition, which are actually small-scale experiments of the toddler trying to figure out which function moves which limb and which behavior elicits which response. A process which ends only on the last possible moment of a persons’ life. As far as learning processes go, the interaction between a person and the outside world is equally complex, if possible even more complex, than the interactions between the inner networks. Outside world patterns are essentially unique and the only way we can make sense of it all is by performing huge pattern-recognition exercises and match what we perceive to some mental model of the world.

Speed of internal signals

When we provide our brains with new stimuli (such as sounds or tactile sensations or internal feedback (intestines and the like)) these signals travel at a high velocity. Electrical signals are propagated via our nerves at high velocity, and in multi-parallel fashion. Within our brains, feedback loops exist strengthening the signals within themselves (to certain limits). If we are precise, we need to include speeds of neurotransmitter movements and growth/creation/movements of neurons and/or the workings of more complex mechanisms responsible for learning (think glia cells and such, use Google or a good book for details). We can conclude though, that signals are sent and received fast and relatively efficient within our bodies. Computers are much faster, though.

Speed of external signals

With external signals, this is all much different. The knowledge/information that comes to us from the outside world is transferred by light signals, sounds or other sensory inputs. The sensory inputs are therefore the links between the human internal world and the external world. As posed, the sensory system has a bandwidth maximum of about two terabits (1012 bits) and some guess 8 gigabits as the total sum of human sensory inputs.

What we can notice about these numbers (whichever you dub reasonable) is that the speeds of hypothetical transfer of information are much much higher that the speeds at which we currently receive knowledge from the external world. No human has ever received information at the incredible rates mentioned above, or even close to a fraction of it. As we study the speeds at which information is received by the human brain, we can distinguish between reading and/or watching. When for example we watch a movie, a rate of 8 gigabits is technically reached (100 million nerves in the eyes, 2hz to 100hz firing of the nerves) but information is not stored and/or interpreted at that rate (most people will not remember every second of a movie or all the details of a movie). So, we can easily state that there is room for improvement.

A model of human learning

When we compare a 16th century person with a current modern homo sapiens sapiens, we know that the estimated amount of information in a week’s worth of newspaper articles is said to be more than what a 16th century person was likely to receive in a lifetime. So, we can look at the differences between the 16th century person and the current Jane/John Doe reading the newspaper. It has been proven that DNA changes are not large enough to account for such a large difference (although single gene mutations can have dramatic influences, our DNA has on average not changed much). So, we are forced to conclude that other factors have allowed us to process much more information.

Before we assume that we are better than a 16th century person, let me pose that a 16th century person, if born in this day and age, could possible function like any other. No evidence has been found supporting the position that 16th century humans (although not as well fed) would not be capable of the same mental performance as todays’ humans. So, assuming this is true, we need to find another difference.

One other difference could be the entire learning experience people go through from beginning to end. Since the last one or two decades, children have had the opportunity to go to school (in the Western part of the world, that is) and learn continuously. We, the humans, have created these facilities because we learnt that this would be beneficial to our children. So, when viewing the human race as a whole, we have learnt from our experiences.

Now, we are getting somewhere! We can view the human race as a group, or better, network, of persons. So, we, together, are actually a network of networks (of networks). Our DNA has not changed much, but apparently the general knowledge of the network has grown substantially in the last few decennia, allowing any new individual (network-member) to profit from the existing knowledge. We can visualize this as follows:

We represent a single network as a circle, and when we group these networks, we have a person (remember, the brain was a network of networks). A person is displayed to the left, see figure of a bunch of networks with links between them. We can also group persons into larger networks, which depict humanity. In this case, use the same picture but envision the circles as individual humans and the arrows are the interactions between them. When we want to display interactions between persons, please refer to the second image.

In the second picture, I have displayed two humans which interact which each other. The persons still consist of a network of networks, connected by the thinner blue lines. The transfer speed of signals along these thinner blue lines are neural-network nerve transfer speed. The transfer speed of the fat blue arrow, labeled interaction, is speech/movie speed, which is much lower than the internal network speed.

What can we learn from these images? From these models? That as a race, human society as a whole, we have a number of links though which we spread our knowledge. First, the links between our own neural networks internally and second between our agents, or humans externally. And we can easily see that the weakest (=slowest) link is the external interaction, which has the lowest speed (not to mention the highest corruption rate).

Improvement

Now that we have established a model for the human race as a learning mechanism, we can start thinking about improvements. Because lets’ face it, if we continue in the same way, we will spend another 400 years for a 52*40 times growth of human race knowledge. This while we are at a knowledge level where we can reason about our own knowledge and figure out how to improve ourselves and us as a race. When we want to improve human learning, it is self-evident that we want to change the slowest links in the process. So, we want to find ways to improve the speed with which we transfer knowledge between humans. The interactions between humans are the slowest path in the model, and we need to dramatically speed up these processes.

Further research

Current advances in technology are enabling scientists to read rudimentary images from fMRI and other scans, in the sense that the image you are thinking about actually appears on a computer screen. I propose that we move forward and increase the performance of this technology, and, think of something to place images in a person’s head. If we were able to do such a thing, you would only have to think about something you learnt (most people are quite visually oriented so that should not be a problem) and the information could be transferred to another person who would see the experience as it were his/her own.

Eventually we should improve upon this technology to transfer concepts between persons 1-on-1 or 1-on-many (think classroom style or larger). Perhaps knowledge could be transferred on demand? Imagine a world where we have a per-person based list of all the things each person knows, and you find yourself in need of some information. Then it would be possible to search (online) for a person with the knowledge and gain the knowledge from them. I can even imagine nice business models for such scenario’s where you pay for the information.

Python Twitter

Twitter has been getting a lot of commotion from professional and business users. Even politicians and public figures are using Twitter more and more as a platform to express themselves.

Time to learn how to work with Twitter!

Goal
Let us first consider what our goal is; we want to be able to talk to Twitter and find out who talked back to us. So, we set three goals for ourselves;

  • See our own last messages ( from our friends and followed )
  • Write a message back
  • Find messages based on a search term

Toolkit
As noted before, we will be working in Python for this quick update. In python, there are several tools available to work with HTTP requests and I have even found a convenient library which will allow us to talk directly to Twitter and forget about all the difficult stuff ( Good work guys! ).
We will be using the python-twitter library found here ( python-twitter ), also we will be using the search-api patch found here ( Search API patch )

For concrete information about the Twitter API, please refer to this link ( Twitter Developer Documentation )

On the next page, we will get started..

View full article »