singalen: (Default)
2012-05-25 09:04 pm
Entry tags:

(no subject)

Нам с супругой каюк, наши мамы на юг укатили внезапно...

singalen: (Default)
2012-04-22 04:51 pm
Entry tags:

(no subject)

Протестил машину на танковом полигоне.
Поигрался в песочнице с лопаткой и машинкой.

singalen: (hope_never_dies)
2012-04-17 03:35 am
Entry tags:
singalen: (Default)
2012-04-13 08:11 am
Entry tags:

(no subject)

Днепропетровцы, а не интересен ли кому коворкинг?
Пропадает офис в центре.

singalen: (Default)
2012-04-11 03:36 pm
Entry tags:

(no subject)

Веб-мастерю походу адвоката по ДТП. Надо помогать друг другу :)
singalen: (hope_never_dies)
2012-04-02 05:29 pm

(no subject)

Жаль, не вижу, как продавать CAD/CAM. А не то у меня вот сейчас в кармане был бы неплохой продукт.
singalen: (go-go-go)
2011-11-15 10:43 am

У ей внутре фотонка

Все видели фотки зерговского торта?
Так вот, мне на ДР жена забабахала протоссовскую базу.
Смотрим )
Фотки © Дик.
singalen: (nerd)
2011-10-29 10:15 am
Entry tags:

(no subject)

Люся:
— Как приучать ребёнка к нескольким языкам, чтобы они в голове не смешивались?
Я:
— Надо просто чётко разделять их. Если читать достаточно книг, и знать, что эта на русском, а эта на украинском, то привыкнешь к различию. Поэтому и дворянские семьи разговаривали строго один день на французском, один на немецком, один на русском. Только в быту целый день говорить по-английски сложновато... Не знаю, как мы будем это делать.
— Ну, раз в три дня у тебя будет очень молчаливая жена.
— !!!
singalen: (nerd)
2011-09-21 03:54 pm
Entry tags:

(no subject)

14е место на #icfpc2011
Я рассчитывал на меньшее, около 28го - слишком мало успели %)
singalen: (humpty-dumpty)
2011-09-20 07:25 pm

Таки читаю докладик о типичных заблуждених IT-шников

Послезавтра (в четверг, 22го, в 18:30), Ciklum.

Продал его как ПМ-скую тему, что недалеко от истины.
Заходите :)

Ивент в фейсбуке, в линкедыне.
singalen: (hope_never_dies)
2011-09-13 03:32 pm
Entry tags:

Всем нужен программист

Други, а нет ли у вас знакомых, которые хотели бы поработать в Кремниевой Долине на LAMP?

Скорее, для начала просто поговорить с ними, и послушать, что предложат.

Мой одноклассник ищет в свою контору. Всё делают - визы, гринкарты и те пе.
singalen: (nerd)
2011-08-12 04:58 pm

Не плюйте рядом

Убил очередной перепрошивкой свой Samsung Spica i5700.
Купил айфон.

Всё-таки железо и софт там отличные, и старое ямобилко по качеству UI уделывает дешёвого андроида, как Бог черепаху.

Один недостаток, о котором айфонщики скромно умалчивают: джейлбрейк, который делают почти все - кто ради пиратских программ, кто ради рюшечек - убивает нафиг встроенный GPS.
Такое впечатление, что все айфонщики научились у Джобса напускать тумана по самым элементарным вопросам. Ты, конечно, пишешь "перепрошиваетесь на свой страх и риск...", но если ТОЧНО знаешь, что оно убьёт железку - так скажи об этом простыми словами.

Истязаю я свои девайсы. Уже на iDroid смотрю.
singalen: (2002)
2011-06-28 01:37 pm
Entry tags:

Йоу, бро!

Мы в топ30 на ICFPC-2011.
Список мест ниже 30 опубликован.
Судя по списку команд — чисто по тому, кому мы проигрывали, а у кого выигрывали — ждём где-то 25е место :D
singalen: (Киораку)
2011-06-22 01:51 pm

ICFPC-2011: "Ітогі підведьом"

Окончание. Начало здесь, вторая часть здесь.

Часть третья


Получили невероятное удовольствие. Оно было бы ещё больше, если бы мы на второй день таки-вывели и написали универсальный компилятор в LtG — но увы :D
Всё идёт к нулю

Читал я как-то годную фэнтезю — Бэккера, "Князь пустоты". Там есть сцена поединка магов.
Клан первого из них, "Завет" — владел магией высших порядков, хотя всегда жил крайне скромно. Другой маг был большим человеком в самом богатом магическом клане "Багряных Шпилей" — но вот беда, никто, кроме Завета, высшей магией не владел. Все прочие кланы строили свою карьеру на заклинаниях, подобранных наугад, Завет же владел теорией.

Маг Шпилей вызвал самого сильного духа, какого мог, своими эмпирически подобранными заклятиями (сильнейшими в клане, заметьте). И до смерти удивился, когда полуживой маг Завета с помощью заклинаний-Абстракций (они и правда так назывались!), без усилий размазал духа и соперника тонким слоем по окрестностям.

Примерно таким же тонким слоем чувствовали себя мы перед чемпионами, потому что:
  • надо было овладеть новым, "магическим" языком;
  • он почти что так и назывался - только слово Magic заменили словом Lambda;
  • мы тыкались в темноте, оттачивая комбинации наших примитивных эмпирических "заклинаний";
  • те, кто освоил теорию, в мгновение ока (от 200 до 900 ходов) выносили "в ноль" наш тщательно, вручную подобранный раш.
Не отпускало нас потом ещё два дня.

  • Браузнуть сырца можно тут: http://svn.victorsergienko.com/icfpc2011/trunk/domain-model/
  • Итого — примерно 71К на Груви + 35К юнит-тестов на нём же.
  • Нам не хватало как минимум одного, третьего программиста. И вообще, два программиста и два математика — это в четыре раза слабее, чем четыре программиста-математика. У японцев-Atomic-ов, которые, наверняка, станут чемпионами, как раз столько и было :)
  • Команда Ciklum бултыхается где-то в полупроходниках со своими 21-23 победами из 30 на неофициальном сервере.

А как оно было у японцев...


Четыре японских хаскеллиста:
  • собирали части пушки в разных словах (потом оказалось, что иначе в этом SKI-исчислении никак);
  • авто-компилировали все стратегии;
  • умели, если им что-то сломали, оживлять ячейку и продолжать любую (!) старую стратегию с того места, на которое возможно откатиться (!!!), и собирали подходящие запчасти по разным слотам (!);
    • У меня самовосстанавливаться умеют только две очень частных стратегии - dec() слабой ячейке врага, и revive() своей.
  • ещё они написали свой тестовый-контестовый сервер — от нечего делать, надо полагать.
  • эти монстры научились убивать "sitting duck" в 165 ходов.

Вот у меня недавно [livejournal.com profile] dima_kender спрашивал старый вопрос — какой язык программирования лучше для быстрой разработки :D

Я ответил старый ответ — язык, который хорошо знает команда. Ну и смотря чего разработка — десктоп, простой веб, рич веб, сложная логика или CRUD, с БД или без.

И дал свои предварительные ответы, при прочих равных:
Для веба — Rails, для десктопа — Windows.Forms.

Но если программисты и задача пыц-пыц какие умные, то Haskell, как показали последние дни.
singalen: (go-go-go)
2011-06-21 04:44 pm

ICFPC-2011: Хроники пикирующего робота

Они заряжают пушку!
Зачем? Они будут стрелять!
В кого? В нас!

Продолжение. Начало здесь.

Команда



В этот раз я не собирался созывать команду программистов со всего города, а захотел ограничиться родной конторой. Записалось четверо, но в конце концов из них остался только старый олимпиадный товарищ Максим ([livejournal.com profile] mihmax).
В прошлые годы нам сильно не хватало математиков, поэтому в этом году мы привели аж двоих - Леонида (без ЖЖ) и [livejournal.com profile] nushasmall.

Мы с Максимом решили писать на родном Groovy, на котором пишем уже 2 года. Добавили к нему Groovy++, чтобы оно компилировалось так же эффективно, как Java (и оно так и было! правда, не без странных ошибок)

О лямбда-исчислении мы знали только эмпирическое определение лямбда-функции, но в прошлые года это было неважно.

В этом году всё было не так.
много и сумбурно )

По ходу дела


(писать в stdout нельзя - сервер не поймёт вывод программы и засчитает техническое поражение. Мы как-то полтора часа одну такую шнягу ловили)
...сбросил на телефоне звонок от жены. Это хуже, чем писать в stdout.

...(третья доставка за два дня):
— Вам наша пицца нравится, да?
— Очень кушать хочется!

(человек потерял файл, который засабмитил на официальный сервер. При сабмите записывают sha512 файла, а он хочет переложить его заново. Орги ему отвечают - пожалуйста, но сумма должна совпадать)
...теперь у вас неделя на взлом sha512.

Окончание следует.
singalen: (freeman)
2011-06-20 04:47 pm

ICFPC-2011: Lambda: the Gathering

Если добавить зомби, всё становится круче.
Мила Йовович


Пока японская трава не отпускает, надо писать.
Наша команда, кста, прославляет своим названием (и, надеюсь, бе-ме результатом) компанию Ciklum.

Последние три дня прошли в зомбическом угаре.
Задание на очередное соревнование ICFPC японцы придумали на редкость удачное, хотя и слишком умное для нас :D

В этом году програмы участников должны играть друг с другом в некую Lambda: the Gathering - гибрид Magic: the Gathering, SKI-исчисления (вот пример готового языка) и машины Тюринга.

Правила


Если вкратце, у двух игроков есть:
  • 15 видов "карт", каждая из которых - это функция;
  • игровое поле из 256 ячеек. У ячейки есть "жизнь" (в начале игры - 10000) и "значение" (число или функция), в начале - функция I(x)=x.
Зомби

Вот примеры карт-функций:
  • I(x) возвращает x
  • succ(x) возвращает x+1
  • copy(i) возвращает значение i-й ячейки врага
  • attack(i, j, n) бьёт (255-j)-ю ячейку врага на 9n/10 жизней, ценой убавления n жизней у нашей i-й ячейки;
  • zombie(i x) садит в (обязательно мёртвую) (255-i)-ю ячейку врага шпиона-зомби с функцией x, который будет делать на поле врага всё, на что запрограммирован; там есть нюансы, о них позже;
  • revive(x) оживляет мёртвую ячейку и даёт ей 1 очко жизни.

Ходы. Игроки ходят по очереди. Каждый ход:
  • сначала наступает "час зомби", когда подсаженные врагом зомби ("см. рис. 1") автоматически вылазят из могил и делают своё дело, противное всему живому;
  • потом игрок применяет (вычисляет) одну из 15 "карт"-функций к значению одной своей ячейки,
  • или же наоборот, применяет значение (тоже функцию) из одной "ячейки" к "карте".
  • если функция вычислилась без ошибки, то результат записывается в ту же ячейку;
  • в любом случае, у вычисления функции может быть побочный эффект, который остаётся.

Некоторые карты-функции могут возвращать в результате другие функции. Таким образом в ячейке можно накапливать длинные формулы, а потом "запускать" их "на раскрутку". Это, собственно, Тюринг-полная машина. Или не совсем полная, как мы заподозрили позже.

Например, функция K(x, y), применённая к x, вернёт другую функцию - Kx - которая, применённая к любому y, вернёт x ("запомнит" x, а y выбросит). Таким образом, K позволяет отложить вычисление x столько раз, сколько K мы навесим на x.

Длина хода. На такой машине можно построить бесконечный цикл. Поэтому ход каждого игрока ограничен — вы не можете вычислить более 1000 функций за ход (грубо говоря, вычислить формулу более чем из 1000 функций).

Победа. Выигрывает тот, кто убьёт оппоненту все ячейки, или, по истечении 100 тыс. ходов — тот, у кого больше живых ячеек. Возможна ничья.

В "час зомби" функции, меняющие здоровье, работают "наоборот": inc() уменьшает на 1 нашей, а dec() увеличивает вражеской ячейке; attack() всё так же платит здоровьем нашей, чтобы увеличить (!) здоровье вражеской, а help() не "переливает" из одной нашей в другую, а уменьшает здоровье обеим. Собственно, help() в функции зомби — самое мощное атакующее оружие.

День первый


Вот сели мы за это задание...

Продолжение здесь, окончание здесь
singalen: (nerd)
2011-06-15 06:01 pm
Entry tags:

(no subject)

Дорогие френды, а скажите -

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

Коробку я или сам соберу, или найду что-то с Linux/2-4G RAM/проц побольше.
singalen: (Shunsui Kyōraku)
2011-06-03 12:52 pm

Об условностях рыночного позиционирования

Искал читалку с цветным тачскрином 3"-5" и подсветкой.

Лучшим вариантом оказался б/у iPod Touch. Теперь ищу недорогой — ни у кого нет? :D
singalen: (hope_never_dies)
2011-05-23 05:36 pm
Entry tags:

Нужен мне работник - повар, столяр и плотник

Друзья ищут 1С-программиста со знанием MS SQL (с ним надо интегрироваться) и Unix/Linux.
Обещают не обидеть.
Если кто такого встречал в природе - свистните, пожалуйста :)
singalen: (Shunsui Kyōraku)
2011-04-20 01:17 pm
Entry tags:

Из чего построить внутрикорпоративное e-сообщество?

Нам нужно предложить заказчику решение для построения внутрикорпоративного комьюнити.

Требования:

  • секьюрити: строго интранет, никакого фейсбука;
  • предполагается, что работники будут расшаривать и обсуждать свои успехи в области экономии средств :D - в виде PDF-ов, вордовских файлов, и кнопочки на другом корпоративном сайте;
  • надо легко публиковать документы/контент с другого интранет-сайта - на 2й сайт можно всадить кнопку "Опубликовать на интра-портале";


С благодарностью приму любые идеи по: платформе, API интеграции сайтов (OpenSocial?), внутреннему продвижению, и прочие.

Спасибо.