Pull to refresh
55
0
Михаил Кулеш @mkulesh

Математик-инженер

Send message

Что стоит знать при переходе на Mac

Reading time 9 min
Views 89K

Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь, что это вообще возможно сделать. И всё это значит, что с UX что-то не так.

Тут возникает вопрос «а поняли бы мы Windows без гугления, если бы не были знакомы с ней с детства?» Но я хочу не ввязываться в бесконечные споры «какая ОС лучше» а подойти конструктивнее. Действительно, при переходе с Windows возникает ряд неинтуитивных моментов. И чтобы при этом не приходилось гуглить кучу разных вопросов или читать длиннющие пользовательские руководства, я решил описать в одном тексте самые главные вещи, которые приходят мне в голову.

Надеюсь, кому-то на Хабре это поможет и сделает переход менее болезненным. А если вы сами давно пользуетесь Mac, дополняйте в комментариях, наверняка я что-то ценное упустил.

Читать далее
Total votes 185: ↑168 and ↓17 +151
Comments 403

Работа с асинхронностью в Dart

Reading time 10 min
Views 11K

Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.

В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу данных и при этом не затормозить приложение.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 2

Альтернативы Raspberry Pi

Reading time 8 min
Views 81K

Свет клином не сошёлся на Raspberry Pi, и потому энтузиасты и гики могут экспериментировать с большим количеством самых разных одноплатных компьютеров (SBC). Предлагаю познакомиться с устройствами, которым под силу обрести популярность в 2021 году.

Читать далее
Total votes 67: ↑65 and ↓2 +63
Comments 71

Как удалить «неудаляемые» приложения со смартфона

Reading time 5 min
Views 246K


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Total votes 190: ↑179 and ↓11 +168
Comments 203

Линукс-порт Far Manager: прогресс за 4 года

Reading time 5 min
Views 68K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


Читать дальше →
Total votes 236: ↑235 and ↓1 +234
Comments 585

Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 2

Reading time 5 min
Views 22K
image

От Selectel: это вторая часть перевода статьи про отпечатки браузера (тут можно прочитать первую). Сегодня поговорим о законности сбора сторонними сервисами и сайтами отпечатков браузеров разных пользователей и о том, как можно защититься от сбора информации.
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 6

«Что угодно кроме алгоритмов»: где искать музыку, если стриминговые платформы уже надоели

Reading time 3 min
Views 13K

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

Читать и слушать
Total votes 17: ↑13 and ↓4 +9
Comments 26

Аудиофилькина грамота: о частотном диапазоне, возрасте, виниле и АЧХ тарелок Pink Floyd

Reading time 8 min
Views 58K
В комментариях не впервые нарвался на рассуждение о том, что равномерность АЧХ выше 16 кГц — это чуть ли не самый главный параметр для верности воспроизведения. По крайней мере очень и очень значимый. С подобным мнением от людей, которым больше тридцати лет от роду, а иногда и за сорок, мне приходится сталкиваться часто. И, как правило, те же люди утверждают, что частотный диапазон записей на виниле, якобы, выше, чем у CDDA (равно как и верность воспроизведения). Они же совершенно безапелляционно заявляют, что не просто слышат до 20 кГц (а порой и выше), но и приводят спектрограммы, где любимый многими Ник Мейсон (ударные золотого состава Pink Floyd), якобы, извлекает из своих тарелок эти самые 20 + кГц.



Когда людям в комментах пытаешься объяснить, что они упорствуют в заблуждении, начинаются рассказы, что они великие практики, на спектрограмме всё видели, их “мутью теоретической” не обманешь. В силу образования, я знаком с физиологией слуха, а в силу увлечений — с практикой звукозаписи. Под катом постараюсь подробно объяснить, почему рассказы про “20 кГц в тарелках у Pink Floyd”, волшебную широту диапазона виниловых записей и способность слышать 20 кГц после 30 лет, не имеют ничего общего с реальностью.
Читать дальше →
Total votes 64: ↑64 and ↓0 +64
Comments 212

Почти unGoogled Android

Reading time 12 min
Views 20K

Раз уж астрологи объявили месяц статей про прошивки для Android без гугловых сервисов, поделюсь и я своим опытом. Чтобы предвосхитить возможные вопросы к статье, сразу хочу сказать какие именно цели я преследовал при перепрошивке, а где приходилось срезать углы.

Читать далее
Total votes 21: ↑21 and ↓0 +21
Comments 28

Операционные усилители: 10 схем на (почти) все случаи жизни

Reading time 15 min
Views 440K
Всем привет!

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


Читать дальше →
Total votes 139: ↑137 and ↓2 +135
Comments 54

Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL

Reading time 8 min
Views 18K

Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" дисплей по демократичной цене — около 200руб. Первое, что бросилось в глаза — надпись SH1106 вместо SSD1306, поиск в интернете прояснил, что это практически тоже самое, только оставлен единственный страничный режим адресации, да и тот ограничен одной строкой. Как с ним работать я и постараюсь объяснить вам в этой публикации.

Где-то с год назад мне стало не хватать возможностей синей пилюли (STM32F103) и была заказана китайская плата разработчика STM32F407VE. Для отладки, часто, двух светодиодов не хватает, поэтому в каждом проекте для вывода информации подключаю OLED SSD1306 по шине I2C, в который влюбился еще со времен Arduino. Так как графику я на него не вывожу, в основном числа и текст, а размер готовых библиотек и их содержание поражало мое воображение, была написана небольшая библиотечка, которую я немного адаптировал под SH1106 и хочу поделится с вами процессом ее написания. Дисплей приехал 7pin SPI:

sh1106

Плата разработчика у меня такая, но ничего вам не помешает подключить к другой, хоть на STM32F103, для чего HAL и был придуман (разве не так ?):

F407board
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 24

Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA)

Reading time 7 min
Views 27K
В данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128x64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а программирование микроконтроллера производить с помощью библиотеки CMSIS.

Подключение


Подключать дисплей к микроконтроллеру будем по интерфейсу SPI1 по следующей схеме:

  • VDD-> +3.3В
  • GND-> Земля
  • SCK -> PA5
  • SDA -> PA7(MOSI)
  • RES-> PA1
  • CS-> PA2
  • DS-> PA3

imageimage

Передача данных происходит по возрастающему фронту сигнала синхронизации по 1 байту за кадр. Линии SCK и SDA служат для передачи данных по интерфейсу SPI, RES — перезагружает контроллер дисплея при низком логическом уровне, CS отвечает за выбор устройства на шине SPI при низком логическом уровне, DS определяет тип данных (команда — 1/данные — 0) которые передаются дисплею. Так как с дисплея ничего считать нельзя, вывод MISO использовать не будем.
Читать дальше →
Total votes 40: ↑39 and ↓1 +38
Comments 32

Архитектура Y messenger

Reading time 9 min
Views 9.8K


Y messenger разрабатывается чтобы быть одновременно и защищенным на уровне Tox, BitMessage, и удобным на уровне Telegram и WhatsApp. В этой статье я опишу как выглядит архитектура и какие решения были использованы чтобы достичь поставленных целей.


Какие преимущества современных мессенджеров мы собрали в нашем продукте:

Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Comments 23

10 советов схемотехнику

Reading time 20 min
Views 114K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Total votes 212: ↑210 and ↓2 +208
Comments 244

Как улучшить производительность вашего Flutter приложения

Reading time 13 min
Views 12K


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

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 9

Максимально универсальный семисегментный дисплей. Часть первая — Hardware

Reading time 9 min
Views 34K
КДПВ

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

Что из этого получилось — под катом.
Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 74

STM32MP1 — ядра + Linux = идеальный микроконтроллер

Reading time 5 min
Views 39K
По роду своей деятельности занимаюсь разработкой различных приборов: измерительных, управляющих, контролирующих и т.п. В подавляющем большинстве устройство делится на 2 части:

  1. Требующий больших ресурсов микроконтроллера и не требующий жесткого реального времени графический интерфейс пользователя (GUI).
  2. Потребляющая немного ресурсов и работающая в жестком реальном времени аппаратная часть прибора.

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

Но с появлением у STM новой линейки микроконтроллеров STM32MP1 мои терзания закончились и вот что пока получилось.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 29

Светодиодный костюм

Reading time 3 min
Views 26K
Это первая часть моей публикации, в которой я постараюсь кратко и лаконично изложить технологию построения современного светодиодного костюма.

image

Уже более 4-х лет на рынке доступны цифровые светодиодные ленты на базе IC LED чипов (смарт пикселей). Суть таких пикселей довольно проста, в RGB SMD/DIP светодиод интегрируется микросхема, которая им управляет. Такие ленты обеспечивают высокую плотность — 144/100/60 пикселей на метр, малый вес, низкое напряжение питания, и простоту управления внешним контроллером.

image

Среди наиболее распространенных и популярных LED чипов можно выделить: WS2812B, WS2813, APA102, SK9822, UCS1903 с питанием 3,5-5В. В настоящее время также набирают популярность IC LED чипы с питанием +12В, это WS2815, GS8208.

image

Каждый пиксель такой ленты может управляться индивидуально, также как пиксель на экране монитора, т.о. это дает возможность построить на базе цифровой светодиодной ленты продвинутый LED костюм или «Пиксельный костюм».
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 24

Беспроводной датчик открытия и закрытия с расширенным функционалом

Reading time 20 min
Views 17K
Приветствую всех читателей Хабра и особенно читателей раздела «DIY или Сделай сам»! А не придумать ли чего нибудь такого-растакого, я же ардуиншик, мне можно,… главное тему управления лифтовыми кабинами не трогать :). После недолгих размышлений почему то захотелось сделать датчик открытия и закрытия. Данный датчик как и остальные мои поделки которые я делаю в последнее время базируется на чипах компании Nordic Semiconductor. Датчик решил делать в двух версиях, одну на чипе nRF52840, а вторую на чипе nRF52811.


Total votes 28: ↑22 and ↓6 +16
Comments 32

Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы

Reading time 6 min
Views 28K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».




Здесь вы получите ответы на важные вопросы о жизни, вселенной и всем таком в Linux с улучшенной безопасностью.

«Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…»

―Дуглас Адамс, Автостопом по Галактике

Безопасность. Повышение надежности. Соответствие. Политика. Четыре Всадника Апокалипсиса сисадмина. В дополнение к нашим ежедневным задачам — мониторингу, резервному копированию, внедрению, настройке, обновлению и т. д. — мы также отвечаем за безопасность наших систем. Даже тех систем, где сторонний провайдер рекомендует нам отключить усиленную безопасность. Это похоже на работу Этана Ханта из “Миссия невыполнима”.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 4

Information

Rating
Does not participate
Location
Bremen, Bremen, Германия
Date of birth
Registered
Activity

Specialization

Application Developer, Software Architect
Senior