Book reading: Google Sketchup for Dummies

May 30th, 2010

Aidan Chopra. Google SketchUp® 7 For Dummies®. For Dummies, 2009.
41 Amazon ratings!

Even though Sketchup is quite an intuitive tool to use the book is a means to summarize the knowledge. For Dummies is a great series and this book is no exception.

Part 1 of the book describes what Sketchup is for. It is written for people who have not heard of Sketchup and therefore I decided to skip it.

Part 2 is called Modelling in Sketchup and it starts with explaining how to build a house. I like Dummies series because it is very practically oriented. I did not have to read how to draw a box or a circle, the stuff that most people will manage to learn on their own.

Modeling buildings is what I am interested in. The author of this book also thinks that this is an interesting topic. However, Sketchup can do a whole lot of other things – furniture, cars, trees, you name it. However, a building is a perfect example to demonstrate how to use various Sketchup tools. Indeed, a building has a roof, walls, and staircase. Each component has its tricks.

I think Sketchup is a great program because it has lots of tools. A saying goes Sharpen your tools. I think that Skethcup is on the front edge of innovation in graphic tools. For example, a Push/Pull tool can cut windows and doors in a wall, build a triangular roof, and finalize a staircase. Such a multi-purpose tool but still it is quite intuitive when you start to use it. Another tool called Follow Me combines the functionality of 2-3 tools in traditional CAD frameworks. It allows to extend an arbitrary shape along an arbitrary curve, thus making it possible to build a vase, a sphere, or a staircase.

Here are examples of what I could create immediately after reading the book. These complex shapes take only a couple of clicks to build with Sketchup tools.

Chapter 8 describes how to use photographs to facilitate creating of building models. An indispensable stuff if you want to model your very own house. Within hours from taking the book in your hands you will have a draft 3D model of your beloved mansion!

In Part 3 the author describes additional unexpected capabilities of Sketchup. It turns out that it supports multiple styles. Even though Sketchup offers non-photorealistic rendering (NPR) only, still there are lots of options from wireframe, to shaded faces, to NPR. Btw., it is possible to obtain a photograph-quality imaging from Sketchup using plugins (written in Ruby) and 3rd party tools.

Using Google Earth inside Sketchup makes it possible to geo-locate your building and watch it under various lighting conditions – at sunrise, at noon, or at glorious sunset. The building will cast appropriate shadows so you can decide where you want to plant your garden.

Chapter 10 describes how to browse buildings as in first-person game. You can even climb the stairs and walk round the corners smoothly.

In the remaining two parts the book describes how to share your model with the community as well as what the community has to offer. There are lots of cool tutorials out there. One of the great resources are the YouTube videos that the author of the book Aidan Chopra shot as compliment to the book. They are available here. Each video is quite short. Obviously, when I discovered the book I watched the videos first and then began reading the book. Overall, it a very enjoyable learning experience!

Building cities for the rest of us

May 28th, 2010



It is well known that Google spends a lot of effort on various cool things. Its advances in technology make it possible for people to do things they could not do before. I always wanted to express myself in art but when I was in school I never managed to draw a decent painting. But with Google Sketchup and Building Maker I can build models of everything with the assistance of computer and the web. A great combination of a number of technologies: satellite imaging, graphics, web programming, user interfaces.

Google Earth is a program that many people have spent hours playing with. But those attractive 3D models of buildings were a privilege of qualified engineers and designers until recently. Given the ambicious goal of modeling every city on Earth Google had to ask for help of the community. Because not everybody is a gifted designer, Google has created Building Maker, a tool that presents an image of a building to a user and asks to find a shape that matches its best.

A few basic shapes are available: box, prism, etc. A box is used to model the body of the house whereas a prism is used to model the roof. It is possible to define relationships between elements, that is to specify that one is situated next to another.

Once the user has aligned all visible points on one image she can move on to the next one. After aligning the model you can submit it for review. Once it gets accepted to the buildings layer you can see it using Google Earth and also everybody else will see it. All this beauty (including Google Earth) lives within a window of your browser. I wonder which language it was written in. Obviously, browser applications are matching desktop applications in their capabilities and functionality.

But this cool technology relies on so-cold bird-eye views of cities which are not available everywhere. Another limitation of this technology is the basic set of shapes that building maker has. This is why if you want to model more complex buildings you have to use Sketchup, a 3D drawing program.

Of course, Sketchup facilitates the process through image-matching technology. You can load a photo into Sketchup, align axes and use the image essentially in the same way as in Building Maker. However, a lot more shapes are available: circles, arcs, as well as tools to manipulate them. After constructing the first version of your model you can use additional photographs as textures of its faces. As with Building Maker, it is possible to get the model added to the buildings layer of Google Earth after review.

I have created models with both tools. Obviously, using photo matching in Sketchup takes longer because you have to apply textures to each face of the model manually. I have spent several days creating a model of a school next to our house. The model consists of several boxes. The main problem was connecting the boxes to make sure that there were no holes in the model. At one point I had a seemingly good model except that when I tried to build the roof it was breaking up into pieces. It turned out that the problem was in one wall which height was slightly less than heights of other walls, and therefore, there was a crack between the roof and that wall. Once you get used to measuring heights and widths of everything constructing becomes a lot easier. I would estimate the learning time of Sketchup as one week. But I have not started working with circular shapes yet! That’s the next level of skill!

These are the models that I have built so far. Click on the image to see 3D model.







Book reading: Beautiful Security

May 19th, 2010

Beautiful security, 1st edition. By Andy Oram and John Viega. OReilly Media Inc, 2009.

I have read another security book which a notable security expert John Viega has co-edited (the previous one is The Myths of Security). This book offers a comprehensive analysis of the today’s security, its problems and offers ideas for improvement. A number of people have contributed toward this book which makes it a lot of fun to read. Each chapter is written in its special style. This book is a potpurri of security topics.

In Chapter 1 the book mentions a number of reasons why security is so difficult to adopt in modern software lifecycle. The reasons are: learned helplessness, naivete, confirmation traps, and functional fixation. Examples are probided for each problem. It turns out that Microsoft has messed up a great deal with its network authentication protocols trying to preserve backward compatibility. As a result, an improved version of the network protocol was still carrying the features of the previous weaker version and the improvement was therefore nullified. Another great example was when a company which was undergoing security audit has successfuly exploited vulnerabilities in the scanner that the auditor was using. This way they were able to demonstrate that the auditor was not competent enough to audit their organization.

Chapter 2 is dedicated to the wireless networks. The books describes how easy it is now to earn money through faked wireless networks in public areas such as airports. Also wireless networks are very dangerous in corporate world because employees tend to use their personal unprotected wireless-enabled devices to access the intranet which opens lots of possibilities to road warriors. Shocking stuff which makes you think why are we still using wireless.

Chapter 4 sheds light on the underground security economy. This includes prices typically offered for producers of malware and owners of botnets. It is so detailed that it makes me wonder how the author got all this information himself.

Chapter 5 raises a well know problem of using credit cards in the Internet and the dangers of privacy breaches. A new scheme for Internet commerce is proposed. Its corner stone is the idea of using virtual or one-time credit card numbers. This idea has already been implemented in few banks but many users are either unaware of it or don’t consider it a threat big enough to sustain the overhead that it imposes (need to log in to the banking site to generate one-time number every time you make a purchase on the Internet). Obviously, one the biggest challenges that the community needs to address is removing this overhead.

Chapter 6 deals with online advertising. I never thought that it is such a battlefield for both white hats and bad guys! Everybody has heard of click fraud when advertising agency is the victim. What is surprising is that there are lots of malicious advertising agencies which employ a number of forms cheating, for example placing ads on top of each other with different z-values or displaying your ad only few seconds and then replacing it with another ad (indeed, your agreement probably does not mention how long the ad will stay visible because you think that it is as long as the user stays on the page) and so on. Then the book mentions several forms of online advertising: pay per view, per click, and per transaction (the last one means that the user has to buy something before advertiser pays to the agency). Even the most secure form pay per transaction is vulnerable to realistic attacks when a gang of malicious buyers buys things only to return them immediately to the shop! I could never imaging that this was possible but the book claims that the number of buying gangs is growing.

Chapter 7 – great overview of history of PGP and web of trust (I am running out of space to go into greater detail).

Chapter 8 – honeyclient. The book claims that client exploits are more dangerous than server-side because it takes longer to fix the former. Honeyclient was an academic idea which has grown into a useful product! It employs a number of virtual machines running unprotected Windows and visits various suspicious sites. When a change in the state of OS is detected (registry, file system) an alert is triggered.

Chapter 9 – new ideas for security industry. Mentions the need for better cooperation using social networking.

Chapter 10 explains how to integrate security into developing practices. Every stage of the process needs to incorporate security. A common mistake is to address only one stage, for example development and then expect overall improvement – not necessarily the case. Microsoft spent its 2 billion dollars not only running a source code analyzer on Windows but rather re-engineering the whole development cycle.

All right, lets skip a few chapters…

Chapter 13 explains the importance of logging and provides one real-life example of how an FTP server was hijacked. I was surprised to find out that many large organizations are still using FTP servers with a world-writable incoming directory. This opens them to bad guys who use such servers as illegal file shares. Only thorough logging can detect such uses. How do we sift through millions of log records?

Chapter 14 claims that the detection rate of modern IDS is only 32%. What a shocking number! This is due to limitation of signature-based approaches. A better idea is to use behavior-based methods which requires taking context into account to separate false negatives and false positives. For example, if a mail server makes 100 outgoing connections is it an indication of its being owned? Is it sending spam as a zombie? If yes, we need to stop the server immediately. If no, stopping it could disrupt the functioning of a large enterprise. What are normal activities of a mail server, a file server, etc? Machine learning algorithms are becoming useful.

Chapter 15 presents a new framework for secure databases. However, it is not based on encrypting tables using DBMS facilities. Instead, the data translucency approach stores encrypted versions of sensitive data such as user names. The key is generated from user name and password which makes it possible to identify the data belonging to a particular user. But the database still operates on the encrypted data.

Finally, Chapter 16 describes a framework for desktop security based on machine learning, snapshotting, and fast reboots. I recall that several years ago this idea was published in a paper from Stanford University researchers (Armando Fox).

Book reading: Adding Ajax

April 28th, 2010

As I am trying educate myself in the area of web technology I have read a book called Adding Ajax which title is self-explanatory. It is interesting that this book has only 4 reviews on Amazon, that’s the total number of reviews people have written, not book’s rating. This means that this book did not receive proper attention. However, I think it is a very interesting book even nowadays despite the fact that it was written in 2007.

Its author Shelly Powers is an active contributor to HTML5 standard, her blog is here. The book describes a number of ways in which Ajax changes the traditional state of the web. However, to start with the author describes what you need to do to prepare yourself for Ajax. I especially like the Start Clean section in which Shelly claims that the default CSS values are not necessarily good. For example, link underlining in a-tag is not always a good idea. I have heard this concept of starting from a clean sheet a number of times, so it is probably a good idea to zero out the default CSS values which I never did.

Also in the first chapter the author introduces the notion of Progressive enhancement, a web development methodology. Basically it says that the web site should work in various environments, even in the simplest. The idea is to make sure that your web site is still accessible on various devices after adding new features to it. The author stresses the concept of accessibility throughout the book. Indeed, web is an open platform for everybody – people in developing world, people with disabilities, etc.

Then there is a chapter on various web frameworks. The author explains the tradeoffs associated with using them. Obviously, a web framework often includes features you don’t need and that increases the loading time of your page, an important issue for people with slower connections. Among the frameworks, Prototype offers the best value. Its goal is to provide a cross-browser layer while staying quite minimal in size.

In Chapter 4 the book describes interactive effects that Ajax allows to add, for example instant previews, fade ins and outs, etc. Then it describes the widgets that Ajax allows one to use: accordion, tabs, overlays. After that, the book deals with more complex issues such as in-place editing and live validation which requires interacting with a server. Besides home-grown solutions that book mentions a variety of web frameworks and tools, for example JotForm – a nice framework for building forms and putting them on your web site. This is the kind of tool I need. I want to place a feedback form on my web site to make it possible for the visitors to drop me a line without having to write me an e-mail but this was always a low priority task and I never made it happen. JotForm will make my life a lot easier.

A special chapter is dedicated to advanced effects such as using Ajax with SVG. Finally, the author explains how to build mashups using web APIs. In this chapter the author explains the tradeoffs of using client-side and server-side mashups and explains how to implement a mashup in a non-scripting environment. Despite the fact that this is a book on Ajax the case in which Javascript is disabled is also dealt with. The reason is that many people prefer to browse unfamiliar sites without Javascript, the author claims.

Despite all its gorgeous content the book has drawbacks. The main disadvantage is that it is a bit hackish in nature. For example, there are well defined Javascript design patterns which the book does not mention. Instead, it offers its solutions as functions or snippets of code that the web developers are supposed to paste wherever appropriate. If next editions of the book are to appear it needs to take an object-oriented approach to all the beauty that it has developed.

Last but not least, this is the post number 300 in my blog! An important milestone has been reached! This is the day I have been thinking of for a long time, I was trying to imagine what would I write as a post number 300. I guess a review of a book on web design is a topic worth discussing in such an important post, it conveys a symbolic meaning! Joke.

Opening season 2010 – a Marathon without further ado

April 25th, 2010

Photobucket

This Saturday I participated in a race in Tuusula, the place where I ran a marathon last year. Initially I was planning to run a half-marathon because this was the first race in year 2010. In addition, I had only one long run this year after which I felt pain in the legs and was not running for another couple of weeks.

So my mindset was configured toward an easy half-marathon until the moment when I arrived to Tuusula. But I will start with what I was doing on Friday. In the evening I had a check-up training session under rain after which my mood was between not running on Saturday at all or running a half-marathon.

And I thought – such a beautiful life! I should spend all my time on the road today – and I decided to run a marathon without any previous training. A bold, daring attempt!

However, on Saturday the weather improved and the sun was shining. I went to the bus station and boarded the bus to Tuusula. It was quite a low-cost comfortable trip in a tourist bus. It costs less than 6 Euros one way, 30 kilometers from Helsinki to Tuusula. I was astonished when I got off the bus and breathed freshest air and saw the cleanest sky. It is a kind of feeling when you arrive to a village after spending time in the city. And I thought – such a beautiful life, why should I spend half of the day at home? I should spend all my time on the road today – and I decided to run a marathon against all odds!

A marathon is always a challenge. But I have learned the lessons of the past and started the marathon slowly. Because of the nice weather lots of people were walking or biking. Many of them were also participating in marathon but as cheerleaders. Look at these nice posters in the hands of children. They are saying Hyvää which means Good in Finnish. The spectators make the run a lot more enjoyable.

Photobucket Photobucket

The course goes to the town of Järvenpää – the town of Jan Sibelius and Joonas Kokkonen, the two famous Finnish composers. It was surprising to see an amusement park there. Besides the traditional carousels a helicopter tour was offered for only 60 Euro! It is well known that in big cities it costs a lot more, probably 300 Euro or so. Of course, I did not fly the chopper this time but if I were visiting Järvenpää as a tourist I sure would!

Photobucket Photobucket Photobucket

After leaving the town the course goes through countryside. At this time of year the trees are not green yet and there is no crops on the fields. However, the spring has definitely come and the last patches of snow are disappearing under the shining sun. It is very nice to watch the nature waking up after winter sleep, such an enjoyable feeling.

I have completed the first lap 21km in 2 hours 25 minutes, slightly slower than last year when I was running a marathon. However, then I felt crams in my legs because I have not adapted to the shoes yet. It is one of the best shoes you can get. The original price is nearly 150 Euros but I got them on a sale for 70 Euros. I guess their biggest advantage is that they treat your knees well – a typical problem of an experienced runner. Indeed, I should say that on Sunday my legs were in good condition, much better than earlier even after half-marathons. However, during the second half of the race I felt lots of pain in muscles and thus had to walk, not run.

De-hydration is another typical problem during the marathons. I was in the winter pants, I used to skate during freezing temperatures in this pants. I decided not to buy the sports-suite because I thought the weather will get warmer and I will run in the shorts. But for this race I definitely needed a sports suite, not the winter pants. This is why during the second half of the race I needed to drink a lot. Even though the water stations were available here and there I felt thirsty at thirty kilometers. Fortunately, there was a Siwa shop near the road. Another lucky coincidence was that I had money with me, but only 3 Euros. It turned out that the energy drink costs 2.99 Euros. This drink healed my legs, the muscle pain was gone and I was able to run again! I guess I was super-lucky on that day!

So I completed the marathon walking the middle part of it but otherwise running. The net time is 5:16:41 which is worse than what I thought of in the beginning but much better than what I was thinking during the race when my legs started to hurt. I thought I would have to walk the second half of the race in which case my time would approach 7 hours.

Overall, nice run in a joyful atmosphere. A tough battle to finish the race but this is a marathon after all, the sports of Gods! From now on I think I should try marathons every time. Because a half-marathon is a shorter distance I am always trying to beat my record which takes lots of effort. I feel a lot more exhausted after a half-marathon than after a marathon. Also a marathon gives a lot more satisfaction – not everybody can do it.

And I just did it! Again!

Unboxing ceremony: my new HP TouchSmart

April 21st, 2010

After years and years of waiting and working on others’ laptops I decided to get my own! It is funny that I bought my previous laptop a whopping 8 years ago when I started graduate school at Stony Brook (I also own a netbook but that is used exclusively when I am on the road).

This is why I decided to get one of the best models available at the moment. I got a 12-inch tablet HP TouchSmart tm2. It has Intel Core 2 Duo SU7300, 4 GB of RAM, 320 GB hard drive, and a Windows 7 with multitouch support.

In fact, it is multiple gadgets in one box: it is possible to use it as follows:

  • an e-book reader because it supports landscape/portrait orientations
  • watching movies is also quite convenient
  • it is a nice development machine with its dual-core CPU and 4GB of RAM.

One of the features that I like the most is hand-writing recognition – it is so accurate nowadays. I only had to go through a small training session in which the computer asked me to write down a number of sentences in my own style. Multitouch gestures is another cool feature which is supported for example in a few games that Microsoft has developed.

I have also installed BumpTop – a state of the art 3D desktop. The only problem with it is that it does not support native input methods, this means that I always had to use keyboard for typing.

While looking for a suitable model at Verkokauppa I have noticed that it offers lots of bigger laptops with screen sizes as much as 17 inch. Of course one can say that 12 inch of TouchSmart is not enough. But this is not the case when size matters. The screen has exceptional brightness which makes it possible and even convenient to use small font sizes. On the other hand, monstrous laptops have so much unused space in the keyboard area. It looks as if I am buying not a laptop but a pad for the coffee cup.

To summarize, TouchSmart is a compact and lightweight (2.1 kg) yet extremely capable device! The only problem that I have experienced so far is learning which touch gesture is doing what – there are so many possible gestures on a multitouch screen! But the time spent learning multitouch is not wasted as this is the technology of the future, undoubtedly.

Obligatory unboxing ceremony images:











Reading list Spring 2010

April 16th, 2010

I have read the first three issues of Communications of ACM of year 2010: January, February, and March. Overall, I have noticed that CACM is aiming at a broader scope, not only CS-topics but also biology and physics. Therefore, nowadays it is more like Science magazine or Nature. But of course in every article there is a computational aspect that connects computer science with another area of knowledge. I found out that cross-disciplinary articles are more engaging than purely technical articles. The nature has lots of secrets that computer science helps reveal.

Jan 2010
Rebuilding for Eternity. Bundler – open source version of Photosynth.
Automated translation of Indian Languages
New Search Challenges and Opportunities
Data in Flight. Implementation of StreamSQL. Stanford streams, MIT Aurora, SQL Stream.
Other people’s data – XIgnite

Last but not least – two articles that discuss Google’s parallel engine – Map-Reduce. I have noticed that CACM contains lots of articles dedicated to Google’s technology, for example there is an article discussing the evolution of Google file system in one of the following issues. At the same time there are no articles from other software giants, for example Microsoft, Apple, or IBM. This is not because those companies do not innovate. Everybody knows that programmers went nuts writing iPhone apps. The reason of Google domination is I believe that amount of sponsor money that it gives to ACM. It is fine, Google has created lots of innovative frameworks but other companies deserve attention as well.

Map Reduce and Parallel DBMSs: Friends or Foes?
MapReduce: A Flexible Data Processing Tool

Feb 2010

The best issue I have ever read! To start with, its cover story is dedicated to new model of computation, quantum algorithms. This topic is not new. When I was an undergraduate student in Russia in late 1990s there was lots of buzz of how quantum algorithms can change the cryptography. With its strong mathematical tradition, Russians were trying to explain quantum algorithms from the number theory point of view. To me it was totally incomprehensible. Or I should say that my mind was more inclined toward an algorithmic perspective of quantum computers. In this article CACM does a great job on explaining the notion of quantum algorithm at the level that was most appropriate to me as a software engineer. It briefly mentions computational complexity challenges and explains how quantum algorithms might help tackle those.

Recent progress in Quantum algorithms

Type Theory comes to age. Aura, Jif for security. Philip Walder
An interview with Michael Rabin

A few billion lines of code later.

Another great article in the same issue! When I was a student (again) but this time in a graduate school in the United States I was lucky to witness the emergence of a new technology – practical bug detection using static analysis. But I will start with a brief introduction on how industrial research is transformed into a widely adopted mature technology.

In my life so far I saw two such events. More experienced people might name a few other cases but here is what I can say. In late 1990s computer graphics has advanced rapidly because of increased processing power. Researchers began experiments with massive amounts of data or images. This is how light field mapping technology was developed simultaneously at several universities as well as at Microsoft and Intel. Its idea is to build a 3D model of an object from a number of images taken with an inexpensive camera. I was lucky to participate in the development of this technology as an undergraduate intern at Intel-Nizhny Novgorod in 2001-2002. However, it was only a research project which was soon abandoned. However, in year 2010 there is a commercialized version of this technology Photosynth that Microsoft has created.

When I joined graduate school in Stony Brook in 2002 application security was a hot research area. Everybody was thinking how to protect the programs against viruses. This is why we have created DIRA – a dynamic protection tool that instrumented programs with additional instructions that made it resilient against buffer overflow attacks. But again, the project was soon abandoned. However, Dawson Engler was able to transform the technology landscape with his static bug finder. In this article he describes his experiences with making commercial tool from a research project.

Software Model Checking takes off
Assessing the Changing US IT R&D Ecosystem

March 2010
Chasing the AIDS virus

Cover story is another must-read article! It explains the mechanics of AIDS virus. I never thought that it can transform itself to avoid the medicine it is exposed to.

Making decisions based on the Preferences of Multiple Agents

This article describes various algorithms of voting with applications to social networks. Very comprehensive discussion.

Engineering the web’s third decade
Orchestrating coordination in pluralistic networks
GFS: Evolution on fast-forward
Global IT management: structuring for scale, responsiveness, and innovation

Obituary: my grandmother Alexandra Dmitrievna Tokareva 1917-2010

April 6th, 2010

This spring was quite unfortunate for our family: after long fight with pancreatic cancer my grandmother died on March 30, 2010.

She was born in 1917 in a Siberian village of Pivkino. It is impossible to imagine that in 1917 the last Russian Tzar Nicholas II was alive. However, the interim government was already in power, therefore we cannot say that my grandmother lived in Romanovs’ Russia. But anyway, she has lived through the Soviet Union from its beginning to its end.

While growing up in a Siberian village, communists arrived there in early 1930s and recruited many young people to build factories in growing industrial cities of western Russia and Ukraine. This is how my grandmother moved to Gorky to participate in the construction of the GAZ automobile factory.

But then World War II broke out. Gorky was under heavy bombardment of Nazi Germany armed forces. Needless to say, my grandmother has put her life in danger numerous times while working there during WW II. When we were growing up we liked to listen to her war stories when she was recalling how she managed to escape another Luftwaffe attack. My grandmother got a truck driver’s license during the war because obviously too many men went to war and women had to drive the trucks.

After the war has ended my grandmother gave birth to three wonderful children one of whom is my mother. Then a short interval of happy life began. But another trouble was round the corner: in 1964 my grandmother’s husband has died when she was only 46 years old. Left alone with three children and with small salary which she was getting as a teacher, my grandmother faced toughest times of her life.

I cannot imagine what kind of strength it takes not to give up in such situation. Obviously, my grandmother had a choice of going back to Siberia to get help of her parents and siblings there. But she made a tough decision to stay in Gorky alone in expectation of better life for her children. Well, those expectations became a reality. All her children were doing exceptionally well in school and got university degrees. They all had children as well: as of now there are 5 grandchildren and 5 grand-grand children (the latter number will increase I believe).

My grandmother died after 46 years of living alone after her husband’s death in 1964. I have noticed that her life was made up of two periods of equal duration: the first one of building a family and the second one of raising the family and grandchildren. I guess my grandmother did not have a single day of leisure in her entire life. She was very active until nearly the last days of her life. In January of this year she was still taking long walks. But in February she suddenly felt sick and was rushed to a hospital, the first time in her entire life. Then she was diagnosed with terminal cancer and her life expectancy was 3 months.

My grandmother possessed an enormous will for life: she never said that she had pains when her health started deteriorating very rapidly. It is well known that there are big pains in the terminal phase of pancreatic cancer. Instead, she was making up plans on what she would do after her health improves.

With the passing away of my grandmother we have lost our connection with the past. My grandmother was a historical personality with many unique qualities which are very rare in today’s people: kindness, willingness to fight with difficulties, and honesty. We will miss you a lot, dear grandmother!

Marc Minkowski, Anne Kauppi, a four-hour vocal marathon – this is Helsinki after all!

March 21st, 2010

This year I have already attended so many concerts as I never attended before when I was living in Tampere or on Long Island in the US. One reason is that the music played here is indeed world-class, for example Marc Minkowski is a famous French conductor, Anne Kauppi is one of the best Finnish pianists and is possible one of the best in the world. Most concerts are priced very cheaply at 10 Euros, there are free concerts as well.

French composers is a new trend in Helsinki musical life. Marcel Dupre and Gabriel Faure are the names to watch.

I have noticed that French composers are very popular these days. It is a new trend I guess. While I was educated in music school in Russia we have been listening to Bach and Mozart, that is mostly German composers as well as of course lots of Russian music of Tchaikovsky, etc. but I don’t remember any French composers. Therefore, this year I have discovered Marcel Dupre, Gabriel Faure, and we can think of Frederick Chopin as a composer of French ancestry. Their music is not inferior to that of major classical composers, but it is very different. We definitely need to take a closer look at the French composers.

Marc Minkowski was a guest conductor at a YLE Radio Symphony Orchestra. The venue was the Stone Church. Quite traditionally, the churches are used as concert halls in Finland. It is interesting that this concert was sold out! Fortunately, I got my ticket one week in advance. Apparently, concerts on Friday nights are very popular. The concert included three parts. First, Symphoni #3 of Schubert was performed. Then after a short break Requiem of Gabriel Faure followed. It is an amazing piece of music. Traditionally, a requiem is performed when someone dies. Therefore, it should convey sadness. But this requiem is very different. It has quite optimistic tunes which are attributed to human’s acceptance into the Paradise. In the final part of the concert a trio of Mendelssohn was performed. A trio for piano, violin, and cello is a type of composition that keeps me thinking for a long time. Earlier I listened to a piano trio of Tchaikovsky thus now I think that trio is a major composition form on par with symphony or concert. But it is neither one of them. A concert is a competition between a solo instrument and the orchestra. A symphony involves too many parties. In terms of the meaning that a symphony conveys it is often related to a large-scale event or the destiny of the whole nation, something global. It might seem surprising that I attribute verbal description to any piece of music but as Picasso once said there is no abstract art. A painter has always an idea in mind and his/her abstract painting is the result of expressing the idea in this particular way. Therefore, a musical trio also conveys an idea and we can compare it to a certain type of painting. To me a trio is a conversation happening within a close group of friends who know each other very well. They might discuss various happenings in their life, the present and past. The only question is why is this worth depicting? I don’t remember who was saying that but the idea is that only great events constitute the true art, they convey a message to the next generations. What is that message in a afternoon-tea conversation of three people? Answering to that question would reveal the meaning behind a musical trio, it will make its art value measurable. But I still don’t understand what is the position of a trio among various composition forms such as symphonies, concerts, etc. This question is intriguing me a lot.

Photobucket Photobucket

Another interesting event was Kirkko soikoon, a festival of church music which included classical music as well. It continued the whole week and included tens of concerts. During this festival I have bought a few CDs displayed above. Here is a brief description of the concerts that I have attended:

  • Jan Lehtola performed Marcel Dupre in Kallio Church. There were two parts in his concert. Le chemin de la croix op. 29 was performed in the first one, Symphony for organ #1 “Passion” was performed after that.
  • The next concert was in Helsinki Cathedral Crypt – a small hall that did not have even a stage. The grand piano was located very near the audience. It was very interesting to watch Anne Kauppi playing as I was sitting in one of the first rows very closely. This year people mark the 200-year anniversary of Frederick Chopin. A number of his etudes and ballades were performed. Gorgeous concert!
  • On Friday there was another amazing concert – a 4-hour vocal marathon in the Old Church! The singers were signing along with organ or piano. Helsinki has lots of very nice voices!
  • During weekend I went to Mikael Agricola Church located near my house. An youth ensemble called Higher Ground Band was performing there. I was surprised to see lots of families with children attending this concert. Typically, the audience of church concerts includes very few youth which I think marks the generation gap in the society. These energetic young people bridge the gap between younger and older, as well as between different religions. Traditionally, singing modernized songs is attributed to Baptist church. Finnish people belong mostly to the Lutheran church but they still attend Baptist concerts and sing along with them. The audience was raving, it was such a great concert! Below is a video, it is quite long. Watch it till the end to see how exciting the concert was!

Linux Seminar in Oulu 2010 featuring Bjarne Stroustrup

March 20th, 2010

A few days ago I went to Oulu, a city in the north of Finland to attend Linux Symposium which was featuring Bjarne Stroustrup, the inventor of C++.

I left Helsinki on Monday night and arrived to Oulu at 7:30 AM on the overnight train. It was so-o-o co-o-old in Oulu! We did not have such freezing temperatures during the whole winter in Helsinki. On that early spring day it was -20 centigrade. Because the train arrived early initially I planned to walk to the Oulu University which is located approximately 5km from the train station. I actually walked there but I froze like I have not frozen for a long time already. What was surprising to me was that local people were walking and even riding bikes normally. Apparently, they got used to such temperatures. In Finland there is a special word sisu which means persistence and stubbornness in a good sense of the word. Now I know that the city of Oulu is the city of sisu – sisu students, sisu workers, sisu everybody.

I barely had time to warm up in the university lobby before the conference began. It had a keynote speech dedicated to the looming C++ 0x standard as well as two tracks: business and technical. Before the conference I have spent lots of time studying the agenda trying to decide which track I want to go to. But there were interesting talks in both tracks. So I needed to remember the order in which I would visit the tracks. It turned out that there is a simple algorithm which tells you which track to go at any moment of time. The idea is that it is best to always switch the tracks, for example if you are listening to a talk in the technical track now then the next interesting talk is in the business track. So I followed this algorithm and I enjoyed every talk that I attended.

But the first was the keynote. Bjarne is a great speaker! He was describing his work in the standardization committee and the features that were selected in the new C++ 0x standard. He said that name of this new standard comes from the year in which they wanted to get it approved – anytime before year 2010, but at this moment the standard is in the Final Draft phase which means that it will get approved in year 2012 probably.

Bjarne pointed out several criteria that they used when selecting features for the standard. Basically, keep it simple was the main criterion. Any extra functionality should go to a library. Keep the run-time as small as possible. One of the goals was to make it possible to use C++ as the first language during teaching in a college. It is an ambitious goal as most of US universities are using Java as the first language. New set of features for writing parallel programs was described. Mostly, it was related to locks, semaphores, etc. and avoiding deadlocks and other problems, as well as inter-process communication. To me it sounds like a pretty low-level stuff. After his presentation I asked whether the committee thinks they’ve chosen the right level of abstraction. Nowadays there are a few interesting parallel programming frameworks such as Map-Reduce and transactional memory. Bjarne said that it is too early to standardize any of those which is probably true.

The funny thing is that the committee does not necessarily accept the features that Bjarne proposes even though he is the inventor of C++. For example, he was trying to get lexical_cast into the standard which is basically string tokenizer. But the committee voted against him because of possible problems with locale. On the picture above Bjarne is trying to persuade the audience that lexical_cast is a cool feature.

Here are the notes from a few other talks:

Sami Paihonen. Implementing cross-platform UI

The core of cross-platform UI is UI style.
Lots of research. Empty screen is the best place to start.
6 design principles: avoid clutter. Too many things on the screen. Two hands is not mobile usage.
IPhone open-source contacts has a better UI than official app.
UI style defines core UI identity
Smoothness and stability are most important. Steven Frei blog.
blog: dizzyhorizon.com

Mikko Välimäki, Tuxera. Open source and IP licensing

This is the guy who won Espoo half-marathon!

Tuxera – is company doing filesystems on non-Windows systems
GNU GPL – free of charge to everyone.
Is it possible to use Android UI on another hardware? Apple is suing HTC for Patent infringement.
Jonathan Schwartz blog. Bill asks royalty for every download of OO b/c of patent infringement.
Microsoft sued TomTom over usage of FAT file system.
Mixed, dual-licensed, open & proprietary models will win.

Alexander Bezprozvanny. Traditional vs agile/open source

different roles that a person takes in multiple team in agile.
key differences in OSS projects: no project managers. Project leaders are models.
Healthy community is the key.
Definition of healthy community, various paths that a project might take depending on how developers interact with users. Nice diagram.

Examples:

1) Too late means never. Affix and bluez bluetooth stacks. Commercial vs. open-source. A company that missed release.

2) High admission price: OpenBSD community. A success at a high price.

3) OSS contribution from software company: bureaucratic barrier too high. Disclaimer of rights is difficult to explain to management.

4) Maemo case: combining proprietary and OSS SW.

Ari Jaaksi’s speach and consequences in his blog.