Search
Write a publication
Pull to refresh
7
0
Виктор Наумик @vicnaum

User

Send message

Алгоритмы выделения контуров изображений

Reading time4 min
Views171K
В свете недавних статей об обработке изображений я хотел бы немного рассказать об алгоритмах выделения контуров: методы Робертса, Превитта и Собеля (эти методы взяты для рассмотрения как самые известные и часто используемые).

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

Apple Developers Community #3 — GameDev

Reading time2 min
Views5.9K
В Питере наконец-то заканчиваются лютые морозы и мы выходим из зимней спячки. Встречайте весну вместе с Apple Developers Community!
image
3 марта в 19:00, когда безошибочный (за 2 недели-то) гисметео обещает нам 0 на градуснике, мы встречаемся в новом месте, в самом сердце Санкт-Петербурга, чтобы послушать интересные доклады о разработке под iPhone и iPad, обменяться опытом, завести полезные контакты и просто хорошо провести время.

Третью встречу мы решили посветить таинствам разработки самых популярных приложенией в AppStore — играм.

А пока вы регистрируетесь, под катом я расскажу подробнее о докладах.
Читать дальше →

Google может убрать адресную строку в Chrome

Reading time4 min
Views21K
Google работает над «основным» тщательным пересмотром пользовательского интерфейса (UI), своего браузера Chrome. Cреди возможных вариантов изменений, является исключение адресной строки (URL bar), которое может быть наиболее значительным изменением в пользовательский интерфейсе веб-браузера с момента его изобретения. Другая особенность, которая, кажется, уже одобрена является поддержка нескольких профилей пользователей, которые могут использоваться параллельно.

Браузер Chrome, а также интерфейс Chrome OS могут постигнуть некоторые большие изменения в ближайшем будущем. Гуглер Джеф Чанг (Jeff Chang ) сказал, что разработчики Chrome предпринимают «ряд UI/frontend» изменений по этому поводу. Он намерен предоставлять еженедельные сводки о ходе работы, «пригодных для общественного потребления.»
Читать дальше →

О структурном программировании

Reading time2 min
Views15K
Многие в комментариях к посту об операторе goto высказывали одно и то же мнение, которое звучит примерно так: «За n лет написания программ мне ни разу не понадобился goto, и использовать его в будущем я тоже не собираюсь». И они абсолютно правы, уже давно доказана теорема о структурировании, в которой говорится, что любая простая программа функционально эквивалентна структурированной программе составленной с использованием функций и предикатов исходной программы, а также с использованием дополнительного счетчика. Доказательством является алгоритм составления той самой структурированной программы:
  1. пронумеровать все узлы схемы, при этом порядок обхода произвольный;
  2. пронумеровать все дуги схемы следующим образом: выходной дуге схемы припишем номер 0, всем остальным дугам присвоим номер вершины, в которую данная дуга входит;
  3. для каждого функционального узла исходной программы, имеющего номер i и выходную дугу j, составить новую простую последовательную программу Gi с номером входной дуги i
  4. для каждого предикатного узла с номером i составить новую простую программу
  5. построить программу типа while do с do-частью в виде структры, проверяющей значения L.

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

Детектирование округлостей на изображении (на примере микрофотографий)

Reading time3 min
Views18K
Всем привет! По своей профессии (строго говоря- будущей профессии) я вообще-то химик. Относительно недавно появилась интересная работа и объявилась необходимость много работать с цифровым микроскопом, делать большое количество фотографий и определённым образом их обрабатывать. А именно: находить линейные размеры частиц (чаще круглой формы и изначально- на глаз) и скрупулёзно заносить их в лабораторный журнал.
Неудивительно, что после первой же сотни изображений я крепко задумался о хоть какой-нибудь автоматизации этого процесса, но была одна загвоздка: я прекрасно знал, что «объектно-ориентированное программирование — это очень хорошо», но… Но я на тот момент владел только школьным TurboPascal, университетским VB и быдлокодингом на PHP в процедурном варианте. Потыкавшись по форумам, и учтя факт, что за день я успеваю поработать как минимум на двух ОС (Mac/Windows/Ubuntu существуют в эйфорическом симбиозе), я особо не задумывался и решил писать на Java.
Опуская подробности примерно недельной, в свободное от работы время, долбёжки своей головы об объектно-ориентированную парадигму программирования и бессонных ночей с мыслями наподобие «да как же, блин, это работает», я постараюсь максимально вкратце рассказать о том простом и быстром «алгоритме», который у меня родился. Стоит сразу сказать, что он годится только для достаточно четких изображений.
А вот, кстати, и типичный представитель (вернее, его примерно десятая часть), которого нужно обработать:


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

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views317K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

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

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.

Любовь и секс в поисковых запросах или «Не хочу учиться, хочу жениться!»

Reading time3 min
Views26K
В рамках пятничного фана мы решили рассказать вам о нашем поисковом исследовании ко дню всех влюбленных. Нам стало интересно, что же наши пользователи думают о любви. Мы вооружились методикой анализа долгосрочных логов, о которой мы рассказывали месяц назад и выяснили, например, что пикап приводит к свадьбе на 30% быстрее, чем классические знакомства. А еще нам удалось посчитать, сколько людей женятся «по обстоятельствам», а сколько – по любви. Или какие шансы, что ваш курортный роман закончится серьезными отношениями. Или стоит ли идти с девушкой в театр сразу после знакомства.
Читать дальше →

Впечатления от общения с людьми-роботами

Reading time4 min
Views2K

Нередко в жизни бывает, что когда пытаешься решить какой-то вопрос, то попадаешь на людей-роботов и добиться того, что тебе нужно, практически не получается. Понятно, что «успешность» человека определяется как раз тем, умеет ли он даже в таких ситуациях получать, что ему нужно или нет. Но, тем не менее, проблема с людьми-роботами скорее всего реально существует. Под катом пара наблюдений натуралиста за роботами в их естественной среде обитания. Думаю, читатель легко сможет вспомнить свои аналогичные примеры.

Я опишу два свежих примера, относящиеся к общению с такими людьми из компаний «Parasoft» и «Лаборатория Касперского». Цель поста не пожаловаться на мир, как кому-то может показаться, а привлечь внимание к проблемам, когда из-за того, что на определенной должности находится человек-робот, какие-то вопросы не решаются. Причем я думаю из-за этого нередко теряет не только клиент/покупатель/пользователь, но и та сторона, которую представляет человек-робот в качестве интерфейса.
Читать дальше →

Китайцы — они такие китайцы

Reading time10 min
Views63K
Сей пост навеян неожиданным для меня интересом хабранаселения к посту уважаемого Milfgard из Мосигры про производство в Китае. Дело в том, что один из моих интересов как раз в производстве батарей – Denaq. И производство расположено ну конечно же в Китае. Я не стану рассказывать про организацию производства, там свои замечательные фокусы есть. Я расскажу именно про заказ чего-то под себя и покупку всякого опта. Что-то вроде алгоритма украшенного реальными историями из личного опыта. Это все будет про электронику, так как я сам именно ею занимаюсь. Истории и иллюстрации я буду выделять курсивом. Кому скучно читать общие выводы – читайте только их.
Читать дальше →

Оценка вредоносности файлов с помощью песочниц: Часть 1. Онлайн-сервисы

Reading time6 min
Views33K
В практике исследования исполняемых файлов с возможным вредоносным функционалом имеется богатый арсенал инструментария — от статического анализа с дизассемблированием до динамического анализа с отладчиками. В настоящем обзоре я не буду пытаться дать информацию по всем возможным приёмам, поскольку они требуют некоторых специфических знаний, однако я хотел бы вооружить неискушённого пользователя набором приёмов, которые позволяют довольно быстро провести анализ неизвестного файла.

Итак, ситуация: у нас есть странный файл с подозрением на вредоносность, при этом существующий мультисканеры типа VirusTotal не дают никакой информации. Что же делать?
Читать дальше →

Защита идеи: типичные заблуждения

Reading time3 min
Views12K
Уважаемый Хабрахабр вновь обсуждает, нужно ли защищать идеи и как это делать. RMA решила предоставить слово профессиональному юристу и преподавателю программы «Менеджмент в сфере интернет-технологий» Павлу Шинкаренко. Под катом — разбор нескольких «граблей», на которые многие почему-то натыкаются.
Читать дальше →

Как воруют данные с банкомата

Reading time2 min
Views21K
Одним февральским днём, пользователь славного банкомата славного американского Bank of America в Калифорнии обнаружил странное серебристое устройство из оргстекла, приделанное к слоту приёма карт. Устройство напоминало специальную заглушку от воровства карт.

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

Учимся правильно бенчмаркать 2: как компилятор бьет в спину

Reading time5 min
Views1.7K
Получить годные цифры бенчмарка это полдела, однако вторая половина их правильно интерпретировать, узнать что-то новое, и суметь применить. 100x отличия промеж дебажным и нормальным билдом удивили, решил копнуть глубже. По итогам получше узнал, что происходит в дебаге; поискал отличия между 2005 и 2008 студией (не нашел); выяснил, как ускорить дебажный билд в 3 раза за пару минут (ставим блок против удара в спину); методом «взять и запустить» получил результаты, отличающиеся от авторских в 3.5 раза (адская сила x64 в действии!); и для смеха замерил плохой, негодный недовектор против хорошего (плохой оказался до 100 раз быстрее). Подробности под катом.
Читать дальше →

Китай: как заказывать производство или поставку

Reading time7 min
Views188K
Его зовут Плюштой У китайцев можно заказать всё, что угодно: от электронных компонентов до корпуса к устройству или хендмейд-штук. При правильном подходе это дешево, качественно и позволяет реализовывать любые заказы, которые часто сложно разместить на территории СНГ.

В топике — основы аутсорсинга производства в Китай:
  • Как выбрать производителя и сделать заказ
  • Как убедиться, что сделают именно то, что вам нужно
  • Про предоплату, документы, гарантии
  • Как наиболее выгодно доставить
  • Что делать с потерянными поставками
  • Грабли в ассортименте

Да, если же вы уже заказывали в Китае, то ничего шокирующе-нового в топике вы не найдёте (и, может быть, порадуетесь за то, как нас красиво однажды развели).

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

100 пользователей действительно генерируют 75% трафика в P2P-сетях

Reading time2 min
Views1.6K
Примерно месяц назад было опубликовано странное исследование, из которого следовало что 100 самых активных пользователей генерируют 66% всех загрузок и 75% всех скачиваний с торрентов, причём делают это ради финансовой выгоды.

Естественно, такое исследование вызвало массу вопросов, так что его авторов нашли и допросили, то есть взяли интервью. Оказывается, это не какое-то бредовое исследование, а серьёзный научный проект, над которым уже полгода работают учёные из Испании, Германии и США. Они проанализировали 50 000 торрентов с трекеров Pirate Bay и Mininova.
Читать дальше →

Изоляция служб в Windows

Reading time5 min
Views42K
Как известно, службы Windows представляют собой одно из наиболее излюбленных мест для атак на операционную систему. В худшем (для нас, конечно) случае атакующий получает возможность действовать на атакованном компьютере в контексте учетной записи, от имени которой запущена взломанная служба. И если эта учетная запись обладает административными правами, то фактически злоумышленник получает полный контроль над компьютером. От версии к версии в Windows появляются новые механизмы, обеспечивающие дополнительную изоляцию служб и, как следствие, усиливающие безопасность системы в целом. Я хотел бы вкратце рассмотреть, что принципиально изменилось в этом направлении за последние несколько лет.
Читать дальше →

2 заброшенных проекта

Reading time2 min
Views746
image
Крыс — персонаж для музыкальной энциклопедии.
В этом посте я расскажу о двух проектах, которые так и не были запущены мной в прошлом году, а вы можете позаимствовать идеи или просто вновь вспомнить об одних популярных граблях.
Читать дальше →

MindDecider. Сколько стоит ваше решение?

Reading time3 min
Views2K

Ситуация


Принятие решений

Ежедневно каждый из нас принимает решения. Принятие решений — это один из важнейших видов деятельности человеческого мозга и большая проблема на пути создания искусственного интеллекта.
Решение – это процесс и результат выбора цели и способа действий. У решения можно выделить:
  • Стоимость (затраты) решения — негативные факторы, связанные с решением.
  • Выгода (выгодность, прибыль) решения — соответственно, позитивные факторы, связанные с решением.
  • Цена решения — соотношение стоимости и выгоды, при которых решение принимается.
Большинство решений принимаются человеком спонтанно, то есть без анализа ситуации. Причиной этого является сильное преобладание выгодности решения над стоимостью. В этом случае «анализ ситуации» несет в себе дополнительные затраты. Однако, при повышении стоимости или уменьшении выгодности решения внимание человека к ситуации увеличивается.
Читать дальше →

«Атака на банк-клиент...». Взгляд со стороны работника банка

Reading time8 min
Views17K
Меня очень заинтересовала статья Атака на банк-клиент или Охота на миллион в связи с тем, что я явлюсь непосредственным участником процесса дистанционного банковского обслуживания (далее — ДБО) со стороны банка. Чуть позже появилась статья Кому я нужен?, поэтому мыслей на эту тему накопилось очень много и хочется поделиться со всеми (а еще я давно хотел зарегистрироваться, но подходящего момента не было). По возможности буду краток и не буду сыпать научными терминами.

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

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity