You are viewing masterden

masterden says [entries|archive|friends|userinfo]
masterden

[ website | программирование ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Ушёл из ЦФТ. Теперь в 2ГИС. [Sep. 16th, 2014|09:41 pm]
[Tags|]
[music |Opeth - Patterns in the Ivy II | Powered by Last.fm]

Такие дела.
link3 comments|post comment

ICFPC 2014. [Sep. 15th, 2014|09:36 pm]
[Tags|, , ]

Оригинал взят у droids_life в ICFPC 2014.

Тут было мероприятие. То результатов долго не было, то руки не доходили.

Так вот, засели мы с поцонами (я - Денис Гладкий, Денис Барамия и Миха Дьяков) с 25 по 28 июля в Ложке дабы принять участие в ICFPC 2014. Если коротко, то это конкурс, где участники решают какую-либо олимпиадного сорта задачу по программированию ( https://en.wikipedia.org/wiki/ICFP_Programming_Contest ).

В этом году нужно было написать ИИ игры PacMan (lambda-man в интерпретации устроителей) на двух разных ассемблерах: на функциональном для PacMan'а и на императивном 8-ми битовом для призраков.

В лайтнинг раунде (решение, выданное за первые сутки) 66-е место из 94. Мы накосячили с названием команды и в таблице фигурируем под "Pibbybank Software Team". В полном раунде ( название команды - Piggybank Software Team ) - 82-е из 142.

В целом, ощущения от конкурса мега-позитивные: классная слаженная команда, кодили без фанатизма (отсыпались, сколько надо, питались китайской едой на заказ и домашней, делали перерывы и всё такое), главный девиз: "Получаем кайф!". После конкурса чувствовал себя заряженным на все 100%. Ну и сам конкурс оказался не занудной олимпиадной задачкой, а очень живым мероприятием с кучей движухи в онлайне (irc-канал с организаторами, твиттор-шмиттор) и классным чувством юмора в формулировке задания :)

Что (с)делали правильно:
1) Оперативно принимали стратегические решения.
2) Всегда имели "план Б".
3) Веселились и не парились особо :)
4) Код, не смотря на скоростное решение ежеминутных задач, не скатился в сраное говно и был почти без багов.

Что не правильно:
1) Целеполагание было не очень (надо было больше фокуса на цель "крутой ИИ", а не "крутой инструмент").
2) Из-за неуверенности/боязни не взялись за парсинг лабиринта, хотя он оказался простым. Думаю, за 3 часа делалось на голом ASM.

Я вёл он-лайн трансляцию происходившего в твитторе. Лог с временными метками может дать какое-то представление о процессе :)

Читать лог из твиттораCollapse )
link3 comments|post comment

Рассуждения. [Sep. 14th, 2014|05:31 pm]
[Tags|, ]
[music |Threshold - Siege of Baghdad | Powered by Last.fm]

А есть у кого-нить знакомые врачи или биологи? Я вот тут думал насчёт вируса эбола. И интересует такой вопрос. Тут по разным каналам втирают, что Европе и/или России эпидемия не гразит, так как в Африке антисанитария и глупые религиозные обряды и вообще народ не очень продвинут. Ну ок, вроде, выглядит убедительным. А почему тогда в Африке не свирепствуют чума/холера/оспа? Вроде как, их причина всё та же антисанитария. Потому что лекарства от них дешёвые? Ну дык, не лекарства же останавили эпидемии чумы в Европе, а именно повышение общего уровня гигиены населения? Хочу, что б кто-нить знающий опроверг или прокомментировал мои рассуждения.
linkpost comment

Полужелезный. Снова. Ironman 70.3 в Минске. [Sep. 14th, 2014|08:59 am]
[Tags|, , ]
[music |Threshold - Torn to Shreds | Powered by Last.fm]

Наконец-то руки добрались. Уже прошло больше двух месяцев с момента, как я стартовал в Минске на полужелезной дистанции. Началось это дело с того, что была неясность со стартом, который, к слову, таки состоялся, в Выборге. В поисках информации случайно наткнулся на сайт, посвящённый триатлону в Белорусии, где и вычитал про старт. Про подготовку я уже писал раньше, поэтому расскажу в основном про соревнования.

Read more...Collapse )
linkpost comment

Pash. [Sep. 7th, 2014|07:15 pm]
[Tags|, , ]

Оригинал взят у droids_life в Pash.

Смешная цепочка сокращений =)

Pash = Posh (PowerShell) + bash.
linkpost comment

Всем D, поцоны. [Sep. 6th, 2014|10:30 pm]
[Tags|, , ]
[music |Threshold - Intervention | Powered by Last.fm]

Оригинал взят у droids_life в Всем D, поцоны.

Добрался таки пописать на D. Купил книжку от Андрея Александреску - D Programming Language. Пролистал по диагонали. На первый взгляд (по описанию языка), D потрясен и великолепен. В реальной жизни не всё так просто =) Пока что, ковыряюсь в простецком приложении, рисующем на чистом WinAPI окошко в форточках. Дальше хочу попробовать на DirectX11 мелочёвку полабать.

Инструментарий на Windows 7 + VS2012 встал и заработал "из коробки": компилятор dmd, Visual D и прочие штуковины. А вот кореша, сидящие на маке, докладывают, что у них не всё гладко со стартом было. Из-за отсутствия автодополнения кода процесс освоения идёт медленно. У tonsky, кстати, как-то проскакивала мысль на эту тему, что "code completion" на самом деле прежде всего позволяет ответить на вопрос "а что тут у нас есть?", а не ускорить написание кода (там мысль, конечно, была шире и глубже, но речь не об этом сейчас).

WinAPI interop идёт, как по маслу. Наткнулся, к примеру, что нет объявления UnregisterClass (плохо искал?) - на импорт потребовалось пара минут (для языка, который щупаешь впервые, вроде, не плохо - на C# подобный трюк в своё время в СофтЛабе занял у меня больше времени). Из внезапного, при опечатках в именах функций компилятор подсказывает: "Error: undefined identifier DefWindowProc, did you mean function DefWindowProcA?" %) При почти полном отсутсвии поддержки со стороны IDE помогает.
link2 comments|post comment

XML<=>XLS на С# для частного бюро оценки. [Jun. 26th, 2014|11:13 pm]
[Tags|, ]
[music |Within Temptation - Bittersweet | Powered by Last.fm]

Оригинал взят у droids_life в XML<=>XLS на С# для частного бюро оценки.

Выкатил тут, кстати, родителям второй релиз конвертилки. Писал про неё уже пару раз (например, http://masterden.livejournal.com/60181.html). Не покидает ощущение, что её можно было сильно быстрее и проще сделать на VBA прямо внутри эксельки. Но проект был домашний и от него хотелось ещё и веселья. В итоге, поддержал себя в форме и не протухаю в плане .NET. Прилада, надеюсь, скоро будет колбасить не только родительские файлы, но и левые заказы.

В коде я порезвился на славу, конечно. Тезисно:

* UI сдела на WPF. К сожалению, делал его на скорую руку и в плане кода он не очень правильный: не использовал Commands, нет горячих клавиш, MVVM нормальным там и не пахнет. Зато поддержал drag'n'drop =) Последний раз его делал ещё в СофтЛабе для редактора квестов.

* Код парсинга входа и выхлоп - тяжеловесный LINQ. По сути, императивного кода там 5%. Остальное - это LINQ to Objects выражения, "готовящие" модель данных и LINQ to XML выражения, описывающие "выхлоп". На первый взгляд, кажутся перебором. Однако получился интересный опыт. Вторую версию (или итерацию) я писал после полугодового перерыва (даже по vcs проверил :) и после отрытия кода тяжелее всего было вникать не в эти конструкции, а в логику GUI и всякий glue-код. А сами выражения мозг загружал в себя и осознавал быстро (не больше минуты). Один из примеров чтения: http://pastebin.com/wQ3de48U. Пример записи: http://pastebin.com/mERTirnH.

* Динамическую типизацию из C# 5 внезапно пользовал мало. Хоть и делалась она (в связке с named parameters и default значениями аргументов функций - про это John Skeet в C# in Depth хорошо написал) как раз для Office COM Interop. Банально неудобно: не работает code completion и опечатки периодически случаются.

* А ну да : ) Самое-то главное: с Excel вся работа делалась через COM API.

* Проект разбит на три сборки: непосредственно конвертилка (модель данных, IO), CLI интерфейс для отладочных целей, GUI для конечных пользователей.

* Процесс конвертации распараллелил на уровне файлов - запинал Parallel.ForEach %)

* Из интересного, правильности ради все строковые ресурсы вынес в локализационные файлы (заодно и научился это в .NET делать).

* В качестве VCS запользовал Mercurial на Bitbucket.

Опыт написание оказался крайне полезным:

  • Уже в ЦФТ полученный багаж позволил за пол дня слабать инструмент о котором чуть позже расскажу.

  • Как уже сказал, держу себя в курсе дел .NET мира:

    • Можно преподавать студентам =)

    • Есть о чём потереть с .NET-корешами и можно вместе посмеяться над стрёмными тестовыми заданиями, которые им присылают.


linkpost comment

Хуяк, хуяк и в продакшн. [Jun. 23rd, 2014|11:40 pm]
[Tags|]
[music |Sabaton - Inmate 4859 | Powered by Last.fm]

Оригинал взят у droids_life в Хуяк, хуяк и в продакшн.

BkSHplFCYAEgP3Z (1)

Вот, кстати, смешно. Но, буквально, сегодня ровно такая фигота была.
Read more...Collapse )
linkpost comment

Старты. [Jun. 18th, 2014|12:21 am]
[Tags|]
[music |Tarja - Never Enough | Powered by Last.fm]

После годового перерыва восстановление ваще огонь идёт. За весну-лето принял участие уже в четырёх стартах.

Первый проходил 2-3 мая в Томске - триатлон-гандикап. Первый день плыли 750 в бассейне. Второй - вел+бег в Томском "технопарке" (это отдельная ржака, кстати). В целом, прошло отлично - 3-е место (из 13) в своём возрасте и 7-е в абсолюте.

DSC03599

DSC03646

GUInpKkkMoM

3jz_yPH7YoQ

Из интересного. Перед заплывом в бассейне застрял в сортире. В итоге пропустил разминку. Во время заплыва потерял шапочку. На вело-этапе сел на хвост к правильному колесу, которое три круга меня нехило тянуло =)

Второй старт - омский полумарафон. Бежали его С Михой Шейниковым и Витей Красноусовым. Всю дистанцию прошли вместе по Витиным часам, задававшим нам темп по GPS. На последних километрах я ушёл от парней. Уложился за 01:36:27. Причём мы все втроём дружно проспали старт.

Третий - XC-триатлон (опять гандикап) в НГУшном лесу. Тут на знакомой трассе я выдал по полной, прийдя 2-м по своему возрасту и 5-м в абсолюте.

DSC_2875

DSC_2915

Ну и самое эпичное - это как я закатил XC-гонку на биатлонке. На финишных 100 метрах выдал из себя спринт, закатив чувака из Северска. По ощущениям приехал хреново, глянул на часы и понял, что ещё успеваю на электричку. На следующий день, по фотографиям понял, что кой-чего пропустил %) Считаю кадр ниже надо делать моей аватаркой на лето 8)

2B0-gcSGCU8

Впереди остались две половинки. В целом, про подготовку - её очень немного. По сравнению с тем, в каком раше я готовился к Выборгу в 2012, я сейчас ваще батонюсь. Во первых, программы нет вообще. Всем рулят дела в ЦФТ. Тренируюсь когда есть свободное время. Пришёл домой за темно - иду бегать. Не выходит вечером - плыву утром. Иногда позволяю себе дня три вообще ничего не делать. По статистике из эндомондо расклад, пока, выходит такой:
- апрель: 8ч 40м бег, 12ч велосипед (шоссе), 7ч 30м плавание.
- май: 12ч бег, 6ч горный велосипед, 6ч плавание.
- июнь: 5ч бег, 8ч 30м на пополам шоссе и горный велосипеды, 4ч плавание.

Стараюсь постоянно делать ОФП и держать баланс между видами, что б не было явного перекоса куда-то. Из ошибок подготовки к Выборгу исправляю следующее: прикатал лежак (спасибо Ваньке, что подшаманил его под мой руль), добыл правильное питание на старты (коробка гелей SiS и порошковый изотоник для разбодяживания - aptonia ISO+). В плавании вообще ничего не меняю, так как по ощущениям мы с Ванькой идельный баланс в нём нащупали.

По инвентарю закупил лишь чутка новой одежды от adidas (в основном белое с длинными руковами/штанинами, так как задрало обгорать на солнце) и выкинул свои кроссовки, которые уже каши, натурально просили. Эх, а они на мне и Омский марафон прошли и Выборг и дуатлон в Северске и каких только говн в Новосибирске не видали... В велосипедах вообще ничего не менял. В бассейне сменил очки (wing которые ещё с универа были порвались) на призовые с XC-триатлона. Ну и понтуюсь теперь в шапочке с флагом России :)

Кстати, протоколы вышеозначенных (и всяких бородатых) стартов можно посмотреть тут: https://www.dropbox.com/sh/4vstt3f69kmt7fr/AADxSkiFkmgeuO-iqPkzY1Aqa
link4 comments|post comment

Журналы. [May. 31st, 2014|12:01 am]
[Tags|]
[music |Sabaton - out of control | Powered by Last.fm]

http://www.nkj.ru/ Фига се 8) Наука и жизнь мало того, что веб-сайт имеет, дык там ещё и PDF-версии журнала можно купить 0_o Кстати, тут попробовал пару номеров подобных изданий взять: National Geographics, Discovery... Капец все они тонут в рекламе. Особенно NG - эту шляпу больше не буду брать. А, раз уж зашла тема за журналы, подписался я тут на электронное идание Игромании в Google Play =) Правильные форматы решают.
linkpost comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]