28 мар. 2010 г.

FP-approach in Java via Goolge Collections

I'm going to demonstrate some elements of functional programming (fp) approach in java.

For this purpose I use Google Collections Library - provides new and elegant collection types as well as some fp elements and techniques.

10 мар. 2010 г.

Задачка: Груши

В ящике 4 x 4 лежат груши (16 шт.)

Какие 6 груш необходимо убрать, так, чтобы в каждой строке и каждом столбце было чётное число груш.


внимание! комментарии содержат ответ.

1 мар. 2010 г.

Source hosting

Задумался я завести учётную запись на каком-нибудь социальном source hosting'е.
Интересовали не только площадки для open source проектов, но и для личного закрытого использования.

26 февр. 2010 г.

4 февр. 2010 г.

Задачка: Робот на бесконечной лестнице

На бесконечной лестнице находится робот у которого есть API - подняться вверх. Однако не всякая попытка поднятся вверх заканчивается успехом - робот может как поднятся на верх на 1 ступеньку - функция API вернёт 1 - или съехать ниже на 1 ступеньку - возвращаемое значение -1.

Не используя локальных переменных, циклов и формальных параметров функции написать алгоритм, поднимающий гарантированно робота на 10 ступеней вверх

28 янв. 2010 г.

Clojure - Hello world!

Подсадил меня один хороший человек на Clojure - диалект Lisp, работающий в JVM.

Язык очень интересный, функциональный, особенно интересен после многолетнего использования объекто-ориентированной парадигмы.

Как же выглядит традицоинный Hello, world ! ряд Фибоначчи на clojure ?
(defn fib [n]
"Calculate n-th item of Fibonacci sequence"
(if (= n 0) 1
(if (= n 1) 2
(+ (fib (- n 2)) (fib (- n 1))))))

22 дек. 2009 г.

4 монеты в ряд

На столе лежат шесть монет (как на изображении).

Как необходимо переместить только одну монету, так, чтобы на любом отрезке, образованном монетами было ровно четыре монеты.
внимание! комментарии содержат ответ.

3 дек. 2009 г.

JVisualVM: DeadLock detection

По работе забулшитил deadlock, собственно у меня было подозрение, что он возможен... да и просмотреть стоило бы хорошо ещё раз, но всё же он вылез чуть раньше на unit test'ах, чем я нашёл его в результате code review.

Для демонстрации поиска deadlock используем классическую ситуацию с переводом средств с одного счёта на другой

19 нояб. 2009 г.

Нарекаю тебя карасём

Колонизаторы и миссионеры Южной Америки встретили в 16 веке зверька капибару — грызуна, ведущего полуводный образ жизни. Они попросили Папу Римского объявить капибару рыбой, чтобы её мясо можно было есть во время постов, на что тот любезно дал своё согласие.

Музей фактов

мой знакомый рассказывал примерно схожую историю, свидетелем которой он стал сам. его отец работал в нашей дип.миссии в Италии (если не ошибаюсь) - и бывают у них какие-то мероприятия, банкеты, куда приглашается много народа - и все дип. работники с семьями. Тогда знакомому было лет 16-18, так, что он прекрасно помнит всё в подробностях. И среди прочих гостей был и католический аббат. И вот они с отцом наблюдает картину - как аббат ест свинину в пост - подходят к нему
- аббат как же так, это же свинина, а сейчас ведь пост
а дело в том, что аббаты могут нарекать - т.е давать имя, и вот аббат не долго думая крестит кусок свинины
- нарекаю тебя... карасём
... и продолжил её есть

12 нояб. 2009 г.

Yo! Go!

Вы уже заботали новый язык от гугла Go! ?

Тогда ботайте новый язык от yahoo - Yo!
People English is gettin’ dumber, yo. We needs programming language yo people can understand, can yo diggit?