пятница, декабря 24, 2010

Мировой триумф чучхейского программирования


Наткнулся в сети на ЖЖ "чучхе-сонгун", который ведут товарищи из Северной Кореи.

Чисто с антропологической точки зрения - очень интересное чтение. Где теперь еще найдешь в мире страну с живой идеологией. Это как заповедник 50-х гг ХХ века, как в музее, но по настоящему.

Пропаганда в этом ЖЖ тоже сама по себе очень интересна, хоть и смешная. Вот, к примеру про загнивающую Южную Корею, где по улицам ходят 5 млн нищих. Хоть и смешно, а пропаганда все же эффективна, судя по тому, что в южной Корее ее активно банят и сажают за прослушивание северокорейских гимнов.

А про триумф чучхейского программирования - вот:

Как известно, на 3-м Кубке «UEC» по программам шашечных игр (ноябрь 2009 г., Япония), где были представлены лучшие программы 30 с лишним команд из разных стран и регионов мира, программа «шашка КСС» КНДР завоевала первенство.

Об этом участники розыгрыша и любители шашки с похвалой отзывались: «Программа “шашка КСС” действительно сильна», «Корея занимает первое место в мире по изучению программного обеспечения».

Это была не первая победа корейской программы. Она занимала первое место уже 2 раза на Кубке мира «Нost», 4 раза подряд на Чемпионате мира, проходящем с 2003 года, и, наконец, на 3-м Кубке «UEC». В чем секрет таких поразительных успехов на международных соревнованиях по программам шашечных игр, называющихся «состязанием мозгов»? Ответ на это дают сами программисты. Они вспоминают.

В команду программистов для 3-го Кубка «UEC» вошли и старшие, многоопытные и высококвалифицированные специалисты, но больше половины составили молодые исследователи, для которых он был первым международным соревнованием. Соревнования по программам шашечных игр отличаются от бокса, исход которого зависит от способностей одного спортсмена. И чтобы обязательно победить, программисты должны объединить ум и энергию.

С таким сознанием они взялись за дело. Опытные программисты глубоко изучали способ и теорию применения новой технологии в разработке программы. А молодые, перенимая у них опыт, старались творчески размышлять. Среди них был и энтузиаст, проводящий дни и ночи в неутомимых поисках, и оптимист, не унывающий от повторяющихся неудач, и «учитель истории», знающий историю не хуже программы.

Когда их мысль и ум направились в общую цель, одно за другим развязывались звенья в цепи трудной задачи, выдвигались оригинальные мысли. И был повышен уровень программы шашечных игр в результате самобытного моделирования ее главного узла и параллельной обработки поисковой системы, требующей высокой технологии.

Члены команды без малейшего колебания отдавали общему делу свои знания и код, если они были необходимы для разработки программы. Проходили дни неутомимых поисков и размышлений, и, наконец, их программа «участвовала» в 3-м Кубке «UEC». В полуфинале программа «шашка КСС» победила «Zen», считавшуюся в мире «непобедимой» программой шашечных игр, а в финале легко выиграла «Кацунари».

Когда программе «шашка КСС» были присвоены золотой кубок и диплом, корейские программисты, обняв друг друга, проливали слезы радости.

Самый младший в команде компьютерный мозг Ли Ын Сон (21 год) сказал:– Не могу забыть тех дней. То было время, когда я освоил не только технику программирования. Узнал значительно большее. С готовностью помогать друг другу и с общим стремлением обязательно одержать победу мы объединили свой ум. Это принесло сегодняшний успех. Так все мы, как сонгунские солдаты, были едины умом и душой на пути служения Родине.



Красота же, песня просто. Я считаю всем аутсорсерам мира надо брать на вооружение передовые методы чучхейских товарищей.

четверг, ноября 18, 2010

Ресурсы для изучения Python

У Google есть замечательный ресурс Google's Python Class, на котором имеются лекции для изучающих питон в виде текста, видео файлы, на которых гугло-мужик бодренько рассказывает и показывает основные фишки питона (их, кстати, помимо просмотра прямо с гугловского сайта можно найти на торрентах и смотреть впоследствии оффлайн, на ru.torrent.org точно есть).

Но самое интересное там - это подготовленные файлы с задачками. В файлах имеются описания задачек и уже написанные unit tests к ним. Так что остается запрограммировать решение, запустить на выполнение и сразу же увидеть насколько это было правильно написано.

среда, мая 26, 2010

Список антивирусов

На работе понадобилось сделать обзор существующих антивирусов с ценами и более-менее отсортированный по популярности. Разумеется это не строгий рейтинг антивирусов, сортировка на глаз, никаких объективных критериев кроме чисто субъективных :) Курсивом я пометил бесплатные варианты. Ориентировался больше на буржуйские рейтинги, понятно, что у нас Dr.Web, к примеру, популярнее, чем BitDefender.

Может кому еще понадобится.



четверг, апреля 29, 2010

Интересный сайт для изучения английского языка

Прочёл на хабрахабре несколько статей про сервис для изучения иностранных языков (пока там правда только английский) - LinguaLeo. Оригинальная идея, и сделано интересно. Берутся видео и аудио материалы по разным темам - лекции MIT, сериалы, аудио-книги и т.п. Человек на сайте их просматривает/прослушивает, рядом расположен транскрипт, в котором можно выбирать незнакомые слова. Выбранные слова запоминаются, впоследствии их можно тренировать с помощью трехступенчатой процедуры - сначала выбрать правильный перевод для английского слова из нескольких предложенных, дальше слово попадает "на созревание", через 6 часов можно приступать ко второй части - узнавать английское слово по его переводу, еще через 6 часов - третья часть - правильно собрать английское слово из букв.

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

вторник, марта 16, 2010

Must read для программиста

В книжке "Путь программиста: от 100$ до 10000$", а также в разных околопрограммистских блогах (не знаю кто оригинальный составитель списка) есть интересный список книг, которые каждый хороший программист обязан прочесть:

  • «Искусство программирования», Дональд Э. Кнут
  • «Объектно-ориентированный анализ и проектирование», Гради Буч
  • «Совершенный код», Стив Макконел
  • «Мифический человеко-месяц», Хилл Чапел, Фредерик Брукс
  • «Приемы объктно-ориентированного проектирования. Паттерны проектирования», Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилес
Из всего списка у меня дома лежат только 2 книжки - "Совершенный код" и "Паттерны проектирования". По правде сказать обе я прочитал примерно наполовину, время от времени возвращаюсь к их чтению, сегодня утром героически пару глав Макконнела одолел. Все время на что-то отвлекаюсь, надо бы его уже как то добить. В принципе не очень нудное чтение, иногда увлечешся и пару тройку глав за раз можно проскочить.

3-х томник Кнута я вряд ли когда в ближайшем будущем решусь штурмовать. Помнится Билл Гейтс когда-то говорил, что каждого, кто этот трехтомник одолеет он готов позвать работать в Microsoft. В реальной жизни алгоритмы сортировки нужны редко, а если нужны, то можно воспользоваться готовым решением. В основном это надо наверное тем, кто в олимпиадах по программированию участвует, ну и кто надеется, что Билл выполнит свое обещание :)
Вот Буча почитать можно, как-нибудь наверное руки до него дойдут...

Мифический человеко-месяц - книжка старая, 1975 года. Ее можно найти на lib.ru, наверное, как нибудь прочитаю на e-reader'е по дороге на работу.

P.S. Сегодня с утра когда Макконела читал обратил внимание - доп. тираж 2500. Это сейчас типичный, даже довольно большой тираж для подобной литературы. С MS DOS-времен у меня остался Джордейн "Справочник программиста персональных компьютеров типа IBM PC, XT и AT", издание 1992 г, доп. тираж 150 000. Пособие по ассемблерному программированию в msdos, довольно специфическая тема. Интересно, в то время было настолько больше программистов, куда столько спец. литературы печатали?

пятница, марта 12, 2010

Альтернативный способ завести себе личный wiki блокнот

Google sites - личный викиблокнот
Альтернативой использованию оффлайновых решений для wiki блокнота (хотя вместе с dropbox - это уже не совсем оффлайн) является разумеется одна из множества существующих систем private wiki, то есть сайтов с доступом по паролю и вики-разметкой.

Попробовал clearwiki.com - позволяет бесплатно создавать до 25 страниц, максимум 250 Мб. Через месяц использования начинают показывать рекламу - в общем не самый лучший вариант, потом решил поискать еще варианты. На stackoverflow.com наткнулся на аналогичный вопрос про личные вики и в ответах увидел самый простейший способ - sites.google.com. Что-то до меня самого раньше не дошло - это же надежнее чем всякие малоизвестные конторки, нет ограничений на количество создаваемых страниц (на размер правда есть - 100 Мб, но для личного блокнота хватит, это менее важно, чем количество страниц), авторизация по google account'у - он у всех гиков и так есть.

Там очень просто можно создать себе личный сайт с вики, если потом понадобится при желании можно добавить доступ другим специально обученным отобранным людям или вообще открыть сайт для всеобщего просмотра. Благодаря интеграции с прочими google'овскими возможностями можно использовать не только текст, но и к примеру таблицы из документов google или диаграммы встроить. Наверное это идеальный для меня вариант, так что остановлюсь на нём.

Более подробный обзор возможностей google sites нашел здесь - человек столкнулся с теми же проблемами и пришел к тем же выводам.

среда, марта 10, 2010

Личный вики блокнот.

Попробовал пару вариантов личных викиблокнотов - tiddlywiki и wikidPad.
Tiddlywiki хранит всю систему в одном файле, но лично мне это не показалось очень удобным. Так что пока остановился на wikidPad'е.

В связке с dropbox можно соорудить удобную систему для блокнота с вики разметкой, которой можно пользоваться одновременно дома и на работе. В принципе для подобных задач подходят и всякие evernote, onenote, но у них вики-разметки нет, поэтому полагаться приходится на тэги и папки, а это иногда не совсем удобно.

WikidPad - личный wiki блокнотВ общем, чтобы система заработала надо скачать и установить dropbox (бесплатная программа для синхронизации файлов между несколькими компьютерами, если кто не в курсе, замена флешке, позволяет хранить 2 Gb файлов) и wikidPad (open source программа, я лично последнюю бету использую) и сказать wikidPad'у, чтобы хранил все в папке dropbox'а. Сделать это надо на 2-х (или сколько там у вас) компьютерах.

Удобно для создания всяких to-do-list, рабочих заметок и т.п.

Не хватает русификации меню правда, пока там кроме английского только шведский добавили. Но поскольку это опенсоурс, есть надежда на каких-нибудь комсомольцев-добровольцев, которые добавят туда и русский. Записи на русском создавать вполне можно, всё в UTF-8 кодируется.

P.S. Еще вариант нашел на codeplex - SWiki - Simple Standalone Wiki. Правда этот вариант я не пробовал. Думаю, даже если эта штука совсем сырая, можно исходники скачать и посмотреть ради любопытства. Программа на C#.

суббота, марта 06, 2010

Введение в eclipse

Я ни разу не java разработчик, и основным IDE для разработки для меня всю жизнь является MS Visual Studio, но всегда полезно иметь представление об альтернативах, особенно таких крупных, как Eclipse. Посмотрел сегодня вечером видео-лекцию с введением в Eclipse на сайте intuit'а:
Дальше там идут еще несколько лекций с подробностями.