Using GNU screen's multiuser feature

I am regularly doing the LLOD support over phone+remote console to the production support guys. Our software runs on virtualized headless Fedora 5 instances that are accessible solely by ssh, as it should naturally be.

It turns out to be a waste of time to the person on the other end, as he just listens to me explaining what I do, without really seeing what goes on.

So, I decided to use GNU screen to share the console between us.

I log in as a user and start screen on the command line. Then, I enter ^A:multiuser on[RET]. That is, I type Ctrl-a, then I type a : to enter the screen's build-in command line. I can now activate the multiuser mode by typing multiuser on in the screen's command line that appears in reverse color at the bottom of the console window. To execute, I hit Return.

The other guy just has to log in with the same user and type screen -x to connect to my screen session running in multiuser mode.

Что делать?

В течение долгих лет у меня идёт вялотекущий спор с che по поводу причин оттока интересных людей из Беларуси. Из года в год уезжают отличные собутыльники, идеальные коллеги, люди, выделяющиеся из общей среды умением отдыхать и работать, смекалкой и бодрым настроением. Остаются чуть более ленивые, привязанные к семье, чуть более неуверенные в себе. Замечательная статья с продолжением отвечает на вопрос "Кто виноват?". Как ни крути, молодёжь растёт на канонах, далёких от современного уклада беларусского общества. Многие не находят себе места во взрослой жизни, но только некоторым удаётся сорваться с места и попробовать себя на новом месте, в чужой среде.

Так вот, вопрос, который задаёт che и на который у меня до сих пор нет чёткого ответа -- "Что делать?". Что нужно изменить в Беларуси, чтобы уменьшился отток интересных людей?

What is the thousand separator in french numerals?

Linux says, it's U0020 aka SPACE

$ grep mon_thousands_sep /usr/share/i18n/locales/fr_FR
mon_thousands_sep         "<U0020>"

Java says, it's U00A0 aka NO-BREAK SPACE as the following code returns "160", better known as as in &#160; or &nbsp;

NumberFormat numberFormat = NumberFormat.getInstance(Locale.FRANCE);
            System.out.println(numberFormat.format(new BigDecimal(1000)).codePointAt(1));


NumberFormat numberFormat = NumberFormat.getInstance(locale);
if (numberFormat instanceof DecimalFormat) {
  DecimalFormat decimalFormat = (DecimalFormat) numberFormat;
  bd = (BigDecimal) decimalFormat.parse(string);

parses only U00A0 as the thousands separator.

Where's the truth, brother?

JSF, dead born, resurrected by hormonal injections

I tried to look over the internet for an article critical of JSF technology. Surprisingly I found nothing worth mentioning. This is really strange, as JSF lends itself easily to critics. The whole idea if JSF looks suspicious. It was built as a Java answer to the Web Forms concept from Microsoft. The whole buzz around JSF was about being able to use a GUI editor to build web pages à la MS Visual Studio.NET.

My ideal development team

When choosing between features, deadlines and maintainability, they always choose maintainability.

They have settled on a development methodology, be it Evo, Scrum XP or some home-made cocktail and follows that methodology rigorously.

They do not let themselves run by MS Project plans but rather by a backlog of features and by on-site customer demands.

An ode to the welfare state slaves

Dear literate welfare state slave,

Today, I met a welfare state king. He popped up in my office around lunch time, keeping in his hands a fat workbook with the logo of the local trade union on the cover.

Without presenting himself, he asked whether we were hiring. I said that, AFAIK, we were not hiring. He then asked me whether I could write in his workbook that we can not consider him for a position at our company. I said that I can not do so and the managing director was out on lunch. The man excused and left promptly.

While speaking to me, the man showed me a few pages in his workbook. It had an special layout inside, every page was split into two columns, every column had four cases where one could put a date, a few words, and a signature. The whole workbook, even its internal layout, was produced typographically and some of the cases were already filled by other people's text.

Прошу ещё одного совета

Первый вопрос про оффлайновый органайзер и список дел очень успешно разрешился советами перейти на Evolution. Выяснилось, что Evolution довольно стабилен, просто не надо было пользоваться Ubuntu. Удобнейшая интеграция с Clock Applet + возможность вести несколько календарей в разных цветах растопили моё сердце за несколько минут. Вот только списки дел могли бы быть иерархическими, впрочем, нет в мире совершенства.

Так что я осмелюсь задать ещё один вопрос. Не подскажет ли кто книжку по реляционным базам данных и по языку SQL, в которой бы простым языком разъяснялись базовые понятия. Например, про то, что существует 4 основных типа JOIN'ов, 3 уровня изоляции, и почему тех именно четыре, а этих -- три. Пока нашёл ссылку на одну вроде как стоящую книжку -- Joe Celko - SQL for Smarties