31 окт. 2010 г.

Applicative-order evaluation vs Normal-order evaluation

Нормальным порядком вычисления (normal-order evaluation), если кратко, можно назвать такой порядок вычисления, что сперва происходит «полная подстановка, затем редукция».

Аппликативный порядок вычисления (applicative-order evaluation), напротив, сперва происходит «вычисление аргументов, затем вызов процедуры».

26 сент. 2010 г.

Hazelcast

hazelcast
In-Memory Data Grid for Java
hazelcast project on Google Code; Hazelcast.com
hazelcast documentation

Краткая история:
  • Start-up, основан 2008
  • Open source бизнес модель. Получение прибыли на консалтинге и поддержке самого Hazelcast
  • Более 100 пользователей, в основном в США и в Европе

16 июн. 2010 г.

Задача Льва Толстого

Продавец продаёт шапку. Стоит 10 р.

Подходит покупатель, меряет и согласен взять, но у него есть только банкнота 25 р. Продавец отсылает мальчика с этими 25 р. к соседке разменять.

Мальчик прибегает и отдаёт 10 + 10 + 5.

Продавец отдаёт шапку и сдачу 15 руб.

Через какое-то время приходит соседка и говорит, что 25 р. фальшивые, требует отдать ей деньги. Ну что делать. Продавец лезет в кассу и возвращает ей деньги.

На сколько обманули продавца ?

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

30 апр. 2010 г.

Задачка: Круглый стол

За круглым столом сидят два игрока.

Первый играет белыми круглыми фишками, второй - такими же, но чёрными.

Игрок должен положить на стол только одну фишку, после чего ход переходит к другому игроку.

Игрок проигрывает, если нет свободного места, чтобы положить фишку.

Как следует действовать игроку, начинающему игру, чтобы всегда выигрывать ?

28 апр. 2010 г.

Задачка: Мальчики

В семье два ребенка, причём один из них мальчик.

Какая вероятность что и другой тоже мальчик ?

Задачка: Сколько лет детям

Встречаются 2 друга
- Привет
- Привет
- Как дела?
- Растут два сына дошкольника.
- Сколько им лет?
- Произведение их возрастов равно количеству голубей около скамейки.
- Этой информации мне не достаточно.
- Старший похож на мать.
- Вот теперь я знаю сколько лет твоим детям.

Сколько лет детям?


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

20 апр. 2010 г.

Задачка: Таблетки

В джунглях тебя укусила ядовитая змея.

В аптечке есть 4 таблетки - две типа А две типа Б, причём выглядят абсолютно одинаково.

Противоядие - одна таблетка типа А и одна таблетка типа Б.
Во всех других случаях умираешь от змеиного яда (т.е если выпить две таблетки А, или две Б или выпить сразу 2 А и 2 Б)

Как стоит действовать?

17 апр. 2010 г.

java: How to get PrintAssembly

Thanks to Roman Yaroslavtsev who gave me a link to an article Memory Barriers and JVM Concurrency.

First of all this article is useful to gain a better understanding of Java Memory Model - another great thing that I discover is ability to look inside of assembly code generated by jit.

28 мар. 2010 г.

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))))))