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

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

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

Трансформация кода в Android

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

Вместо вступления


Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc) и тут понеслось.


Решив сделать что-то, приближенное к реальному миру Android разработки, написал плагин, который парсит layout xml файлы разметки и создает по ним Java объект со ссылками на вьюхи. Затем побаловался с трансформацией манифеста приложения (того требовала реальная задача на рабочем проекте), так как после трансформации манифест занимал порядка 5к строк, а работать в IDE с таким xml файлом довольно тяжело.


Так я разобрался как генерировать код и ресурсы для Android проекта, но со временем захотелось чего-то большего. Появилась мысль, что было бы круто трансформировать AST (Abstract Syntax Tree) в compile time как это делает Groovy из-под коробки. Такое метапрограммирование открывает много возможностей, была бы фантазия.


Дабы теория не была просто теорией, я решил подкреплять изучение темы созданием чего-то полезного для Android разработки. Первое, что пришло на ум — сохранение состояния при пересоздании системных компонентов. Грубо говоря, сохранение переменных в Bundle максимально простым способом с минимальным бойлерплейтом.

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

Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC

Время на прочтение7 мин
Количество просмотров130K
Перед прочтением этой статьи рекомендуется ознакомиться с предыдущей статьёй: Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах / in English

Некоторые пользователи беспроводных наушников отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все аудиоустройства. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.

Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах, путём программных изменений смартфона или компьютера.
Читать дальше →
Всего голосов 100: ↑98 и ↓2+96
Комментарии53

Осторожно доктор

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


Это ответ на неожиданную статью на Хабре психиатра с тридцатипятилетним стажем Александра Геннадьевича Данилина, также довольно известного youtube влогера. До его статьи на Хабре я не обращал на его творчество внимания, как выяснилось, зря.

Но сначала короткое предисловие.

Для меня психиатрия болезненная и личная история. К сожалению, это очень специфичная область медицины, в которой эзотерика и мракобесие очень успешно сопротивляются научному знанию. Дело в том, что доказательной медицине вообще чуть более тридцати лет. И медицинское сообщество только сейчас с кровавой рвотой исторгает из себя всякую гомеопатию. В психиатрии же ввиду объективных факторов процесс идет тяжелее всего. Эта область все еще является заповедником для шарлатанов, невежд, идиотов и фриков от науки со своими особыми трактовками и истинами, почерпнутыми из “философских размышлений”. Революция в нейронауках, в частности, в психологии и психиатрии происходит прямо сейчас. Увы, не для всех.
К не слишком компетентным, но придерживающимся стандартных программ и методик лечения психиатрам, я отношусь довольно холодно. Тем не менее, они делают то, чему их научили. Как правило, это позволяет им вывести пациента из острого психотического состояния. Ну, а дальше у него по крайней мере будет шанс. Возможно, в будущем разработают лучшие методики, будут лучше лечить. Но вот фрики, выковыривающие свои антинаучные гипотезы из известного места и применяющие их при лечении тяжелых пациентов, вызывают во мне острое нестерпимое желание жечь, жечь, жечь в драконьем пламени. Я слишком хорошо знаю, к чему приводит их невежество.

Я был в этом аду, я в нем горел.
Читать дальше →
Всего голосов 268: ↑242 и ↓26+216
Комментарии413

Управление вниманием и его применение

Время на прочтение6 мин
Количество просмотров26K
Написать нижеизложенное меня побудила статья в Geektimes «Медитация — древний хакинг реальности в современности». В начале я хотел написать небольшой комментарий, который стал большим и вылился в эту статью. Сразу хочу сказать, что не обладаю достаточным знанием или опытом для того, чтобы затрагивать такую глубокую тему, но мне посчастливилось многие годы жить в Индии возле больших Учителей буддизма и йоги и слушать их наставления, а также изучать тексты. Мое понимание теории и практики, понимаемых под «медитациями», все еще в процессе становления, поэтому, эту статью, прошу рассматривать не как истину, а только как направление к размышлению, которое, возможно, поможет другим лучше разобраться в этой теме.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии24

Ответ психиатра на статью «Болен-здоров»

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


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

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

Щитовидная железа и ее гормоны (отчасти и гормоны гипофиза) отвечают за темп психической деятельности. То, что произошло с masterdak связано со стремительным увеличением темпа психической деятельности, который в психиатрии называют маниакальным состоянием, манией или гипоманией. Эти термины пациенту наверняка приходилось слышать, точно также как и понятие «наплыв мыслей».
Читать дальше →
Всего голосов 209: ↑154 и ↓55+99
Комментарии272

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Время на прочтение20 мин
Количество просмотров123K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

Ну и пишу, пишу, потому что стали забывать… Пугающе быстро стали забывать. Сначала в аптеках исчез йодид калия (я уж не говорю про описываемые в статье антидоты), потом так же неотвратимо исчезли льготы у ликвидаторов, знания у людей и т.д. и т.п.

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Всего голосов 227: ↑210 и ↓17+193
Комментарии272

Простые квантовые игры раскрывают окончательную сложность Вселенной

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

Игра для двоих может сказать, есть ли во Вселенной бесконечное количество сложности



Сколько независимых свойств есть у Вселенной? Простая игра может дать ответ на этот вопрос

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

Физикам это неизвестно, но при отсутствии определённости они делают предположения. А эти предположения различаются в зависимости от области физики. В одной области физики предполагают конечное число конфигураций. В другой – бесконечное. Пока что невозможно сказать, кто из них прав.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии35

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Время на прочтение15 мин
Количество просмотров98K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

Читать дальше →
Всего голосов 115: ↑114 и ↓1+113
Комментарии194

Заметки фитохимика. Картофель. Часть третья. «Бульба Фугу» или СОЛАНИН

Время на прочтение17 мин
Количество просмотров60K
… картофелине вполне по силам справиться с человеком.
неизвестный народный источник

Самой распространенной «картофельной угрозой» считается соланин, который «образуется в позеленевшем картофеле» и очередная фитозаметка посвящена именно ему, последствиям его употребления, а также способам спасения от оного. Так как в сети Интернет информация очень разрозненная, а то и ее попросту нет — старался писать так, чтобы получился исчерпывающий tutorial (может даже в Википедию когда-нибудь попадет, хотя скорее Хабр сам станет Википедией). Поэтому всем, радеющим за свое здоровье, советую быстрее зайти под cut. Заодно узнаете, почему методички исламских фундаменталистов учат использовать картошку в качестве химического оружия массового поражения и почему беременным женщинам нужно быть очень внимательными при употреблении «позеленевшей картошки» а то и вовсе отказаться от такого варианта, чтобы избежать возникновения неврологических аномалий у плода. UPD: и про безопасность проросшего картофеля.

Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии142

Онлайн-чеки по федеральной сети посредством RabbitMQ, 1С и черной магии

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

В прошлом году к нам обратился ИТ-директор одного из крупнейших аграрно-промышленных холдингов в России. Подход к бизнесу, который реализовал наш клиент, был впечатляющим. Он одним из первых реализовал идею предприятия полного цикла – от поля до полки в продуктовом магазине. Благодаря доступности и высокому качеству продукции этот холдинг стал признанным брендом, который знают и выбирают. В тот момент в холдинг входило более 650 торговых точек и более 20 000 сотрудников, распределенных по всей территории РФ.


Заказчику требовалось обеспечить максимально быструю доставку чеков до центра со всех торговых точек России, включая продуктовые ларьки в глухих селах с эпизодическим Интернетом и минимальной компьютеризацией.


С учетом указанной специфики решение задачи превратилось в увлекательное приключение с бубном, шаманами и кроличьими лапками в лице RabbitMQ. Как мы строили федеративный кластер очередей и с чем столкнулись – под катом.

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

PowerShell и Group Policy Preferences, когда счет принтеров на сотни

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


Много копий сломано вокруг управления сетевыми принтерами на пользовательских компьютерах. В основном администраторы разбились на два лагеря: подключение логон-скриптами (bat/vbs) и управление через GPP. У обоих подходов есть свои плюсы: скрипты быстрее обрабатываются, а GPP гибче и применяется чаще, чем пользователи перезагружают компьютеры. Но когда принтеров больше сотни и разбросаны они в нескольких десятках офисов и городов, сложности будут в обоих случаях.

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

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

А всё, что делается больше одного раза, можно автоматизировать!

Что мы сегодня будем делать?

  • вести учет всех сетевых принтеров;
  • автоматизировать добавление принтеров в GPP (PS/XML);
  • автоматизировать добавление принтеров на принт-сервер, причем на кластерный (BAT/VBS)!

Итак, начнем.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии21

Создание тонкого клиента на базе дешевых одноплатных ПК

Время на прочтение19 мин
Количество просмотров47K
Иногда требуется сделать хитрый тонкий клиент — с необычной авторизацией и минимумом затрат.

Проще всего для этого использовать Linux.

Для одноплатных пк на базе ARM широко распространен дистрибутив Armbian, который основан на Debian ветке.

Для экспериментов у меня в наличии была плата OrangePi One
image
и MicroSD карта на 2G — я решил сделать из этого тонкий клиент RDP с окном блокировки и без лишнего программного обеспечения.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии85

Glusterfs + erasure coding: когда надо много, дешево и надежно

Время на прочтение8 мин
Количество просмотров14K
Гластер в России мало у кого есть, и любой опыт интересен. У нас он большой и промышленный и, судя по дискуссии в прошлом посте, востребованный. Я рассказывал о самом начале опыта переноса бекапов с Enterprise хранилища на Glusterfs.

Это недостаточно хардкорно. Мы не остановились и решили собрать что-то более серьёзное. Поэтому здесь речь пойдёт о таких вещах, как erasure coding, шардинг, ребалансировка и её троттлинг, нагрузочное тестирование и так далее.



  • Больше теории волюмы/сабволюмы
  • hot spare
  • heal / heal full / rebalance
  • Выводы после ребута 3 нод (никогда так не делайте)
  • Как влияет на нагрузку сабволюма запись с разной скоростью от разных ВМ и shard on/off
  • rebalance после вылета диска
  • fast rebalance

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии17

Два DHCP сервера на Centos7 с failover, dhcp-relay и динамическим обновлением зон

Время на прочтение5 мин
Количество просмотров28K
Приветствую всех хабраюзеров. Мой первый опыт написания статей на Хабре, так что любая конструктивная критика приветствуется. Написать решил только лишь потому, что недавно столкнулся с задачей, решения которой «в лоб» не нашел.

Суть задачи в том, что в большой организации нужен был отказоустойчивый DHCP-сервер, с dhcp-relay и возможностью быстро синхронизировать конфигурацию. Основной момент, что в большинстве найденных мной руководствах рассматривается либо вариант failover, либо dhcp-relay и нигде оба варианта не рассматривались вместе да ещё и с удобным методом синхронизации конфигурации. Вдруг кому моя статья немного поможет?
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии53

Angular: авторизация, рефрешим токен и HttpInterceptor

Время на прочтение11 мин
Количество просмотров46K
Доброго времени суток.

Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса. Так же, по истечению срока действия токена, получая 401ую ошибку, будем восстанавливать токен и повторять запросы, которые не прошли авторизацию пока ждали рефреша.

Начнем с конфигурации Interceptor`ов:


Проводить конфигурацию предпочитаю с основного модуля приложения. Или если ваше приложение уже достаточно большое, советую вынести конфигурации в CoreModule.
В статье буду использовать CoreModule, но можно сделать это и в корневом (AppModule обычно) модуле приложения, отличия незначительны.

Пока писал статью ресурс на angular.io по CoreModule исчез
Коротко говоря, это такой модуль, который должен содержать глобальные сервисы. Преимущество в том, что этот модуль импортируется в модуле приложение (AppModule). Все экспортированные Core модулем сервисы гарантированно будут иметь только один инстанс на все приложение, включая lazy loaded модули.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

Найден третий препарат для лечения андрогенетической алопеции (облысения)

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

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

Химики и биологи много лет работают над поиском эффективных средств для регенерации волосяного покрова. Возможно, на эти цели в мире тратится больше денег, чем на космическую программу. В настоящее время создано два препарата для лечения облысения (андрогенетической алопеции) — это миноксидил и финастерид. К сожалению, у обоих препаратов есть побочные эффекты, и они не гарантируют положительный результат.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии114

Диабет, деменция и даже мигрени. Кетогенная диета оказывается эффективнее лекарств

Время на прочтение15 мин
Количество просмотров40K
Чарли, сын американского кинопродюсера Джима Абрахамса, страдал тяжелой формой резистентной эпилепсии. Количество ежедневных припадков измерялось десятками и даже сотнями, и лекарства почти не помогали. Хуже того, если без лекарств Чарли мог между припадками побыть нормальным ребенком, то с ними он превращался в «зомби, живущего на кресле машины».

Чарли спасла диета, придуманная в 1920-х годах, но ушедшая в забытие после широкого распространения антиконвульсанта фенитоина в конце 30-х. Уже через два дня припадки, не дававшие ему жить и развиваться целый год, полностью прекратились. Почти мгновенно Чарли превратился в обычного ребенка. Приступы больше не возвращались — даже после прекращения диеты через 5 лет.

Это было в начале 1990-х. С тех пор его отец основал фонд, снял фильм, и даже Малышева рассказала об этом по первому каналу. Но эпилепсию, как и другие болезни, почти всегда начинают лечить с медикаментов.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии69

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

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

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

Читать дальше →
Всего голосов 124: ↑120 и ↓4+116
Комментарии303

Добываем Wi-Fi соседа стандартными средствами MacOS

Время на прочтение5 мин
Количество просмотров358K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Всего голосов 163: ↑151 и ↓12+139
Комментарии249

Пиролизный котел в быту, или когда цена на газ не имеет значения

Время на прочтение16 мин
Количество просмотров155K
Можно ли построить систему отопления собственного жилища без газовой трубы так, чтобы это было комфортно, не утомительно и даже увлекательно? И что может получиться, если приправить всё это информационными технологиями?


Давайте вместе в этом разберемся.
Читать дальше →
Всего голосов 100: ↑97 и ↓3+94
Комментарии386
1
23 ...

Информация

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