Search
Write a publication
Pull to refresh
31
0
Александр Лотохов @olekl

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

Send message

Программный захват с вебкамеры

Reading time4 min
Views131K
Недавно мне потребовалось получать данные с вебкамеры для автоматической их обработки. Перебрав несколько программок, обнаружил, что ни одна из них не позволяет рулить камерой программно — только формы да кнопки, в лучшем случае есть планировщик записи, но для этого приходится постоянно держать программу запущенной. Плюс не кросплатформенно, привязка к конкретному ПО в проекте. Решение — задействовать любимый язык программирования.
Читать дальше →

Чек-лист эффективного вебинара

Reading time4 min
Views12K
Этот список поможет не упустить мелочи, из которых складывается впечатление о вашем вебинаре.

Начинать подготовку к мероприятию (особенно в первый раз) лучше минимум за месяц. Со второго-третьего раза вы уложитесь в две недели, но с каждым новым спикером (моя компания организовывает вебинары внутри услуги «iБрендинг») мы закладываем на подготовку месяц. Это лучше, чем переносить вебинар из-за того, что мало слушателей. Речь, конечно, не о бесплатных мероприятиях, с ними все проще.
Читать дальше →

Как я покупал квартиру

Reading time11 min
Views62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →

Радиоэлектронный фриланс

Reading time10 min
Views118K
Окончив институт и устроившись на работу, я осознал, что совершенно не создан для офисной или выездной работы, четких распорядков, начальников и прочей рутины. А ходить на работу каждый день было ну совсем невыносимо. Хватило меня на пол года :) Потому, несмотря на не пыльную работу, весьма высокую зарплату, а по меркам вчерашнего студента, так вообще шикарную, я дождался первого же срача с начальством и красиво хлопнул дверью. С тех пор развлекаю себя сам и доволен жизнью. О нюансах вольной жизни бывшего фрилансера электронщика я и хочу поведать в этом посте.
Все нижеследующее это исключительно мой практический опыт и я не уверен, что у вас все получится именно так.

Бабло
Начну с самого интересного, с денег. Скажем так, под конец моей деятельности (примерно 2010), не особо напрягаясь, работая около двух-трех дней в неделю, можно было смело делать тысяч по 50-70 рублей. Это в Челябинске. Если работать каждый день, то легко было делать от 150 тысяч рублей в месяц и более, но я для этого был слишком ленив. А теперь по порядку.

Далее Война и Мир, написал как сумел

Как украсть миллион?

Reading time5 min
Views32K
0x00 Предисловие

В детстве мы смотрели фильмы Хакеры, Взлом, Пароль Рыба-меч, и прочие творения голливуда. Не смотря на юный возраст, вдохновившись мы искали информацию о хакинге, фрикинге везде где только было возможно. Помню тогда еще компакт-диски ходили с наборами выжимок с разных эхо-конференций. Осваивали программирование, постигали устройство IP-сетей, операционок и всяких железяк. Игры в промышленный шпионаж и прочие прелести детства. Мечта украсть миллион и желательно баксов с помощью компютеров прочно сидела в наших головах. Но… детство проходит, школа заканчивается, попытки собственного бизнеса, работа в различных телекоммуникационных компаниях, и вот уже желание своровать сформировалось в желание построить честный высокотехнологичный бизнес, что оказалось сложнее, и следовательно интересней. Однако, не зря говорят, возможность украсть создает преступника.
Читать дальше →

Clang API. Начало

Reading time11 min
Views35K
Сейчас с уверенностью можно утверждать, что времена самописных C++-парсеров постепенно отходят в прошлое. На сцену медленно, но неумолимо выходит clang — полноценный C++-фронренд и компилятор, предоставляющий своим пользователям богатое API. С помощью этого API можно распарсить исходный текст на C/C++/Objective C, и вытащить из него всю необходимую информацию — от простого лексического значения токенов, до таблицы символов, AST-деревьев и результатов статического анализа кода на предмет всяких разных проблем. В связке с llvm и при сильном на то желании C++ можно использовать в качестве скриптового языка, парся и исполняя C++-программы «на лету». В общем, возможности перед программистами открываются богатые, надо только понять — как ими правильно воспользоваться. А тут, как это не редко случается, и начинается самое интересное.
Читать дальше →

Шаблонные сайты VS эксклюзивные сайты

Reading time5 min
Views62K


Говоря о шаблонных сайтах, мы нередко слышим, что такие проекты не живут дольше нескольких месяцев. Потенциальные клиенты, услышав слово «шаблонный», не хотят продолжать разговор и делают обиженные лица. Студии, которые делают «шаблонные» решения – часто лишены должного уважения в профессиональном сообществе. И, наконец, сайты, которые дешевле 20 000 руб часто называют, простите, «говносайтами». Вы тоже так думаете? Давайте разберемся насколько это действительно так и восстановим мировой баланс (если он существует).
Читать дальше →

Карта Интернета

Reading time3 min
Views20K
Привет всем!

Хочу представить вам Карту Интернета или результат кластеризации более чем 350 тысяч сайтов в соответствии с переходами пользователей между ними. Размер круга определяется посещаемостью сайта, цвет – национальной принадлежностью, а положение на карте – его связями с другими сайтами. Если два сайта имеют стабильный поток пользователей между ними, то они будут «стараться» расположиться ближе друг к другу. После завершения работы алгоритма, на карте можно наблюдать скопления сайтов (кластеры) объединенные общими пользователями.

image

Например, если ввести в поиск habrahabr.ru, то можно увидеть, что dirty.ru и leprosorium.ru в том же «созвездии», а еще подальше livejournal.ru. Это говорит о том, что тот, кто сейчас читает этот текст, также с высокой вероятностью посещает эти сайты (относительно усредненного пользователя Рунета конечно).

Еще более интересный пример кластеризации можно увидеть внизу карты, между фиолетовой Японией и желтоватой Бразилией: там расположилась целая порнострана по размерам сопоставимая со всем Евронетом. Интересно, что будучи достаточно компетентным в рассматриваемом вопросе, внутри большого порнокластера можно различить тематические подкластеры меньшего размера.

Тем, кого интересует краткое техническое описание – добро пожаловать под кат
Читать дальше →

Как накосячить с типографией: подборка работающих способов

Reading time7 min
Views120K

Тут наверняка есть косяки, просто мы ещё не открыли коробку

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

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

Групповые сопротивления

Reading time12 min
Views27K
Многие менеджеры в приватных беседах жалуются на сотрудников. Вроде бы и знающие специалисты, а работу не работают. Более того — часто отнимают время у тех, кто таки работает. Хоть увольняй.
Многие родители жалуются на что-то подобное в отношении детей. И тут уволить уже нельзя.
И сотрудники, и дети, часто действуют похожими способами. Реализация разная, а виды действий — схожие:

  • Привлечение внимания
  • Борьба за власть
  • Месть и личные нападки
  • Беспомощность
image
У каждого из этих видов есть свои формальные признаки и стандартные лекарства.
Читать дальше →

Как распознать кракозябры?

Reading time1 min
Views433K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.

Восстановление расфокусированных и смазанных изображений. Практика

Reading time10 min
Views358K
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.

В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →

Ремесло программиста. Золотые правила

Reading time14 min
Views29K
imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста».

Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться.
Читать дальше →

Три возраста паттерна Singleton

Reading time5 min
Views96K
Паттерн Singleton появился, пожалуй, как только появились статичные объекты. В Smalltalk-80 так был сделан ChangeSet, а чуть в самых разных библиотеках стали появляться сессии, статусы и тому подобные объекты, которых объединяло одно — они должны были быть одни-единственные на всю программу.

В 1994 году вышла известная книга «Паттерны проектирования», представив публике, среди 22-х прочих, и нашего героя, которого теперь назвали Singleton. Была там и его реализация на C++, вот такая:
Читать дальше →

Изучить Github за 15 минут

Reading time1 min
Views127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.

Коаны о программировании

Reading time4 min
Views36K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


Три дня и три ночи мастер не появлялся из своей кельи. На четвертый день монахи отправили послушника проведать его.

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →

OpenROV — подводный робот (open source)

Reading time1 min
Views17K
Всего один день понадобился разработчикам подводного робота OpenROV, чтобы собрать через Kickstarter необходимые им $20 тыс. для начала производства конструктора.



В этом нет ничего удивительного: проект действительно уникальный. Только представьте: любой желающий может купить набор комплектующих и собрать собственную подводную лодку. Как вариант, детали можно выточить самому, схема сборки и чертежи опубликованы в свободном доступе: детали, софт на github.
Читать дальше →

Вы все еще считаете, что воткнуть пару проводков в Arduino это DIY?

Reading time4 min
Views58K
На днях, товарищу SWG, модератору моего форума, матерому электронщику с сорокалетним, как минимум, стажем пришло ностальгическое настроение и он начал выкладывать архивные фотки своих конструкций из 80х. А после и остальные подтянулись. Мимо такой прелести я пройти не смог и позволил себе сделать небольшую компиляцию олдового тру-хардкора эпохи тотального DIY.

SWG:
«Комп, сделанный по мотивам МИКРО-80 из Радио 83г, совместимый с ним программно и аппаратно, хотя и сделанный по-своему… Из того, что удалось достать.

Например, системная шина была не на двунаправленных буферах, а с открытым коллектором (ну, не было еще тогда у меня 589АП16 и АП26). Да и схемы почти всех модулей пришлось делать по своему.Тем не менее — все работало. И все позже публиковавшиеся программы в Радио, и даже для появившейся позже РК-86 и Микроши — удалось под свою адаптировать. Ну, и сам кое — что уже писал. На Асме, на Бэйсике.


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

Контракты vs Юнит тесты

Reading time5 min
Views7.9K
DISCLAIMER: Эта заметка подразумевает наличие у читателя базовых знаний о юнит тестах, в чем автор этих строк не сомневается, а также базовых знаний о проектирование по контракту, которые можно пополнить начиная отсюда.

На одном из выступлений, посвященных проектированию по контракту, один из моих коллег задал вполне резонный вопрос о связи контрактов и юнит тестов. Постусловия в контракте класса, как и юнит тесты говорят о гарантиях класса перед его клиентами, а поскольку юнит тесты являются в этом вопросе более мощным механизмом (сложные постусловия выразить в виде контрактов не всегда просто, а иногда и невозможно), то возникает вопрос о необходимости постусловий.

Итак, давайте вкратце рассмотрим, в каком именно месте находится пересечение контрактов и юнит тестов, и постараемся ответить на вопрос: являются ли постусловия избыточными при наличии юнит тестов?

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

Frustro: невозможный шрифт

Reading time1 min
Views13K


Венгерский дизайнер Марци Хегедус (Martzi Hegedűs) создал оригинальный шрифт Frustro, который основан на идее невозможных фигур — одного из видов оптических иллюзий. Как и классический треугольник Пенроуза, буквы этого шрифта можно представить направленными или в одну, или в другую сторону, и для них невозможно создать 3D-модели.
Читать дальше →

Information

Rating
Does not participate
Location
Словения
Date of birth
Registered
Activity