Pull to refresh
0
Богдан Франковский @Ferromanread⁠-⁠only

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

Send message

Применение нейросетей в распознавании изображений

Reading time10 min
Views243K
Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
Читать дальше →

Серьезный разговор о VLC #2

Reading time5 min
Views32K
В продолжении темы "Серьезный разговор о VLC"



Под катом:
1. VLC Extended (самые приятные мелочи которые просто радуют)
  • VLC Wall (Просмотр одного видео на 2...81 (теоретически 9801) мониторах)
  • Играем в Puzzle из видео который смотрим :)
2. Слушаем Подкасты. Радиостанции и перенаправляем их в стрим.
  • Делаем свою онлайн Радиостанцию.
3. Делаем "Screencast" При помощи VLC (Сьемка экрана в видео файл или вещание в сеть)
4. Отправляем данные о музыке в свой профиль на LAST.FM (Аудиоскробблинг)
5. Запуск VLC без GUI интерфейса (Для и по просьбе любителей mPlayer)
— Просмотр/конвертация/сохранение видео с Youtube.
… и небольшой хинт для мучеников с Прокси на Windows. ну и пара ответов на частые вопросы, которые задавались с момента прошлой публикации.
Читать дальше →

Серьезный разговор о VLC

Reading time6 min
Views128K
Под катом:

1. Небольшое введение в медиаплеер/сервер VLC.
2. Удаленное управление VLC.
2.1. VLC в качестве Пульта ДУ (iPhone/iPod Touch\КПК)
3. Одиночное/пакетное конвертирование/кодирование видео в VLC (на примере кодирования видео для iPod/iPhone)


Читать дальше →

О тестировании web-приложений

Reading time7 min
Views13K
Тестирование софта это процесс, участвующий во всех жизненных циклах его разработки, который занимается проверкой и планированием требований продукта, подготовкой и проведением изменений в разрабатываемой системе. Как следствие — находятся несоответсвия требованиям и ошибки, оцениваются инструменты которые были использованы.
А если отвлечься и рассматривать системно, то роль тестера на самом деле лежит в каждом человеке. Если смотреть на проект как на человека, то роли
  • управляющего проектом это позвоночник и вегетативная нервная система
  • программисты это скелет и моторика
  • аналитики это органы чувств
  • тестеры это совесть

Quality Assurance часто считается синонимом тестирования, но на самом деле это методика предотвращения ошибок, а не их поиска и исправления. Качество в этом смысле — характеристика сделанного продукта.

Формально говоря, тестер должен проверять даже техническое задание, план проекта и анализ на логичность и понятность, а не только код и интерфейс программы. Тестирование как независимая дисциплина в общем потоке разработки ПО появилась в начале девяностых, когда стали более важны аудитория (клиенты), качество и время разработки.
Важность тестирования ПО особенно важна в критических системах. К примеру аппарат по лучевой терапии Therac (1985) облучил смертельной дозой радиации 6 человек из-за отсутсвия проверки состояния агрегата в коде и валидации. Или марсоход в 1999 году принёс убыток в 125 млн долларов из-за непродуманности единой системы измерения между коммандами разработчиков. И даже в Эстонии при электронных выборах были проблемы из-за плохого нагрузочного тестирования.
Основные принципы тестирования воплощены в небольшом документе ISTQB и в книге «Foundations of software testing».
Вся «прелесть» специальности тестера в том что как правило для этого не нужны большие познания в программировании и люди далёкие от web-строительства могут себя попробовать в этой роли.
Читать дальше →

Написание базового wave-робота на python'e

Reading time6 min
Views4.5K
Слава Роботам
По лету мне достался инвайт в гугльвейв песочницу. Но в этой самой песочнице было очень много народу, все волны были публичными, и мой бедный нетбук только с большим скрипом переваривал всю эту активность, так что, немного поигравшись, на сендбокс я забил :)

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

Однорукий повар? Запросто!

Reading time1 min
Views3.3K
image

Намазать масло на хлеб, разрезать яблоко, открыть банку простокваши – все это очень просто, если у тебя две хватательных конечности? А если меньше? The One-Hand Kitchen Equipment – набор кухонных приспособлений, призванный помочь инвалидам так же ловко справляться с едой, как это делают их парнорукие собратья. Дизайнер — Gabriele Meldaikyte.
Читать дальше →

Распознавание изображений. Алгоритм Eigenface

Reading time6 min
Views67K

Введение



Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

Мне не страшно.

Подготовка ваших приложений Inferno к standalone установке

Reading time4 min
Views2.6K
Итак, вы написали некое приложение на Limbo, и хотите установить его на другую машину, или распространять через интернет. Скорее всего, там где будет устанавливаться это приложение OS Inferno не установлена. Это горько, но более чем вероятно. :) Что же делать? Обучать пользователей вашего приложения устанавливать и настраивать у себя OS Inferno? Включать полную инсталляцию Inferno (до 250 MB) в архив с каждым вашим приложением? Нет, всё гораздо проще!

Давайте посмотрим, как можно урезать Inferno до минимума, необходимого для работы вашего приложения. Для этого надо разобраться, что происходит при запуске emu — как загружается OS Inferno.
Читать дальше →

Как подобрать цвет для оформления своей работы

Reading time1 min
Views3.2K
Эдвард Тафти в Envisioning Information упоминает об одном способе выбора цветовой палитры для оформления. Он говорит, что очень хорошо использовать цвета окружающего нас мира. Человеку должны быть приятны те сочетания цветов, которые окружают его в природной приятной обстановке в солнечный день.

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

Вот погожий зимний пейзаж



Под катом еще фотографии, а если вам интересен Тафти, у меня на сайте есть ссылки на его книги и примеры из них.

Читать дальше →

Генератор резиновой вёрстки

Reading time1 min
Views1.5K
Находится по адресу http://myfreeweb.ru/markup_maker.php он.

С помощью этого простого сервиса ты можешь быстро создать себе резиновый xhtml-макет c базовой разметкой, основу для сайта. Пока только двухколоночные, но скоро к нам завезут поддержку трёхколоночных.

Базовая разметка — значит только блоки и их расположение. Всякие закругления и прочие красивости делайте сами ;) Вёрстка, кстати, валидная. XHTML 1.1, CSS 2.1.

Просто выбираешь сторону и ширину боковой панели и размеры шапки/подвала. Получаешь zip-архив с html и css.

Пользуйтесь с удовольствием ;) Написан на PHP 4.

P.S. Главное предназначение — экономия времени, поэтому и «Я умный».

Google Scholar без платных ссылок

Reading time1 min
Views1.2K
Сервис Google Scholar удобен для поиска научных статей на английском (и прочих) языках. Для полноценной научной работы просто необходим.
Но есть в нем небольшая особенность, которая в российских условиях становится серьезной помехой, это — выдача ссылок на платные ресурсы. Например, по запросу: suffix sorting вся верхушка — платная.
В европейских/американских университетах при наличии подписок проблемы нет. А для нас, увы.
На сайте «Хаос. Нелинейная динамика» сделан метапоисковик PDF Science Search, который фильтрует такие ссылки, а заодно и недействительные ссылки, а также гарантированно дает ссылки на полные документы, а не аннотации.
Да, еще этот метапоисковик ищет по Яндексу и Рамблеру.

YouTube EDU — обучающие видеоматериалы из колледжей и университетов

Reading time1 min
Views3.6K


26 марта 2009 года на youtube открыли раздел YouTube EDU, в котором собраны лучшие обучающие видеоматериалы (в основном — лекции и обучающие материалы из колледжей и университетов).

Среди лидеров просмотров: MIT, Stanford University, индийские универститеты.

Представлены целые курсы в виде плей-листов: курс линейной алгебры, введение в биологию, принципы цифровых коммуникаций и многие другие.

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

Upd. Еще один подобный ресурс — academicearth.org (Женя Теплов, спасибо!)
Upd2. University of Washington, Engineering & Computer Science (YasonBy, спасибо!)

Модели искусственной жизни. Часть 1

Reading time5 min
Views8.9K
Сразу к делу. К чему может привести изучение ИЖ? Как практически применить знания, полученные в данной области? Учёные, работающие по этому направлению, говорят, что их исследования направлены именно на практические приложения, такие как подвижные роботы, медицина, нанотехнология, искусственный интеллект, и даже исследования социальных и экономических систем. Но в истории искусственной жизни было довольно много споров и противоречий. Многие скептики критикуют некоторые работы по искусственной жизни, называя их «наукой без фактов». Однако последние публикации по искусственной жизни свидетельствуют о том, что технологии, используемые для моделирования искусственной жизни, признаются научным сообществом, по крайней мере, для изучения эволюции.

Основной проблемой ИЖ является создание вычислительных систем и моделей, действующих на базе биологических и эволюционных принципов. Проще говоря, это «мир, созданный человеком». Но до определённого времени работа в данной области ограничивалась лишь теоретическими исследованиями свойств жизни. А моделирование — лишь построением отдельных частей биологических систем, таких, например, как адаптивное поведение или эволюция. Но в последнее время, во многом благодаря развитию нанотехнологий и молекулярной биологии, а также благодаря возросшему пониманию назначения отдельных генов и способов их взаимодействия и появлению средств манипуляции отдельными молекулами, развивается новое направление ИЖ, направленное на создание новых, искусственно синтезированных биологических форм, что требует философского обоснования ИЖ и, как минимум, определения понятия «жизнь» (что же вообще понимать под этим словом). Сегодня сторонники данного направления говорят, что они исследуют более общие формы жизни, чем те, которые существуют на Земле.
Интересно, а что же дальше...

Как научить ИИ делать продуманные ошибки

Reading time3 min
Views1.8K
Разработчики компьютерных игр подняли интересную тему для обсуждения: как повысить реалистичность искусственного интеллекта, который действует безошибочно. Проблема в том, что во многих компьютерных играх правильный ход или решение просчитывается слишком просто для мощнейших процессоров современных ПК. Например, в виртуальном бильярде компьютер никогда не ошибается и всегда рассчитывает идеальную траекторию шара. Такая же плачевная ситуация в шахматах.

Самый простой способ оглупить ИИ — граничить его вычислительные ресурсы. Конечно, программа сразу станет играть хуже. Для того же бильярда есть следующий вариант: добавлять к удару по правильной траектории случайную погрешность. Но проблема в том, что это снижает реализм игры. В этом случае компьютер начинает делать слишком глупые ошибки. Такие глупые, каких человек никогда бы не сделал.

Другими словами, обычное ухудшение качества игры ИИ не является достаточно реалистичным. Оно не доставляет удовольствия игроку.

Из этого положения есть один выход. Нужно сделать так, чтобы компьютер играл в полную силу, но при этом сдавал игру. Как в спорте — ряд мелких, на первый взгляд, случайных просчётов, которые ведут к проигрышу или значительно увеличивают шансы противника. То есть ИИ должен делать умные, продуманные ошибки.
Читать дальше →

Издание собственной книги: от А до Я

Reading time7 min
Views3.1K
Разгони свой сайтПосле заметки о выходе книги «Разгони свой сайт» ко мне обратились с просьбой осветить процесс публикации собственного издания. Не скажу, что описанные ниже действия были простыми и очевидными: в ходе возникло масса вопросов, на которые я с трудом мог ответить самостоятельно, поэтому приходилось искать совета буквально везде.

Предыстория


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

Если у вас нет четкого плана изложения материала, то лучше вообще не начинать сам процесс написания. В таком случае он может стать долгим, мучительным, а результат совершенно не удовлетворит потенциальных читателей.
Читать дальше →

Шифрование с использованием PGP

Reading time4 min
Views12K

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

Сейчас в несколько этапов проходит обучение коллектива азам работы с программой gpg. Решение использовать для шифрования почтовой переписки, файлов утилиту GnuPG принято из-за ее доступности в различных дистрибутивах Linux. Вы спросите — чего Linux делает в предприятии. Я отвечу так — в следствии упорной 3-х месячной работы сеть из порядка 200 пк была с 90%-ым успехом переведена на linux, о чем я возможно расскажу немного позже.
Читать дальше →

Мышь, которая притворяется ручкой

Reading time1 min
Views2.2K
В дизайне компьютерной мыши трудно придумать нечто концептуально новое. Но японцам это удалось. Специалисты по эргономике из японской компании Elecom породили на свет мышку особой формы, которая помогает вашим пальцам принять положение, привычное для хвата обычной шариковой ручки (ну хотя бы приблизить пальцы к этому положению). На иллюстрации сравнивается положение пальцев при хвате обычной ручки и новой мыши Scope Node M-SN1UL.



Инженеры специально вынесли одну кнопку вперёд и опустили её ниже, чтобы указательный палец опустился вниз, а средний палец отодвинулся назад. Слева на мышке утолщение, чтобы и большой палец тоже отодвинулся. Считается, что такое положение пальцев более привычно человеку, умеющему писать от руки. Соответственно, работать с такой мышкой проще и удобнее, а рука меньше устаёт.
Читать дальше →

uimge — консольная утилита для заливки на хостинги.

Reading time3 min
Views573
Решил поделиться своей небольшой и скромной разработкой.
А именно — консольная утилита для пакетной заливки или интеграции в различные скрипты по UNIX way.
И еще она может работать как модуль для python.
Хелп к программе:

Usage: python uimge.py [-r|-u|-i|-o|-v|-s] картинка

Options:
--version show program's version number and exit
-h, --help show this help message and exit

Основные опции:
-r, --radikal Залить на radikal.ru
-u, --funkyimg Залить на funkyimg.com
-i, --ipicture Залить на ipicture.ru
-o, --opicture Залить на opicture.ru
-v, --savepic Залить на savepic.ru
-s, --smages Залить на smages.com
Читать дальше →

Limbo

Reading time5 min
Views5.7K
Поскольку меня Inferno привлекает именно как среда разработки, то помимо архитектуры самой системы немалое значение имеет язык программирования.

По большому счёту мне давным давно пофиг, на каком языке писать (я программирую с 1989 года, и за это время перепробовал кучу языков). Но… всё таки на одних языках работать приятнее, чем на других — и здесь дело не в том, что одни языки лучше других, а в том, что для разных стилей мышления лучше подходят разные языки.

Переход от Perl к Limbo — очень контрастный. Языки совершенно разные: Perl — не типизированный вообще, Limbo — сильно типизированный; в Perl нет нормальной поддержки нитей и асинхронности приходится добиваться через мультиплексирование, Limbo — чуть ли не вынуждает писать именно многопоточные программы (если вы смотрели презентацию Роба Пайка, то там был прикольный пример с многопоточным поиском простых чисел); etc. И, тем не менее, Limbo мне очень понравился и писать работающий код я на нём начал практически сразу.

Я уже не очень хорошо помню C, но попробую описать Limbo именно в плане отличий от C — думаю, так будет проще для большей части аудитории (и ни слова про PHP! :)).
Читать дальше →

Information

Rating
Does not participate
Location
Львов, Львовская обл., Украина
Date of birth
Registered
Activity