Pull to refresh
3
0

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

Send message

Что нужно знать, чтобы быть синьором?

Reading time11 min
Views89K

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

Ну-ка, ну-ка...
Total votes 190: ↑172 and ↓18+154
Comments258

Краткое введение в цепи Маркова

Reading time16 min
Views190K
image

В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее двух десятков лет Google стал гигантом, и даже несмотря на то, что его алгоритм сильно эволюционировал, PageRank по-прежнему является «символом» алгоритмов ранжирования Google (хотя только немногие люди могут действительно сказать, какой вес он сегодня занимает в алгоритме).

С теоретической точки зрения интересно заметить, что одна из стандартных интерпретаций алгоритма PageRank основывается на простом, но фундаментальном понятии цепей Маркова. Из статьи мы увидим, что цепи Маркова — это мощные инструменты стохастического моделирования, которые могут быть полезны любому эксперту по аналитическим данным (data scientist). В частности, мы ответим на такие базовые вопросы: что такое цепи Маркова, какими хорошими свойствами они обладают, и что с их помощью можно делать?
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments11

Оптимизация поиска в ширину: как обработать граф с 10 миллиардами состояний

Reading time17 min
Views10K
image

Пару месяцев назад мне наконец пришлось признать, что я недостаточно умён, чтобы пройти некоторые уровни головоломки Snakebird. Единственным способом вернуть себе часть самоуважения было написание солвера. Так я мог бы притвориться, что создать программу для решения головоломки — это почти то же самое, что и решить её самому. Код получившейся программы на C++ выложен на Github. Основная часть рассматриваемого в статье кода реализована в search.h и compress.h. В этом посте я в основном буду рассказывать об оптимизации поиска в ширину, который бы потребовал 50-100 ГБ памяти, чтобы он уместился в 4 ГБ.

Позже я напишу ещё один пост, в котором будет описана специфика игры. В этом посте вам нужно знать, что мне не удалось найти никаких хороших альтернатив грубому перебору (brute force), потому что ни один из привычных трюков не сработал. В игре множество состояний, потому что есть куча подвижных или толкаемых объектов, при этом важна форма некоторых из них, которая может меняться со временем. Не было никакой пригодной консервативной эвристики для алгоритмов наподобие A*, позволяющих сузить пространство поиска. Граф поиска был ориентированным и заданным неявно, поэтому одновременный поиск в прямом и обратном направлении оказался невозможным. Единственный ход мог изменить состояние множеством несвязанных друг с другом способов, поэтому не могло пригодиться ничего наподобие хеширования Зобриста.

Приблизительные подсчёты показали, что в самой большой головоломке после устранения всех симметричных положений будет порядка 10 миллиардов состояний. Даже после упаковки описания состояний с максимальной плотностью размер состояния составлял 8-10 байт. При 100 ГБ памяти задача оказалась бы тривиальной, но не для моей домашней машины с 16 ГБ памяти. А поскольку Chrome нужно из них 12 ГБ, мой настоящий запас памяти ближе к 4 ГБ. Всё, что будет превышать этот объём, придётся сохранять на диск (старый и ржавый винчестер).
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments1

Доступно о кватернионах и их преимуществах

Reading time13 min
Views207K

От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.

Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.

$i^2=j^2=k^2=ijk=-1$




Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Читать дальше →
Total votes 83: ↑83 and ↓0+83
Comments54

Фильтр Маджвика

Reading time38 min
Views131K

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

Кое-где буду от себя добавлять — там текст выделен курсивом. Мною найдено более 10 опечаток в оригинальном тексте. Вообще было довольно трудно, поэтому помощь приветствуется — пишите в комментариях, где перефразировать нужно, в общем, где что не так.


Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments17

Оценивание пространственной ориентации, или Как не бояться фильтров Махони и Маджвика

Reading time11 min
Views27K

О чём речь


Появление на Хабре поста о фильтре Маджвика было по-своему символическим событием. Видимо, всеобщее увлечение дронами возродило интерес к задаче оценивания ориентации тела по инерциальным измерениям. При этом традиционные методы, основанные на фильтре Калмана, перестали удовлетворять публику — то ли из-за высоких требований к вычислительным ресурсам, неприемлемых для дронов, то ли из-за сложной и неинтуитивной настройки параметров.

Пост сопровождался весьма компактной и эффективной реализацией фильтра на C. Однако судя по комментариям, физический смысл этого кода, а равно и всей статьи, для кого-то остался туманным. Что ж, признаем честно: фильтр Маджвика — самый замысловатый из группы фильтров, основанных в общем-то на очень простых и элегантных принципах. Эти принципы я и рассмотрю в своём посте. Кода здесь не будет. Мой пост — не рассказ о какой-то конкретной реализации алгоритма оценивания ориентации, а скорее приглашение к изобретению собственных вариаций на заданную тему, которых может быть очень много.

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

Сознание без внутреннего «Я»

Reading time16 min
Views97K
image

Данная статья посвящена состоянию сознания без внутреннего «Я». Такое состояние при определенной тренировке может испытать каждый человек на личном опыте. Восприятие в данном состоянии сознания сильно отличается от восприятия в обычном состоянии, и некоторыми своими аспектами может помочь решить различные вопросы касательно человеческого разума, которые возникают в том числе при обсуждении технологий переноса сознания в машину, создания искусственного мозга или копирования мозга человека и т.д.
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments202

Температура и давление фантастики, 2/3

Reading time18 min
Views35K

Часть 2. Прогулка


Первая часть

Во-первых, огромное спасибо за такое количество хороших и осмысленных комментариев. Лишь недостаток времени не позволяет детально на них все ответить. Но я ценю и дополнения, и ссылки на нечитанную фантастику (сколько же её!), и поправки. Спасибо!

В этом разделе не будет большой глубины. А будет небольшая экскурсия по окраинам pT-диаграммы, редко посещаемым даже популяризаторами науки. Зачем? Чтобы показать, что богатство миров и явлений, скорее всего, отнюдь не убывает при удалении от привычного нам «центра мира условий». И что, наверное, в тех местах может происходить что-то интересное и сюжетообразующее… при условии, что хоть один профессиональный писатель сможет качественно это помыслить. Но это — отдельная тема для обсуждения в третьей части. Здесь же у нас будут просто далёкие миры. Не в парсеках далёкие, но оттого не менее труднодостижимые.

Юпитер


Вот так он выглядит снаружи:


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

Цивилизация Пружин, 1/5

Reading time14 min
Views103K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →
Total votes 237: ↑230 and ↓7+223
Comments266

Цивилизация Пружин, 2/5

Reading time7 min
Views48K

Часть 2. Very Heavy Fuel


Предыдущая часть 1



Перед вами — Международная Космическая Станция. Массой в 420 тонн и стоимостью[20] в $150 миллиардов:



Её кинетическая энергия, старое доброе E = mv2/2, составляет 1.3*1013 джоулей. Добавив потенциальную энергию на высоте 400 километров, получим 1.4*1013 Дж.

Сколько бензина надо сжечь, чтобы получить эту энергию? Оказывается, не так уж и много. 350 тонн всего. Это примерно[200] однодневный энергетический бюджет Улан-Удэ.

Как же так получается, что далеко не самый богатый город мира за один-единственный день распоряжается энергией, достаточной для разгона МКС до орбитальной скорости, однако же станция у нас на весь мир одна, и стоит неприлично бешеных денег?
Читать
Total votes 143: ↑141 and ↓2+139
Comments156

Особенности поиска работы в Европе

Reading time14 min
Views80K
Разработчик, с гуманитарным высшим, средним английским (сильный акцент и неправильное произношение), 15 годами опыта в десятке проектов, обремененный семьей – вдруг решил найти работу в Западной Европе.

Потрачено полгода. Пройдено десятки собеседований. В процессе сбора информации выбор целевой страны менялся несколько раз. В данной статье я постарался описать личный опыт, дать советы, которые (надеюсь) будут полезны другим.
Читать дальше →
Total votes 145: ↑135 and ↓10+125
Comments438

Сверхинтеллект: идея, не дающая покоя умным людям

Reading time28 min
Views44K


Расшифровка выступления на конференции Web Camp Zagreb Мачея Цегловского, американского веб-разработчика, предпринимателя, докладчика и социального критика польского происхождения.

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

Опасение было оправданным. Азот, из которого состоит большая часть атмосферы, энергетически нестабилен. Если столкнуть два атома достаточно сильно, они превратятся в атом магния, альфа-частицу и выпустят огромную энергию:

N14 + N14 ⇒ Mg24 + α + 17,7 МэВ

Жизненно важным вопросом было то, может ли эта реакция стать самоподдерживающейся. Температура внутри шара ядерного взрыва должна была превысить всё, что когда-то наблюдалось на Земле. Не получится ли, что мы бросим спичку в кучу сухих листьев?
Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments381

Вы опасно некомпетентны в криптографии

Reading time7 min
Views141K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

Читать дальше →
Total votes 181: ↑168 and ↓13+155
Comments143

Задача с небоскрёбом и яйцами — не бином Ньютона?

Reading time8 min
Views27K
На самом деле, он самый. Но обо всём по порядку.

Постановка задачи


Осваиваю питон, решаю всякое на Codewars. Сталкиваюсь с известной задачей про небоскрёб и яйца. Разница лишь в том, что исходные данные — не 100 этажей и 2 яйца, а чуть побольше.
Дано: N яиц, M попыток их бросить, бесконечный небоскрёб.

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

0 <= N, M <= 20000.
Время прогона двух десятков тестов — 12 секунд.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments35

Skyforge: технологии рендеринга

Reading time16 min
Views103K


Всем привет! Меня зовут Сергей Макеев, и я технический директор в проекте Skyforge в команде Allods Team, игровой студии Mail.Ru Group. Мне хотелось бы рассказать про технологии рендеринга, которые мы используем для создания графики в Skyforge. Расскажу немного о задачах, которые стояли перед нами при разработке Skyforge с точки зрения программиста. У нас свой собственный движок. Разрабатывать свою технологию дорого и сложно, но дело в том, что на момент запуска игры (три года назад) не было технологии, которая могла бы удовлетворить всем нашим запросам. И нам пришлось самим создать движок с нуля.
Читать дальше →
Total votes 139: ↑132 and ↓7+125
Comments51

3D лазерный сканер на Android телефоне

Reading time6 min
Views44K

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

Как показал опыт, для сканера такого типа ПО — это вторично и на него было потрачено меньше всего времени (на окончательный вариант. Не считая эксперименты и тупиковые варианты). Поэтому в статье особенностей ПО касаться не буду (Ссылка на исходные коды в конце статьи.)

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.
Total votes 79: ↑78 and ↓1+77
Comments55

Job-туризм

Reading time5 min
Views20K
UPDATE 2018-02-04: Еще одна мудрость со временем накипела: если хочется полной свободы выбора компаний любого размера, то лучше сразу говорить, что вы нашли хорошую компанию по релокейту и всё, что требуется, это финансовая поддержка. Деньги тут есть (особенно у страртапов), а времени — нет.

UPDATE 2017-03-19: По опыту двоих приятелей из Берлина (из России и Коста-Рики) могу обнадёжить, голубую карту могут сначала не дать, а через полгода таки дать прямо в Германии. Немцы тоже люди и их чиновники тоже умеют и искренне заблуждаться, и нарочно упираться.

UPDATE 2017-01-08: год спустя поимел опыт поиска и найма фронтендеров для двух компаний. Заявляю, что хорошего кандидата, подписавшего договор, готовы ждать месяц-два. Меня один средних размеров стартап согласился ждать 4 месяца после очного интервью. Так что заехать себя показать, а потом начать удаленно и через пару месяцев перебраться — вообще шоколад.

UPDATE 2016-09-02: полгода спустя немного подросла нижняя планка з/п для голубой карты, а остальное пока в силе.

UPDATE: по просьбе chilicoder добавляю ремарку: «автор смог переехать и найти работу даже без признанного диплома».

В поисках работы за рубежом наблюдается квантовая запутанность между офером и визой. Чтобы получить визу надо иметь офер, а чтобы получить офер лучше иметь визу. Распутаем их, сообщив достаточный импульс точке опоры.
Распутать!
Total votes 13: ↑12 and ↓1+11
Comments25

С чего начать поиск работы за рубежом

Reading time11 min
Views109K


Если вы давно задумаетесь о том, чтобы попробовать найти работу за рубежом, то заглядывайте под кат. В данной статье я постарался собрать ключевые моменты связанные с поиском работы, основанные на личном опыте.
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments88

Реверс инжиниринг процессора ARM1

Reading time9 min
Views31K
Перевод статьи Кена Ширриффа
Почти каждый смартфон использует процессор на основе чипа ARM1, представленного в 1985 году. Более десяти миллиардов ядер ARM было использовано в различных гаджетах, включая один из самых больших провалов Apple, карманный компьютер Newton, и один из самых оглушительных её успехов — iPhone. В этой статье мы рассмотрим ключевые части процессора ARM1: опишем общую структуру чипа, посмотрим на то, как устроены транзисторы и как они функционируют, взаимодействуя друг с другом для хранения и обработки данных, а также взглянем на визуальную симуляцию этого микропроцессора и узнаем, что происходит внутри ARM1 во время его работы.

image

Обзор микросхемы ARM1

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

Уехать из России и найти работу за рубежом: готовимся к собеседованию на английском языке

Reading time8 min
Views26K
Многие учат английский для того, чтобы уехать работать за границу. Знать язык на уровне Upper-intermediate и владеть азами бизнес-переписки и ведения переговоров, конечно, хорошо. Только работа за рубежом начинается не с этого. Прежде, чем попасть в зарубежную компанию, нужно пройти собеседование, и как раз к нему наши соотечественники, даже будучи хорошими специалистами, оказываются не готовы. Почему? Потому что ни одно собеседование не идет по накатанной, кадровик или непосредственный начальник наверняка зададут дополнительные вопросы, предугадать которые нереально. Но все же можно составить план, по которому следует готовиться к собеседованию, и выучить полезные выражения, которые продемонстрируют, что вы действительно свободно изъясняетесь на английском и готовы к работе в международном коллективе.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments15
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity