In the beginning, the universe was created. This has made a lot of people very angry, and is generally considered to have been a bad move.

Sunday, December 7, 2008

Blogs Analyzed

Can Your Writing Style Reveal Your Personality?

It is one of those mostly useless but fun websites you hit from time to time on the Internet -- http://www.typealyzer.com analyzes your writing style and suggests personality traits based on how you write.

I'm currently writing two blogs, the one you're reading right now and another one at http://www.openremote.org (new venture).

The blog you're looking at apparently comes across as scientific:

The long-range thinking and individualistic type. They are especially good at looking at almost anything and figuring out a way of improving it - often with a highly creative and imaginative touch. They are intellectually curious and daring, but might be pshysically hesitant to try new things.

The Scientists enjoy theoretical work that allows them to use their strong minds and bold creativity. Since they tend to be so abstract and theoretical in their communication they often have a problem communcating their visions to other people and need to learn patience and use conrete examples. Since they are extremly good at concentrating they often have no trouble working alone.

Which I guess is sort of correct. Or at least it's flattering.

The one at OpenRemote however is of different sort (which makes sense since it is more directed at the community as updates of ongoing work and events):

The active and play-ful type. They are especially attuned to people and things around them and often full of energy, talking, joking and engaging in physical out-door activities.


The Doers are happiest with action-filled work which craves their full attention and focus. They might be very impulsive and more keen on starting something new than following it through. They might have a problem with sitting still or remaining inactive for any period of time.

At least the part about starting a lot of things new and having hard time finishing them seems to strike close to home.


Sunday, October 26, 2008

Dealing with Cygwin Setup Failures (Crash)

When error checking failed.

My use of Microsoft Windows relies pretty heavily on Cygwin. Cygwin makes most development tasks on this OS at least bearable. The last few months though I've had issues with using the Cygwin provided setup.exe to update my components.

Usually the problem manifests itself at the end of the component update where the setup program just plain crashes (with the usual send error report to /dev/null that nobody investigates anyway). After a few attempts it seemed to always occur at "uninstalling bash..." stage where the setup tries to uninstall the existing bash component before updating with new one.

This bothered me a bit but not enough to warrant a hunt for a fix (other things to do, right?). I guess I was kinda hoping that the Cygwin team would eventually find the issue, create a new setup.exe and I would have my excellent Cygwin environment back to normal. No need for me to lift my finger. So I spent the last few months working around the problem, disabling the automated component updates that would hit this issue and updating just the pieces I really, really needed to have updated.

Two days ago though I could no longer avoid it. I needed to install automake, autoconf and libtool on my system to (attempt to) compile some LIRC code and getting these components installed utterly failed every time. Uninstalling bash.... crash.

So no choice but to go hunting for a fix. Google is a great help here. It appears the problem is somewhat rare but not unknown. As it happens, it's possible to end up with corrupt packages in your /etc/setup directory.

Now how these got corrupted I don't know. I have a vague memory of either setup or Windows crashing once in the middle of the update process for whatever reason. Unfortunately the Cygwin setup does not deal graciously with such a corrupt file -- instead you get a big, fat, cryptic application crash everytime when it touches a corrupt file.

So a lesson there to all developers (which we all already know but are too often too lazy to follow): make sure you spend time testing the error conditions of your software. Imagine every possible strange thing your users can do or the strange states their systems may end up in and test against those. And then test some more.

Your users will appreciate it.

It can be a pain in the ass to do but try to do it anyway. It can make all the difference in getting your software adopted.

Finally, to anyone who might end up here trying to fix the same or similar problem. Just delete the offending *.tgz from your /etc/setup. Apparently doing so is not harmful. You can easily figure out if there's a problem with any of these files by trying to open the package with any of your favorite unzip/gzip/tar tool first.

Friday, September 5, 2008

Typical Google Chrome Browsing Experience




My money is on the brand spanking new Javascript engine pretty constantly crapping out. After this the browser (or should we call it the app platform ;-) crashes any web page that even hints at using Javascript.

Wednesday, September 3, 2008

Those Darned Databases

Programmer Asks: Why Would Reading Ever Block Write?

It would be easy to point and laugh. Too easy. We all make silly mistakes and assumptions no matter how long we've spent trying to piece together software. The field is large -- very, very large. Algorithms on sorting and searching, trees and maps and sets, parsing, concurrency and locking, bit operations, I/O, networking, sockets, generics and templates, security and encryption.

And then there's the countless APIs, libraries, frameworks and entire platforms that one need to master.

That's a lot for one person to keep tabs on. And all of us find at some point that we have gaps in our knowledge. Even on some essential knowledge.

But still -- databases are so central and essential to so many applications we build that it's still surprising to find so many people confused or misunderstanding what the ultimate data store backing their application is trying to do. No wonder ORM tools are so popular -- most programmers would just rather ignore what's going on under that layer to the detriment of their DBAs.

Isolation levels, locking and concurrency are not trivial topics so it's not surprising if many developers would rather not be thinking about them and instead concentrate on the latest AJAX widget. But they're also so essential for anyone who calls himself a developer to understand that the idea that they continue to be so poorly understood is a bit frightening.

First Impressions on Google Chrome -- Not So Great

It Could Be Nice If It Actually Worked.

So Google is getting great publicity once again after the information of their latest attempt at desktop software "leaked" to the Internet. Google Chrome is supposed to be the latest challenge to Microsoft's desktop monopoly.

Great idea. But the implementation is severely lacking.

Installation went fine, the thing starts up but that's where the goodness ends. The first snag occurs when trying to login to my Google account. Very politely the Chrome application tells me (in Finnish, for some odd reason) that the web page is not answering right now and whether I would like to close the tab or keep waiting. Well, I need to get to my Google stuff so I choose wait.

And wait I do. Until 5 minutes later I run out of patience. Still can't login and rest of the Chrome seems to be frozen as well, no other tab responds anymore either.

Ok, it's beta software. Let's give it another try.

Shutdown and restart. Browse couple of pages, things seem fine again. Go to Google Analytics... hmm... not answering again, do you want to wait? I choose yes. And there it is, all frozen again. Opening a new tab works but no new web pages will be loaded there. Google Analytics page is waiting indefinitely. In the meantime both Internet Explorer and Firefox can access Google Analytics just fine so it's not a connection problem.

So much for taking over the world with Chrome I guess. The whole point of the exercise -- according to the rather inane Google cartoon -- was to isolate the browser tabs so even if some of the web pages get one tab into trouble the rest of the browser would still stay responsive. I think it's pretty clear achieving that goal is a complete failure with Chrome so far.

So back to the drawing board, boys and girls. It's not that a great idea to "leak" your stuff out too early. But to be honest is not the first Google app that I find lacking in quality either so I'm not sure why I expected anything more. I guess I'll try Chrome sometime later when it might actually work.

PS. In the meantime, trying to type and format this in blogger is causing some severe Javascript issues both with Firefox 3 and Internet Explorer 7. It's the first time I'm seeing these errors so what gives? Guess software quality really isn't Google's forte.


Sunday, August 3, 2008

Going Mobile

Testing HSDPA for Daily Internet.

Been testing HSDPA as my Internet connection for the last couple of days. So far seems to work ok, a bit slower than the WiFi at home but good enough for your average Internet use. Where it needs to fall back from UMTS to GPRS it gets too slow for most web browsing (result of the darned AJAX hype) but probably still usable for light email access and so on.

Nice thing of course is that now my broadband connection goes with me everywhere. Telcos have been talking about "convergence" for who knows how long now, ten years? The problem with them is the hardware, not really usable for what I need the Internet for. Everybody's drooling over their iPhones but my mobile, it's my laptop, all 2.5kgs of it with full keyboard and a 14" screen.

As a side effect of the convergence vision what the telco operators have provided is finally a usable fast-enough network. No more searching for WiFi hotspots. The broadband connection goes with me to all my favorite cafes and restaurants, the train, the bus, into the car, to the beach (!). Well ok, UMTS is not everywhere yet but still a lot better than hunting for random WiFi spots.

Installing couldn't be much easier. Plug it into the USB port, it's a bit bigger than a memory stick at the moment, and off you go. Hopefully as with WiFi cards, these will become standard laptop equipment soon. Hardware is already for free, as long as you agree to chain yourself to a two year operator contract as is the case these days.

What makes it all very interesting though, phones going mobile radically changed how we used telephones in terms of frequency of communication and availability. As the UMTS network gains coverage (took what, less than 10 years to go from NMT to GMS?) the wireless broadband will always be with you. How will that change the way we use the Internet? One can imagine some pretty cool stuff emerging.

Sunday, July 27, 2008

Microsoft Joins Apache Software Foundation


And The Pigs Grew Wings.

I must say I was more than a little surprised when I read the announcement a couple of days back. Microsoft is putting $100,000 to ASF to become a platinum partner with the likes of Google and Yahoo!

I can't imagine what will come out of this. Maybe it will be nothing more than an $100k expense on their marketing budget. I was following the Slashdot discussion, Bruce Perens is posting some alarming notes based on his experience with Microsoft's previous attacks on Open Source. This will be fascinating to watch.

Of course the ASF license is zero risk to Microsoft -- they can open what code they want, and pull all ASF licensed code back in and close it again, whenever they wish. Would you like the prospect of Microsoft making money out of your code? Well, IBM is doing the same so clearly it works out well for some people.

Interesting to see where this will lead...

Tuesday, June 17, 2008

The Happening

The result of creative freedom.

Utter crap.

Monday, June 2, 2008

The Rise of the Amateur Professional

Why Radical Innovation Is Coming From Users, Not From R&D Organizations.





Another in the series of my favorite TED talks, on the innovation series Charles Leadbeater is discussing innovation and where does it happen, why organizations are becoming increasingly less important as the source of innovation and why some companies are so keen to fight user driven innovation.

It is an interesting talk and worth the 20 minutes to listen to it completely.

In the talk, Leadbeater brings up interesting examples, for instance, how the mountain bikes came about and became a multi-billion dollar business. He also talks about how Internet is changing the way people organize together to accumulate ideas and collaborate on them.

How do we organize ourselves without organizations? That's now possible. You don't need an organization to be organized, to achieve large and complex tasks like innovating new software programs.

This is a huge challenge to the way we think creativity comes about.


Leadbeater criticizes traditional innovation done in R&D labs, universities, etc. where select individuals build ideas and products towards a passive user who either accepts or rejects it. He argues that companies that want to survive will need to open up and reverse the innovation pipeline to enable users to become creators and designers. Radical innovation is increasingly coming from the users, and it's a cumulative, collaborative process, rather than one big stroke of genius from an individual or small group of individuals working behind closed doors. Traditional organizational structure with its inability to accept new radical ideas will lose out in this game. Organizations that are unable to manage innovation in new ways will only be capable of incremental, evolutionary changes due to their tendency to enforce past successes. In the process they will be blind-sighted by an idea that fundamentally changes the market-place.

Big corporations have an in-built tendency to reinforce past success. They've got so much sunk in it, that it is very difficult for them to spot emerging new markets.

Leadbeater also thinks that more and more innovation will in the future come from what he calls amateur professional, people who tinker with ideas for the love of it but do it with great sense of pride and desire for quality.

[Amateur professionals] do it for the love of it but want to do it to a very high standard. They work at their leisure. They take their leisure very seriously.

Why are people interested in this? At work they don't feel very expressed. They don't feel as if they are doing something that really matters to them. So they pick up these kinds of activities.

This has huge organizational implications for very large areas of life.


Wednesday, May 21, 2008

New Trading System -- Email!

This Is Where All The IT Investment Pays Off.

Via naked capitalism was reading George Soros and others commenting on the potential melt down that could occur in credit default swap markets, and while the doom-day scenario being painted is juicy, what really caught my attention was the description of the trading system being used for bids and offers on the swaps.

Apparently the traders, who are essentially acting as bookies, receive the bids and offers via an email in their Inbox. Throughout the day, market makers send out hundreds of emails and then the bookies filter and search through their inbox trying to figure out the current market price for a debt swap. There are no electric boards, no accurate pricing, just the stuff that you may (or may not) have received in your inbox.

And the market makers love this. They love the fact that most players have no visibility on what's really going on. Bigger margins for them.

Banks send hedge funds, insurance companies and other institutional investors e-mails throughout the day with bid and offer prices, [hedge fund advisor Tim] Backshall says. For many investors, this system is a headache.

To find the price of a swap on Ford Motor Co. debt, for example, even sophisticated investors might have to search through all of their daily e-mails, he says.

``It's terribly primitive,'' Backshall says. ``The only way you and I could get a level of prices is searching for Ford in our inbox. This is no joke.''

Banks have a vested interest in keeping the swaps market opaque, says Das, the former Citigroup banker. As dealers, the banks see a high volume of transactions, giving them an edge over other buyers and sellers.

``Dealers get higher profitability through lack of transparency,'' Das says. ``Since customers don't necessarily know where the market is, you can charge them much wider margins.''

Moody's Incorrectly Rates Crap as Triple-A

Blames Software Glitch.

As if anybody needed any more convincing that the debt ratings and the ratings agencies are a complete joke, Financial Times reports that Moody's has been rating risky debt as triple A due to software errors. Wonderful.

Moody’s awarded incorrect triple-A ratings to billions of dollars worth of a type of complex debt product due to a bug in its computer models, a Financial Times investigation has discovered.

Internal Moody’s documents seen by the FT show that some senior staff within the credit agency knew early in 2007 that products rated the previous year had received top-notch triple A ratings and that, after a computer coding error was corrected, their ratings should have been up to four notches lower.

Monday, April 14, 2008

Cool Wii Remote Hacks

I Didn't Know It Can Do That!

Short five minute presentation from TED (which to me seems like one of the coolest conferences around) on some neat stuff you can build out of a Wii remote. Looks like the little console has plenty of mileage left once these ideas are productized.

Thursday, April 10, 2008

It's Good To Learn Something New

Avoiding Brain Rot.

Sometimes it's just refreshing to learn something new, even if initially most of it goes way over your head. Keeps your brain from rotting away in the usual, zero-signal corporate environment.

In computer science, online algorithm is something that processes partial input "on-the-fly" as it becomes available, without having the full knowledge of the expected input set. Makes some problems a bit trickier to solve when you can't see to the future.

Adaptive algorithms are algorithms trying to adjust to the changing input to find the sweet spot of best performance.

Adaptive algorithms for online optimization are therefore trying to tackle situations that are infuriatingly fuzzy from the computer programmer's point of view. First of all you don't have the full input data to work from and can't see what's coming in the future to optimize the algorithm. Secondly, many adaptive algorithms are actually quite slow to tackle changing conditions -- they tend to get stuck in the known working solutions for a long time, even when the input data drastically changes. Or in other words, they look back to history for a long, long time.

Presentation courtesy of Google.



Saturday, March 22, 2008

Urban Reconstruction and Modeling for Building Virtual Worlds

Procedural content is making progress.

One of the most expensive things in creating virtual worlds is the actual content. Filling up the landscape with meaningful things for people to observe and interact with is a huge task, especially if you plan on creating entire worlds, or even cities. A lot of the existing worlds are pretty barren, uninteresting, sometimes just plain boring.

Designing just a single city or town can take up huge amounts of time and a lot of people resources, depending on the level of detail you're after. Designing a virtual town is only slightly less work than designing a real one.

Therefore the compelling solution would be to have procedural methods for computers to generate more detail into the world. However, the downside of most procedural content generation is also boredom -- the worlds may be "full" but are mostly repeating an endless repeating pattern that quickly becomes uninteresting to the observer.

Progress is being made however, and the level of detail the computers can put into designs is increasing. Interesting talk and video below on one city generator coming out of academia and now being commercialized.







Friday, March 21, 2008

Investment Bankers Reason Themselves Out of Prisoner's Dilemma

Discount Window "Tested".

Small signs of rational thinking emerging this week out of Wall Street with Lehman, Morgan and Goldman coming out of the closet and admitting they are "testing" Fed's discount window as an alternative venue for financing.

Positive because announcing it in sync is attempted to alleviate the stigma of going to the discount window only at an extreme distress, sending a panic signal to the market. Sucker's payoff avoided.

Here's hoping for more evidence of rational thinking creeping into the panicked herd.

Of Programmers and Large Organizations

When drawing an organizational chart begins, your brain starts hurting.

Paul Graham has yet another interesting essay out, this time pondering on what happens to programmers in large organizations.

One observation of his longish essay seemed particularly striking -- what happens to individual creativity in a group-think environment:

If you're not allowed to implement new ideas, you stop having them. When you can do whatever you want, you have more ideas about what to do.

The loss of creativity going from a startup company to a large organization is immense. It is in fact depressing to even contemplate as so many ideas die on the vine due to the "groups must act as one" mentality that organizations impose. It literally does put one's brain in a coma-like state where new ideas stop breeding.

There aren't many ways to get out of this box when you find yourself inside a group-think organization. Very, very few companies out there actually go out of their way to implement policies that allow free thinking and new ideas to emerge. But the ones that do tend to emerge bigger and better than their competition and as leaders of their respective fields. Unfortunately, large majority of companies pay lip service to such ideas but never act on it in a way that makes any practical difference.

Alternatives then are to work on something "on-the-side" just in order to prevent your brain from going numb.

Or as Paul Graham suggests, go do your own thing. You may fail but at least you don't turn into another zombie.

Working for yourself makes your brain more powerful in the same way a low-restriction exhaust system makes an engine more powerful.

Working for yourself doesn't have to mean starting a startup, of course. But a programmer deciding between a regular job at a big company and their own startup is probably going to learn more doing the startup.

You can adjust the amount of freedom you get by scaling the size of company you work for. If you start the company, you'll have the most freedom. If you become one of the first 10 employees you'll have almost as much freedom as the founders. Even a company with 100 people will feel different from one with 1000.

Working for a small company doesn't ensure freedom. The tree structure of large organizations sets an upper bound on freedom, not a lower bound. The head of a small company may still choose to be a tyrant. The point is that a large organization is compelled by its structure to be one.

So very true.

Monday, March 17, 2008

Bear Stearns Valued at $240 Million

Less than the value of its real estate.

Incredible. Bear Stearns goes from $20 billion market valuation last summer down to 1.5% of the value in less than a year, after operating 85 years as an independent company. Driven down by market participant's lack of trust and speculation.

The Manhattan real estate is probably worth the price tag itself. JPMorgan took no risks in getting this business. It is robbery of grand scale, indeed.

Saturday, March 15, 2008

Friday, March 14, 2008

Swiss Franc Hits Parity with USD

Bear Stearns Brings US Down.

With the latest shocker from Wall Street, Bear Stearns investment bank hits the panic button and goes to the US Fed discount window through JPMorgan. The arrangement highlights some short-comings in the Fed's recent rescue and stabilization attempt which I'm sure will be analyzed at depth elsewhere. Interbank rates will no doubt sky-rocket bringing the third wave of pain in the ongoing crunch crisis.

However, the latest events have now brought USD on par one-to-one against the Swiss franc, which in my book officially puts USD into the "dirt cheap" category ;-)

Monday, March 10, 2008

A Run on the Hedge Funds

You Won't See This on TV.

There's a good article on Bloomberg today on the going-ons of the shadow financial system. Basically the banks who kept the hedge funds floating on sky-high leverages are now running after the collaterals. The margins on the repurchase agreements have multiplied and that's causing the recent hedge fund implosions and forced liquidations.

Some managers set themselves up for a stumble by taking on too much leverage and not anticipating that terms could change, said Christopher Cruden, CEO of Lugano, Switzerland-based Insch Capital Management, which oversees $150 million for clients.

``If you're going to dance with the devil, there comes a time when your toes are going to be stepped on,'' Cruden said. ``Prime brokers are there to do business, not be your friend.''

Hedge Funds Reel From Margin Calls


Makes you wonder how come the professional risk managers can't anticipate that a downturn on the market will increase the 'haircut' the bank will want on the next round. Or did they ever even care?

Tuesday, March 4, 2008

Fixing Flash For Firefox

Flash Streaming Video Stops After Few Seconds, No Sound.

Recently I was bothered by the apparent non-functioning of the Flash plugin in my Firefox that suddenly stopped playing the streaming videos from websites, including Youtube, Wired, etc. It was a systematic problem across many websites so was no doubt caused by some software update I did without really paying attention to it (possibly updating either the Flash plugin or Firefox itself).

The symptoms are fairly annoying in that when you go to for instance YouTube, the video seems to start fine, it plays for a while -- although there's no sound -- and then just stops even though the buffering/downloading seems to continue until the file is complete.


That is, it doesn't just stop because of a congested bandwidth, but refuses to play normally at all.

So the steps to fix this is relatively simple:
  1. Shut down Firefox
  2. Uninstall Adobe Flash Plugin
  3. Restart Firefox
  4. Reinstall Flash when prompted for required plugin
Easy enough, except for the "Uninstall Adobe Flash Plugin" part. While Firefox has a nice utility for managing extensions and themes, there doesn't seem to be an easy way to manage your plugins.

The terminology here is a bit vague but it appears that plugins are those things you can install by clicking when prompted for it, such as video codecs, Shockwave, Java, etc. while extensions are those extra little programs you need to go look for yourself and install into your Firefox.

Anyway, after a little bit of digging I found the uninstaller for Flash. Yes, it is a separate program you need to go download in order to uninstall something from your computer.

Furthermore, reading from Adobe's website, it has this fantastic piece of marketing explaining the need for a separate uninstaller program:

Due to recent enhancements to the Adobe Flash Player installers, you can now remove the player only by using the Adobe Flash Player uninstaller

So, you've enhanced the product by making it more difficult to get rid of it.

I'm so impressed. Not.


So there you have it. Simple uninstall, restart and reinstall to fix your Flash, in case there's someone else out there trying to figure out how to fix it.

Thursday, February 7, 2008

Sometimes Things Do Improve

Security gets better at Heathrow .

I hate Heathrow airport for two reasons. One, they always, always, lose my luggage in transit. Second, the airport is so overstretched with passenger volume that you always end up waiting in some tiny room to get through security with 500 other passengers (and the room is designed to only fit 50 persons).

So it was refreshing to notice that since January this year there's at least one improvement at Heathrow. You no longer have to get your laptop out of the bag and x-ray it separately every time you go through security. Air travel is such a pain in the butt these days that even such small things seem to make a huge difference. Of course, there are major airports that never cared if your laptop was in your bag in the first place (Hong Kong comes to mind), although they were getting rarer (the silly shoes off rules seem to only inflict the US airports).

Now, if someone would only come up with a disruptive business model for intercontinental air travel that would give customers a real choice (that is, not offensively priced) for better service...

Monday, February 4, 2008

Real Game Reviews, Part II

Things that can cost you your job.

Apparently giving your real opinion of a game can cost you your job too, if you happen to be hired as a game reviewer. Calling a game ugly seems to be out of the question.

Funnily enough we are all pretty accustomed to movie critics blasting the latest Hollywood block buster down so low you'd think nobody would want to see them, yet millions flock to the box office anyway because most of us just look to be entertained for a couple of hours.

I wonder when the game industry will mature out of its insecurity and accept that not everybody needs to like their latest creation. And disguising their marketing as "objective" game reviews will eventually cause a negative backlash. Funnily enough, the publisher in this case would have done a lot better not to react to the negative review at all (many of us don't really spend that much time pouring over reviews before deciding which game to buy) rather than draw everybody's attention to it by overreacting.

In the meanwhile, hopefully critical game reviews will find alternative avenues.

Monday, January 28, 2008

No Country For Old Men

The Latest from Coen Brothers.

In a word: excellent!

The dude abides.

Thursday, January 24, 2008

Rogue Quant Brings Down Société Générale

Unauthorized Trades Incur US$7.14B in Losses.

As if the liquidity problems started by the US subprime bubble burst weren't enough, apparently the French Société Générale reported massive losses today caused by a rogue computer geek left unchecked at a trading terminal.

The losses generated by this single trader make even Nick Leeson look like an amateur in comparison.

Reuters links Société Générale's efforts to unwind their multi-billion euro index future positions as one possible trigger for the stock market meltdown of this Monday that caused the US Fed to cut interest rates in a panic action (which, in turn, sparked much criticism from the crème de la crème hanging around Davos this week).

Interesting indeed.