Pull to refresh
66
0.1
Павел Кириенко @Spym

Архитектор

Send message

Алгоритм TILT или нестандартное использование ранга матрицы

Reading time3 min
Views28K
Сегодня мы рассмотрим алгоритм TILT (Transform Invariant Low-rank Texture) и множество его методов применения в области Computer Vision. Статья будет нести несколько обзорный характер, без плотного углубления в математические дебри.

Читать дальше →
Total votes 71: ↑71 and ↓0+71
Comments9

Без запаха фильтрации и нелинейного оценивания*

Reading time9 min
Views36K
image * от англ. «unscented filtering and nonlinear estimation» (by Переводчик Google)
По просьбе dmitriyn решил опубликовать свое видение на так называемый «Unscented Kalman filter», который является распространением линейной фильтрации Калмана на случай, когда уравнения динамики и наблюдения системы нелинейны и не могут быть адекватно линеаризованы.
Как название данного метода фильтрации «кошерно» удобочитаемо переводится на русский я пока не знаю, что отражено в названии статьи, поэтому решил просто скопипастить довольно забавный, на мой взгляд, машинный перевод. Еще одна забавная версия перевода — нечуткий фильтр.
Под катом моя попытка по-простому рассказать про UKF
Total votes 32: ↑27 and ↓5+22
Comments12

Лицензия для вашего open-source проекта

Reading time98 min
Views186K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments117

Идеальная передача и универсальные ссылки в C++

Reading time9 min
Views159K
Недавно на isocpp.org была опубликована ссылка на статью Eli Bendersky «Perfect forwarding and universal references in C++». В этой небольшой статье есть простой ответ на простой вопрос — для решения каких задач и как нужно использовать rvalue-ссылки.
Узнать этот ответ
Total votes 56: ↑56 and ↓0+56
Comments28

Уютный книжный пост для вас и вашего проекта

Reading time8 min
Views131K
Как заработать миллион за день, стать искусным оратором за неделю, похудеть на 100 кг за 2 дня, стать успешным в тысяча ста начинаниях и прочая мишура регулярно засоряет наше информационное пространство. А порой так хочется взять в руки книгу, которая не просто съест кусок вашего свободного времени повествуя о неприменимых в отечественных реалиях вещах, но и подкинет хотя бы несколько полезных советов, способных оказать позитивное влияние на развитие вашей личности и вашего проекта.

Если вы хотите найти и/или поделиться хорошими книгами, добро пожаловать под кат.

image

Читать дальше →
Total votes 76: ↑62 and ↓14+48
Comments45

Почему буфер должен расти экспоненциально

Reading time2 min
Views27K
Сотрудник Mozilla Николас Нетеркот опубликовал заметку с очень чётким объяснением, почему размер буфера памяти для программы нужно увеличивать экспоненциально, а не линейно.

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

Так вот. Представим, что наш изначальный 1-байтный буфер растёт по 1 байту до тех пор, пока не достигнет размера 1 МиБ. Сколько памяти мы задействовали для него кумулятивно?

1 + 2 + 3 + … + 1,048,575 + 1,048,576 = 549,756,338,176 байт

Неслабо, да?
Читать дальше →
Total votes 58: ↑46 and ↓12+34
Comments50

Увеличиваем новый таможенный лимит в 6,(6) раз

Reading time2 min
Views174K
image

Есть еще люди в селениях, которые получают рассылку от динозавра mail-forwarding'а — Shipito. Недавно их CEO — Джон Ванхара — развел руками перед грядущим приговором всем «пересыльщикам и доставщикам», о чем на хабре уже написали.

К сожалению, а может и к счастью, Джон не смог адаптироваться к быстро меняющемуся рынку интернет-доставки, в итоге Шипито сейчас пользуются лишь крайне инерционные люди, остальные же успели перейти к форвардерам с русскими корнями.
Ну а наши соотечественники не подкачали! Как многие уже могут знать, компания Shopfans анонcировала новый метод доставки Алтын-Экспресс с уже привычным лимитом €1000 через Казахстан.

Мне удалось взять небольшой комментарий у основателя сервиса, и вот, что он рассказал
Читать дальше →
Total votes 142: ↑134 and ↓8+126
Comments80

Любительская астрономия: взгляд изнутри сообщества на хобби и грабли новичков

Reading time24 min
Views101K
Извиняюсь, если зря поместила пост в хаб космонавтики: к сожалению, хаба с названием «космос» или подобного не нашла. Так же извиняюсь за некоторое количество саморефлексии в трех следующих абзацах, но саморефлексия необходима, так как пост является критическим по отношению к нескольким ранее опубликованным, и за опечатки, которые наверняка присутствуют в моем посте (но будут исправляться по мере того, как я буду их замечать).

На написание своего поста меня сподвигла серия таких:

А Вы подключали телескоп к компьютеру?
Айтишник на отдыхе: а как насчет телескопа?
Айтишник на отдыхе: добавим немного астрономии?
Айтишник на отдыхе: прибамбасы к телескопу

Спасибо большое авторам, что они популяризируют любительскую астрономию, но при чтении этих постов у меня несколько раз от неудобства и стыда сжимались пальцы на ногах.
Может быть, это не так и важно: В конце концов, Хабрахабр это ресурс ИТ-ков, а любительская астрономия это всего лишь хобби, и каждый занимается хобби так, как ему нравится. А может, нет, и критиковать, поучать, как заниматься хобби можно?

Это пост про грабли, на которые Вы скорее всего наступите, если увлечетесь таким красивым, романтичным, но сложным хобби. Мой пост не является очень популярным, он рассчитан на человека, который уже хоть что-то почитал (например, вышеозначенные посты, которые мне не понравились, хотя авторам я все равно поставила плюс в карму за популяризацию). В посте могут встречаться непонятные термины. Если Вас это напрягает, пожалуйста, не читайте.

Для затравки анекдот.
Приходит в магазин телескопов покупатель, и спрашивает:

— А можно у Вас купить телескоп за три тысячи рублей?
— Ну… можно, но линзы будут пластмассовыми, и лучше не стоит, возьмите вот лучше рефрактор за 6 тысяч. — Продавец показывает рукой на самый популярный среди школьников линзовый телескоп
— Хорошо, а можно купить телескоп за 25 тысяч? — Вопрошает покупатель
— Можно, — Отвечает продавец, показывая рукой на восьмидюймовый ньютон на EQ5 — это очень хороший телескоп для начинающих
— А в него можно увидеть плеяды сквозь облака? — спрашивает покупатель
— К сожалению, нельзя… — Качает головой продавец
— А есть телескоп за 100 тысяч? — Не унимается покупатель
— Да, вот — Продавец показывает на компьютеризированный и навороченный Nexstar 11SE
— А в него можно увидеть туманность Андромеды днём?
— К сожалению, нельзя, — качает головой продавец
— А зачем тогда он такой дорогой нужен?

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

«О каких граблях речь? Это же хобби! Им каждый занимается так, как ему нравится!» — Воскликнет скептик, и будет прав:
Например, ИТ-кам нравятся всякие высокотехнологичные жужжащие штуки, ну вот пускай и покупают мелкоскопчик с GoTo системой за ограниченный бюджет. Пусть мелкоскоп после наведения в точку на небе, где находится галактика «Игла» NGC 4565, такая красивая на фотографиях, со своими газопылевыми облаками не покажет ничего ни через окно кухни квартиры в центре Москвы, ни даже с застекленной и тёплой веранды дачи :) Главное, что мелкоскопчик жжужит, мигает красивыми красными огнями на пульте, и владелец оборудования доволен новым гаджетом и приощением к небу, сидя в тепле и комфорте, не так ли?

Или всё-таки не так? Если не так, добро пожаловать под кат. В противном случае, пожалуйста, не читайте мои многобукв про грабли, ведь в хобби наступление на грабли может быть даже своеобразным мазохизмом, и в чём-то быть приятным наступающему!

Читать дальше →
Total votes 100: ↑90 and ↓10+80
Comments226

Как была взломана Gamma International

Reading time12 min
Views87K
image

3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments28

Настройка GUI в линуксе для мониторов с High DPI

Reading time3 min
Views37K
В последнее время появилось достаточно много мониторов с высоким разрешением, 150 dbi и выше, особенно в ноутбуках. И при этом всё выглядит жутко маленьким.
Причина этого — система думает что у Вашего монитора разрешение 96..100 dpi.
Решать это только увеличением размера шрифта неправильно, т.к. размеры всех остальных элеменов интерфейса остаются маленькими. Надо чтобы графическая оболочка сама это делала.

Мне с решением этой проблемы пришлось весьма долго рыться в интернете, собирая мелкие заметки, т.к. не оказалось места где бы это можно было увидеть всё вместе.

Ниже будет идти список где что поправить, все параметры привожу для своего монитора — 13,3" при 2560x1600, это даёт 226 dpi. Более высокое разрешение сейчас я видел только в ноутбуке Fujistu U904 — 262 dpi.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments59

Как с большой вероятностью поступить в североамериканский ВУЗ

Reading time7 min
Views59K
Добрый день! Меня зовут Чингиз. По просьбе Csklassami постараюсь рассказать, как с большой долей вероятности поступить в североамериканский ВУЗ на бакалавра. Мне 17 лет и поступал я в этом году первый раз.



Скажу так: если вы пишете статьи на Хабре или с большим интересом их читаете, а главное понимаете суть, то, скорее всего, вы сможете поступить. Звучит, конечно, не очень правдоподобно, но вот в чем дело: в университетах США действует отличная от российской система приема. В американской системе, помимо результатов теста, университет интересуется вашими увлечениями. Для них важно, чтобы вы могли заниматься там научной деятельностью, были разносторонними.

Вот, например, цитата с официального сайта MIT для абитуриентов (undergraduate):

«The most important thing to remember is that at MIT we admit people, not numbers...».
«Очень важно понимать, что в MIT мы принимаем людей, а не цифры...».

В этом посте я опишу весь процесс поступления, начиная от выбора универов и заканчивая прохождением интервью, основываясь на своем личном опыте.
Читать дальше →
Total votes 59: ↑55 and ↓4+51
Comments28

[Перевод] Почему Go не так хорош

Reading time16 min
Views56K
Всем привет! Недавно вышел перевод статьи о том, как TJ Holowaychuk прощался с Node.js, решив двигаться в сторону Go. В конце статьи была ссылка на посвящённый сравнению и критике языка Go пост Уилла Ягера, который просили перевести — собственно, с результатами перевода я и предлагаю ознакомиться. Я пытался более-менее сохранить как многословный стиль изложения, присущий автору, так и оригинальную разбивку на предложения и параграфы.
Буду очень рад любым конструктивным замечаниям и предложениям по переводу, опечаткам и/или оформлению, но очень прошу помнить, что точка зрения переводчика может не совпадать с позицией автора переведённой статьи.
Читать перевод
Total votes 109: ↑93 and ↓16+77
Comments91

OMG Scala is a complex language!

Reading time5 min
Views19K
Я постоянно замечаю, что «О, святые небеса, Scala — это сложно!». Знаете, возможно это правда. Давайте попробуем посмотреть на эту сложность и пройтись по основным отличиям Scala от других объектно-ориентированных языков (например, Java или C++).

Подробности
Total votes 39: ↑26 and ↓13+13
Comments88

Знакомство с микроконтроллерами Renesas на примере линейки RL78

Reading time10 min
Views38K

 


Если среднестатистического русскоговорящего разработчика микроконтроллерной электроники попросить назвать 3–5 наиболее известных или крупных производителей микроконтроллеров, наиболее вероятно услышать в ответ такие имена как Microchip, Atmel, TI или STM. Кто-то назовет также NXP, Freescale, Samsung или Fujitsu. Но мало кто вспомнит про еще одного производителя, который на постсоветском пространстве почти неизвестен.


 


Речь идет о японской компании Renesas Electronics, которая, между тем, в своих годовых отчетах хвастается вот такой интересной инфографикой...


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments21

Новые возможности лямбд в C++14

Reading time4 min
Views35K
Всем известно, что функциональное программирование распространяется с быстротой огня по современным языкам программирования. Недавние примеры — Java 8 и C++, оба из которых теперь поддерживают лямбда-функции.

Итак, начнём (и да прибудет с нами веселье). Этот текст также доступен в виде слайдов на Slideshare. На написание этой статьи автор был вдохновлён создателем JSON Дугласом Крокфордом.

Функция Identity, которая принимает аргумент и возвращает тот же самый аргумент:

auto Identity = [](auto x) {
  return x;
};
Identity(3); // 3

Примечание переводчика: Новой по сравнению с C++11 является возможность не указывать названия типов.
Более интересные примеры
Total votes 44: ↑41 and ↓3+38
Comments45

О плохих словах, или Как написать текст, не сделав из него какашку

Reading time8 min
Views64K
Здравствуйте.
В первой части статьи я расскажу о некоторых стилистических «косяках», которые придают текстам характерный канцелярский унылый стиль. Вторая часть посвящена более серьёзной ошибке, которая, к сожалению, грозит в ближайшее время стать правилом.
Читать дальше →
Total votes 204: ↑180 and ↓24+156
Comments167

Использование GPIO из Python на Raspberry Pi

Reading time2 min
Views118K
Делюсь своим опытом, полученным при изучении задачи вынесенной в заголовок. В статье рассматриваются два варианта работы, которые можно использовать в Python-программах, обращающихся к портами GPIO Raspberry Pi.

Порты GPIO Raspberry Pi выглядят следующим образом:

image

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments4

Производство электроники в Китае — чего ждать?

Reading time6 min
Views12K
Рано или поздно любой «электронный» проект либо умирает (как вариант — впадает в кому «до лучших времен»), либо дозревает до стадии «опытного производства». Т.е. от собранных «на коленке» единиц приходит время переключаться на производство сотни-другой, а может даже и тысячи девайсов. И тут выясняется, что на территории нашей необъятной Родины с этим все ой как непросто.
Из чего состоит современное электронное устройство? Это одна или несколько смонтированных печатных плат, корпус и аксессуары (кабели, антенны и т.п.). Какие же на этом пути нас ждут приключения?
1. Нужно изготовить тираж печатных плат. Проблем тут обычно две: малый тираж и сложность изготовления. С малым тиражом мало кто хочет связываться (собственно, все дороги традиционно ведут в Резонит), и цены на таких тиражах обычно крайне негуманные. Но вот если вдруг ваша плата относится к категории «высокотехнологичных»(тм), т.е. она многослойная (6 и более слоев), да еще и с хитрыми микроотверстиями (например, HDI), то найти исполнителя в России становится как-то совсем уж тяжело.
2.Нужно найти комплектующие в необходимых количествах. Ну, здесь все как обычно — дорого и не всегда доступно в принципе. Вот, например, только что столкнулись с определенным дефицитом белых светодиодов от Cree нужного нам номинала… Собирали в разных конторах буквально по 2-3 штуки.
3. Поверхностный монтаж на тираже в 100-1000 плат. Только стоимость настройки SMD автомата (если уж кто-то вообще возьмется за такую «мелочь») делает этот процесс крайне небюджетным.
4. Изготовление корпуса. Корпус обычно пластиковый — т.е. доступны варианты (в обычном порядке возрастания цены за единицу) печати на 3D принтере, изготовление на станке с ЧПУ, литья в силикон или обычного литья (под давлением). В любом случае — те же проблемы, что и с печатными платами: дорого и тяжело найти исполнителя на небольшой тираж.
Как и многие другие до нас, наша компания в свое время подошла вплотную к решению всех этих проблем. И решать мы их стали с помощью китайских фабрик. Кому этот способ решения одних проблем и приобретения других интересен — добро пожаловать под кат.

Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments32

Введение в оптимизацию. Имитация отжига

Reading time10 min
Views186K
В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

Для понимания статьи Вам понадобятся минимальные навыки программирования и владение математикой на уровне 9 класса средней школы. Статья рассчитана на людей не знакомых с методами оптимизации или только делающих первые шаги в этом направлении.

image


Читать дальше →
Total votes 148: ↑138 and ↓10+128
Comments37

История тяжелого проекта: немного о бюрократии, инфраструктуре и процессе разработки ПО

Reading time7 min
Views37K

История тяжелого проекта: немного о бюрократии, инфраструктуре и процессе разработки ПО


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

Заказчик — довольно крупный инвестиционный банк. Число конечных пользователей: более 10 тыс.

Команда проекта
  • более 200 разработчиков (из них 31 тим лид, 7 мастер тимлидов)
  • 3 архитектора, один из них главный
  • 19 тестировщиков (1 лид, 2 на нагрузочных испытаниях, остальные на функциональном тестировании)
  • 5 системных администраторов, в зоне ответственности которых управление СУБД и выше. Администрирование ОС и аппаратной части в зоне ответственности специальной HW team
  • переменное число (от 2 до 16) аналитиков, работающих на part time
  • 12 технических писателей и переводчиков
  • 3 руководителя проекта, постоянно руководит один — второй и третий на подмене во время отпуска, болезни или выступают в качестве ассистента руководителя проекта когда активны и доступны.

Читать дальше →
Total votes 81: ↑74 and ↓7+67
Comments116

Information

Rating
3,224-th
Registered
Activity