Search
Write a publication
Pull to refresh
397
213.5
Алексей Костенков @Erwinmal

Рептилоид

Send message

Жизнь как этап эволюции материи

Reading time15 min
Views13K
Биологическая реакция выделяется нелинейным отношением объекта реакции к воздействию, её вызвавшему. Если представить лягушку, прыгнувшую из-за того, что на неё упала капля воды, то в этом не будет ничего необычного. Но если представить ту же каплю, капнувшую на камень и в ёмкость с реагентом сопоставимых размеров, то разница химической, физической и биологической реакции будет очевидна: химической реакции будет на каплю — в пределах, для которых её хватит как реагента, физическая реакция будет пропорциональна физическим характеристикам взаимодействия, то есть, незаметна для одной капли (хотя достаточно сильная струя воды могла бы расколоть камень). Никаких физических или химических свойств одной капли воды не хватит, чтобы заставить перепрыгнуть на другое место ёмкость с реагентом. Прыжок камня размером с лягушку на расстояние лягушачьего потребовало бы сильного внешнего толчка, в отсутствие которых прыгающие камни, скорее, наведут на подозрения, что камни-то живые.


380 тысяч лет от БВ до первого атома водорода

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

Как выжить после крушения?

Reading time11 min
Views31K
(www.goodfon.ru, Автор: Juliannaa)

Кораблекрушение, авиакатастрофа… Этот сюжет многократно обыгран во множестве разнообразных фильмов, игр и массовой культуре. Хотя большинство людей, так или иначе, слышали о подобном, но не имели к этому отношения (к счастью). В этой статье мы попробуем обсудить, как выжить современному человеку, в случае крушения, в безлюдном месте, а также дать знать о своей ситуации с помощью разных способов (в том числе, построив «радиопередатчик из ничего»).
Читать дальше →

5 возможностей JavaScript ES12, которыми стоит воспользоваться уже сегодня

Reading time6 min
Views22K
Стандарт ECMAScript 2021 (12 редакция) выпущен 22 июня 2021 года. Вместе с ним появились новые возможности и новые синтаксические конструкции. Все эти улучшения направлены на то, чтобы сделать JavaScript надёжнее и стабильнее, чтобы разработчикам легче было делать своё дело.



Я подробно расскажу о 5 самых интересных возможностях ECMAScript 2021. Это позволит вам приступить к их использованию в своих проектах, что упростит вам работу и улучшит ваш код. Эта статья может оказаться полезной как начинающим, так и опытным разработчикам.
Читать дальше →

На чем будем летать на МКС: Транспортные корабли следующего поколения

Reading time5 min
Views15K
Dream Chaser, вид с хвоста. Источник: SNC

Нам попалась на глаза интересная табличка от Payload (выпускают информационный дайджест совместно с Firefly Airspace). В ней представлены хорошо известные «Союзы» и «Прогрессы», а также четыре американских космических корабля. Это уже летающие на МКС пилотируемый и грузовой SpaceX Dragon, грузовик Cygnus компании Northrop Grumman, а также проблемный Boeing Starliner (его эксплуатация откладывается до 2023 г.).

Мы же в статье подробнее расскажем о нескольких перспективных кораблях, представленных в таблице Payload. Пока они только разрабатываются и о них мало что известно. Это три принципиально новых проекта (российский «АРГО», URV компании Intuitive Machines и многоразовый челнок Dream Chaser компании Sierra Nevada), а также глубокая модернизация существующих кораблей — «Союз ГВК» и японский HTV-X.
Читать дальше →

Блокчейн на Python

Reading time7 min
Views36K
Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобраться с его отличиями от кода, написанного на JavaScript.

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



Несмотря на то, что исходная статья появилась на свет после того, как её автор ознакомился с примером блокчейн-разработки на Python, мне хотелось написать Python-код, который как можно более точно воспроизводит JavaScript-код из статьи. Это позволит сопоставить реализацию блокчейна на разных языках.

Я, кроме того, собираюсь сделать так, чтобы моя реализация блокчейна, как и в статье про JavaScript, тоже поместилась бы в 60 строк.
Читать дальше →

Восстановление старинного Авометра модель 8 Марк II

Reading time8 min
Views11K

Когда начинал работать над статьёй "Способы питания электролюминесцентных индикаторов", для наглядности я подбирал наиболее интересный и красивый стрелочный мультиметр. Тогда мне удалось купить весьма стильный, но всё же не самый элегантный ампервольтметр, отечественного производства. Сайт объявлений запомнил мой поиск и начал мне подсовывать и дальше подобные приборы, и в один из дней попался мне он, этот невероятный красавец, за просто смешные деньги. Это был чистокровный старинный британец, а по цене был таким же, как и его отечественный собрат. Хотя даже по фотографиям в объявлении, было ясно, что судьба его изрядно потрепала, и я предполагал, да наверняка он даже не работает. Но желание иметь такого красавца в хозяйстве, хотя бы в интерьере — не оставило мне выбора.

Отменив все дела на вечер, я помчался за данным устройством на другой конец Москвы. И, о чудо, мне удалось успеть и купить его первым. Дальше же предстояла работа по восстановлению или хотя бы приведению в порядок данного аппарата.
Читать дальше →

Строим свою телестудию с блекджеком и…

Reading time9 min
Views9K

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

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

И, более того, давайте мы сделаем что-то в виде новостей от CEO. Собираем менеджмент в одну комнату. Они сидят, обсуждают все вопросы в онлайне раз в неделю или что-то в этом роде, и вместо всех этих совещаний и планёрок, у всех сотрудников будет доступ к внутрикорпоративному “Ютубу”, на котором можно будет просто спокойно устроить одну большую видеоконференцию на этой неделе и беззаботно жить дальше.

Кто бы знал, что стенания пары системных администраторов приведут к созданию телестудии.
Читать дальше →

Хуки — это лучшее, что случилось с React

Reading time6 min
Views19K
React — это самая популярная фронтенд-библиотека из экосистемы JavaScript. Она известна простотой использования и читабельностью кода, создаваемого с её применением. Это позволяет организациям самых разных масштабов успешно внедрять данную библиотеку. Но компоненты, основанные на классах, это громоздкие конструкции, с которыми непросто разобраться. Хуки позволяют работать с состоянием компонентов, с методами их жизненного цикла, с другими механизмами React без использования классов.



В этой статье мы поговорим о том, что такое React-хуки, о том, что отличает их от других механизмов библиотеки, и о том, почему они — это лучшее, что случилось с React.
Читать дальше →

Делаем устройство для мониторинга концентрации CO₂

Reading time8 min
Views26K

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

В чём опасность слабой модели памяти ARM на примере конкретного эксплоита

Reading time9 min
Views11K


Процессоры ARM приходят к нам всерьёз и надолго. Мы видим, что семейство Apple M1 в бенчмарках показывает потрясающие результаты, не хуже флагманских моделей от Intel и AMD, а кое-где и лучше их. Уже выпускаются 128-ядерные серверные ARM, которые ставят рекорды по энергоэффективности, а для серверов это очень важно.

Таким образом, ARM приходит и на десктопы, и на серверы. Но в разработке под архитектуру ARM и при работе с существующим программным обеспечением есть один нюанс. Дело в том, что программирование без блокировок (lock-free) — опасная штука, особенно на этих процессорах. Если на архитектуре x86/x64 сильная модель памяти и здесь инструкции типа store идут в процессор строго по порядку, то в архитектуре ARM это совершенно не факт. В результате частенько случается, что вполне безопасный код x86 порождает состояние гонки под ARM.
Читать дальше →

Printf("%s %s", внедрение, зависимостей)

Reading time5 min
Views7K
Механизм внедрения зависимостей (Dependency Injection, DI) стал одним из тех аспектов корпоративного программирования, с которыми мне было сложнее всего разобраться. А именно, дело было в том, что это понятие уже имело для меня смысл. Мне, для того, чтобы этот смысл увидеть, не пришлось много всего читать.



В функциональном программировании смысл DI заключается в передаче функциям других функций.
Читать дальше →

Разработка настоящих компонентов: блок сообщения Facebook Messenger

Reading time19 min
Views10K
Смесь любопытства и тяги к исследованиям снова привели меня к системе обмена сообщениями Facebook. Я уже изучал компоненты Facebook и писал об этом. Сейчас я обратил внимание на то, что в одни только блоки для вывода сообщений чата вложена огромная работа. На первый взгляд может показаться, что разработка компонента, реализующего чат — это просто, что у составных частей такого компонента будет не особенно много вариаций.

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



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

s/bash/zsh/g

Reading time13 min
Views8.3K
Как думаете — сработает такая команда?

bash% echo $(( .1 + .2 ))
bash: .1 + .2 : syntax error: operand expected (error token is ".1 + .2 ")

Как видите, bash выполнять её не хочет, а вот в zsh она обрабатывается совершенно нормально:

zsh% echo $(( .1 + .2 ))
0.30000000000000004      # Ну, "работает" в той мере, в какой работает IEEE-754.

В bash просто нельзя выполнять вычисления с дробными числами, не прибегая при этом к bc, dc или к каким-нибудь хакам. В сравнении с возможностью просто воспользоваться конструкцией вида a + b всё это кажется некрасивым, медленным и сложным.


Читать дальше →

Блокчейн на JavaScript

Reading time7 min
Views27K
В последнее время криптовалюты и блокчейн-технологии стали невероятно популярными. Сегодня я расскажу о моём подходе к созданию блокчейн-платформы на JavaScript с использованием всего 60 строк кода. Я — начинающий блокчейн-разработчик, поэтому если я в чём-то ошибаюсь — поправьте меня в комментариях.


Читать дальше →

Григорий Остер — Вредные советы для писателей мануалов

Reading time9 min
Views25K
Недавно мне опять пытались продать «Тик-ток». Молодёжь заливалась песнями о том, как же прекрасна новая платформа. «Возможно» — сказал я — «И чем же она так прекрасна?»

— Ну, там можно научиться огромному количеству новых и неизвестных вещей.
— А… Правда? Ок, удиви меня.
— Вот! – наивный юнец с радостью ткнул на указатель на приборной панели своей «Хонды».
— И что же в этом такого прикольного?
— Видишь стрелку? Она показывает с какой стороны у тебя крышка бензобака, чтобы ты помнил, где останавливаться у бензоколонки.


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

— Ну вот, пожалуйста. Это было известно ещё до «Тик-тока», и даже до «Фэйсбука». Эх! Это было известно ещё до интернета и, возможно, до появления автоматической коробки передач. Это было известно до того, как твои родители появились на свет. Ты мануал-то читал?
— Нет.
Оно и видно.

Признайтесь, люди не читают мануалов. Давайте посмотрим, что Вам можно посоветовать, чтобы люди от них вообще избавились.
Читать дальше →

Возвращаем к жизни калькулятор HP Prime G2

Reading time10 min
Views14K

Калькулятор с восстановленной прошивкой.

В предыдущих сериях:


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

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

Экономика как целое: холистический подход vs частная перспектива

Reading time11 min
Views4.1K
Неоклассическая, она же неолиберальная, экономическая парадигма, отличается индивидоцентричностью. Экономика в неоклассическом понимании рассматривается как совокупность индивидуальных действий. В ней отсутствует общая рамка, по которой можно было бы оценивать индивидуальные экономические исходы как желательные и нежелательные. Все экономические исходы — такие, как бедность или сверхнакопление, воспринимаются как «естественные». При этом та же современная мейнстрим-экономика регулярно рапортует о растущем неравенстве и его негативных эффектах. Чего неоклассическая экономика не может — это 1) объяснить причины растущего неравенства и 2) определить рамки, когда неравенство из стимулирующего превращается в саботирующий экономический фактор — потому что в ней нет единого понятия нормы. Это — слепое пятно современной мейнстрим-экономики.

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

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


100% создаваемого в экономике богатства — это сумма труда 100% работающих в экономике людей.
Читать дальше →

Волны, которые появляются из ниоткуда и исчезают бесследно

Reading time22 min
Views58K

Это было утро 12 апреля 1966 года. Элегантный лайнер «Микеланджело» направлялся через Атлантику в Нью-Йорк. 275-метровый красавец водоизмещением 46 тысяч тонн некоторое время был флагманом флота Италии и являлся одним из крупнейших суден в стране. Он принадлежал семейству суперлайнеров, воплощавших в себе как отработанные технологии, так и прогрессивные решения: для безопасности пассажиров часть палуб и кают лишена иллюминаторов, дизайн и устройство дымовых труб не позволяли окуривать верхние прогулочные палубы, а также судно было оборудовано стабилизаторами качки, чтобы богатые пассажиры не пролили ни капли мартини.

В это апрельское утро «Микеланджело» с 745 пассажирами на борту столкнулся с очень плохой погодой. Капитан Джузеппе Солетти дал указания всем пассажирам оставаться в своих каютах и приказал судну следовать более южным маршрутом, чем обычно, чтобы избежать центра шторма. Обычное дело при путешествии через океан. Но внезапно перед судном возникла экстремально высокая волна. Все люди на судне ощутили мощный удар как после выстрела 305-мм пушки. Волна поднялась над носом на высоту около 18 метров и прошла вдоль палубы, оставляя за собой лишь покорёженный металл. Даже окна двухсантиметровой толщины находящиеся на 25 метров над ватерлинией были выбиты ударом воды. Всё произошло в считанные секунды. Два пассажира погибли сразу, один член экипажа погиб через несколько часов, более пятидесяти человек получили ранения. И ещё четверть века существование таких волн будет подвергаться сомнениям.
Читать дальше →

Внезапный переезд офиса без нас

Reading time7 min
Views18K


Одним прекрасным солнечным утром, когда я был далеко от Москвы, даже не в европейской её части, выяснилось, что у нас есть неделя на то, чтобы освободить офис. У арендодателя случилось срочное обострение уровня «через две недели через вашу серверную пройдёт новая федеральная трасса», только немного другое, и нам надо куда-то срочно деться.

Мечта! Перевозить офис за неделю само по себе интересное приключение, а без личного присутствия так вообще вдвойне. И без сотрудников, потому что почти все в эти мрачные ковидные времена выбрали удалёнку. Есть буквально пара человек и офис-менеджер Кристина.

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

Оставалось всего ничего: выбрать место под новый офис, перевезти вещи, мебель и серверную, развернуть всё на новом месте и сделать ещё сотню дел вроде «предупреди контрагентов, что у тебя сменился юрадрес». В итоге уже через неделю мы взламывали свою же особо защищённую дверь в новый офис.
Читать дальше →

Посмотрим, что внутри у нового сервера Lenovo ThinkSystem SR650 v2

Reading time6 min
Views11K

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

Последняя новинка в нашем парке — популярный двухпроцессорный 2U-сервер Lenovo ThinkSystem SR650, о которой сама Lenovo уже рассказывала на Хабре. Но там был обзор первой версии сервера, а в 2021 году Lenovo выпустила более продвинутую вторую версию, которую мы и приобрели для своего дата-центра.
Читать дальше →

Information

Rating
28-th
Works in
Registered
Activity