Migrating from SVN to Git and Mercurial

There is a lot of answers here:
http://stackoverflow.com/questions/79165/how-to-migrate-svn-with-history-to-a-new-git-repository

I found rather useful this one.
A guy made a script according to proposed instructions: https://github.com/onepremise/SGMS

This script will convert projects stored in SVN with the following format:

/trunk
  /Project1
  /Project2
/branches
     /Project1
     /Project2
/tags
 /Project1
 /Project2
This scheme is also popular and supported as well:

/Project1
     /trunk
     /branches
     /tags
/Project2
     /trunk
     /branches
     /tags
Each project will get synchronized over by project name:

Ex: ./migration https://svnurl.com/basepath project1
If you wish to convert the full repo over, use the following syntax:

Ex: ./migration https://svnurl.com/basepath .



I tested on the second structure type and it works. The question is only about saving merge structure. It seems it was lost. :( Branches are ok, but merged revisions are not marked as merged. In other words every revision has single parent


Things about C++

  1. rules for resolving calls to overloaded functions: 
    • identify the function that's the best match for the call (name, parameters etc)
    • checks accessibility for the best-match function.

Resolving function overloads (my)

Private inheritance

Example from Meyers "Effective C++"
class Timer {
public:
explicit Timer(int tickFrequency);
virtual void onTick() const; // Called automatically for each tic, 
// onTick() must be redefined to do things
...
};


class Widget: private Timer { // private inheritance
private:
virtual void onTick() const; // redefined to make job done
... 
};

Now clients of Widget get interface untouched and required job is done

Example of protecting method from redefinition in derived classes:
class Widget {
private:
    class WidgetTimer: public Timer {
    public:
        virtual void onTick() const;
        ...
    };
    WidgetTimer timer;
    ...
};
Classes derived from Widget unable to redefine onClick. Analogue of final in Java and sealed in C#

Blogs

How to write c++ programm for android (in Russian)
http://www.codeatcpp.com/2011/10/c-android-1.html


http://sivers.org/blog

How to make a movement


To translate:
Source: http://habrahabr.ru/post/206258/
2. Базар идей
В какой-то момент в нашей организации вошла в моду фраза «продать идею». Особенно активно я начал натыкаться на эти торги идеями с поднятием по карьерной лестнице, и имея частые совещания с теми, с которыми нас не связывали отношения подчинения. Фраза «продать идею» базируется на маркетинговом термине «sell idea», только понимание оного в проекции на организационную структуру было извращено. Если в оригинальном смысле продающий идею получает выгоду от тех, кто эту идею купил (инвесторы или заказчики), то в организационной структуре, продав идею, максимум можно было получить согласие купившего не мешать тебе ее реализовывать. А так как по такому выгодному курсу купить идею могут позволить себе даже неимущие, в итоге можно было потратить уйму времени, «продавая идею» тем, кто случайно оказался на совещании. Страдая на таких торгах, я часто задавался вопросом «зачем все эти люди?». Так у меня сложилось ощущение, что в одиночку сделать эту работу можно в разы быстрее, чем базаря на ярмарке идей.



А ведь правда, если можешь все сделать сам, зачем кого-то убеждать в том, что это надо делать?

Dear programmers, developers, architects and others!

In a new year please continue writting bad programs, make bugs, create bad architecture and so on! All this destroying activity provide infinite flow of well-paid job! Thanks to those people! Let's kludge together!

16 bit color formats

http://forums.creativecow.net/thread/2/940078

In adobe after effects:
#define PF_MAX_CHAN8			255
#define PF_HALF_CHAN8			128
#define PF_MAX_CHAN16			32768
#define PF_HALF_CHAN16			16384
#define CONVERT8TO16(A)		( (((long)(A) * PF_MAX_CHAN16) + PF_HALF_CHAN8) / PF_MAX_CHAN8 )

Import Sihlouette roto masks into several Nuke shapes

Today kids, I tell you how to split imported Sihlouette shapes into Nuke RotoPaint nodes.

In SihlouetteFX select several nodes.
Go File->Export->nuke 6.2+ Shapes  and save Nuke project

I tried to use also File->Export->Nuke Shapes but in Nuke 7.0 it wasn't opened properly

Open saved project in Nuke. There is a single RotoPaint node. It contains several layers with several shapes in each.
I need separate layers into many nodes to use them separately.

To do this I wrote following script: