Tuesday, March 17, 2009

Another Simple Crisis Explanation

Marketplace Senior Editor Paddy Hirsch uses a only a whiteboard to explain and visualize how CDO's (Collateralized Debt Obligations) became the cornerstone of the credit crisis

Saturday, March 14, 2009

Samsung NC10

For quite some time I've been looking at ultra-portable notebooks (so called netbooks) as an alternative to my current 14'1 inch notebook. I completely understand the fact that the display is (much) smaller, and it will be harder to write code (at least at the beginning), but on the other hand, lower weight and smaller overal dimensions are quite an issue. Mobility is becoming more and more a factor I can't underestimate. Of course, I am not considering the smallest netbooks, like the original EEE PC, not because they're not good, but because they're  just not suitable for my work. Lately, I found out about the Samsung NC10 model. It has a 10-something inch screen, which is pretty much enough for my needs. I will need to find out if any developers have used it an dwhat their impressions are, but so far, I like it. 

This is a short video review of the machine:

Friday, March 13, 2009

Thursday, March 12, 2009

Inspirational Photo of the Day



















5 P.M. New York City - courtesy of Tony Shi

Issues with event bubbling in Flex

These days, I came up with a pretty obscure situation, which took me two hours of useless browsing, and an icq session with a colleague of mine to solve. The solution (at least, its implementation) was far simpler than I expected. So, here is the situation:

In the main application's MXML markup, I declared a FormComponent (a custom component that extends Form). The FormComponent declares a FormController, which is an AS 3 class that deals with the data management, and some other features of the form. At some point, the FormController dispatches a custom event that is supposed to be caught by the FormComponent . In this way, when I declare the FormComponent in the main application, I could assign a handler for this event without even knowing who dispatched it. This happens because of the principle of event bubbling, i.e when an event is dispatched, it goes up the object tree (the MXML hierarchy, respectively) until it is caught by a listener.

Unfortunately, in this case, event bubbling would not happen (i.e, nothing will really work) unless some changes were done to the AS 3 class. The reason for this is that event bubbling pretty much happens when we use visual objects (trees, comboboxes, lists, etc). In order to make my FormController class applicable I had to make it implement an interface called IMXMLObject. This interface requres only one method to be implamented - initialized. This method would work instead of a class constructor (we don't have to provide a constructor - anything has to be declared in the initialized method. The syntax of the initialized method is as follows:

initialized(document:Object, id:String):void

In simpler words, when my FormController is initialized, it would be provided with these two arguments. the id is clear enough, any MXML object has an id, regardless of whether we declare it or not. What is more interesting is the document. I haven't had the time to go deeper in that, but it turns out that the document provides a reference to the MXML document that created the object. what I had to do in this initialized method is simply to assign a reference to the document parameter in a local variable - _document.

now, when I needed an event to be dispatched, rather than doing this:
this.dispatchEvent(....)
I had to do it this way :
_doucment.dispatchEvent(...)

... and it worked perfectly

Tuesday, March 10, 2009

Inspirational Photo of the Day

Multitasking is not for me

Everyone wants to be like Napoleon and do various tings at the same time. For quite some time, I have tried to live with multitasking in mind, but the more I am trying to apply it, the more counterproductive it gets. Of course, very few are those who are supposed to work on one thing only. Mostly, we switch between two or three things at once. This is rather normal. No one says that we must start doing one thing only; what we need to do is pick a limited amount of tasks that we could easily handle instead of dozens of things that we can't even remember.

The truth about counter-productiveness comes from the task switching itself, Since our brains are programmed to fully concentrate on one thing, every time we switch tasks, there is a static period of adjustment that is impossible to eliminate. In fact, according to a study, it could take up to 40% of our working time. So, be sure to think about it the next time you write three papers, speak on the phone, and check your facebook at once :)

Monday, March 9, 2009

Facebook App of the Day: Nexus

The Nexus application is the ultimate tool for all to-be social researchers, data miners, marketers, or simply fans of complicated graphs. What it does is extracts your fried data and presents it as a complex graph of nodes and connections, where the nodes in the center of the graph are the ones that you have the most identical friend connections with. Other than that, when you click a node (i.e. one of your Facebook friends, the application pops out other similarity information about that person, such as the groups you share, similarities in interests and so on.

This is how my network of friends looked like this morning:

Sunday, March 8, 2009

Incredibly simple explanations of the crisis and what led to it

With everybody speaking about the economic crisis all day long, I began feeling more and more confused. Despite having taken corporate finance at the University, I moved away from the scientific explanations of the situation and rather preferred a single, truly lame explanation that would fill all the voids. I actually found found two of those, and I am posting them here. I'd be happy if my finance teachers could see this post and use the way of explaining as a lesson.


The Crisis of Credit Visualized



This American Life: The Financial Crisis in 59 Minutes