Как стать автором
Обновить
5
0

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

Отправить сообщение

Как написать расширение для GNOME Shell: режим «Do Not Disturb»

Время на прочтение10 мин
Количество просмотров10K

Началось все с переезда на новую версию одного дистрибутива Linux, а там — скандально известный GNOME Shell (GH для краткости), на Javascript. Ну ок, на JS так на JS, работает — и ладно.


Одновременно с этим темп моей работы давно уже требовал найти нормальный почтовик, вместо тормозящей и жрущей тонны мегабайт вкладки outlook.office.com в браузере. И вот нашел, в наше время есть несколько почти прекрасных кандидатур, одна беда — почтовик стал доставать меня уведомлениями о новых письмах — и звуком, и всплывающими надписями.


Что делать? Решение написать расширение "Не беспокоить" пришло не сразу, очень не хотелось писать велосипед и/или увязнуть в разработке/коде/тоннах ошибок, но решился, и вот хочу поделиться с Хабром своим опытом.1


Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Как лучше разбираться в людях

Время на прочтение31 мин
Количество просмотров104K
Рассказывать айтишникам про психологию то еще дело, некоторые читатели скажут: «Bullshit!», и вообще не поверят, потому что психологию, даже прикладную, нельзя назвать точной наукой. Тем не менее, задача этой статьи — показать и доказать вам, что некоторые модели действительно работают. В основе доклад Сергея Котырева из UMI на РИТ++ 2017, от его лица дальше и пойдет повествование.



Я — IT-предприниматель с 20 летним стажем. Так получилось, что с самого начала карьеры мне пришлось управлять людьми. Как выпускник технического вуза и айтишник, я изначально понял, что люди сложно поддаются алгоритмизации, и вообще осознанию, пониманию и прогнозированию.

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

Мне кажется, о поведении и предсказании поведения спиральных галактик мы знаем больше, чем о том, как поведет себя человек, например, моя жена, сотрудник, или особенно сотрудница моего отдела маркетинга, не говоря уже о пиарщицах. О том, что ближайшая к нам Галактика летит, и через сколько-то миллиардов лет столкнется с нашей, мы уже знаем точно.
Всего голосов 127: ↑113 и ↓14+99
Комментарии63

Что общего у собеседования кодера и игры «Змейка»?

Время на прочтение10 мин
Количество просмотров39K

Если вы родились в 80-х или 90-х, то наверняка слышали о Snake. То есть, скорее всего, вы потратили безумное количество времени на своём Nokia 3310, выращивая огромную змею на мелком экранчике. Что ещё мы помним о телефонах Nokia?

Их неразряжающийся аккумулятор, правда? Как такой «примитивный» телефон выдерживал долгие часы игры в «Змейку» без разрядки аккумулятора?

Короткий (и неполный) ответ: всё дело в методе скользящего окна.

Мы бы с радостью написали целую статью о Snake, но в этом посте мы всё-таки рассмотрим менее зрелищный, но тем не менее очень важный метод, и ответим на вопросы типа:

  • Почему мы и другие программисты считаем его фундаментальным алгоритмом?
  • Почему он так часто используется на технических собеседованиях?
  • Как он использовался в Snake и других «реальных» областях применения?
  • На какие самые популярные вопросы собеседований можно (лучше) ответить с помощью метода скользящего окна?

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

NB: Если вас волнует только «Змейка» (и мы вас вполне понимаем), то можете перейти к самому концу поста.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии15

GopherCon Russia 2018: конференция пройдет 17 марта в Москве

Время на прочтение4 мин
Количество просмотров5.8K
image

Всем привет!

Радостная новость для всех, кто любит Go — в России будет свой GopherCon с докладами и докладчиками :)

17 марта в Москве выступят Brad Fitzpatrick и Дмитрий Вьюков из Google, Jessie Frazelle из Microsoft и не только. В программе уже 11 отборных выступлений, о которых мы подробно расскажем под катом, а до 20 января еще можно предложить свой доклад в CFP.

Будет два параллельных потока, синхронный перевод в обе стороны в главном зале, огненное афтепати, крутые активности от наших партнеров (привет вам от Gett, JetBrains и Google). Ждем 400 участников, присоединяйтесь и вы!

Итак, что в программе:
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии5

Как работает Android, часть 3

Время на прочтение13 мин
Количество просмотров81K


В этой статье я расскажу о компонентах, из которых состоят приложения под Android, и об идеях, которые стоят за этой архитектурой.

Читать дальше →
Всего голосов 56: ↑56 и ↓0+56
Комментарии43

Создание языка программирования с использованием LLVM. Часть 9: Добавляем отладочную информацию

Время на прочтение32 мин
Количество просмотров7.1K
Оглавление:

Часть 1: Введение и лексический анализ
Часть 2: Реализация парсера и AST
Часть 3: Генерация кода LLVM IR
Часть 4: Добавление JIT и поддержки оптимизатора
Часть 5: Расширение языка: Поток управления
Часть 6: Расширение языка: Операторы, определяемые пользователем
Часть 7: Расширение языка: Изменяемые переменные
Часть 8: Компиляция в объектный код
Часть 9: Добавляем отладочную информацию
Часть 10: Заключение и другие вкусности LLVM

9.1. Введение


Добро пожаловать в главу 9 руководства “Создание языка программирования с использованием LLVM”. В главах с 1 по 8, мы построили маленький язык программирования с функциями и переменными. Что случится, если что-то пойдёт не так, как тогда отлаживать программу?
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии13

«Ржавая» IP-камера: прошивка на Rust

Время на прочтение4 мин
Количество просмотров24K
До появления ботнета Mirai только особо интересующиеся знали о том, что находится внутри обычных IP камер. В большинстве случаев там стоит обычный линукс, причем частенько с дефолтным рутовым паролем, а то и вообще без него: у нас в офисе стоит такая камера, с прошивкой от декабря 2016 года и беспарольным рутовым телнетом.

Но что же дальше, какой софт запущен на этом линуксе? Есть несколько классных статей datacompboy про поиск бага которого нет, есть ещё разрозненная информация, но в целом ситуация такая: на IP-камере стоит специально пропатченное ядро, которое дает доступ программе через специальную библиотеку к железу, выдающему сжатые видеокадры.

Грустная реальность в том, что очень часто этот софт написан далеко не лучшим образом. Достаточно сказать, что большинство камер, которые висят на улице очень страдают из-за большого расстояния до сервера, потому что авторы их прошивки освоили мастерство потерь данных по TCP.

Мы решили исправить эту ситуацию своей прошивкой, причем сделав ставку на Rust.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии45

Два в одном: как пользоваться Vim и Nano?

Время на прочтение16 мин
Количество просмотров89K
Upd. 9.7.2017: обновлён раздел про vim. Спасибо вимерам за ценные дополнения.

Вступительное слово


Зачем нужна ещё одна, 1001я публикация на эту тему? Статей про vim и nano написано огромное количество, но как правило они касаются только одного из редакторов, либо представляют из себя общий обзор. Чтобы в одной были сжато описаны оба редактора, но при этом без углубления в дебри приведены все основные клавиши управления для полноценной работы, я не не нашёл. Поэтому, почитав найденные материалы, я начал их конспектировать, так и родилась эта статья.


Любой текстовый редактор можно освоить «методом тыка». Но только не vim.
Чем nano лучше vim?
Из nano можно выйти без reset'а! (с) Интернет


Изначально я не планировал писать об обоих редакторах, а хотел сделать краткую справку только по nano, но в процессе сбора информации накопились данные и по vim тоже. Тут я обнаружил, что Vim не так уж и страшен, если знать команды и концепцию его использования.

Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии199

Магия SSH

Время на прочтение11 мин
Количество просмотров511K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии75

Лучшие шрифты для программирования

Время на прочтение4 мин
Количество просмотров247K
Статья написана в 2009 году, и с тех пор многое изменилось, в том числе появились некоторые альтернативные шрифты для программирования, например, Anonymous Pro.

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

Я выкладываю список из десяти моноширинных шрифтов, готовых к использованию. Некоторые из них идут в комплекте с современными операционными системами, но большинство можно бесплатно скачать из интернета. Отдельные, в том числе Consolas, являются частью коммерческого ПО.
Читать дальше →
Всего голосов 178: ↑161 и ↓17+144
Комментарии193

FreeType 2.7 — превосходное качество шрифтов Linux

Время на прочтение5 мин
Количество просмотров61K

В первой декаде сентября без фанфар и шумихи вышел FreeType версии 2.7, и это событие, без сомнения, можно назвать праздником на улице пользователей Linux, FreeBSD, NetBSD, ReactOS и других товарищей. Попробуем разобраться, от чего у нас такое безудержное веселье.
FreeType — библиотека с открытым кодом на Си, которую используют для растеризации шрифтов и операций над ними. В новой версии по-умолчанию используется алгоритм обработки инструкций TrueType v40.



Это позволило добиться качественного субпиксельного сглаживания шрифтов, как в майкрософтовском DirectWrite/ClearType, но на самом деле никакого субпиксельного сглаживания не используется. Кроме того, алгоритм v40 рендерит быстрее Infinality, который использовался в предыдущем алгоритме v38, при этом конечный результат не хуже.

в чем-же дело
Всего голосов 64: ↑63 и ↓1+62
Комментарии80

Эксперимент: ищем int i = 0xDEADBEEF в дампе физической памяти

Время на прочтение5 мин
Количество просмотров17K

КДПВ


Изучение виртуального адресного пространства и алгоритма преобразования адресов заметно упростится, если начать с несложного практического примера. Для этого напишем простую программу, выводящую адрес локальной переменной:


int main()
{
    unsigned i = 0xDEADBEEF;
    std::cout << "address of i is " << std::hex << &i;
    std::cin.get(); //Чтобы процесс не завершился
    return 0;
}

Затем попробуем найти физический адрес и просмотреть значение по этому адресу.


Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии7

Тулчейн разработки под Arduino для ценителей командной строки: PlatformIO или как перестать использовать Arduino IDE

Время на прочтение7 мин
Количество просмотров46K

За последний год я написал довольно много кода для Arduino и попутно сменил несколько инструментов разработки. В статье упоминаются варианты которые пробовал и более подробно о том, на чем остановился. Речь пойдет про набор инструментов для случая когда >10 проектов под разные платы и немного про разработку и установку библиотек.
Подробности
Всего голосов 15: ↑12 и ↓3+9
Комментарии11

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть первая, обзорная)

Время на прочтение13 мин
Количество просмотров176K
В этой статье я хочу провести краткий обзор шины SPI (интерфейса, широко распространённого во встраиваемой технике, используемого для подключения различных устройств) и попытаюсь описать процесс создания драйвера протокольного уровня SPI устройства для Linux. Данный документ не претендует на роль полного руководства, а скорее преследует цель указать нужное направление. Так как статья не вошла в размер одного топика, мне пришлось разбить её на две части.

0. Вместо введения


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

Для кого эта статья?
В первую очередь, для новичков, каковым являюсь и я. На форумах по embedded Linux очень часто можно встретить вопрос: «А как на этой плате работать с SPI?». Именно на него я и попытаюсь дать ответ. В качестве примера, я приведу код написанный для работы с моим тестовым SPI устройством.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии13

Особенности работы с Multicast

Время на прочтение4 мин
Количество просмотров70K
Хочу поделиться небольшим опытом работы с технологией групповой передачи данных, или иначе UDP Multicast, и проблемой особенностью, которая возникает при написании кроссплатформенного кода.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии4

Сети для самых маленьких. Часть девятая. Мультикаст

Время на прочтение51 мин
Количество просмотров667K

Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

В этой статье сосредоточимся на следующем:




Читать дальше →
Всего голосов 108: ↑106 и ↓2+104
Комментарии27

Платформа Wirex: новый шаг в развитии финансовых услуг

Время на прочтение7 мин
Количество просмотров22K
В последние годы стало очевидно, что финансовый сектор нуждается в кардинальных изменениях. Современные технологии не стоят на месте, и финансовая революция в мире IT началась уже давно. Традиционный банкинг изжил себя, и высокотехнологичные финтех-стартапы приходят на смену классическим решениям, которые не вписываются в возрастающий ритм современной жизни.

С учетом перемен текущая миссия сервиса Wirex, о котором мы хотели бы сегодня рассказать, звучит просто и логично – предоставление качественного и быстрого сервиса, который доступен каждому. Мы являемся компанией, предлагающей гибридное финансовое решение для управления личными счетами, которое отличается несравненно большей гибкостью и удобством использования, нежели традиционный банкинг. Наш сервис позволяет совершать мгновенные денежные переводы в USD, EUR, GBP и цифровой валюте, легко конвертируя валюты между собой, с возможностью выпустить виртуальную или плаcтиковую карту для расчетов везде, где принимается MasterCard и для снятия наличных с банкомата. Wirex предоставляет свои услуги по всему миру, без привязки вас к рабочему графику банковских отделений и без излишней бюрократии.




Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии51

Аэрокосмический краудфандинг с бумажным уклоном

Время на прочтение10 мин
Количество просмотров6.3K

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

Смайлс С.

Я хочу рассказать о книге, учебном пособии для любого возраста и склада ума «Введение в авиационную, ракетную и космическую технику», которую помогает издать группа энтузиастов из нашего сообщества Твой Сектор Космоса. Да-да, того самого сообщества, которое «зажигает звезды», запускает спутник «Маяк», читает лекции о космонавтике всем желающим от Калининграда до Владивостока и делает еще много всяких, как нам кажется, полезных вещей для просвещения молодежи, популяризации космических исследований, продвижения и развития частного и коммерческого космоса.
Проект наш, как вы понимаете, не является коммерческим а представляет собой исключительно социальную инициативу.

Собственно, сама кампания по сбору средств на тираж, а это единственный этап, где проявилась коммерция, уже считается завершенной и проект состоялся, планка в 100% давно пройдена, но команда решила в оставшееся для кампании несколько дней поднять планку и взять на себя, как говориться, повышенные обязательства — увеличить тираж, который мы планируем подарить библиотекам и учебным заведениям. И в начале я расскажу подробно о самой книге, а в конце уже поделюсь некоторым накопленным опытом социального краудфандинга.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии26

DeLorean возвращается на рынок автомобилей

Время на прочтение1 мин
Количество просмотров17K
DeLorean может вернуться на рынок автомобилей благодаря закону США, который освобождает мелкосерийных автопроизводителей от требований к безопасности, предъявляемых к большинству концернов. Закон распространяется на «реплики», то есть машины, похожие на модели возрастом от 25 лет — например, Shelby Cobra, Mustang 1965 года и DeLorean.

image
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии97

Самый крутой системный блок для PC (сделай сам)

Время на прочтение5 мин
Количество просмотров783K
Добрый день, хабровчане. Большое спасибо за инвайт! И хотя начинать с перевода чужих постов — не самая хорошая идея, возможно, этот проект самоделки еще кому-то покажется мега-крутым.



Это перевод поста с форума Оverclock.net. Пользователь Show4Pro решил вытащить все внутренности своего супер компа и повесить все на стену. Прекрасная идея прекрасно реализована. Кому интересно, как это собиралось и как это работает — велкам под кат.
Читать дальше →
Всего голосов 301: ↑285 и ↓16+269
Комментарии126

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность