Pull to refresh
@NTHubread⁠-⁠only

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

Send message

Как не оконфузиться при выборе автоматического выключателя

Reading time10 min
Views185K

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

Читать далее

Локализация своих скриптов на BASH

Reading time7 min
Views5.9K

Создание меню на BASH — задача сама по себе не сложная: "case тебе в руки и echo в спину". Решая её в очередной раз, мне захотелось добавить возможность отображать текст на других языках. Осталось решить, как сделать сам процесс локализации меню более удобным. Если оно большое, то решение "в лоб" превратит его в громоздкую копипасту. Здесь я хотел бы поделиться тем, как решил эту проблему для себя. Надеюсь, для кого то это будет небезынтересным.



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


Примечание:

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


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


Реализация будет состоять из:


  • буквенного кода языка
  • массива слов
  • преобразователя косвенных ссылок для обращения к массиву
  • обращения к элементам массива
  • создания меню

Теперь рассмотрим подробнее

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

Кодирование Рида-Соломона для чайников

Reading time14 min
Views32K

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

этой статьи

Wetware: молекулярные вычисления и клеточные машины

Reading time9 min
Views5.3K

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

Сразу оговоримся, что для информации нужно не только хранилище; нужен еще и процессор, а также устройства ввода-вывода. Поскольку до создания подобной инфраструктуры еще очень далеко, тема казалась бы спекулятивной, но в январе 2021 года в журнале «Nature of Chemical Biology» была опубликована статья, описывающая довольно простую технологию кодирования 3-битных информационных последовательностей в ДНК. Вот о чем она:

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

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

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

Кроме того, при правильном хранении ДНК исключительно стабильна. В 2017 году ученым удалось полностью восстановить геном лошади (вымершего вида), жившей 700 000 лет назад. Научившись хранить данные и обращаться с ними на том же языке, который используется в природе, мы открываем путь к множеству новых биотехнологических возможностей.

Читать далее

Почему линукс использует swap-файл, часть 2

Reading time7 min
Views24K
Первая часть маленького «срывания покрова» о работе подсистемы виртуальной памяти, связи механизмов mmap, разделяемых библиотек и кэшей вызвало такое бурное обсуждение, что я не смог удержаться от того, чтобы не продолжить исследование на практике

Поэтому, сегодня мы сделаем… Крошечную лабораторную работу. В виде крошечной же программы на C, которую мы напишем, скомпилируем и проверим в деле — со свапом и без свапа.

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

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

Reading time54 min
Views139K

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

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее

Самый важный эксперимент 20 века

Reading time5 min
Views53K
image

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

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

А с двадцатым?

Конечно, если выбирать по значительности — то тут все просто. Это «Тринити» — первое в мире испытание ядерного оружия, произошедшее 16 июля 1945 года. Нисколько не преувеличивая, можно сказать, что после этого испытания мир проснулся другим.

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

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

Рассмотрев Стэндфордский тюремный эксперимент, эксперимент Милгрэма и «Вселенную-25», она же «Крысиный рай», я выбрал эксперимент по выведению дружелюбной лисы советского ученого, академика Дмитрия Беляева.
Читать дальше →

L-системы и что они себе позволяют

Reading time3 min
Views8.9K

Вперёд за кроликом, всё ниже и ниже…

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

Вводные данные:

Строка (далее Аксиома): A B

Переменные (которые мы можем задействовать в построении дерева): A B C

Правило (правило по которому каждая переменная на последующие строке меняется):

Читать далее

Спросите Итана: космологическая постоянная Эйнштейна и тёмная энергия – это одно и то же?

Reading time9 min
Views11K

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

Одна из самых загадочных составляющих Вселенной – тёмная энергия. Честно говоря, её вообще не должно было быть. Раньше мы довольно логично предполагали, что Вселенная сбалансирована, и что её расширению противодействуют силы гравитации, действующие на всё, что в ней есть. Если гравитация выиграет, Вселенная снова сколлапсирует. Если выиграет расширение, всё разлетится в небытие. Однако сделанные после 1990 года наблюдения говорят о том, что расширение не просто выигрывает – удалённые галактики удаляются от нас со всё возрастающей скоростью. Однако можно ли назвать это новой идеей, или же это просто воскрешение того, что Эйнштейн назвал когда-то своей величайшей ошибкой: космологической постоянной ? Такой вопрос задаёт наш читатель:
Читать дальше →

Скорлупа сверхцивилизации. Об энергетических, инженерных и экологических аспектах сферы Дайсона

Reading time10 min
Views26K

В истории идей, появившихся в XX веке, особое место занимает триада из парадокса Ферми, шкалы Кардашёва и сферы Дайсона. Не вдаваясь в их подробности, изложенные по приведенным ссылкам, отмечу, что объединяю их по общему допущению о существовании во Вселенной высокоразвитых разумных цивилизаций. Несмотря на то, что ни малейших признаков внеземного разума на данный момент не найдено, эти идеи выдают, какого поведения мы ожидаем от представителей сверхцивилизаций, в число которых надеемся когда-нибудь войти. Это:

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

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

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

Читать далее

Основы Bash-скриптинга для непрограммистов. Часть 2

Reading time10 min
Views41K

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

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

Читать далее

Цифровая трансформация цементного завода (ч. 3): волшебные интерфейсы и оживление железа

Reading time12 min
Views9.3K

Как увеличить пропускную способность отгрузки в 2 раза без капитальных затрат? Как ускорить процессы и повысить их управляемость с помощью ИТ? Об этом и не только, далее в статье...

Читать статью >>

Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным

Reading time7 min
Views19K
Компания Palantir является четвертой по крутости частной компанией Кремниевой долины (после Uber, Xiaomi и Airbnb). Пока Palantir собирает информацию про все на свете, мы собираем информацию про него.



ИТишники додумались как эффективно «монетизировать математику и алгоритмы» (Сегалович, Бакунов), PayPal Mafia додумалась как монетизировать гаджеты Феанора философию (капитализация Palantir — 20 миллиардов долларов).

В десятиминутной лекции сотрудник компании Palantir расскажет про центральную концепцию их системы — динамическую онтологию.


0:00 Привет, я Ашер Синенски, инженер по развертыванию технологий Palantir. Я поговорю о динамической онтологии.
0:08 Очевидно, сейчас, эти два слова выглядят для вас довольно туманно, надеюсь, что к концу разговора вы поймете, какой смысл мы в них вкладываем.
0:17 Перед тем как переходить к делу, поясню: у многих людей проблемы со словом онтология. Что мы подразумеваем под этим словом?
0:24 Если вы посмотрите на корни этого слова, то оно образовано от греческих «онтос» (бытие) и «логия» (изучение чего-либо). По сути, онтология – это категоризация мира.
0:34 Есть много терминов, которые люди используют для описания этого: таксономия, схематизатор модели данных. Но мы используем это, в более широком смысле, как идею, что мы действительно категоризируем мир каким-то образом.
0:43 Идея о построении онтологии для изучения мира не нова. Первым, кто утвердил эту идею, был мужик по имени Платон. Идея Платоновского реализма, в основном, о том, что есть реальные вещи, а есть наше представление о вещах.

У Google появился новый креативный способ убивать SaaS-стартапы

Reading time7 min
Views100K
В старые времена, когда компания Google (или любой из её плохо настроенных ИИ) хотела убить ваш бизнес, то обычно отказывала вам в доступе к какому-то из своих сервисов, и это работало. Вы наверняка слышали страшилки:



Клянусь, я прочитал FAQ!
Читать дальше →

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

Reading time5 min
Views276K


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

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

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

Всё это надо зачистить.
Читать дальше →

Какой софт и базы использует Bellingcat в своих расследованиях?

Reading time7 min
Views127K


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

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

Или это фантастический киберпанк?
Читать дальше →

Как перестать бояться и полюбить регулярные выражения

Reading time6 min
Views21K

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



Чтобы функции отыскать, воедино созвать и единою чёрною волей сковать.
Читать дальше →

Клиент-серверный обмен данными между двумя PLC серии S7-1500 по протоколу OPC UA

Reading time8 min
Views23K

Протокол OPC UA (https://ru.wikipedia.org/wiki/OPC_UA) появился впервые в контроллерах Simatic во второй версии прошивки и в Step 7 версии 14. Тогда контроллер можно было настраивать только в качестве OPC UA - сервера, то есть ПЛК мог отвечать на запросы и отдавать данные, но не мог сам инициировать связь и опрашивать других участников сети.

Радикально ситуация меняется в ноябре-декабря 2018 года с выходом прошивки 2.6 и Step 7 версии 15.1. Появляется возможность настроить CPU в качестве OPC UA клиента. А это, в свою очередь дает нам возможность организовать защищенный канал обмена информацией машина-машина (контроллер-контроллер).

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity