Сергей Дымченко's Journal
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 20 most recent journal entries recorded in
Сергей Дымченко's LiveJournal:
[ << Previous 20 ]
| Thursday, December 22nd, 2011 | | 3:21 pm |
| | Tuesday, November 8th, 2011 | | 4:40 pm |
Интерпретатор HQ9+ на Opa
Некоторое время назад написал интерпретатор HQ9+ на новом языке/платформе Opa для конкурса Opa Developer Challenge (результаты конкурса — http://blog.opalang.org/2011/11/opa-developer-challenge-results.html).
Интерпретатор, конечно, сильно громко сказано ( HQ9+ — очень примитивный язык): хотелось написать что-то очень простое и быстро, так что там в сумме меньше ста строк, включая HTML-интерфейс, README и куплет из песни “99 бутылок пива”: https://github.com/kit1980/opa-hq9plus.
В конкурсе призового места не занял. У победителей, правда, сильно глючные какие-то программы, но они явно приложили больше усилий и потратили больше времени, чем я на свой “интерпретатор”.
Сама платформа Opa (написана на OCaml, кстати) довольно интересна. Но очевидно, что не взлетит: сомнительная идея использования строго типизированный функциональный язык для массовой веб-разработки (не поймут); попытка включить весь веб-стек, в том числе веб-сервер и СУБД, в одну платформу (и даже один исполняемый файл), которая уже провалилась (отказались от встроенной базы данных и делают интерфейс к внешним базам); странная расстановка приоритетов — до сих пор есть версия только для Linux, причем только для 64-битных систем.
This is crossposted entry. kit1980.ru
| | Monday, September 12th, 2011 | | 1:38 pm |
Мастер-класс Юрия Артюха «Современные подходы в вёрстке 2»
8 октября в Киеве пройдет мастер-класс Юрия Артюха “ Современные подходы в вёрстке 2“. Я был не предыдущем его мастер-классе в прошлом году, тогда понравилось. В этот раз тоже собираюсь пойти.
Анонс от организаторов:
8-го октября компания SmartMe проводит повторный мастер-класс Юрия Артюха “ Современный подход в вёрстке 2”, который является улучшенным вариантом первого мастер-класса Юры.
В прошлый раз организаторам даже пришлось закрыть регистрацию раньше, потому что зал не был рассчитан на такое количество желающих стать участниками.
Для тех, кто не знает – Юрий специалист по верстке с многолетним стажем. Он принимал участие в разработке нескольких сотен проектов, среди которых такие, как groupon.ru, subscribe.ru, sports.ru, ukr.net, delo.ua и множества других крупных проектов.
В этот раз Юрий рассмотрит следующие вопросы:
- Айкидо работы с кодом (редакторы и ускорение работы)
- Построение лэйаутов сайтов
- Верстка больших проектов
- Разработка сайтов для мобильных
- Разработка почтовых рассылок
- Оптимизация кода и ускорение сайтов
- Хаки и прочая магия для браузеров
- Микроформаты: то немногое полезное, что о них нужно знать
- Применение CSS3 и HTML5
- Responsive design
- Любимые ошибки
- Всякая современная всячина и вопросы
Теперь Вы видите, почему в прошлый раз было столько желающих.
Зарегистрироваться и посмотреть все подробности Вы можете на странице мастер-класса.
Приходите в гости!
This is crossposted entry. kit1980.ru
| | Tuesday, August 30th, 2011 | | 12:36 am |
Chrome Hackathon & Contest (Киев)
На этих выходных ходил на Chrome Hackathon & Contest. Подробнее о мероприятии с фото и видео: http://www.developers.org.ua/lenta/articles/chrome-hackathon-contest-kyiv-part-i/ и http://www.developers.org.ua/lenta/events/chrome-hackathon-contest-kyiv-part-ii/.
Я делал расширения для Google Chrome для перевода дат/времен на сайтах во временную зону пользователя с форматированием по заданному шаблону. Странно, но такого расширения нет ни для Chrome (есть с похожей идеей, но только для континентальных штатов США, без форматирования, без перевода дня и требующее дополнительных действий для пользователя), ни для Firefox. А будет полезно в том числе мне, для перевода кучи топкодеровских “08.28.2011 08:55 AM”.
Видео моей презентации расширения на Хакатоне — http://www.youtube.com/watch?v=6ZHpOASnr0I.
Код сейчас по адресу https://github.com/kit1980/chrome-handytd. Расширение работает, но пока это только прототип, многое надо доделывать. Уже после хакатона нашлась ошибка в одной из используемых библиотек — время типа 12: XX AM определяется неверно. В общем, надо тестировать и дорабатывать.
Вообще, мероприятие понравилось, хоть я был и один в своей “команде”. Дома я бы явно не успел за полтора дня сделать такое расширение от идеи до реализации (не имея опыта разработки расширений).
This is crossposted entry. kit1980.ru
| | Tuesday, August 23rd, 2011 | | 9:43 pm |
Codeforces Beta Round #83
Сегодня участвовал в — Codeforces Beta Round #83 (второй дивизион). Решал все на Python. Первую и вторую задачу решил без особых проблем, плюс по второй 4 успешных взлома. Третья задача не понравилась, не решал. С четвертой ( D. Баскетбольная команда) получилось так. Формулу для решения я вывел, вроде бы все верно. Но проблема в том, что там дробь, где в числителе и знаменателе — примерно равные по величине произведения сотни довольно больших целых чисел. Длинная арифметика для целых в Python из коробки, так что при умножении переполнения не будет. Но для деления двух больших целых чисел в Python 2.6 надо привести их к float (иначе получится обязательно целое) — и имеем OverflowError: >>> 1.0 * (1000 ** 200) / (1001 ** 200) OverflowError: long int too large to convert to float По хорошему, чтобы этого избежать, надо не считать отдельно числитель и знаменатель, а умножать на одно число — делить на одно число (во float) и т.д. Но в Python 3 можно поделить целые числа и получить float, без проблем переполнения в случае подсчета отдельно числителя и знаменателя: >>> (1000 ** 200) / (1001 ** 200) 0.8188125757004808 Еще в Python 2.6 можно было бы использовать тип Decimal: >>> from decimal import Decimal >>> Decimal(1000 ** 200) / Decimal(1001 ** 200) Decimal(‘0.8188125757004809207789472534’ ) Интересно, что в C++ при включенных оптимизациях (по крайней мере в g++ с -O2) при вычислении отдельно числителя и знаменателя не происходит переполнения double, т.к. используются регистры процессора с большей разрядностью без пересылки промежуточных результатов в память.
This is crossposted entry. kit1980.ru | | Wednesday, August 10th, 2011 | | 6:13 pm |
TopCoder SRM 514
Ночью участвовал в SRM 514, в первом дивизионе.
Повезло, что задача на 250 баллов была похожа на задачу, которую я уже решал в 2009 году на контесте “Potyczki Algorytmiczne”. Так что отправил решение я довольно быстро, но потом увидел у себя ошибку, связанную с отрицательными числами — пришлось править и снова посылать. Вторую задачу не смотрел, третья показалась уж очень сложной.
В челледж-фазе было понятно, что искать, но не успевал — ломали раньше, чем я.
Из-за ошибок с отрицательными числами первая задача у многих упала, так что одной решенной задачи даже с учетом повторной отправки мне хватило на +89 баллов рейтинга, и теперь у меня максимальной рейтинг в алгоритмах за все время моего участия — 1298.
This is crossposted entry. kit1980.ru
| | Monday, July 4th, 2011 | | 4:07 am |
| | 3:59 am |
| | Saturday, July 2nd, 2011 | | 11:33 pm |
TopCoder SRM 511
После почти трехмесячного перерыва написал SRM на TopCoder — SRM 511. Решил две задачки во втором дивизионе и завалил одно чужое решение — снова вышел в первый дивизион.
А еще в моей комнате был какой-то очень тупой читер с 249.99 и 499.95 баллами за первую и вторую задачи (из 250 и 500 соответственно).
This is crossposted entry. kit1980.ru
| | Saturday, June 18th, 2011 | | 4:28 pm |
Тарантас
Один из тарантасов с сегодняшнего киевского “Red Bool ралли на тарантасах”.
This is crossposted entry. kit1980.ru
| | Sunday, May 29th, 2011 | | 8:18 pm |
| | Tuesday, May 3rd, 2011 | | 1:45 pm |
Финал Challenge24
Вернулись из Будапешта с финала Challenge24 2011.
На замену Ренату (он еще давно нам сказал, что на финал не поедет) взяли бразильца Кауэ ( kauesilv на TopCoder), хороший парень.
Общая организация контеста была так себе (менялись условия заданий, запланированное время проведения отдельных раундов, во всех документах фигурировали имена давно замененных участников, много проблем с техникой), зато кормили просто отлично.
Задания были довольно разнообразные и интересные, условия и разбор должны скоро опубликовать.
В итоге заняли 22 место среди 27 приехавших команд. Неплохо, учитывая, что без Рената мы бы вообще не прошли на финал, скорее всего.
Кроме контеста, было три дня на посмотреть Будапешт — очень симпатичный город.
В общем, поездка понравилась.
This is crossposted entry. kit1980.ru
| | Sunday, March 20th, 2011 | | 8:11 am |
TopCoder SRM 500
Вчера участвовал в юбилейном SRM 500 на TopCoder (во втором дивизионе).
Что-то они там со сложностью задач перекрутили, все задачи были намного сложнее, чем обычно. Вторую и третью задачу мало кто решил, так что все свелось к тому, кто быстрее решит первую и быстрее взломает жалкие попытки других решить вторую и третью.
Я первую задачу писал долго, взломать никого тоже не успел — минус 63 балла рейтинга.
В первом дивизионе со сложностью еще хуже было. Например, человек не решил ни одной задачи и набрал 0 очков, но все равно поднялся в рейтинге, т.к. многие “красные” набрали ноль.
This is crossposted entry. kit1980.ru
| | Friday, March 18th, 2011 | | 10:20 pm |
| | Saturday, February 26th, 2011 | | 11:13 pm |
TopCoder SRM 498
Сегодня участвовал в SRM 498 на TopCoder, во втором дивизионе.
Впервые правильно решил третью задачу в контесте, но гордиться особо нечем — “самая сложная” третья задача оказалась совершенно элементарной (я оправлял свое примитивное решение без особой надежды на успех, на всякий случай).
Во второй задаче допустил логическую ошибку — решение не прошло системные тесты. Первую сделал довольно быстро.
Итоговых +16 баллов немного не хватило для очередного выхода в первый дивизион.
This is crossposted entry. kit1980.ru
| | Saturday, January 15th, 2011 | | 7:31 pm |
Facebook Hacker Cup Round 1A
Думал, после провала квалификационного раунда организаторы исправятся.
Но нет: Facebook Hacker Cup Round 1A — это кромешный беспросветный пиздец. Условия задач кардинально меняются налету и втихаря; формат реальных данных не такой, как в примерах; официальное решение для второй задачи неправильное… Ну и самое главное — у большинства решения теряются при отправке: “Some people have experienced issues submitting their output. We are aware of the issue and are working on a resolution.”
This is crossposted entry. kit1980.ru
| | Tuesday, December 14th, 2010 | | 4:54 pm |
Приватбанк и Facebook
Присматривая выписки по карточкам в веб-сервисе Privat24, увидел загадочную кнопочку “Показать действия для Facebook”.
Оказалось, что теперь информацией о каждой операции по счету или карточке можно поделиться с друзьями в Facebook! :-D
This is crossposted entry. kit1980.ru
| | Wednesday, December 8th, 2010 | | 9:31 pm |
TopCoder SRM 490: снова в первом дивизионе
Сегодня прошел SRM 490 на TopCoder.
Первая задача была легкой, решил довольно быстро.
Вторую задачу решил, но совершенно неоптимальным способом — было очевидно, что не проходит по времени. А математического решения так и не придумал. Зато на этой задаче набил +200 очков в challenge-фазе очевидным тестом.
В итоге — рейтинг 1227, и я снова выбрался в первый дивизион.
This is crossposted entry. kit1980.ru
| | Friday, November 19th, 2010 | | 7:49 am |
TopCoder SRM 488
Сегодня ночью прошел SRM 488 на TopCoder.
Задачи не понравились (говорю только за второй дивизион).
Первая была уж слишком примитивной, все решение: return n + (j > n) + (b > n);
Хотя после системных тестов оказалось, что два человека в моей комнате допустили в решении ошибку, и можно было челленджить…
Вторая задача была слишком сложной (или даже скорее запутанной) для 500 баллов второго дивизиона. Условие задачи я сразу не понял, долго разбирал по примерам; причем в какой-то момент даже был почти уверен, что один пример неправильный… В итоге понял, как делать, но не успел закодировать до конца.
Третью задачу во втором дивизионе вообще никто не решил.
В итоге у меня +3 балла к рейтингу - 1187.
This is crossposted entry. kit1980.ru
| | Sunday, October 10th, 2010 | | 7:29 am |
|
[ << Previous 20 ]
|