Pull to refresh
83
0
Павел @Paul

User

Send message

Conan: менеджер зависимостей для C/C++

Reading time7 min
Views58K
image

Здравствуйте. Сегодня речь пойдёт про Conan — современный менеджер зависимостей для C/C++. Если Вы уже активно работаете с ним, то навряд ли найдёте что-нибудь новое для себя. Иначе — прошу под кат.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments72

Книга «Энергия, секс, самоубийство: митохондрии и смысл жизни»

Reading time30 min
Views18K
Всем привет! У нас вышла замечательная книга Ника Лейна из серии «New Science»:

image Испокон веков люди обращали взоры к звездам и размышляли, почему мы здесь и одни ли мы во Вселенной. Нам свойственно задумываться о том, почему существуют растения и животные, откуда мы пришли, кто были наши предки и что ждет нас впереди. Пусть ответ на главный вопрос жизни, Вселенной и вообще всего не 42, как утверждал когда-то Дуглас Адамс, но он не менее краток и загадочен — митохондрии.

Они показывают нам, как возникла жизнь на нашей планете. Они объясняют, почему бактерии так долго царили на ней и почему эволюция, скорее всего, не поднялась выше уровня бактериальной слизи нигде во Вселенной. Они позволяют понять, как возникли первые сложные клетки и как земная жизнь взошла по лестнице восходящей сложности к вершинам славы. Они показывают нам, почему возникли теплокровные существа, стряхнувшие оковы окружающей среды; почему существуют мужчины и женщины, почему мы влюбляемся и заводим детей. Они говорят нам, по-чему наши дни в этом мире сочтены, почему мы стареем и умираем. Они могут подсказать нам лучший способ провести закатные годы жизни, избежав старости как обузы и проклятия. Может быть, митохондрии и не объясняют смысл жизни, но, по крайней мере, показывают, что она собой представляет. А разве можно понять смысл жизни, не зная, как она устроена?
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments13

Околоайтишные подарки из настольных игр

Reading time4 min
Views22K


Привет!

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

Осторожно, трафик.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments44

Какой квадрокоптер выбрать для GoPro? Рассмотрим лучших среди бюджетных

Reading time4 min
Views118K
Свой первый квадрокоптер я купил более двух лет назад и купил я его, чтобы открыть новые ракурсы для своей «гопрошки». Сегодня совсем другая ситуация и на рынке квадрокоптеров и с курсом доллара, однако желание купить квадрокоптер для съёмки с воздуха — всё так же актуально. Поэтому в этой статье я расскажу о том, на какие квадрокоптеры стоит обратить внимание и с какими сложностями вы можете столкнуться.


«Подвес DJI Phantom»
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments10

Vim по полной: Введение

Reading time5 min
Views70K
Привет, хабраюзер!

Вот уже второй год я активный пользователь и поклонник редактора Vim. За это время я прошел путь от двух команд в .vimrc, до файла в несколько килобайт и обратно. Я испробовал очень много плагинов, а так же активно писал собственные, и теперь это мой основной текстовый редактор для работы и отдыха.

В этой серии статей я решил поделиться собственными наработками и, возможно, показать, на что может быть способен этот редактор в руках программиста. Серия будет состоять из следующих частей:
  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

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

Готов? Вперед под кат!
Total votes 52: ↑49 and ↓3+46
Comments86

Межпроцессная репликация объектов с помощью QtRemoteObjects

Reading time7 min
Views12K
7 октября 2014 года в публичном доступе появились исходники Qt-модуля QtRemoteObjects. Модуль создан в недрах Ford Motor Company (автор Brett Stottlemyer). Вещь, на мой взгляд, очень перспективная. Модуль позволяет, например, передавать сигналы между объектами по сети. Но этим возможности модуля не ограничиваются. Более точно суть модуля описывает его предыдущее наименование — Replica, так как объекты «реплицируются» между процессами.



Ключевой идеей QtRemoteObjects, которая качественно отличает его от других способов межпроцессного взаимодействия/удаленного вызова процедур, является идея полностью продублировать Qt-объект в другие процессы. Это значит, что все изменения свойств (properties) в объекте — источнике отражаются (с уведомлением посредством сигналов) в объекте-реплике. Любые сигналы, которые эмитируются объектом-источником будут также эмитированы в каждом объекте-реплике. Также можно устанавливать свойства, вызывать слоты и в объекте-реплике, при этом запросы отправляются объекту-источнику, который их обрабатывает и затем изменения отражаются в других объектах-репликах посредством сигналов или с помощью изменения свойств. В результате все объекты (включая объект-источник) синхронизируются. При этом вся сложность межпроцессного взаимодействия скрыта внутри QtRemoteObjects.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments9

Об удобной навигации и отладке C++ кода в Vim

Reading time7 min
Views41K
Компания, где я работаю, разрабатывает программное обеспечение на C++ под Linux. Долгое время мы использовали Qt Creator, с редкими ребятами работающими из Emacs и Vim. Когда я сам попытался пересесть на Vim, я понял, что ситуация с плагинами для разработки на С++ очень не простая. Поработав немного с CTags, я быстро понял, что без напильника работать в Vim будет очень сложно.
К сожалению, с ростом опыта работы с Vim редактор в Qt Creator в режиме эмуляции устраивал меня все меньше, и в какой-то момент я решил потратить немного времени и разобраться, как же сделать из Vim нормальную среду.
Я очертил для себя четыре вещи, которые я бы хотел от среды разработки, и которых мне бы хватило в Vim, чтобы полностью на него перейти:

1. Автодополнение
2. Навигация по коду
3. Отладка прямо из среды
4. Интеграция с Git (в частности Blame прямо в редакторе, и Git Grep)

Автодополнение в Vim — это решенная проблема, и название у решения YouCompleteMe. Это очень качественный плагин, который реализует автодополнение для большого количества языков программирования, в частности Python и C++. Ходят слухи, что внутри Google YouCompleteMe решает и вторую проблему с навигацией кода, но использует для этого внутренные инструменты гугла для индексирования.

Интеграция с Git в какой-то степени решена с помощью vim-fugitive. Это не такая комплексная интеграция, как бывает у Jet Brains, или в Visual Studio, но сравнимая с тем, что предлагает Qt Creator. Те два сценария, которые нужны были мне: blame и grep — работают хорошо.

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

Process Explorer vs Process Hacker

Reading time6 min
Views93K
Многим людям рано или поздно приходит в голову мысль, что стандартный менеджер процессов Windows весьма слаб по функционалу. Начинаются поиски альтернативы, которые в основном тут же и заканчиваются при обнаружении Process Explorer от Марка Руссиновича. Вот и Хабр даже советует эту программу.

Что тут можно сказать? Конечно, Process Explorer — это хорошая программа. Однако, не идеал. Именно в пику её неидеальности существует не только бесплатная, но и свободная альтернатива — Process Hacker. А теперь мы детально и по пунктам рассмотрим, почему Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.
Читать дальше →
Total votes 91: ↑80 and ↓11+69
Comments64

Строение двигателей

Reading time7 min
Views128K
Недавно наткнулся на прекрасный сайт (англ.), который по полочкам размусоливает и показывает строение большинства типов двигателей. Попытаюсь вольно и сжато пересказать самое на мой взгляд главное, совсем по пальцам и как для самых маленьких. Конечно можно было бы позаимствовать точные определения из авторитетных источников, но такой любительский перевод обещает быть единственным в своем роде :)

А можете ли Вы сходу объяснить Вашей девушке, в чем отличие бензинового двигателя от дизельного? Четырёхтактного и двухтактного движков? Нет? Тогда приглашаю под кат.

Читать дальше →
Total votes 249: ↑220 and ↓29+191
Comments142

Съемка Full HD видео теперь возможна на Canon 50d

Reading time4 min
Views71K


Введение. About Magic Lantern


Magic Lantern — открытая среда разработки расширений возможностей цифрозеркалок Canon 5D Mark II / 500d / 550D / 600D / 60D / 50D. По сути это не взломанная или модифицированная прошивка, а дополнение, которое запускается вместе с оригинальной прошивкой, загружаясь с карты памяти при каждом включении фотоаппарата. Исполняемый файл записывается на флеш-карту и автоматически подгружается в память при включении камеры. Единственным изменением оригинальной прошивки является возможность загрузки этого самого дополнения с карты памяти. В основном прошивка заточена для съёмки видео (после её установки Mark II получает функционал, сравнимый с профессиональными видеокамерами RED ONE и Phantom 65, которые находятся в совершенно других ценовых категориях), но присутствует немало новых возможностей для фото:
Читать дальше →
Total votes 65: ↑63 and ↓2+61
Comments87

Adobe выпустила конвертер Flash в HTML5

Reading time1 min
Views17K


Adobe выпустила новый экспериментальный инструмент под кодовым названием Wallaby для преобразования Flash в HTML5.

Wallaby — это AIR-приложение с очень простым интерфейсом, позволяющим легко конвертировать fla-файлы в HTML5-код. Преобразованный контент можно просматривать в браузерах на движке WebKit, включая Google Chrome и Safari.

Технология была представлена на конференции Adobe MAX осенью прошлого года. Теперь пользователи могут свободно получить доступ к Wallaby на Adobe Labs.
Total votes 130: ↑122 and ↓8+114
Comments69

12 способов не накосячить со вспышкой

Reading time8 min
Views352K
После трёх лет работы со студийным светом я думал, что знаю про накамерную вспышку если не всё, то очень много. Три недели назад я попал в гости к одному особо опытному стробисту, который рассказал и показал столько, что я сразу понял, что надо садиться и делать перепись грабель, а потом тестить, тестить и ещё раз тестить.

Ниже — достаточно известные вещи, которые, однако, вызывали facepalm у тех, кто был вместе со мной или же у меня. В списке грабель вы с некоторой вероятностью можете найти что-нибудь новое. Если хотя бы она фича использования вспышки окажется для вас полезной, то мою задачу можно считать выполненной.
Читать дальше →
Total votes 228: ↑223 and ↓5+218
Comments73

SICP теперь по-русски

Reading time1 min
Views63K
image

Удивительно, что до сих пор никому еще не пришла в голову идея перевести эти легендарные лекции на русский язык.

В качестве эксперимента выкладываю перевод первой из 20 лекций. Если это получит должный отклик, буду переводить дальше.
Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments61

Игра, созданная одним человеком. Эадор. Сотворение

Reading time2 min
Views6.5K
Давно такого не было! Во времена доминирования супер гигантов игровой индустрии, таких как EA, мы уж и забыли достойные проекты, сделанные несколькими разработчиками в свободное от работы время. А в данном случае речь идет об одном разработчике, создавшего Эадор.

Итак, Эадор.

image
Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments69

Физика невозможного: Научное объяснение фазеров, силовых полей, телепортации и путешествий во времени

Reading time2 min
Views6.2K
Наверное каждый читатель Хабра мечтает получить свой световой меч или пообщаться с представителем инопланетной цивилизации. Но сбудется ли это когда-нибудь? Ответу на этот и другие подобные вопросы посвящена книга «Физика невозможного».  

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

Доктор Каку исследует передовые области науки, чтобы дать ответ на «мучившие его с детства» вопросы: Научимся ли мы когда-нибудь проходить сквозь стены? Строить звездные корабли, способные летать быстрее скорости света? Читать мысли? Мгновенно преодолевать космическое пространство?
Читать дальше →
Total votes 117: ↑92 and ↓25+67
Comments60

Онлайн патентование в Бюро Патентов и Торговых Марок США

Reading time3 min
Views5.8K
Это возможно. Может быть, для кого-то это не новость, но для меня это стало почти открытием: можно запатентовать свое изобретение в Бюро Патентов и Торговых Марок США (United States Patent and Trademark Office), сокращенно — USPTO (именно там патентуются все Гуглы и Эплы) не вставая из-за компьютера. В буквальном смысле этого слова. У меня вся процедура заняла ровно 15 минут. Спешу поделиться.

Информация к размышлению:

1. USPTO — это американский Роспатент, только с мозгами.
2. USPTO принимает заявки на патентование у жителей любых стран, в т. ч. из РФ.
3. У них есть такая замечательная штука, как временная заявка (Provisional Application) — это приоритет на изобретение в упрощенной и ускоренной форме. Своего рода анонс вашего будущего патента.
4. Provisional Application (далее Provisional Application) действует 12 месяцев, после чего ее нужно подтвердить «настоящим патентом», иначе теряет силу.
5. Временная заявка нигде не публикуется.
6. Заявка может быть написана по-русски (но перевод должен быть предоставлен не позднее 16 месяцев с момента подачи).
7. Заявка стоит от 105 долларов. Можно и больше, но это зависит только от количества информации, которую вы попытаетесь запихнуть в заявку. Мне вполне хватило 105.
8. Оформление заявки делается с помощью веб-приложения EFS-Web. Оно может: добавлять заявку в базу USPTO, проверять эту заявку, принимать пошлину за прием заявки и высылать заявителю квитанцию о приеме заявки.
9. Я не патентный поверенный, не юрист и вообще не-не-не. Просто любитель. Поэтому если надумаете получать таким образом патент — проверяйте. Хотя у меня, вроде, все получилось.
10. Услуга по оформлению Provisional Application у патентных поверенных стоит в среднем 15 000 рублей. Не считая самих пошлин.

Итак, поехали
Читать дальше →
Total votes 67: ↑62.5 and ↓4.5+58
Comments37

«Намертво прибитая к ядру» графическая подсистема

Reading time6 min
Views16K


То, что принято называть «графикой в ядре» обычно относится к win32k. Win32k.sys представляет собой ядерную часть графической подсистемы. Загружается пользовательским процессом smss.exe в процессе инициализации всех остальных подсистем. Путь к исполняемому образу для «kmode» подсистемы прописан здесь:


Как же это происходит?
Читать дальше →
Total votes 271: ↑246 and ↓25+221
Comments120

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Атипичные клавиатуры

Reading time7 min
Views17K
Говорят, что обычная QWERTY-клавиатура была изобретена с целью уменьшить скорость набора, потому что у слишком быстрых машинистов первые машинки клинили. Не знаю, сколько в этом утверждении правды, но то, что раскладка далеко не идеальна — факт. Факт также то, что разрабатывалась она для печати десятью пальцами на больших клавишах размещенных в три ряда.

В неизменном виде она перекочевала на электрические пишущие машинки, а затем и на компьютерные клавиатуры, где все стало ещё удобнее — теперь клавиши срабатывали от легкого нажимания, и по ним не приходилось лупить со всей дури.
Все было бы просто отлично, если бы не страсть к минимизации. Ноутбуки, нетбуки, классические смартфоны (не «тачфоны») — QWERTY-клавиатура стремительно уменьшалась в размерах, сохраняя при том свою сущность. Для некоторых таких творений впору вести набор спичками. Были и неплохие инженерные решения — например на Sony-Ericsson M600i клавиши-качели содержали по две-четыре символа, и они выбирались в зависимости от способа нажима.

Но когда это добро перекочевало на экраны… возьмем в качестве образца айфон(да, исторически первым [массовым] тачфоном все-таки было яблоко): три с половиной дюйма диагонали, отношение сторон — 2:3. Кто помнит теорему Пифагора, какова ширина экрана?
x² + (3x/2)² = 3,5²
x² = 49/13
x ≈ 1,94" ≈ 49,3мм.
Итак, ширина экрана — меньше 5 сантиметров. В ряду — 10 клавиш. Получается — около 5 мм на клавишу, и это включая промежутки между ними. Не знаю как у вас, а меня пальцы ощутимо шире, да и печатать на приборе таких размеров я могу только одним, ну максимум двумя большими пальцами одновременно. Ну не могу я печатать на ЭТОМ, при всей его умности! Хватит обратной совместимости! Я печатать вслепую научился за неделю, так дайте мне клавиатуру, где не придется целится в клавиши! Я её изучу! Я хочу комфортно и быстро печатать!

Видно, не у меня одного пальцы толще, чем спички, и не перевелись смелые программисты, которые готовы обрубить обратную совместимость, ведь в маркете можно найти несколько клавиатур, которые не имеют с QWERTY ничего общего.

Их я и попытаюсь сегодня осмотреть.
Читать дальше →
Total votes 161: ↑148 and ↓13+135
Comments157

Osmand — Руководство пользователя

Reading time8 min
Views228K
Osmand — программа для Android, которая позволяет работать с офлайн картами OpenStreetMap и не только, использовать голосовую навигацию, запись, отображение и навигацией GPX треков, а также ряд возможностей по редактированию OSM. Судя по предыдущему топику , среди хабровчан достаточно большое число пользователей данной программы, которые бы хотели узнать тонкости работы данной программы.

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

Osmand, как и большинство Linux приложений, предназначен, для всех, поэтому конкретную целевую аудиторию даже сложно назвать. Это является и плюсом и минусом приложения. В принципе все open source развиваются по этому сценарию, потому как сообщество постоянно добавляет маленькие и нужные патчи и редко добавляет большие и нужные. Так и получаются приложения с кучей настроек, кучей перекрывающихся функций и тысячами сценариев использования.

Кратко темы, раскрытые ниже:
  • Карта — векторные и растровые карты, различные настройки
  • Экран Карты — индикаторы на главном экране приложения и контекстное меню
  • Настройки приложения — профили настроек и обзор базовых настроек
  • Фоновый сервис — работа приложения с выключенным экраном и с заданным периодом включения
  • Мониторинг — запись GPX треков
  • Навигация — онлайн и офлайн навигация
  • Поиск — поиск POI, транспорта, адреса
  • OSM редактирование — POI и Osm bugs

Читать дальше →
Total votes 76: ↑66 and ↓10+56
Comments67
1
23 ...

Information

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