10 июн. 2009 г.

Задачка: непарное число в массиве

Есть массив целых чисел, в котором каждое число встречается дважды, кроме одного.
Не создавая дополнительных структур определить это число за линейное время.

Задачка: Хитрый мальчик задумал 3 числа

Маленький мальчик задумал три числа x, y и z ∈ N.
Можно задать дважды вопрос вида: чему равно значение
a * x + b * y + c * z = ?
где a, b и c ∈ N
Какие нужно задать вопросы мальчику, чтобы узнать задуманные им числа ?

Задача: средняя зп

Три работника хотят узнать свою среднюю зар. плату, но согласно корпоративному этикету её нельзя говорить. Они могут общаться между собой, обмениваться записками, но только так, чтобы никто в конце концов не узнал чужую зп.
Как им необходимо действовать в данной ситуации.

27 мая 2009 г.

Gentoo:: My 1st ebuild in gentoo portage tree

Сравнительно недавно таки появился под GNU/Linux Chromium - WebKit броузер, на котором построен Google Chrome.

Gentoo оверлей THE содержит ebuild для сборки Chromium из исходников, однако ребята из проекта Chromium сами выкладывают бинарные сборки.

Моя же радость заключается в том, что написанный мною ebuild для установки бинарной сборки Google Chromium таки попал в основное дерево портежей Gentoo: www-client/chromium-bin .

16 апр. 2009 г.

Java: Классический dead lock

Классический dead lock (Java Concurrency In Practice, p.10.1):
When a thread holds a lock forever, other threads attempting to acquire that lock will block forever waiting. When thread A holds lock L and tries to acquire lock M, but at the same time thread B holds M and tries to acquire L, both threads will wait forever. This situation is the simplest case of deadlock (or deadly embrace), where multiple threads wait forever due to a cyclic locking dependency. (Think of the threads as the nodes of a directed graph whose edges represent the relation "Thread A is waiting for a resource held by thread B". If this graph is cyclical, there is a deadlock.)

Пример иллюстрирующий пробему:
Есть сущность типа счёт, необходимо реализовать сервис типа переводчика денег с одного счёта на другой.

Для определённости стоит уточнить, что счетов с системе очень много (скажем, несколько миллионов) и порядка несколько тысяч операций в секунду (всё многопоточно).

18 мар. 2009 г.

Gentoo: Numpty Physics, my 1st ebuild

Я использую Gentoo GNU/Linux постоянно и дома, и на работе с очень давних пор - поэтому как-то гложила меня мысль, что стоит что-то хорошее делать для такого хорошего дистрибутива - ведь как известно в Gentoo делятся на тех, кто делает ebuild'ы и на тех, кто их ждёт.

15 мар. 2009 г.

Picasa for Linux

С одной стороны официальный FAQ Picasa for Linux говорит, что крайняя стабильная версия Picasa for Linux 2.7.

С другой стороны, с официальной страницы Picasa for Linux можно взять Picasa 3 for Linux (beta) v.3.0.0.57.4402.0 beta

И в конце концов, Google не скрывает, что Picasa for Linux перенесена при помощи Wine - для этого гугловоды интенсивно патчат wine - и доступная версия под Windows это никакая не beta, а вполне себе нормальная v.3.1.0.70.7300.0.

2 мар. 2009 г.

Python: двухмерный массив

Если теория подтверждается экспериментом - это хорошо,
если не подтверждается - это интересно.

Потребовалось красиво создать boolean двухмерный массив, например 3 * 3, на python:
[[False]*3]*3
Коллега подсказал, что возможны