17 November, 2008

httpd library for embedding into your application

Next week I will have to implement something to transfer files between computers. I decided that http transfer could be a good idea, because clients would be able to get files from another sources and not from my server-application only.
So here is libmicrohttpd by GNU. It supports SSL/TLS, and licenced under LGPL (which is important for my company, since they don't know what licence will use). Looks like very useful and easy to use library.
FOSS rocks!

29 October, 2008

"Antitrust" movie and do THEY reuse free software in proprietary?

Just finished watching Antitrust movie (aka hackers 3). It's really amazing and it's worth to watch this movie. I remember there was similar story about lawyer and big company (maybe even two stories), but this one is about software development: you can see Unix systems running on movie's computers, Open Source hackers, and M$ (Titled "Nurd" in the movie).

But it's really interesting how much open sourced code is stolen by proprietary organizations? I'm not sure if there are special tools to check binaries (anywhere clean up should kill traces). And the code is just a form of ideas, so somebody can steal ideas and rewrite the code. Just imagine: they have all things to look for: process/memory management (Linux, *BSD, Hurd), filesystems, any multimedia applications, IDEs, browsers... They have all things to look for fresh ideas.
Just think: any professor who works with operating systems would say that he works with theory, and in a real projects most things are always done in another ways. You can have a cute design, emulators, whatever you want, but seeing the result of development is always better, than designing and analyzing. And what abilities do proprietary companies have?
They have an ability to analyze all technical decisions come from Open Software. What stops them from reusing it? Yeah, you might say there are some Windows sources. But I didn't heard somebody has built it. Of course they have enough money for reimplementing interesting ideas from open source, so I don't mind somebody porting linux kernel code to windows. And of cource I don't mind them spying on genius developers: just on their repositories ))
And the last one: nobody knows what you can find in proprietary software. All computers (most) are connected to the network, most of them uses windows update service. Do you rememebr "I, robot movie"? What if all MS windows copies die tomorrow?..
It's obvious that MS impact on the WORLD is too huge. Much huger, than it should be (please, tell me: what idea did they produce? Just C#? And look on unix impact on technologies from 1970). Ok, they really have some gold ideas, but not revolutionary. Google (I like them, their sevices and they paid me $4500, presented a book and were very kind) has a big impact on the internet. Now we have two corporations are controlling more than 80% of users: do you use Microsoft Windows to run google services? ;)
Please don't tell that they have pretty buttons: open source sometimes lucks of usability, but not interesting technologies.
This movie made me a bit paranoiac and maybe it was better to use very rare (these days) spare time for coding few lines...

25 October, 2008

Russian secret helicopter forces

Secret planes engines are here: http://pilot.strizhi.info/2008/10/14/5743
Enjoy :D

17 October, 2008

Unix commands pattern )

I was reading advance bash scripting today, when my friend Void pointed me to a strange pattern in the naming of unix commands:

gawk, talk, date, wine, touch, unzip, strip, finger, mount, fsck, yes, more, umount, make clean, sleep


By the way (from Void): funny man pages!

10 October, 2008

KDevplatform statistics

Few weeks ago Amilcar (KDevelop) got some statistics about kdevplatform:
Top 10 Authors
Author Lines of Code
apaku 89997 (35.6%)
mbreugel 43571 (17.2%)
rodda 39145 (15.5%)
zwabel 33522 (13.3%)
eivanov 12591 (5.0%)
apol 10234 (4.1%)
dukjuahn 8199 (3.2%)
dymo 4624 (1.8%)
ccpasteur 3532 (1.4%)
vprus 1874 (0.7%)

Green life?

Yesterday I got a letter which made me happy. I got cold, then warm and cold again.
I hope I will be able to write more at the end of next week. Independent of result it can be interesting. Oh, sure: it will. Little prompting is on the picture.
Who knows me will understand ;)

22 September, 2008

Жертва OpenSource... Или Жертва M$?

Решил сдать чужую домашку. Мне прислали docx. OpenOffice его открыл... Я ужаснулся тому, что увидел, но подумал, что это человек так оформил.
Я подозревал, что должна быть таблица, но так как даже не стал читать название, то подумал, что прокатит.
Удивительно, но зам. декана никак не прокомментировал оформление! А лишь задал вопрос, чтобы обнаружить отсутствие знаний.
Я начал дома разбираться, что к чему. И никак не мог понять содержимого. Начал расспрашивать автора. Сложилось ощущение, что мы говорим на разных языках и он стал "нервничать".
Я от него отстал, так и не поняв некоторых вещей: почему мы пишем числа внизу? Нафиг мы выписываем их и как преобразовываем?
И тут наступило прозрение и я ему кинул скрин, на что он ответил:

Жертва OpenSourсe

Вот скрины:
то, что я анализировал
то, что в оригинале (фрагмент выделен)

И тем не менее, надо быть внимательнее и больше думать. Ведь подозревал, что таблица должна была быть!!!

03 September, 2008

Some statistics: sloccount

Here is the statistics made with sloccount.
wc -l result I like more (~8500) :D
lcp script shows 8904 contributed lines (for generated patch).

SLOC Directory SLOC-by-Language (Sorted)
1752 dvcs cpp=1751,sh=1
1220 git cpp=1219,sh=1
610 bazaar cpp=513,ansic=97
416 mercurial cpp=415,sh=1

Totals grouped by language (dominant language first):
cpp: 3898 (97.50%)
ansic: 97 (2.43%)
sh: 3 (0.08%)

#Files Directory #Files-by-Language (Sorted)
23 dvcs cpp=22,sh=1
13 git cpp=12,sh=1
11 bazaar cpp=10,ansic=1
10 mercurial cpp=9,sh=1

Totals grouped by language (dominant language first):
cpp: 53 (92.98%)
sh: 3 (5.26%)
ansic: 1 (1.75%)

Total Number of Files = 57
Total Number of Source Code Files = 57

20 August, 2008

GSoC is over

Unfortunately GSoC has finished. It was a wonderful adventure: I got new friends, wrote some code (~8350 lines counted by "wc -l", so it includes all crap) and learnt new interesting things. I can say that after today's commit to my git repo (with a lot of changes to yesterday's commit, which is evaluted) I implemented all things I promised. But some things still require a lot of love.
I want to thank all people helped me during this summer:
Alexander Dymo(adymo, KDevelop) — My mentor who is strong both in GUI and Git.
Andreas Pakulat(apaku, KDevelop) — The man who can help with any part of KDevelop(or maybe even ith whole KDE && Qt).
Shawn O. Pearce (spearce, Git) — A man who is not in KDE, but who contacted my mentor and me to suggest his help.
Marco Costalba — QGit author, explained a lot of code from QGit.
Paul Mackerras — Gitk author, explained some basic algorithm (building rev history).
All guys from different IRC channels, mailinglist.
And of course Google for the amazing Open Source Program: Google summer of Code!

Revision (commits) history in KDevelop

I had a lot of non-development problems, but this week I continued to develop my GSoC project (it's the last thing, that can be evaluted, but improved — yesterday's code is very buggy xD).
So here this thing is:

The only thing to implement is branch labels.
Current implementation is very dirty, but it works, the code: http://repo.or.cz/w/kdevelopdvcssupport.git?a=blob;f=plugins/git/gitexecutor.cpp;h=515c9b7336d2bda80c83b5c99e2cbe4de7eb465c;hb=41cda3a2993c5c2f0139c8ba539189bd45d77fd3#l397

In September I will implement another algorithm, used in QGit. Thanks a lot to Marco Costalba (QGit author) for explanation of QGit's algorithm. I also have some tips from Paul Mackerras (gitk author), and maybe I will use it too (but I'm not so strong in bash to read gitk code).
Guys thanks for your help!

06 August, 2008

Branching and Committing in KDevelop

Was offline for a week (or even more), but now I'm back and can continue development.

Here are screens of KDevelop DVCS branching and committing managers. They can work with any DVCS (currently I support only Git code, but will give a love to Mercurial and Bazaar).

Commit manager is a big “quick and dirty”, but I will try to make it clear tomorrow.

22 July, 2008

21 July, 2008

13 July, 2008

Basic support of most popular DVCSs is ready :)

I've finished Bazaar and Mercurial basic support in KDevelop. Writing Bazaar plugin was very painful: still don't know why KDevelop wasn't able to load it (diff shows nothing interesting).
The code is already in the KDE's svn repository :) But to get KDevplatform you can use my git repo ;)

06 July, 2008

GitPlugin (basic support) v1.0pre2 for KDevelop released

I had some experiments with generic DVCS support implementation: first I implemented template (mainly because I wanted to play with templates: never had such experience before):
template header
template implementation

The thing I noticed that Qt doesn't support templates. It sucks.
Then after speaking with my mentor I implemented superclass (he noticed I can create required "CommandExecutor" in constructor instead of using it as template argument. And for every derived class only constructor (and QString name()) has to be implemented. See dvcsplugin in the directory.

Note: git rules, you can do many, many experiments. And experiments is a good thing to check your ideas.

P.S. And I have another release today. I'm 19! I become really old xD

05 July, 2008

new release, codename 19 :D

Changelogggggg: something fixed, something broken. But only you can say if the whole "product" is OK :D
Version 19 released! :D :D :D

Laptops (acer/asus/...) onboard microphones (hda-intel)

Today I was asked to prepare a video conference and... I was upset by the thing my microphone (neither internal or external) doesn't work. I don't have Windows on my laptop to do tests (only on VMware for my webcam). Since I was in a hurry I didn't google much (found some things about playing with model=SOMETHING --> /etc/modprobe.d/sound, but failed to achive the victory. In 3 hours I tried just to use workstation, reconfigure my sounddriver, installed oss, etc. Don't mind I was doing it all 3 hours: I had a tea, had a lunch, cleaned the room and also downloaded 60mb kernel source (headers package on SUSE looks broken) to build VMWare modules, 100mb VMplayer and 200mb VMWorkstatib (I used it last time, so decided it had something special, but it had not).
And now I googled my problem in 5 (!!!) minutes.
The recipe:
run alsaconf, if you get no results check 'head -n 1 /proc/asound/card0/codec*'. I have such output:
==> /proc/asound/card0/codec#0 <==
Codec: Realtek ALC883
==> /proc/asound/card0/codec#1 <==
Codec: LSI Si3054

Search for you codec (in my case ALC883) in /usr/src/linux/Documentation/sound/alsa/ALSA-Configuration.txt
Try to add model names to the /etc/modprobe.d/sound:
options snd-hda-intel model=laptop
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel

First I recomend to use your laptom vendor name (acer/asus/hp etc). For me it doesn't work. But model=laptop works for internal microphone and 3stack is ok for external.
I got all the information from the net. Thanks for the working model names to

29 June, 2008

Git plugin seems to be broken by 3rd party

Few days ago I installed OpenSUSE 11.0. Yesterday I wrote some code, but had to build Qt4 and KDE4 to compile my new code. Today I was busy with playing with templates in my code (did some funny mistakes and lost a lot of time). Now I've noticed failure in tests... Even with old code!

QDEBUG : GitInitTest::testInitAndCommit() (27893)/?[0;34m GitJob::start?[0m: Execute git command: "git-commit testfile -m 'KDevelop'\''s Test commit'"
QDEBUG : GitInitTest::testInitAndCommit() (27893)/?[0;34m GitJob::slotReceivedStderr?[0m: received error:
QDEBUG : GitInitTest::testInitAndCommit() (27893)/?[0;34m GitJob::slotReceivedStderr?[0m: "
*** Please tell me who you are.


git config --global user.email "you@example.com"
git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident not allowed"
FAIL! : GitInitTest::testInitAndCommit() 'j->exec()' returned FALSE. ()

But I have a proper ~/.gitconfig and can manually run this command. I think it's some Qt related bug (looks like QProcess doesn't work properly with some environment variable).

Tomorrow I will rebuild everything, if you have any ideas feel free to comment ;)

21 June, 2008

git plugin is inside kdevplatform's svn :)

eivanov * r822862 plugins/trunk/KDE/kdevplatform/plugins/ (29 files in 4 dirs):
Added gitplugin with basic functionality. It can be used to create git-based projects ('git init' and 'git add' would be used) and it can d
o 'git add/commit/remove' inside Projects View. Aslo there are some little tests and another code whish is not used now. Somewhere the code needs cleanup, but it's ok.

You may get kdevplatform + kdevelop and try it :) And even bugreport :D

Now KDevelop has basic Git support!

Give up, Centralized Version Control systems, it's time of DVCS! :)

Before giving you a keyboard-speech I want to say “Thank you” to Alexandr Dymo (adymo), Andreas Pakulat (apaku), Vladimir Prus (volodya) and other folks from KDevelop team for their help. And of course I would like to thank Shawn O. Pearce from git for helping on the first stage.

This month was hard for me: I had serious family problems, exams, was tired and upset, so did a lot of ugly bugs (ok, stopping wining: they where pretty enough). But now it seems that bad things have gone: my dear granny is ok now (as it can be, when somebody has cancer), I will have the last exams next week and finish my semester. Also now I have a basic git support in KDevelop.
Few things about development. As a template I took cvs plugin, so it was really easy to implement my git plugin, I had to think only about few things. After speaking with Shawn O. Pearce (he develops Eclipse Git plugin, and also GSoC git admin this year) my mentor and I decided to use cmdline iface (my project's task is to bring Git to KDevelop and not to implement C++ Git): that is good since CVS uses cmdline iface too. So... I just rewrote CVS-related code, changed some interfaces (now we have IDistributedVersionControl and ICentralizedVersionControl based on IBasicVersionControl). Also I have fixed some bugs in SVN (minor fix) and CVS plugins (was really broken), so if you don't understand DVCS rules, enjoy old toys like CVS and SVN.
Screenshots time (not so sexy, but if you like git and KDevelop you would like to see):

You may get gitplugin from http://repo.or.cz/w/kdevelopdvcssupport.git (branch my or GitPlugin). You can get only plugins/git and plugins/CMakeLists.txt and use kdevplatform from KDE's SVN. I hope to push gitplugin to the SVN, so maybe you just have to update your kdevplatform directory. Some important features like clone, etc are ready, but required some love, so I will finish them only next week.

After next week I will have much more time to code (I hope about 40 hours per week), so will have better results :)
Stay tuned!

07 June, 2008

First time of KDevelo's git plugin

More screenshots and download link later ;)

Kapman's time!

I've found a new cool KDE 4.1 stuff :)

06 June, 2008


«Не откладывай на завтра то, что можно сделать сегодня».
«Человек полагает, а Бог располагает».
Сколько мудрости в этих пословицах... А я делал точные расчёты для всего, и в итоге всё сорвалось из-за непредвиденных семейных обстоятельств...
Хотя, не так и всё плохо. Дальше должно всё лишь налаживаться, а это хорошо.

02 June, 2008

My GSoC's project graphics view

I like such things (especially git things):
The blue one is my. And the green line describes kdevplatform's svn.

31 May, 2008

New cute souvenir from Google :)

Yesterday I got my GSoC card :) It's really cool, it's Google styled!
Google, thanks for your GSoC programme!

17 May, 2008

Linus about Git.

Don't remember if I have already published the link, but it is worth to be watched multiple times.

10 May, 2008

Hacking KDevelop with Git, Part1 (kdevplatform)

This post was published here: http://www.kdevelop.org/mediawiki/index.php/KDevelop_4/Using_Git_for_Development
All updates will be done there!

KDE uses SVN, so you have to use git-svn. A good place to start. And of course man git-svn ;)

First you need to get kdevplatform:
git svn init svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevplatform kdevplatform
cd ./kdevplatform/
git-svn fetch -r805610

You may find the revision number here.
Later to sync with SVN just use
git-svn rebase
You may have some build problems, which are discussed below.

If you want to hack kdevplatform you must work in your own branch:
git checkout -b my_cool_idea
Now you are in your new branch. Hack it without any fear. Note: to sync with svn use only master branch:
git checkout master
git-svn rebase

Then you may merge updates from SVN with your code:
git checkout my_cool_idea
git merge master

Now try to build kdevplatform, but at first read carefully KDE techbase: http://techbase.kde.org/Getting_Started/Set_up_KDE_4_for_development

Be sure you're in your own branch (not master)
git branch

Oops! Missing files (directories):

CMake Error: Cannot find source file "/workspace/gsoc/kdevplatform/plugins/quickopen/expand
ingtree/expandingdelegate.cpp" for target "kdevquickopen"

The reason is that there are some svn:externals in the repository. See the end of my previous post. I'll show how I prefer to solve this problem.
Let's find what externals are missed:
fgrep "svn:externals" ./.git/svn/git-svn/unhandled.log

+dir_prop: plugins/quickopen svn:externals expandingtree%20svn://anonsvn.kde.org/home/kde/trunk/KD

Ok, we have a repository.
cd ..
mkdir kdev_externals
cd ./kdev_externals
git-svn init svn://anonsvn.kde.org/home/kde/trunk/KDE/\
kdelibs/kate/completion/expandingtree expandingtree
cd ./expandingtree
git-svn fetch -r801352

The revision I took here.
Now go to the kdevplatform directory and create symlink:
cd ../../kdevplatform/plugins/quickopen/

Now build kdevplatform and enjoy! And if you have some problems now you know what to do ;)

P.S. Don't forget to update your externals. And use fgrep dir_prop ./.git/svn/git-svn/unhandled.log if something missing.

P.P.S. Some paths look here bad, strange behavior of blogger (if i type in 1 line they're cutted).

P.P.P.S. Feel free to comment :)

09 May, 2008

Using git with your SVN -based project

Git is the best DVCS ever. You may google about its advantages, so I will write about things I really like:
— Git is really fast. Even switching mozilla's branches doesn't take a lot (about minute or two on my Celeron 1.6M/1Gb RAM). So you're free to create any number of branches and play with them without problems.
— Git is DVCS, it means you have own local repository — you can commit offline.
— Merging. I haven't enough experience with it, but it should be ok. Don't worry to work on different things located in the defferent branches: you will not get much conflicts.

Just start to hack with it: http://git.or.cz/#documentation

But working with KDevelop tree I got a little problem with svn:externals. Unfortunately Git doesn't handle it. But you may look on this to solve the problem.
Perfect article about this issue: http://panthersoftware.com/articles/view/3/svn-s-svn-externals-to-git-s-submodule-for-rails-plugins
Also you may use another method (don't like it and in my case doesn't work).

08 May, 2008


Твой друг помогает надеть броню, ты берёшь своё оружие, не просто оружие, а СВОЁ ОРУЖИЕ, то, которое чувствует тебя и ты чувствуешь его... Ты берёшь оружие, догоняешь патрон в патронник, щёлкаешь предохранителем и выходишь из помещения. И ты не один... С тобой такие же парни, как ты. Те, с кем ты пошёл раз и навсегда выбранной дорогой. Но сейчас это тени с оружием; у каждого мысли о своём: дом, семья, дети... Кто-то думает, а что если... Нет, мы справимся, мы всегда справляемся... Поворот головы направо: такой же человек в броне, видны только глаза... Чёрная маска... Через час он будет с нами или ТАМ? А я?
Но приходит время и у всех в глазах загорается огонь... Пора... Момент истины настал. Тени оживают и несут смерть во имя спасения.
— Всем подразделениям на исходную!
— Смерш 1 на исходной!
— Гром на исходной!
— Альфа 13 на исходной!
Затем слышен лишь треск помех... В голове у каждого одно: «3, 2, 1»...
— Всем подразделениям штурм!
И всё приходит в движение: шум, крики командиров «Пошли, пошли, парни! Вперёд!», выстрелы, БТР рычит и несётся к зданию...

И вернулись не все...

01 May, 2008

KDE4-ru Translation Day, results.

Today Russian KDE team had a first KDE4 Translation Day.
Unfortunately we didn't get much contributions, but some work was done:
Now kdeqt (by man with nick snaring) has 24 (before: 479) unstraslated and 47 (81) messages. Statistics for katepart4 is 27 (was 121) and 29 (129).
Also we got from Vishnikin Sergei fully translated krunner_bookmarksrunner.po, kcmsmserver.po, rellinks.po, babelfish.po, desktop_kdetoys.po, kcminit.po, plasma_engine_dict.po, konqsidebar_mediaplayer.po, autorefresh.po, krunner_calculatorrunner.po (all them are about 189 entries). It is the first contribution from Vishnikin Sergei, so we happy to congratulate him.
Also we hope to get some more translations a bit later.
After check-in I will be able to show some graphs, not very exciting, but for first time not too bad.

Thanks to everybody for their translations!

29 April, 2008

Анонс: День перевода KDE4

1 Мая состоится День Перевода KDE4. В этот день можно будет встретиться в IRC с членами российской команды локализации KDE и задать вопросы по переводу.

Дата: 1 Мая c 12.00
Где: #kde-ru на IRC сервере Freenode
Кто: все
Что: перевод интерфейсов программ, входящих в KDE 4.1. Проверка правописания того, что уже переведено.

Остальное в моей теме на винграде: http://forum.vingrad.ru/forum/topic-207230.html

22 April, 2008

GSoC 2008 has started!

Cool! I was accepted! I believe I will do everything I have promised to do.

Our life is a very interesting and complicated thing. First my nick was fox, but I saw the name of firefox webbrowser and became powerfox. But those time I used IE (yes, this buggy MS product, but don't punish me: I was just an HTML+JS guy with MS Windows XP on the board). And this year I wrote several patches for firefox: very simple, but first success in the Open Source development. And there is about 3.5 years between getting the nick and these days! Like some people say: your name may do your life. I saw some guys with nicks like MSbug, I wonder what they do in development :D Do they develop IE? Maybe )
My first post here is about proposal to google (at those time I didn't know about GSoC and also wasn't able to do even simpler development). And now I have a chance to develop Open Source project and I get founds from Google!
And... What's more? I always have to protect Open Source from my mates. There are many people who doesn't believe it is even usable, and of course they don't believe you can earn money working for Open Source. After finishing my project I will have a powerful argument (my GSoC'8 story) to show them the truth. And also as Always I have Kubuntu CD's — best pills for your computer *

*As a man who have a small contribution to KDE translation I don't like the way *Ubuntu developers work with other communities. And their localization often broken (not the same as kde-ru and often worse). They do a good distro, but now I prefer OpenSUSE.

P.S. Heh, I don't know how I will finish this semestr. I'm ready for preliminary researches and coding but not for playing with university subjects... But discrete math and some other things rule :)
P.P.S. It's stupid to write so much when nobody reads it :D

06 April, 2008

Cool drive!

I like the car and he way they drive!

08 March, 2008

Немного о Kate


25 February, 2008

(Bug--) and first big success + first money :)

http://mozilla-russia.org/contribute/bounty-en.html (third item)

24 February, 2008


Who Dares Wins

17 February, 2008

New permissions (flags) on the bugzilla.mozilla.org!

Few days ago I got the letter from Reed Loden (mozilla developer): now I have some extra permissions (flags) thus I may assign bugs to me and mark them as confirmed and some more. Cool!

Several years ago I saw firefox first time, at those time I was just fox and after it I have become powerfox (firefox was in use...). Heh, If I only knew I would write patches for ff! :)

09 February, 2008

Вот так закончился проект "энциклопедия софта для Linux"

[23:00:07] Evgeniy Ivanov: Мы просто убьём своё время и всё
[23:00:38] Maksim Kravets: может, оно того не стоит вообще?
[23:00:43] Evgeniy Ivanov: Чтобы пара ламеров прочитала обзор, поиграла в никсоидов и сидела в винде через VMware
[23:00:48] … Ага
[23:01:14] … Алекс?
[23:01:26] … Я думаю, что стоит забить на это :)
[23:01:29] Alex: тута я
[23:02:01] … ну забить всегда можно
[23:04:24] … ну что, всё бросаем и делаем точно полезную работу вроде поиска багов?
[23:04:35] Evgeniy Ivanov: +1
[23:04:38] Maksim Kravets: +1
[23:05:17] Alex: ок, абсолютное большинство :)

Best project management ever :-)
Без лишних слов :-)
©Руслан Хайров


I don't know, but I want to stay in this project... It's cool...

07 February, 2008

Week results (cool vocation and computer)

Great (or maybe not) when you may describe your week with links:
https://bugzilla.mozilla.org/show_bug.cgi?id=409796 -- should be marked as fixed. I don't think it may have any regressions.
https://bugzilla.mozilla.org/show_bug.cgi?id=411005 -- a kind of my bug. It was caused by gtk bug (but I changed the previous function to buggy one). Of course fixed :) But it breaks my first patch for mozilla. But I don't know if I want to fix GTK (but will).
https://bugzilla.mozilla.org/show_bug.cgi?id=399939 -- very simple. I saw such thing even on the forum.

And back to the writing, new review:
«Dragon Book 2»

Few words about strings in mozilla (just a view of beginner)

Just have a look on this:

/ \
nsASingleFragmentString `-------------------------.
/ \ \
nsAFlatString \ nsAPromiseString
/ \ \ \ nsSingleFragmentDepende- / \
/ \ \ `------. ntSubstring / \
/ \ `-------. \ nsDependentConcatenation nsDependentSubstring
/ `-. \ `------------------------.
/ \ \ \
nsSharableString nsString nsDependentString nsPromiseFlatString
| | \

It's a real crap... Maybe they were implemented in a very good way, but I can't remember their names (after seeng 1 time). Memorizing this crap looks as serious task for any man who isn't mad.

All types should be intuitive. Why do the have such names? I don't know. But IMHO it's crap.

P.S. I'm not mozilla developer, I just opened the code and tried to change some things to fix a bug.
Also I love ff, it's the best browser ever. Maybe reading a book about mozilla development can help. But the naming of types looks...

04 February, 2008

Чем занимается radio-t вне эфира?

Спасибо Konstruktor'у за ссылка на картинку.

03 February, 2008

Gnome and C#

Gnome + C# = love

Консоль против GUI

«С компьютером можно объясняться по-человечески, в консоли, а можно жестикулировать мышкой», © unknown via Daniel A. Nagy

26 January, 2008

25 January, 2008

Crazy computer home office

Cool... But I wouldn't like to have such thing (just 3 monitors for my desktop).


20 January, 2008


Back to the old computer games!

What about writing kpackman? Don't touch, I will do it :)

09 January, 2008

Heh, ABC-Z programming languages

-I like C
-And what about D,E,F,G...? ;)



04 January, 2008

Goole lost their chance to be the first in packages search... And I too

Yeh. This thing sounds like
Isn't it?
Hey, Google, what's with you? The best company in the world ever! And? To lose such good thing. Heh, say "thanks" to your engeeners that took my proposal list on google techtalks and just recycled it to trash (not to the project).

03 January, 2008

TSSTcorp TS-L632D on acer (maybe on some other laptops)

After installing linux on my acer aspire 7110 series (7112WSMI) I always have hand-up after some amount of a time (20 ot 10 minutes or even 5 minutes).
dmesg shows such thing:
Feb 16 14:28:14 pfx-car kernel: [17186841.644000] Additional sense: Scsi parity error
Feb 16 14:47:14 pfx-car kernel: [17187981.308000] ata1 is slow to respond, please be patient
Feb 16 14:47:39 pfx-car kernel: [17188006.284000] ata1 failed to respond (30 secs)
Feb 16 14:47:39 pfx-car kernel: [17188006.296000] ata1: command 0xa0 timeout, stat 0xd0 host_stat 0x60
Feb 16 14:47:39 pfx-car kernel: [17188006.296000] ata1: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 0xb/47/00
Feb 16 14:48:28 pfx-car kernel: [17188054.964000] ata1 is slow to respond, please be patient
Feb 16 14:48:53 pfx-car kernel: [17188079.940000] ata1 failed to respond (30 secs)
Feb 16 14:48:53 pfx-car kernel: [17188079.952000] ata1: command 0xa0 timeout, stat 0xd0 host_stat 0x60
Feb 16 14:48:53 pfx-car kernel: [17188079.952000] ata1: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 0xb/47/00
Feb 16 14:48:53 pfx-car kernel: [17188079.964000] sr0: CDROM (ioctl) error, command: <6>Read TOC/PMA/ATIP 43 00 00 00 00 00 00 00 0c 00
Feb 16 14:48:53 pfx-car kernel: [17188079.964000] sr: Current [descriptor]: sense key: Aborted Command
Feb 16 14:48:53 pfx-car kernel: [17188079.964000] Additional sense: Scsi parity error

The system just stops for 30 seconds. I thought it was HDD driver bug, but I've found it's a bug in the TS-L632D firmware. Acer hasn't updates for it (only AC1), but other manufactures have. See this page (to find firmware).
Reflashing from AC0 to AC1 didn't help me. But when the drive isn't empty I haven't this error - it's enough for me.
Waiting for comments :)