Pull to refresh
0
0
mitry @mitry

User

Send message

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

Reading time7 min
Views42K
Компания, где я работаю, разрабатывает программное обеспечение на 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 — работают хорошо.

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

Опыт создания кроссплатформенной игры (iOS/Android)

Reading time6 min
Views84K

  Данный пост будет полезен разработчикам, которые только встали на радужный путь геймдева. В нашем недавнем посте уже было рассказано о первоначальных шагах нашей dream team в сфере игройстроя. Как и обещали, работаем в этом направлении дальше и решили попробовать себя в другом жанре игр. Далее будут кратко освещены некоторые моменты создания и публикации игры на двух платформах iOS и android.

Дать посту шанс...

Лучшие плагины для Sublime Text

Reading time5 min
Views645K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Обзор сервисов отсылки мобильных push-уведомлений

Reading time4 min
Views45K
Недавно заметил за собой, что получать уведомления из разных программ на email для меня стало неудобным. Уже давно устоялся термин “email overload” и компании вроде Google с этим стараются работать (вводят папки, фильтры, а теперь и вкладки в Gmail).

Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.

Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
Читать дальше →

Поговорим про… фонарики?

Reading time5 min
Views371K
Приветствую, %username%!
Это небольшой ликбез на тему сегодняшнего состояния отрасли портативного освещения.
Disclaimer
К показанным фонарям и остальному железу я отношения не имею. Их рекламой данный пост не является.

Поехали, начнем с современных светодиодов
Читать дальше →

Нейробиология и искусственный интеллект: часть первая — ликбез

Reading time6 min
Views126K
Так уж получилось, что я уже давненько читаю Хабр и особенно раздел про искусственный интеллект, однако до сих пор так и не отважился внести свою лепту в общий уровень энтропии.

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

В данной статье я в сжатой форме попытаюсь дать ответы на следующие вопросы:
— что же такое нейрон, как он устроен и работает?
— что происходит в синапсах, когда нейроны общаются друг с другом?

А в следующей (-щих):
— как интеллект и сознание связаны с активностью нейронов? (здесь же про то, как информация обрабатывается мозгом, нейропластичность, квантовую теорию сознания, сон и т.д.)
Читать дальше →

PayPal и американский адрес доставки

Reading time6 min
Views200K
Представьте, что вы натыкаетесь на магазин или частного продавца, который настолько пророс корнями в США, да к тому же еще и параноидален, что его система биллинга наотрез отказывается принимать ваши православные визы и мастеркарды, эмитированные отечественными банками.

Казалось бы, ничего не остается, как купить у соответствующих товарищей credit card with US billing понуро закрыть страницу магазина, уйдя на поиски более дружелюбного продавца, как тут вы замечаете знакомый шильдик PayPal, который повесил владелец сайта, приглашая всех приобрести его товар, заплатив максимально удобным для вас способом. И вот она, победа, вы деловито шествуете по страницам чекаут процесса, как вдруг осознаете, что продавец малого того, что не принимает православные карты к оплате, так еще и на настолько обнаглел, что отправляет свой товар только в пределах своей отчизны, забивая на весь мир и связанные с международной отправкой проблемы.

Если получить адрес для получения посылок в США уже давно не проблема, то вот как получить американский адрес, доступный для выбора при оплате PayPal? Да, система PayPal не позволяет штатным образом владельцам аккаунтов, зарегистрированных в стране, отличной от США, добавить американский адрес доставки.

Но на каждую хитрую жопу, как известно…
Читать дальше →

Диагностика неисправностей блока питания с помощью мультиметра

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

Дисклеймер номер раз: Данная статья относится только к обычным блокам питания стандарта ATX, она не относится к проприетарным стандартам блоков (например как у старыx рабочиx станциях DELL или SUN), использующим другую распиновку ATX-коннектора. Внимательно сверьтесь со схемой и убедитесь в том, что ваш блок питания является стандартным прежде чем проводить диагностику, во избежании причинения вреда вашему компьютеру.

Дисклеймер номер два: Вы должны понимать что вы делаете и соблюдать технику безопасности, в том числе электростатической (в т.ч. работать в антистатическом браслете). Автор не несет ответственности за порчу оборудования или вред здоровью вследствие несоблюдения или незнания техники безопасности и принципов работы устройства.


Перейдем к теории:

Стандарт ATX имеет 2 версии — 1.X и 2.X, имеющие 20 и 24-пиновые коннекторы соответственною, вторая версия имеет 24-x 4 дополнительных пина, удлиняя тем самым стандартный коннектор на 2 секции таким образом:
image

Прежде чем мы начнем, расскажу про “правила большого пальца” по отношению к неисправностям:
1) Проблемную материнскую плату легче заменить чем починить, это крайне сложная и многослойная схема, в которой разве что можно заменить пару конденсаторов, а обычно это проблемы не решает.
2) Если вы не уверены в том что вы делаете, то не делайте этого.

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

Обзор зарядного устройства TechnoLine BC-700, или мой опыт восстановления Ni-MH аккумуляторов

Reading time6 min
Views316K
Опыт восстановления Ni-MH аккумуляторов, или обзор зарядного устройства Techno Line BC700

Так случилось, что после двух лет активного увлечения фотографией я немного подзабил на всё это дело. И, вот, спустя год, недельки 3 назад, меня «пробило» на фото. Достал фотоаппарат, аккумуляторы, побежал на радостях фотографировать. Сделал 2 фотки, получил сообщение: «Замените аккумуляторы». «С кем не бывает, захватил случайно разряженный комплект», подумал я. Поставил другой комплект — одна-две фотки и фотоаппарат просит новые батарейки. Так со всеми моими четырьмя парами аккумуляторов. Не въехав в ситуацию, пошел, воткнул их в зарядку, пока читал на ночь хабр, заметил, что от момента установки на зарядку не прошло и пяти минут, а светодиод зарядного устройства уже оповещает о полной зарядке. С этого момента и началась история. Добро пожаловать под кат!
Читать дальше →

Иммунная система человека: биологический антивирус. Антивирусные базы

Reading time6 min
Views25K
Прошу простить за нереально огромный перерыв после первой части :(

Линк на первую часть (врожденный иммунитет)

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

Наглядно о ДНК

Reading time1 min
Views2.9K


В институте Walter и Eliza Hall (Австралия), сделали несколько отличнейших анимаций о самых базовых процессах происходящих в нашем организме. Все процессы показаны в реальном времени.

1. Показано как молекула ДНК длинной ~1.8метра, упаковывается в хромосому.
2. Копирование ДНК с помощью молекулярной машины — Хеликазы.
3. Переписывание ДНК в РНК, чтобы произвести далее белок гемоглобин.
4. Перевод РНК в гемоглобин с помощью рибосомы.
5. Гемоглобин и Серповидно-клеточная анемия.

К сожалению у видео не очень хорошее качество. Пытался свести качественное видео с сайта института( оно там 600 x 480 ) с этим звуком — не сходится во многих местах ;(

Тут есть этот ролик, но без комментариев, зато в отличном качестве, а заодно и все остальные ролики по биологии. Большинство в 600x480. Апоптоз (программируемая смерть клетки), Диабет первого типа, Заражение малярией, Ответ имунной системы на заражение, злокачественная(рак) опухоли.
wehi.edu.au/education/wehi-tv

Иммунная система человека: биологический антивирус. Эвристические алгоритмы

Reading time4 min
Views9.7K
Доброе время суток, уважаемое хабра-сообщество!

Это мой первый пост на Хабре, так что очень вас прошу, не судите слишком строго.

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

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views376K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

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

Какой цвет у Вселенной?

Reading time1 min
Views1.9K
Какой цвет у Вселенной? Или, если быть точным, видимой части неба? Этот вопрос возник, когда бравые американские учёные исследовали распределение звёзд в соседних галактиках. Ответ таков:

image


Похоже, что это оттенок бежевого (Beige: #F5F5DC ) цвета. Чтобы найти его, учёные усреднили цвета одного из наиболее многочисленных наборов галактик — обзор 2dF, который состоит примерно из 200 000 объектов. Конечно же получившийся усреднённый спектр даёт излучение во всех диапазонах, однако воспринять мы можем только один. Этот «Цвет Вселенной» стал менее голубым за последние 10 миллиардов лет. Это может означать только одно: красных звёзд становится больше.

Среди претендентов на название цвета были «skyvory» (дословный перевод «небесная кость»), univeige («космологический беж»), а победителем стало название «cosmic latte» — «космическое кофе c молоком».

Конечно же, технические характеристики:

Hex triplet:	#FFF8E7
RGB:				255, 248, 231
HSV:				42°, 9%, 100%
CMYK:				0%, 2%, 9%, 0%


По мотивам картинки дня.

Правила игры в шахматы

Reading time1 min
Views2.2K


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

В Google Apps заработали скрипты

Reading time1 min
Views4.1K
После анонса в мае и последующего длительного тестирования разработчики Google Apps вчера открыли функцию скриптов в Google Apps для всех корпоративных пользователей (то есть подписчиков Apps Premier и Education Edition).

С помощью Google Apps Script можно создавать события в Google Calendar, изменять данные в таблицах, отправлять письма по заданным адресам и шаблонам. Например, это может быть персонализированная рассылка со вставкой личного имени и фамилии адресата в каждое письмо.

Например, вот такой скрипт инициирует почтовую рассылку по адресам из колонки A с текстом из колонки B, после чего ставит пометку об отправке письма в колонке C.


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

Взлом каптчи файлообменника

Reading time9 min
Views44K

Введение



В данной статье коротко рассказывается о процессе взлома captcha с ifolder.ru. Применение в процессе языка Python и сторонних библиотек. Применение алгоритма преобразований Хафа в составе библиотеки Open Computer Vision © Intel позволит нам избавиться от шума на изображении, простая в использовании и быстрая библиотека FANN (Fast Artificial Neural Network) сделает возможным применение искусственной нейронной сети для задачи распознавания образа.

Моя мотивация состояла, прежде всего, в том, чтобы попробовать язык Python. Как известно, лучший способ изучить язык — решить на нём какую-нибудь прикладную задачу. Поэтому параллельно описанию процесса обработки изображения я буду рассказывать о том, какие библиотеки и для чего я использовал.
Сломать мозг

2QR или Как сохранить ссылку в телефон

Reading time3 min
Views7.2K

Введение


Хотя на улице эпоха нетбуков и флешек, некоторым из нас иногда приходится час-другой поработать за чужим или, хуже того, «общественным» компьютером, будь то в гостях, в универе или в интернет-кафе. Однако, когда дело доходит до сохранения результатов, здоровая паранойя подсказывает, что лучше воздержаться от использования своей флешки с ценными данными, и тем более — отправки файлов самому себе на почту: кто знает, что за киберпаразиты обитают на этом компьютере…

К счастью, в сети есть множество сервисов, позволяющих анонимно выложить свои файлы. Не нужен аккаунт — значит, нет риска «засветить» свои пароли трояну. Однако возникает вопрос: как донести до своего компьютера сам адрес выложенного файла?
Читать дальше →

Двойная Аутидентификация

Reading time2 min
Views599
По работе мне часто приходится работать с компьютерами, которые находятся в домене, отличном от домена моей рабочей машины.
Такое часто случается, когда нужно подключиться с домашней или рабочей машины к TFS, VSS, расшаренной папке или подобному сервису, находящемуся в другой корпоративной сети, например сети клиента.

Каждый, кто сталкивался с подобной задачей, знает — приходится постоянно вводить логин/пароль, при каждой установке соединения, на каждый отдельно взятый сервис.
image
Не проблема, когда это нужно сделать пару раз, но когда с этим работаешь постоянно — ручной ввод паролей начинает порядком надоедать.

К счастью, есть простое решение

Linux сервер в виде блока питания

Reading time1 min
Views6.6K
image

SheevaPlug представляет собой миниатюрный Linux сервер, напоминающий по форме обычный блок питания. Все, что необходимо для его работы — включить его в розетку.

Внутри спрятан процессор с частотой 1.2GHz, 512 мегабайт DRAM и 512 мегабайт флеш-памяти. Наружу видны гигабитный порт ethernet и стандартный USB 2.0.

Для работы этому гаджету нужны всего 5 ватт. По словам производителя, гаджет поддерживает «различные сборки на базе ядра Linux 2.6».

Желающие уже сейчас могут приобрести набор для разработки своих гаджетов на этой платформе «SheevaPlug development kit» за $99 на сайте Marvell. В будущем стоимость гаджетов на этой платформе может упасть ниже $50.

Information

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