?

Log in

Сергей Дымченко'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
О стэнфордских онлайн-классах
На этой неделе закончились “стэнфордские” онлайн-курсы Introduction to Databases, Machine Learning и Introduction to Artificial Intelligence.

Я успешно закончил все три курса.
Read more...Collapse )
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
Panasonic KX-MB2020 в Ubuntu
Для себя, чтобы не забыть. А может и еще кому пригодится.

Подключение МФУ Panasonic KX-MB2020 в Ubuntu.

Берем архив, сделанный из RPM от Panasonic: http://narod.ru/disk/22319105000/kx-mb2000.tar.gz.html или http://kit1980.ru/files/other/kx-mb2000.tar.gz, распаковываем от рута в корень (хотя по-хорошему надо бы пакет сделать). После этого в настройке CUPS http://localhost:631/ появится принтер Panasonic KX-MB2000 Series, 1.0.1.

Для 64-битной системы выполняем еще:
ln -s /usr/lib/libtetra.so.1.0.0 /usr/lib32/

ln -s /usr/lib/libtetra.so.1.0.0 /lib32/


Изначально решение отсюда — http://forum.ubuntu.ru/index.php?topic=87465.0.

This is crossposted entry. kit1980.ru

3:59 am
Цукерберг на TopCoder
Нашли профайл mzuckerberg. Заработал $124.00 на первых SRM.

This is crossposted entry. kit1980.ru

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
Киевский Я.Субботник по разработке интерфейсов
Ходил вчера на Я.Субботник по разработке интерфейсов.

Понравилось: отличная организация, доклады интересные.

Жаль, что не было никого из Яндекс.Словарей…

This is crossposted entry. kit1980.ru

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
Codeforces Beta Round #62
Сегодня в первый раз участвовал в соревновании на Codeforces — Codeforces Beta Round #62.

За приемлемое время решил две простых задачи, так что теперь я там “капитан” с рейтингом 1660, в первом дивизионе — http://codeforces.ru/profile/kit1980.

Немного необычно читать условия задач на русском… Еще надо бы разобраться, как там взломы чужих решений работают: очень сильно отличается от TopCoder.

This is crossposted entry. kit1980.ru

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
Конференция OSDN.Org.UA 2010
Неделю назад, в прошлую субботу, ходил на конференцию Конференция OSDN.Org.UA 2010 (“Всеукраинская конференция разработчиков и пользователей свободных программ”).

И не просто ходил, а еще и выступал с докладом о Прогопедии, а также выступил “пингвиньим спонсором” конференции от имени foss-stuff.com.ua.


Read more...Collapse )
[ << Previous 20 ]
My Website   About LiveJournal.com