Why i’ve switched from Ubuntu to Mac
I’d used linux and Ubuntu for many years, both on server and on desktop. Main reason it was stability of linux. Linux was much more stable than Windows, where you need to reinstall it every half a year, and anyway, you’ll get a lot of crashes.
Few years ago Ubuntu has really ugly UI and lack of features for desktop users. But things are changing, right now it looks much better, developers are adding features, one by one. But, at other hand, after every added feature we get a lot of added bugs :( It’s okay, sadly, but it’s a rule of software development. The problem that nobody want to fix them. It’s cool to add a new feature, but fixing a bug isn’t, because nobody sees it. So, there is no motivation to fix bugs.
As a result – we have unstable OS. Gnome crashes few times a week, have a lot of UI issues, wifi problems, hibernate problems, multi-monitor problems, slow as a snail, and seems that you need to reinstall it periodically, etc, etc :( So Windows becomes more solid at this point.
Ok, it tries to be like Mac OS. But right now it more like a very ugly Mac OS.
Looks like Linux have lost its advantages and opportunities at desktop market :( So, I just bought a Macbook Pro.
PS linux is still doing good on servers, i’m talking only about desktop
Yandex – most popular search engine in Russia
![]()
Yandex – an alternative to Google in Russia. Its same as Google, it’s a search engine, it’s a maps, mail, it’s context advertising, it’s blogs and blog search, news search, money (like Google Checkout, or Paypal), moikrug (= LinkedIn), etc, etc. Except Android, maybe. It even have an Yandex flavored version of Chrome, and Google Chrome suggests to use Yandex as default search in Russia (!!! can you belive???). See more at crunchbase
Yandex have about 60% of market in Russia, as you see Google isn’t so popular there. Why? Dont know. Its something different about the Russian, other mentality maybe?
Google is working hard. Maybe some Google products sucks in Russia, but not so much. Its Google Maps, for example, that have maps only for a a few major cities, Yandex Maps have good and more detailed maps for most cities in Russia. But it’s not the rule. Gmail, in other hand, much better than Yandex Mail.
As about search – russian language is complicated, but it’s must be not a problem for Google. They have offices in Russia, and also have a lot of Russian-speaking developers in other offices (as i heard that Ireland office has a lot of guys from Russia). They can hire smartest people, and they do, but no luck.
I know some numbers, and can say that there is no big difference in quality of search results. Maybe there is an other thing: people who want to see results in russian – they strongly prefer Yandex, because Google’s SERP is a mess of english and russian sites. Who wants to see results in english – prefer Google, but it’s not a lot of people. But even more, Yandex is trying to make a deal with this – it’s just released an improvement for search engine, and now it can understand what sites language is better for current search query and for current user. Its not so easy, btw.
Well, as you see, it’s doing very good, I really like this company, and… we’ll see.
Disclaimer: I had worked in Yandex some time ago as a product manager, btw i’m trying to be objective.
Internet in Russia
Decided to write few articles about Internet industry in Russia. It seems that it can be interesting, because it’s really unique situation there.
First of all – Russia is a very large country, but only small part of people are using Internet in their daily life, it’s about 30-40m active internet users there (143m people in total). Actually most of Internet users are living in Moscow. Or Saint-Petersburg. As for Moscow, there is about 6m active Internet users (15% of a whole country). For comparison, USA have a little more that 200m Internet users. Btw, Internet usage in Russian is growing very fast.
But most interesting part that some major, and popular worldwide, services like Google or Facebook isn’t so much popular there. Sometimes because there are some alternatives of them, or clones, that gain main audience. But many of US services is not popular there at all, even as a alternatives. I mean services like eBay or Digg, for example.
And there is totally different situation with web users. Most of them doesn’t speak English at all, or, for example, Opera browser is very popular there.
Okay, its just an introduction, I’m going to write more about different aspects
New Rules for the New Bubble
Ubuntu Netbook Remix 10.10
Month ago had upgraded Ubuntu Netbook Remix at our EeePC to 10.10, and i was very disappointed about it :( It become much worse than 10.04. It’s very slow, new UI are unusable, but “desktop UI” and previous version (aka “2D”) are broken :( When you are trying to open “File manager” is requires at least 7-10 seconds!!! Even WinXP can show you your files in 1-2 seconds. And every time you click on it, it starts showing you from the start! So, for example, if you are uploading photos to facebook, and browsing your local images directory, to select what to upload (as you know Ubuntu still can’t make thumbnail list at “Open File Dialog”, just like “windows 3.11″), you must start browsing to last opened picture every time you click on “File manager”. It takes 10-20 clicks every time. If you remembered last directory.
So Netbook Remix are unusable on ASUS eeePC, it’s also much slower than Windows 7 or Windows XP :( Common guys, it’s just an Atom 1.6 Ghz with 1Gb of memory. Looks like 10.10 optimized for at least Core2Duo with 2-3 Gb, even netbook version.
So, as a result we had installed Windows 7 on this netbook. There are no alternative now :( And I am very saddened by this.
Niche for Scala
At last post I mentioned that i’m not using Scala because of academic nature, syntax and so on. BTW, i’ve different used programming languages, sometimes with worst syntax. I spent much time on Perl. And also i’ve used Q programing language. You know, Scala have much better syntax :) I only don’t understand why they are drop standard java syntax for standard cases? Why
for(i <- mylist ){
print(i)
}
is better than standard:
for (i: mylist) {
print(i)
}
, etc. I see only one reason: to be different. What for?
But actually it doesn’t matter. I’ve used Perl and Q only because they have their niche, where they’re works best (ok, perl lost it now, but you know, when I used it, 10 years ago it has it). But I don’t understand niche of Scala. What is it for? If I want to develop fast code – i will choose Java. If I’m looking for syntax sugar and easy development – Groovy. Want functional code – choose Clojure. It’s just my current vision.
I definitely will try Scale one more time. Just because i see that many interesting project are using it, GridGain for example. But first I need to understand what project better fits for Scala. Can someone help me with it?
Why groovy
For last projects i choose Groovy as a main programming language, where it’s possible. Why? Because i think it’s optimal solution for most of my projects.
It’s very pragmatic, agile, powerful and expressing language. You write less code that using Java, you don’t require to write all those “getters/setters”, wrappers, huge hierarchy of objects, etc. If you know you can use some functional-kind tricks, so two hundred java code can be rewritten using few lines. And then it requires less time for refactor, for bugfixing, for code review, for understanding, etc, etc.
It also easy to start using it. Really. There a no learning curve. Basically it’s just plain Java with additional syntax sugar. So you can rename your *.java files to *.groovy, and, ta-da-dam, you are using Groovy :) Maybe with some rare exceptions, but it works. And then, when you feel flavor of Groovy, you will start using its feautures. Event junior java developers can start using it after short introduction, i’ve tried to teach few juniors – just fine.
And also there are good documentation, very good IDE support (at least by IntelliJ IDEA) and by development tools (like Maven, code-coverage, etc).
JVM is my choice because i’m doing mostly server-side project, and there are no alternatives with such solid base. I has done some project using python and ruby, and even PHP and Perl, but don’t pleased of quality of libraries, development tools, etc. Of course I’ve spent some time on other languages for JVM. Scala, for example, can be good language, for some teams, but it have high learning curve, very chaotic infrastructure and syntax, and it’s too academic it think. Clojure is other good choice, i’ve used it for an small project (~8K SLOC), and can say that it’s cool, but it’s not solid, it’s too young, there are no tools and IDEs (only Emacs, but did you know any junior developer who want to use Emacs? :)), so it’s not ready for production use yet.
Main problem with Groovy that it’s slow language. But i have to say, that for last couple of years i worked on different datamining projects, and know that at leas 80% (sometimes 95%) of your time you spent on non critical code, on architecture, refactoring, etc. And using Groovy you can spent this time more effectively. And when you found an bottleneck – rewrite it using Java, if you wish. Or rewrite using C/C++. Or maybe assembler. But, you now, it’s always better to think more, and write more robust algorithm on high level. And most of libraries already written using plain Java, so it fast, of course not so fast as C, but faster that Groovy.
Facebook’s FQL Console
For my current project i need to querying Facebook’s Graph API very often, by the hand, for testing and exploring. But there was no any good tool for it, so i’d made an simple tool for querying facebook: FQL Console
It’s easy to use, you have to setup your app keys, user session, and then you can make any query. As a result you can see plain JSON response of this query, and an grid view for it. Just look at this screenshot:

I’d uploaded this tool, with sources, at github. So, if you want to use it feel free to download from there:
http://github.com/splix/fqlconsole
PS Interesting thing: official Facebook Developer Forum doesn’t support Facebook Connect (sic!), only oldschool register/confirm/login/password. So i have no way to promote my tool on this forum. If you have access to it, post about this tool, please. Thanks.
Social Media Revolution 2 (Refresh)
Something like that, yep