Blog

  • Деглобализация

    2022-04-11 11:47:26

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

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

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

    Отдельная часть глобальной экономики – цифровые сервисы, которые ничего не производят, а просто выводят из экономики страны-носителя часть денег.

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

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

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

    Это упрощенная картина, в реальности все заметно сложнее.


  • Краткий обзор НСПВ препаратов

    2021-11-17 09:21:59

    Подробных медицинских обзоров по применению НСПВП при каждом конкретному диагнозу в интернете полно, поэтому ниже только краткая бытовая справка. На полноту не претендую, ссылок не даю.

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

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

    Диклофенак натрия – максимальная суточная доза 150 мг, это наиболее распространенный препарат, в дозировке 100 мг/сутки обладает хорошим балансом болеутоляющего и противовоспалительного действия. Т. е. если вы не знаете, почему вам нужен другой препарат – пейте диклофенак.

    Ибупрофен – максимальная суточная доза 1200 мг, однако препарат мало ядовит и под контролем врача эта доза может быть увеличена. Небольшие дозы ибупрофена обладают выраженным жаропонижающим и противовоспалительным действием, но практически не обладают болеутоляющим действием. Высокие дозы ибупрофена 800 -1600 мг/сутки используются при терапии артритов с необходимостью длительного (больше 5 дней приема), в этом случае количество побочных реакций достоверно ниже, чем у диклофенака.

    Кетопрофен – максимальная суточная доза 200 мг, препарат не предназначен для длительного (дольше 1-2 суток) применения, однако при необходимости быстрого купирования острой боли – зубной, послеоперационной, травматической и т.п., он показывает значимо лучшие результаты чем диклофенак или ибупрофен. Рекомендуется использовать капсулы по 50 мг.

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

    Помимо собственно НСПВП в этом обзоре стоит упомянуть еще два препарата:

    Супрастин продлевает и усиливает действие НСПВП, в свою очередь, НСПВП усиливают седативный эффект супрастина. Это полезно для облегчения состояния.

    Парацетамол не является НСПВП т. к. имеет совершенно другой механизм действия. В отличие от НСПВН не обладает противовоспалительным действием, ядовит при передозировке – как развой (1г) так и суточной (4г), но не влияет на желудок и безопасен в дозах около ½ разовой и суточной. Парацетамол можно принимать в сочетании с НСПВП, не превышая ½ суточной дозы.


  • Конспект ситуации с вакцинами в России

    2021-11-17 09:20:06

    Ниже мое персональное резюме темы с вакцинами, актуальное на 23 JUN 2021. Все что написано ниже - не более чем мое персональное мнение, основанное на профильном образовании и большом количестве прочитанных за последнее время статей. Ниже упомянуты три вакцины доступные в России и Pfizer, для контроля. Обсуждать J&J and AZ смысла нет - это чисто коммерческие проекты, уступающие ГамКовидВак (Спутник) по всем параметрам. Имеющихся у меня данных по тому, как организовано производство Moderna недостаточно для каких-либо выводов.

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

    Про реальную эффективность вакцин мы пока ничего не знаем. Исходя из текущих данных, можно предположить, что эффективность Pfizer заметно лучше чем у ГамКовидВак - далее Спутник, против того штамма, против которого она создавалась и несколько лучше или такая же как у Спутник против всех остальных штаммов. Данные КИ III ЭпиВакКорона (Вектора) - далее ВекторВак и КовиВак (центра Чумакова) - далее ЧуВак не известны, каких-либо адекватных оценок их эффективности по результатам реальной вакцинации тоже нет. Исходя из народных данных, биологии, данных аналогичных вакцин - эффективность ВекторВак близка к нулю, эффективность ЧуВак должна быть сильно меньше, чем Спутника.

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

    Безопасность вакцины состоит из безопасности всех этапов (1. технологии на которой все основано, 2. дизайна и качества самой вакцины, 3. заводского производства, 4. "последней мили").

    Pfizer

    (1) ничего не известно
    (2) хорошо - дизайн и КИ проведены по всем правилам.
    (3) плохо - не смогли доказать идентичность вакцины в КИ и той, что пошла в серию; под совершенно новое и сложное производство приспосабливали имеющиеся линии, нарушая все стандарты и требования (см. например паралич лицевого нерва из-за плохой очистки субстрата); скорее всего проблемы начального этапа исправлены, но данных об этом нет.
    (4) плохо, нестабильная вакцина с хранением под -80 на всех этапах, разморозили неправильно - вкололи неизвестно что.

    Спутник

    (1) хорошо - технологии около 30 лет, все известно и понятно.
    (2) приемлемо - КИ проведено, но есть вопросы к выбору добровольцев, не все данные опубликованы.
    (3) приемлемо - кастрюлька с культурой ткани и очистка совершенно рутинные; контролем качества занимается "лично" институт Гамаллеи; производство организовывали в спешке, разливают часто на чужих линиях.
    (4) хорошо - обычные флаконы, бытовые холодильники.

    ЧуВак

    (1) плохо - технология очень старая и очень проблемная, со множеством аутоиммунных и аллергических реакций.
    (2) плохо - КИ проведено не понятно как, данные не опубликованы.
    (3) плохо - необходимо выращивать живой опасный вирус, для этого нужна лаборатория соответствующего класса.
    (4) хорошо - обычные флаконы, бытовые холодильники.

    ВекторВак

    (1) приемлемо - технология старая, хорошо известная и более-менее безопасная, аллергические реакции изучены.
    (2) плохо - КИ проведено не понятно как, данные не опубликованы.
    (3) хорошо - производство рутинное и хорошо налаженное.
    (4) хорошо - стандартная логистика.

     


  • Колыбельная сыну

    2021-11-15 20:27:47

    Баю-бай мой сын любимый засыпай - не плачь
    Ты расти большим и сильным в череде удач
         
    Ни кого не бойся в жизни маму береги
    И тебя не одолеют лютые враги

    Вырастешь, ты дом построишь и найдешь жену
    Так, чтобы любить до гроба лишь ее одну      

    Ты в кровать заглянешь к сыну - пусть он спит пока
    И нальешь рукой усталой рюмку коньяка

    Баю-бай мой сын любимый засыпай не плачь
    Ты расти отец и воин в череде удач


  • Растительная мазь для надкостницы и суставов

    2021-10-16 15:56:38

    Мазь которую я использую и всем рекомендую.

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

    1. Измельчённые шишки хмеля - 1 часть
    2. Измельчённая трава зверобоя - 1 часть
    3. Порошок бодяги - 0.5 частей
    4. Порошок прополиса - 0.5 частей

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

    Применение: намазать, подержать два часа, потом стереть и не смывать 6-8 часов. Если кожа толстая, то можно просто оставить на ночь.


  • How to build and run jdk microbenchmarks using openjdk build system

    2021-09-08 13:23:50

    From JEP 230 - how to build and run jdk microbenchmarks using openjdk build system:

    ./configure  --with-jmh=/opt/jmh/target

    make test-bundles

    make build-microbenchmark will build build/$PROFILE/images/test/micro/benchmarks.jar

    make test TEST="micro:java.lang.invoke" would run all the java.lang.invoke microbenchmarks with default settings.


  • Краткий обзор антигистаминных препаратов

    2021-05-15 07:35:13

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

    Антигистаминные препараты первого поколения - diphenhydramine (димедрол), clemastine (тавегил), chloropyramine (супрастин) и т. д. сегодня считаются устаревшими.

    Однако супрастин начинает действовать быстрее препаратов второго поколения, через 15 минут после приема, пик достигается в течение часа после приема. Кроме того, он обладает выраженным седативным и антихолинергическим действием, что может быть полезным при травмах и высокой температуре. Т.е. это препарат разового приема и дополнение к НСПВП.

    Во втором поколении главным образом представлены две группы препаратов loratadine (Кларитин) и его производные и cetirizine (Зиртек) и его производные.

    Для того, чтобы начать действовать loratadine должен преобразоваться в печени до desloratadine, пик действия достигается через 8-12 часов после приема. Desoloratadine (Эриус) выпускается в виде самостоятельного препарата, но по прежнему остается препаратом медленным, с большой продолжительностью действия.

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

    Еще один препарат, который стоит упомянуть – это bilastine (Никсар). Он появился на рынке относительно недавно, в 2011 году, и механизм его действия заметно отличается от препаратов, описанных выше, в частности, полностью отсутствует седация. По остальным параметрам он в целом эквивалентен Desoloratadine и Cetirizine в рекомендуемых дозировках.

     

    Выбор антигистаминного препарата: взгляд фармаколога

    Treatment of allergic rhinitis and urticaria: a review of the newest antihistamine drug bilastine


  • Анатомия нищебродства

    2021-04-25 18:31:21

    Близится конец финансового года **, а значит пришла пора поговорить о материальном. Что такое благосостояние, финансовая устойчивость и откуда берутся нищеброды.

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

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

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

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

    PS: ** В большинстве компаний финансовый год начинается в Июле, а бюджет на следующий год планируется в Апреле-Мае

     


  • Уравновешивание замкнутого теодолитного хода

    2021-03-25 05:46:46

    // Уравновешивание замкнутого теодолитного хода
    // scilab 6.1 
    // version: 2021-03-19  2.10
    
    clear
    funcprot(0)
    
    // Вспомогательные функции
    function v=to_degree(deg, mins, secs)
        // Преобразование из градусов, минут, секунда 
        // в градусы и десятые градуса для sind/cosd
        v = deg + mins/60 + secs/60/60
    endfunction
    
    function [deg, mins, secs]=from_degree(v)
        deg  = floor(v)
        mins_secs = v - floor(v)
        
        mins  = floor(mins_secs * 60)
        secs = round((mins_secs * 60 - mins) * 60)
    endfunction    
    
    // Функции для печати значений в правильном формате
    
    function print_dgr(label, valvec)
        // Печатает значение углов в градусах и десятых градуса как градусы, минуты, секунды
        function __print_dgr(label, varargin)
        
          if size(varargin) == 1 then
            
              v = varargin(1)
              [deg, mins, secs] = from_degree(v)
              printf("%s: %d°%d''%d""\n", label, deg, mins, secs)
    
          elseif size(varargin) == 2 then   
        
              idx = varargin(1)
              v = varargin(2)
              [deg, mins, secs] = from_degree(v)
              printf("%s %d: %d°%d''%d""\n", label, idx, deg, mins, secs)
    
          else
            assert_checktrue ( false );    
          end
        endfunction
    
        // Печатает вектор углов
        for i = 1 : size(valvec, "*")
            __print_dgr(label,i,valvec(i))
        end
    endfunction    
    
    function print_xy(label, valvec_x, valvec_y)
        // Печатает вектор координат
    
        function __print_xy(label, varargin)
           // Печатает координаты
        
          if size(varargin) == 2 then
            
              x = varargin(1)
              y = varargin(2)        
              printf("%s: %0.4f,%0.4f\n", label, x, y)
            
          elseif size(varargin) == 3 then
            
              idx = varargin(1)
              x   = varargin(2)
              y   = varargin(3)        
              printf("%s %d: %0.4f,%0.4f\n", label, idx, x, y)
    
          else
              assert_checktrue ( false );    
          end        
            
       endfunction
    
        assert_checkequal (size(valvec_x,"*"), size(valvec_y,"*"));
    
        for i = 1 : size(valvec_x, "*")
            __print_xy(label,i,valvec_x(i), valvec_y(i))
        end
    endfunction    
    
    // *****  Дано ******
    // Измеренные горизонтальные углы
    angles = [ to_degree(105, 24, 0), to_degree(123, 10, 0), to_degree( 79, 24, 0), to_degree(140, 39, 0), to_degree( 91, 21, 0) ]
    
    // Горизонтальное положение: 12 23 34 45 51 ...
    d_hors = [ 135.62, 159.82, 142.15,  138.61, 153.71 ]
    
    // Дирекционные углы, 
    // первый должен быть задан, остальные вычисляются
    dirs = [ to_degree(44, 44, 0) ]
    
    // Координаты точек, 
    // координаты первой точки должны быть заданы, остальные вычисляются
    pX = [ 250.00 ]
    pY = [-780.00 ]
    
    // *********** Начало вычислений *****
    // Количество точек
    n_points = size(angles, "*")
    
    // Количество горизонтальных положений должно быть равно количеству точек
    assert_checkequal (size(d_hors,"*"), n_points);
    
    // Определяют практическую сумму углов Sпр и угловую невязку f, 
    //  равную разности практической и теоретической сумм углов в полигоне 
    
    // Теоретическая сумма углов в полигоне
    St = 180 * (n_points - 2)
    
    // Практическая сумма углол в полигоне 
    Sp = sum(angles)
    
    // Угловая невязка
    f = abs(St - Sp)
    
    // Промежуточная печать
    print_dgr("Теоретическая сумма уголов", St)
    print_dgr("Практическая сумма уголов", Sp)
    print_dgr("Угловая невязка", f)
    
    // Угловую невязку f распределяют с обратным знаком поровну на все измеренные углы, с точностью до 0',1.
    // Поправка
    ppr = f/n_points
    print_dgr("Поправка", ppr)
    
    // Углы с поправкой
    angles = angles + ppr
    
    // Вычисляют дирекционные углы (азимуты) линий.
    // dir_1 - pre-calculated, don't set
    
    for i = 2 : n_points
        dirs(i) = dirs(i - 1) + 180 - angles(i)
    end    
    
    print_dgr("Дирекционный угол", dirs)
    
    // Вычисляем румбы, в дальнейших расчетах они не участвуют
    for i = 1 : n_points
        if dirs(i) <= 90 then
            rumbs(i) = dirs(i)
        elseif dirs(i) > 90 && dirs(i) <= 180 then   
            rumbs(i) = 180 - dirs(i)
        elseif dirs(i) > 180 && dirs(i) <= 270 then   
            rumbs(i) = dirs(i) - 180
       elseif dirs(i) > 270 then   
            rumbs(i) = 360 - dirs(i)
       end
    end   
    
    print_dgr("Румб", rumbs)
    
    // Приращение координат
    for i = 1 : n_points
        dX(i) = d_hors(i) * cosd(dirs(i))
        dY(i) = d_hors(i) * sind(dirs(i))
    end
    
    print_xy("Приращение координат", dX, dY)
    
    // Невязка равна сумме приращений 
    FdX = sum(dX)
    FdY = sum(dY)
    
    print_xy("Невязка", FdX, FdY)
    
    // Поправки
    Sd = sum(d_hors)
    
    for i = 1 : n_points
      sigma_X(i) = (FdX * d_hors(i))/ Sd 
      sigma_Y(i) = (FdY * d_hors(i))/ Sd 
    end
    
    print_xy("Поправки", sigma_X, sigma_Y)
    
    // Приращение координат с поправками 
    for i = 1: n_points
        dXc(i) = dX(i) + sigma_X(i) * -1
        dYc(i) = dY(i) + sigma_Y(i) * -1
    end
    
    print_xy("Приращение координат с поправками", dXc, dYc)
    
    // Невязка равна сумме приращений 
    FdXc = sum(dXc)
    FdYc = sum(dYc)
    
    print_xy("Невязка с поправками", FdXc, FdYc)
    
    // Невязка с поправками должна быть равна нулю
    assert_checkequal (round(FdXc), 0);
    assert_checkequal (round(FdYc), 0);
    
    // Вычисляем координаты
    for i = 2 : n_points
       pX(i) = pX(i-1) + dXc(i-1)
       pY(i) = pY(i-1) + dYc(i-1)
    end
    
    // Полигон должен быть замкнутым
    pX(n_points + 1) = pX(n_points) + dXc(n_points)
    pY(n_points + 1) = pY(n_points) + dYc(n_points)
    
    print_xy("Координаты", pX, pY)
    
    assert_checkequal (round(pX(n_points + 1)), pX(1));
    assert_checkequal (round(pY(n_points + 1)), pY(1));
    
    plot(pX, pY, "b")
    
    // The End


  • Растительная мазь для надкостницы и суставов

    2021-02-23 18:45:34

    Мазь которую я использую и всем рекомендую.

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

    1. Измельчённые шишки хмеля - 1 часть
    2. Измельчённая трава зверобоя - 1 часть
    3. Порошок бодяги - 0.5 частей
    4. Порошок прополиса - 0.5 частей

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

    Применение: намазать, подержать два часа, потом стереть и не смывать 6-8 часов. Если кожа толстая, то можно просто оставить на ночь.