Google Android on Samsung S8000 Jet

Before you read this post, answer a simple question. Are you an owner of Samsung S8000 Jet? Are happy with it?

The official advertisment of S8000 is “smarther than smarphone”. But in fact, it is dump and usless: you can’t run anything except Java & Javascript applications. Which seems to be pretty limited. Moreover, on the original firmware I got when I bought the phone there was no way to run Java applications … On the other hand, it’s hardware is good …

Since Google opened sources of it’s open source OS for mobile devices there started several projects to port Android on them. There appeared also a project to port Android to S8000: http://code.google.com/p/jetdroid/wiki/JetDroidStatus . But for now, it is very early stage of development, and there will be nothing significant in upcoming future (I judge from project activity, but I am glad to be wrong and to test Android on S8000 today ;) ).

There are however some ports of Android to Samsung S3C6410 target board: http://nemustech.blogspot.com/2009/04/android-on-s3c6410-target-board.html which seems to be very promising, because S3C6410 target board shares exactly the same hardware as S8000 Jet. But, so far, there is nothing these days you can get and test. Pity.

I was trying to see any SDK for Samsung S8000 in http://innovator.samsungmobile.com/ but it’s dead end. There is a widgets SDK for S8000 which means you are developing JavaScript applications, not native. It is amazying how bad things are for Samsung S8000: it has powerful hardware, but very limited software. More over, the software is very buggy. You just feel when you work with it. A typical example: wi-fi connects to router after second time. No flash plugin. Alarm does not save if your restart phone. Some applications hung. No native application for GPS. No “samsung app store for S8000″ …, etc.

Of course, by providing such a bad software for S8000, Samsung makes people unhappy and angree, like me. And so this gives a powerful impulse for porting Android to S8000 … Will see how the project will go …

Голосуй за нового Президента України!

Sorry, this entry is only available in Українська.

Antivirus for Linux from Eset

In Windows world Eset Nod32 antivirus is well known, and is proved to be called reliable and good ;). It seems like now Eset is willing to enter a linux world and so they did an antivirus for it. Unlike many other antiviruses for linux, they did it more user friendly. Actually, they did it exactly the same way as it exist in Windows. The same dialogs, the same settings, etc.

Currently Eset launches a beta program for new antivirus. Everyone can participate and download x32 and x64 bit version here: http://beta.eset.com/linux . Some people get confused, what to do with the file provided by Eset? Don’t worry everything is simple, just make file executable and double click on it afterwards:


chmod 755 ueav.x86_64.linux

After you double click on file (I use Ubuntu x64) you will see a “Windows like” installation dialogs where you can click Next/Next untill it’s done. As I said before, everything in linux version is the same as in Windows version, and you can see it in the following screenshot:

Just immidiatly after installation I got my first bug. I can’t launch Google Chrome when file system protection is on. Seems to be quite obvious bug, just wonder why it appears in beta, not in alpha :).

UPDATE: I was really surprised when turned on my machine at the morning. The UI hung and I was unable to do something except force rebooting. Uninstalling Eset Nod32 helped … So the bottom line: shame on Eset to make such a raw product at BETA stage.

Happy New Year!

Time is running fast :) Recently it was a 2000 year and everyone was speaking about “2000 hell”. Now it is 2010 already … C’est la vie … I wish everyone who reads this a success in 2010, good health, good ideas, good relations with relatives and those who are valuable for you.

Happy New Year!

Google Chrome OS: how to make it compile and work in VirtualBox & VmWare

Recently Google opened sources of it’s Open Source OS called Google Chrome OS. After looking at youtube videos I got interested and decided to play with it. Well, any new OS is always interesting these days, when the whole world stuck to Microsoft Windows.

Because Chrome OS is an open source project it is really interesting to compile it from sources. Don’t be scared, the whole process is quite simple and is very well documented at Chrome OS Wiki: http://sites.google.com/a/chromium.org/dev/chromium-os/building-chromium-os/build-instructions . Just do “step by step” what is written there and you will succed. However, I met a few problems during compilation process. First, I got stuck with error:

“Resolving chrome-web… failed: Name or service not known.” during build. If you meet this problem, edit “copy_chrome_zip.sh” script, search for “chrome-web” and replace all occurances of it with “build.chromium.org”. Finally everything compiled.

Second problem appears at the end of building process when you created an image and you notice that Google by default recomends to create a VMWare image. Why VMWare and not VirtualBox? Let’s face the fact. Most likely, you are building Chrome OS in Linux. VirtualBox is by default present in default repository in most of the Linux distributions. While VMWare not. Also, you have to pay money for VmWare … Even if you pay for it, it might not work in your distribution. I remember myself trying to install it on 64 bit Ubuntu 9.04, it was problematic …

So, you did compile the kernel and packages and you created an image. Now it’s time to follow Google’s guidlines and create a VmWare vmdk file:


volodymyr@sv1:~/development/chromiumos.git/src/scripts$ ./image_to_vmware.sh --from=/home/volodymyr/development/chromiumos.git/src/build/images/999.999.33209.120817-a1

The output will be something like this:

Done. Created VMware image /home/volodymyr/development/chromiumos.git/src/build/images/999.999.33209.120817-a1/ide.vmdk

If you have VmWare you can add this image as a virtual disk and use it. However, if you are lazy, and don’t want to setup a VmWare, it’s time to convert this image into VirtualBox virtual driver. Let’s do it:


volodymyr@sv1:~/development/chromiumos.git/src/scripts$ qemu-img convert /home/volodymyr/development/chromiumos.git/src/build/images/999.999.33209.120817-a1/ide.vmdk /home/volodymyr/development/chromiumos.git/src/build/images/999.999.33209.120817-a1/ide.bin

Now you can convert ide.bin into ide.vdi file using VBoxManage utility:


volodymyr@sv1:~/development/chromiumos.git/src/build/images/999.999.33209.120817-a1$ VBoxManage convertdd ide.bin ide.vdi
VirtualBox Command Line Management Interface Version 3.0.10
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Converting from raw image file="ide.bin" to file="ide.vdi"...
Creating dynamic image with size 2988442112 bytes (2851MB)...

You can add ide.vdi into your VirtualBox and have a try with it. The first thing you notice is that it is loading very fast. It takes upto 10 seconds to load. You can see screenshots of Chrome OS below. At the same time, everything is so Google specific … If you don’t have Google account you can’t use this OS at full power ;) I guess this OS is interesting to play with, but I can hardly imagine myself using it everyday. For those who are interested in both images (VmWare + VirtualBox) and would like to download them, you can do this using this link. Use the username “test” to login.

Chrome OS start

Capture-3

Capture-2

A language hell

Have you noticed that this blog has several posts in different languages? If you look at the right, you’ll see these languages. Each language has a flag associated with it, and … I am not feeling very confortable that I have a Russian flag in my blog. Because I am NOT Russian.

I have actually a “language hell” in my life. In past I spoke Russian & Ukranian, now I speak English & a little bit on French. But I have no places to speak Ukranian … These days it is easier for me to speak/write in English rather than in Ukranian … Shame on me!

Starting from today I am going to eliminate Russian language from my blog and change it with Ukranian. Call me nationalist :)

О жизни украинского программиста в Швейцарии №3

Вторая часть этой серии завершалась покупкой билетов в Швайц. Итак, продолжим …

Что первым кидается в глаза в Швейцарии вновь прибывшиму айтишнику? Тотальная автоматизация и контроль везде :). Когда я прибыл впервые в Цюрих, я был удивлен тем, что все в этой стране сделано для того, что бы минимизировать затраты. Паркинг? Автоматический. Бензозаправка? Автоматическая и самообслуживание (я ни разу так и не увидел на заправке хотя бы одного человека который бы стоял и заправлял машины). Супермаркеты? Понятное дело что тоже самообслуживание :).

По непонятным мне причинам, рейс Цюрих-Женева отменили, поэтому, пытаясь понять что делать дальше я стоял в очереди по распределению несчастных которые не могли попасть в Женеву. И тут женщина в микрофон спросила, “is there anybody here who is speaking russian and english, as we are dealing with person who does not speak english” что значит “если тут человек который разговаривает по русски и по английски, т.к. у нас тут клиент который не говорит по английски”. Так у меня получилось пройти с конца очереди в ее начало :). Сотрудники аэропорта не могли обьяснить что делать украинке которая летела Киев-Цюрих-Женева. Тут намечались два варианта: ждать следующий рейс или ехать поездом, проезд которого оплачивает аэропорт. Учитывая что следующий рейс будет часа через 4, а ехать из Цюриха в Женеву порядка 2 часов, и поезда отправляются каждые несколько минут, было решено ехать поездом. Украинка, имя которой я, к сожалению, уже и не припомню (поэтому будем называть ее условно У.), решила ехать со мной, т.к. она знала только русский и украинский, ну и вдвоем было веселее.

Для того, что бы поехать поездом, нужно выйти из аэропорта. Для того, что бы выйти из аэропорта, нужно забрать багаж. Обычно багаж крутится на эдакой ленте, и сумки может забрать кто хочет :) Я уставился на ленту просчитывая варианты того, что мой багаж уже забрали. Прошло пару минут, моего багажа не было. Черт. Подошел к сотрудникам аэропорта, они сказали что если его нет на ленте, он потерян, поэтому нужно идти в отдел Lost & Found. В отделе потеряного багажа сказали что мой багаж никогда и не прибывал в Швейцарию, он остался в Украине :). Замечательно, день удался. Я заполнил форму потеряного багажа, указал свой адрес в Швейцарии, получил бланк и на том разошлись. Из моих вещей все было потеряно кроме документов и ноутбука (без зарядного устройства, оно было в багаже) c фотоаппаратом. Спутнице У. повезло лучше, весь ее багаж был в полном порядке.

Выходя из аэропорта спрашиваю первого попавшегося человека (лицо кавказкой национальности) где я могу найти жд вокзал, он смотрит на меня секунду и отвечает на русском: “русский? вокзал вон там за углом” :). Перед поездкой было решено купить припейд карточку что бы можно было позвонить принимающей стороне о том, что планы меняются, и мое время прибытия изменяется. Зайдя в местный салон “Swisscom” что по нашему схоже с “Киевстар” я спросил могу ли я купить припейд. Мне ответили что без проблем, но нужны мои документы – пасспорт :). Я удивился, т.к. это напомнило мне тоталитарную Россию 21 века :). Ну да ладно, карточка была куплена, и мы сели на поезд в направлении Женевы.

Поезд был двухэтажным, поэтому сели на втором этаже, т.к. это было в диковинку после совдепа. Не скажу что был особо удивлен видом, наверное поезд ехал какими-то непопулярными маршрутами. Может быть я ожидал большего. Маршрут был Цюрих-Берн-Фрибург-Лозанна-Женева. Фотографии сделанные в поезде, где-то возле женевского озера: (Lac Leman)

Благополучно добравшись до места назначения и пожелав У. удачи, я был встречен коллегой с работы, который доставил меня во временно сьемную квартиру. Субботний день заканчивался.

В воскресенье с утра я решил пройтись по городу, хотя был предупрежден что в Швейцарии в воскресенье в городах делать нечего: магазины закрыты, все не работает. Но я не покидал надежду найти еду, ведь впереди целый день, а кушать хочется :). Благо, в квартире куда меня поселили был бесплатный завтрак (уточнение: в Швейцарии ничего не бывает бесплатным, за все приходится платить. В моем случае, завтрак был включен в стоимость аренды), но западноевропейский завтрак для постсоветского человека это не еда :). Итак, воскресенье я потратил на анализ окрестностей, осмотр местных достопримечательностей и поиск еды. Впереди была акклиматизация на новом месте а также вливание в рабочий процесс и коллектив.

P.S. Через три дня потерянный аэропортом багаж был мне доставлен домой. Он все таки отправился из Украины в Швейцарию, просто из-за отмены рейса он потерялся где-то в суматохе в Цюрихе. Как бы там ни было, прийдя вечером домой я обнаружил в прихожей свой чемодан с нетронутыми вещами :)

Error in Ubuntu 9.10 x64: hamachi: error while loading shared libraries: libstdc++.so.5

Recently I updated to Ubuntu 9.10 x64 and noticed that my hamachi stopped working. The following error appears when you try to launch it:

hamachi: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

It seems like the package libstdc++5 is removed from Ubuntu 9.10, as “apt-get install” does not install it. However, the solution exist. And it is very simple:

1. Download the package from http://packages.ubuntu.com/jaunty/i386/libstdc++5/download and save it somewhere

2. Extract it’s content into tmp folder:

dpkg-deb --extract libstdc++5_3.3.6-17ubuntu1_i386.deb tmp

3. Go to lib folder:

cd ./tmp/usr/lib

4. Copy file libstdc++.so.5 into /usr/lib32:

sudo cp libstdc++.so.5 /usr/lib32/

5. Make symbolic link from “libstdc++.so.5″ to point to a newly copied file:

sudo ln -s libstdc++.so.5 /usr/lib32/libstdc++.so.5

Run hamachi :) Now it should work!

Google Chrome can be already run under Linux

Recently Google announced a new version of Google Chrome – quite a nice browser which conquers me by simplicity, speed of rendering, and by limited audiency of users, thus, the chance to become infected via exploits is pretty low. The 3.x version is avialable for Windows, and there is also unstable, development version for Linux. It lacks some useful plugins, but the process is ongoing. Really glad to see Chrome in my Ubuntu distribution … :

Capture

There are, however, some privacy issues related to using Chrome under Linux. Make sure you read them all: http://www.google.com/chrome/intl/en/privacy_linux.html

WDK 7.x is not compatible with Windows 2000 anymore …

A new version of Windows Driver Kit was released recently, the 7600.16385.0 and probably some of you’ve noticed that it does not support Windows 2000 Build Environment.

This is a bad news for me, as I still need to support Windows 2000 in some of my projects. Before, with WDK 6.x versions you had a possibility to build for 2k specifically. Even if you build in Windows XP Environment the binary was de-facto compatible with 2k kernel.

If you compile your driver for XP and try to load it under 2k, most likely it will fail to load. Dependency Walker shows the following unbound functions (total: 96) in my case:

depwalker

The interesting thing is that this particular binary does not use fast mutexes, but standard mutexes. The WDK in this case by default links to ExAcquireFastMutex and simular. Well, this is good from one point, it makes your code to run faster, but it fails to run it in ancient OS like 2k…