Pull to refresh
5
0
Send message

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

Reading time10 min
Views9.5K

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


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


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


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

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

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



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

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

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

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

Reading time10 min
Views37K

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

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

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

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

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

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

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

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

Reading time4 min
Views5.7K
image

Всем привет!

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

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

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

Итак, что в программе:
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments5

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

Reading time32 min
Views6.8K
Оглавление:

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

9.1. Введение


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

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

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

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

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

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

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

Reading time16 min
Views86K
Upd. 9.7.2017: обновлён раздел про vim. Спасибо вимерам за ценные дополнения.

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


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


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


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

Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments199

Магия SSH

Reading time11 min
Views488K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

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

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

Reading time4 min
Views245K
Статья написана в 2009 году, и с тех пор многое изменилось, в том числе появились некоторые альтернативные шрифты для программирования, например, Anonymous Pro.

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

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

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

Reading time5 min
Views61K

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



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

в чем-же дело
Total votes 64: ↑63 and ↓1+62
Comments80

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

Reading time5 min
Views16K

КДПВ


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


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

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


Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments7

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

Reading time7 min
Views44K

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

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

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

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


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

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

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

Reading time4 min
Views68K
Хочу поделиться небольшим опытом работы с технологией групповой передачи данных, или иначе UDP Multicast, и проблемой особенностью, которая возникает при написании кроссплатформенного кода.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments4

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

Reading time51 min
Views644K

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

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




Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments27

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

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

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




Читать дальше →
Total votes 16: ↑11 and ↓5+6
Comments51

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

Reading time10 min
Views6.2K

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

Смайлс С.

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

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

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

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

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

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

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



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

Information

Rating
Does not participate
Registered
Activity