Как стать автором
Обновить
32
0
Илья Константинович Никитин @w495

Пользователь

Отправить сообщение

Комментарий к заметке «Частотный анализ украинского языка»

Время на прочтение12 мин
Количество просмотров1.3K
Как комментарий к заметке «Частотный анализ украинского языка» [1] излагаются простые наблюдения по частотности пар букв. Предлагается применить разработанную технику к анализу текстов. Основная гипотеза: множество геометрически связанных кластеров символов несут информацию об авторстве и другие важные интегральные данные.

В частности, мне кажется, что ожидать от разных сообществ носителей языка (форумы и т.д.) одного и того же спектра диграмм кажется не обоснованным.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии0

Списки и другие структуры данных в Ocaml

Время на прочтение2 мин
Количество просмотров1.6K

Введение


Кроме базовых типов данных в Objective Caml к предопределенным типам относятся кортеж, список, запись.
Продолжение
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

Понимание компьютером текста: действительно ли всё так плохо?

Время на прочтение8 мин
Количество просмотров14K
Совсем недавно на Хабре появился пост, в котором автор уверенно заявляет о том, что компьютер никогда не сможет понимать текст так, как его понимает человек. В доказательство он приводит ряд непосильных для машины задач, делая упор на отсутствие эффективных алгоритмов и невозможность моделирования полноценной системы, в которой были бы учтены все возможные варианты построения текста. Однако действительно ли всё так плохо? Правда ли, что для решения подобных задач нужны невероятные вычислительные мощности? И в каком вообще состоянии находится область обработки текстов на естественных языках?
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии183

Поддержите российскую команду Imagine Cup

Время на прочтение1 мин
Количество просмотров438
Некоторое время назад мы публиковали серию статей о проекте oricrafter:
К сожалению, нам не удалось (не хватило времени \ сил ) описать полностью математическую и программную часть проекта.

Помогите нам получить приз зрительских симпатий. Пожалуйста, проголосуйте за наш проект: imaginecup.com.

Подробнее о самом проекте можно узнать на oricrafter.com.
Пока только на английском.
В скорейшем времени появится русская версия — следите за изменениями.
Еще можно полистать блог команды: rusoricrafter.wordpress.com.

oricrafter oriteam
Всего голосов 56: ↑37 и ↓19+18
Комментарии17

Танго — Операционная система из будущего

Время на прочтение1 мин
Количество просмотров5.4K

Всем привет. Давно размышлял на тему, а что, если предположить, что все современные операционные системы могли бы быть гораздо лучше. Как бы это было? Как бы они выглядели, и были устроены внутри?
Примерно, в том же духе размышляет огромное количество людей по поводу будущего устройства нашей планеты. Например, что будет через 10 лет, будем ли мы использовать летающие машины, беспроводную энергетику и откажемся ли мы от бумажных денег. Я решил, что можно таким же образом поразмышлять, об устройстве операционных систем, помечтать о лучшей жизни. Результатом, размышлений стала книга — «Tango — Операционная система из будущего». Буду рад если Вы прочитаете, очень интересно узнать Ваше мнение.

Сайт
http://os-tango.com
Прямые ссылки на файлы (лежат на CDN)
http://c0006086.cdn2.cloudfiles.rackspacecloud.com/Tango-Os.pdf
http://c0006086.cdn2.cloudfiles.rackspacecloud.com/Tango-Os.zip
Всего голосов 30: ↑15 и ↓150
Комментарии51

Забросить мышь и клавиатуру! Почти стартап из Украины: CrossView

Время на прочтение2 мин
Количество просмотров847

Сегодня возникло желание поделиться успехом моих земляков из Донецка. Ребята сделали невозможное, ну или почти невозможное. Они взяли то, что лежало на поверхности, приправили духом стартапа и соусом соперничества, что в итоге позволило команде CORE INVADER занять первое место во всеукраинском конкурсе Imagine Cup 2010.
Читать дальше →
Всего голосов 56: ↑39 и ↓17+22
Комментарии40

XSLT: Идеологические вопросы / проблемы

Время на прочтение2 мин
Количество просмотров832
Я знаю иностранный-язык-XSL на уровне «могу читать со словарём». И, скорее всего, больше мне и не надо.
Но вот, принципы построения систем XML+XSL я бы поизучал. Мне это нужно для реализации одной идеи + для саморазвития.

Наверное, не зная предметной области, у меня не получится сформулировать «правильные и понятные вопросы», но я всё таки попытаюсь. Итак:
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии29

Рекомендации для начала карьерного роста

Время на прочтение7 мин
Количество просмотров17K
По мотивам недавно прошедшей конференции в ЯрГУ 25 марта, на которую пришло уж очень немного народу, решил я написать небольшой мотивирующий пост для студентов и начинающих программистов/IT специалистов. Мою презентацию с доклада можно посмотреть на skydrive. Здесь же я постараюсь вкратце, на сколько это возможно, осветить этот доклад.

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

Ну и до нас не раз еще поднимали эту тему. Рекомендую читать и заряжаться всеми этими топиками.
Читать дальше →
Всего голосов 120: ↑110 и ↓10+100
Комментарии104

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Время на прочтение20 мин
Количество просмотров84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


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

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →
Всего голосов 216: ↑213 и ↓3+210
Комментарии43

Тренировка мозга и ее геймификация

Время на прочтение5 мин
Количество просмотров41K

В статье попытаюсь рассмотреть два типа мышления и возможные варианты их тренировки и геймификации. Мышление по типу решаемой задачи можно разделить на так называемое продуктивное и репродуктивное.
Продуктивное, оно же творческое мышление характеризуется созданием чего то качественно нового, в контексте решения задач (problem solving) иcпользуется для решения сложных, до этого не решаемых человек задач. Репродуктивное же мышление наоборот, используется для задач у которых уже известна схема решения, и выполнение по сути зависит только от базовых когнитивных навыков человека.

Творческое мышление


Представим задачу стоящую перед творческим мышлением в виде абстрактной двухмерной плоскости, на которой где-то находятся несколько точек приемлемых решений. Перед человеком стоит проблема найти одну из таких точек-решений, но сложность состоит в невозможности перебрать все возможные варианты, поэтому в большинстве случаем на помощь приходит озарение. Классическая схема решения творческой задачи состоит из стадий
1) Подготовка — формулирование задачи
2) Инкубация — временное отвлечение от задачи
3) Озарение — появление интуитивного решения.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии22

Оригами и расширенная реальность

Время на прочтение2 мин
Количество просмотров1.3K
Современные технологии проникли уже почти во все сферы нашей жизни. Люди используют их для облегчения какой-либо своей деятельности, ускорения процессов взаимодействия, как необходимость, данность или приятное дополнение. Естественно, развиваются и сами технологии, среди которых — технологии взаимодействия с пользователем, которые позволяют работать с приложениями не только посредством привычных уже манипуляторов (мышки, клавиатуры и т. д.), а с привлечением веб-камеры, микрофона и др. Технология расширенной реальности используется для того, чтобы дополнять данные, полученные от пользователя (изображение с камеры), данными, полученными в ходе внутренних вычислений. Казалось бы, при чем здесь оригами?
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии20

Международный финал Imagine Cup скоро пройдет в Санкт-Петербурге

Время на прочтение3 мин
Количество просмотров2.2K
Этим летом в Санкт-Петербурге пройдут сразу два значимых мероприятия для IT-студентов: финал чемпионата мира по программированию ACM и международный финал студенческого конкурса Imagine Cup. На международный финал соберется около 90 студенческих команд со всей планеты, и в течение нескольких дней будут бороться за звание призеров сразу в нескольких номинациях: инновации, социальные проекты и игры, а также во множестве дополнительных номинаций.



В этой статье мы расскажем, что будет происходить на финале, и как вы сможете попасть на это мероприятие (регистрация) и лично пообщаться со всеми комадами, судьями и другими замечательными людьми, приехавшими на финал. К слову — среди членов жюри будет Алексей Пажитнов, создатель игры Тетрис!
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии3

Как Яндекс распознаёт музыку с микрофона

Время на прочтение10 мин
Количество просмотров160K
Поиск по каталогу музыки — это задача, которую можно решать разными путями, как с точки зрения пользователя, так и технологически. Яндекс уже довольно давно научился искать и по названиям композиций, и по текстам песен. На сказанные голосом запросы про музыку мы тоже умеем отвечать в Яндекс.Поиске под iOS и Android, сегодня же речь пойдёт о поиске по аудиосигналу, а если конкретно — по записанному с микрофона фрагменту музыкального произведения. Именно такая функция встроена в мобильное приложение Яндекс.Музыки:

image

В мире есть всего несколько специализированных компаний, которые профессионально занимаются распознаванием музыкальных треков. Насколько нам известно, из поисковых компаний Яндекс стал первым, кто стал помогать российскому пользователю в решении этой задачи. Несмотря на то, что нам предстоит ещё немало сделать, качество распознавания уже сопоставимо с лидерами в этой области. К тому же поиск музыки по аудиофрагменту не самая тривиальная и освещённая в Рунете тема; надеемся, что многим будет любопытно узнать подробности.
Читать дальше →
Всего голосов 321: ↑313 и ↓8+305
Комментарии113

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

Время на прочтение9 мин
Количество просмотров35K

Введение

Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
  • недостаточное знание теории категорий;
  • многие авторы стараюстся не упоминать категории вообще.
Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.

Я уверен, что монады с точки зрения категорий почти элементарны.

Содержание

  1. Категория
  2. Функтор
  3. Естественное преобразование
  4. Монада
  5. Монады исключения и состояния
  6. Монады в программировании
  7. Ссылки
Читать дальше →
Всего голосов 126: ↑105 и ↓21+84
Комментарии151

Для тех, кто хочет странного: монады в Python

Время на прочтение4 мин
Количество просмотров12K
Доброго времени суток!

Недавно, начав изучать Haskell, несколько раз пытался подступиться к монадам, но всё никик не мог, что назывется, нить ухватить (м.б. дело в нехватке базовых знаний). Помогла замечательная книга Learn you a Haskell for great Good.
Начитался, проникся, решил донести до коллег/друзей. Разрабатываем на Python, казалось бы, незачем сильно вникать во «всю эту функциональщину», по крайней мере дальше filter/map/reduce. Но расширение кругозора, штука, бесспорно, полезная, поэтому я решил реализовать пару монад на Python, да так чтобы это не вылилось в полный unpythonic. Конечно же, не я первый и не я последний, было и есть несколько реализаций монад на основе Python, но все те реализации, что встречались мне, либо полностью unpythonic, либо сложны для понимания далёкому от самой концепции человеку. Пришлось изобретать свой велосипед, который, впрочем, позволяет ухватить суть…
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии39

Ограничение количества запросов — Raterlimiter

Время на прочтение5 мин
Количество просмотров10K
Если вы опасаетесь, что ваш веб-сервис могут заDOSить нерадивые пользователи, или у вас просто слабенький сервер, то вы уже задумывались над ограничением количества запросов от каждого пользователя. По-хорошему — это только один из необходимых эшелонов обороны. Конечно, от серьёзной атаки такое ограничение не убережёт, но с точки зрения цена/качество вполне подходящее

Недавно я начал активно заниматься Эрлангом. Ну и, как обычно, для закрепления материала реализовал несложный веб-сервис на Mochiweb. Mochiweb — вполне достойный фреймворк для создания веб-приложений, но возможности лимитировать количество запросов от одного клиента я не нашёл. Вот и сделал это самостоятельно.

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

Задача

Итак, имеем Erlang/OTP, Mochiweb, rebar. Хочется считать количество запросов от конкретного пользователя и отдавать ему 413 код ошибки, если запросы идут слишком часто. Клиент идентифицируется своим IP адресом. Тем самым, который отдает mochiweb_request:get(peer).

Задача не такая сложная, но, возможно, готовое решение сэкономит кому-то время.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии31

Erlang. Рекомендации к оформлению кода

Время на прочтение19 мин
Количество просмотров5.3K
Не так давно, в команду пришлось приглашать нового программиста и знакомить его с Erlang. Для ускорения процесса обучения я решил перевести уже давно лежавший у меня материал Erlang Programming Rules and Conventions. Чем в принципе и хочу поделиться с хабровчанами. Надеюсь что он будет полезен тем, кто собирается изучать или уже использует этот замечательный язык. Сразу скажу, что перевод вольный, так что не критикуйте сильно.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии26

Adobe Edge: редактор анимации HTML5/JavaScript

Время на прочтение2 мин
Количество просмотров42K
Adobe сегодня выпустила новый инструмент Adobe Edge (public preview), который предназначен для создания простого анимированного контента на открытых стандартах: HTML5, JavaScript и CSS3. Предполагается, что для растущего числа мобильных устройств HTML5 более приемлем, чем Flash. В первую очередь для мобильного рынка и создан новый редактор. Впрочем, никто не мешает делать с его помощью любую веб-анимацию HTML5, а в будущем — HTML5-игры и другие приложения.

Adobe Edge призван удачно дополнить Flash и сохранить позиции Adobe как лидера на рынке ПО для веб-дизайна. Эта компания заявляет, что давно продвигает технологии HTML, в качестве примеров можно привести такие продукты как Dreamweaver, Illustrator, Digital Publishing Suite и недавно вышедший Flash-to-HTML5 конвертер Wallaby.

Редактор Adobe Edge распространяется бесплатно, скачать можно здесь. Версия 1.0 выйдет в следующем году.
Функционал и интерфейс редактора Adobe Edge
Всего голосов 49: ↑41 и ↓8+33
Комментарии35

Взлом капчи LostFilm (php)

Время на прочтение4 мин
Количество просмотров16K
Решив скачать очередную серия Хауса я заглянул на LostFilm и обнаружил, что теперь на сайте, чтобы скачать нужно регистрироваться.
Только я решил зарегистрироваться, как на глаза мне попалась их новомодная капча:


Капча показалась мне довольно простой (хоть и не лишена она дольки оригинальности).
Читать дальше →
Всего голосов 108: ↑82 и ↓26+56
Комментарии81

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность