Pull to refresh
17
0
Send message

Почему я использую эргономичную сплит-клавиатуру и не собираюсь возвращаться к обычным

Level of difficultyEasy
Reading time6 min
Views54K

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

Читать далее
Total votes 44: ↑40 and ↓4+36
Comments152

Factorio на движке Unreal Engine 5

Level of difficultyEasy
Reading time5 min
Views63K

Сегодня мы поговорим об интересном проекте FUE5. Это Factorio, но в 3D! Иногда мечты становятся явью. Это не совсем игра, а, скорее, потрясающее переосмысление её визуальной составляющей. В этой написанной Hurricane статье будет много технических подробностей, так что давайте приступим.

Читать далее
Total votes 84: ↑84 and ↓0+84
Comments77

Начинаю тест старения батареек

Reading time3 min
Views13K
На разных батарейках пишут срок хранения от трёх до двенадцати лет. Я решил проверить, как на самом деле батарейки теряют ёмкость при хранении и имеет ли значение, насколько свежие батарейки покупать.

Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments15

Wi-Fi высокой плотности не существует

Reading time8 min
Views13K

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

Я люблю элементарные вопросы, потому что они (прямо как элементарные частицы) на пути в собственные глубины приводят к бесконечности. Когда мы встречаем фразу «Wi-Fi высокой плотности», то так и хочется задать дополнительный вопрос — про какую плотность идёт речь? Плотность чего высока? Ответ, как всегда, не так однозначен, как может показаться.

Читать далее
Total votes 19: ↑18 and ↓1+17
Comments7

MTBF — откуда берется «миллион часов MTBF»

Reading time2 min
Views128K


Просто удивительно то, насколько велико непонимание вокруг такого широко распространенного понятия, как MTBF (Mean Time Between Failure — «Время между сбоями» или «наработка на отказ» ), насколько смысла этой величины не понимают, зачастую, даже специалисты в области хранения данных.

Казалось бы — что может быть проще. «Наработка на отказ» это время беспроблемной работы, от первого включения нового диска, до момента отказа, посчитанная в часах.
Почти любой, кто поинтересуется значением, приводимым производителями, в качестве MTBF современных дисков, и с легкостью сделает несложные подсчеты, будет удивлен странной его величиной.
На сегодня величина MTBF приводится в миллион или даже полтора миллиона часов.
В году — примерно 8760 часов, значит, исходя из нашего понимания «физического смысла» этого значения, производитель планирует «наработку на отказ» для любого такого диска более ста лет (114 лет, для миллиона часов MTBF), что является очевидной нелепостью для каждого, у кого подыхали жесткие диски.
Читать дальше →
Total votes 153: ↑147 and ↓6+141
Comments83

Аппаратный взлом жёсткого диска

Reading time14 min
Views122K

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

Неспециалисту может показаться, что оборудование HD должно быть довольно простым: достаточно всего лишь устройства, подключаемого к порту SATA, которое может позиционировать свои головки чтения/записи и считывать или записывать данные на пластины. Однако их работа намного сложнее: разве жёсткие диски не занимаются обработкой сбойных блоки и атрибутов SMART, и не имеют кэша, с которым тоже каким-то образом нужно работать?

Всё это подразумевает, что в жёстком диске есть что-то умное, а умность устройства подразумевает возможность его взлома. Меня всегда интересовали возможности взлома, поэтому я решил узнать, как жёсткие диски работают на немеханическом уровне. Подобные исследования уже проводились с разными видами оборудования, от PCI-карт расширения и встроенных контроллеров до ноутбуков и даже клавиатур Apple. Обычно исследования проводились для того, чтобы доказать, что возможность взлома этих устройств может привести к компрометации ПО, поэтому я захотел воспользоваться тем же подходом: создавая этот хак, я стремился создать жёсткий диск, способный обходить программную защиту.
Total votes 129: ↑128 and ↓1+127
Comments41

Нейтронная звезда в пробирке. Сонолюминесценция

Reading time14 min
Views51K
Хомяки приветствуют вас, друзья.

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



Всё началось с того, что одним прекрасным днем просиживая задницу в просторах ютуба, я нашёл ролик на канале Сергея Матюшенко про интересное явление в основе которого лежит свечение пузырька за счет акустического воздействия. Пересмотрев видео несколько раз, понял что повторить подобное явление как раз плюнуть. Через неделю на моем столе лежали все необходимые детали для сборки действующей установки.
Читать дальше →
Total votes 226: ↑224 and ↓2+222
Comments103

Пятничный мини-CTF

Reading time1 min
Views3.2K
Приветствую всех хабрачитателей. Я очень люблю поразмять свои мозги разными задачками — это могут быть какие-то математические задачи, интересные головоломки, связанные с программированием, или какие-то ctf-таски.

Для тех, кто хочет разнообразить пятницу головоломками я хочу предложить свой мини-ctf, в котором всего три задачки.

XT_CTF_01

XT_TASK_101

Ссылка на таск: xt_task_101.zip
Формат флага: XTGFLAG{…}
SHA1 флага: 6980D76C3C5246A101820A77031CA0EBE84A4A0E

XT_TASK_102

Ссылка на таск: xt_task_102.zip
Формат флага: XT{…}
SHA1 флага: 16448BF22750DE7E575A5A86E739FA9018ACFE52

XT_QUEST_103

Ссылка на таск: xt_quest_103.zip
Количество уровней: 15 + бонус
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments8

Как компьютеры научились потрясающе хорошо распознавать изображения

Reading time21 min
Views7.3K

Знаковая научная работа от 2012 года преобразовала область программного распознавания изображений




Сегодня я могу, допустим, открыть Google Photos, написать «пляж», и увидеть кучу своих фотографий с различных пляжей, которые я посетил за последнее десятилетие. И я никогда не подписывал свои фотографии – Google распознаёт на них пляжи на основе их содержания. Эта, казалось бы, скучная особенность основывается на технологии под названием «глубокая свёрточная нейросеть», позволяющая программам понимать изображения при помощи сложного способа, недоступного технологиям предыдущих поколений.

В последние годы исследователи обнаружили, что точность ПО становится лучше по мере того, как они создают всё более глубокие нейросети (НС) и обучают их на всё более крупных наборах данных. Это создало ненасытную потребность в вычислительных мощностях, и обогатило производителей GPU, таких, как Nvidia и AMD. В Google несколько лет назад разработали собственные специальные чипы для НС, а другие компании пытаются угнаться за ней.
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments3

Сети для самых маленьких. Часть ой, всё

Reading time4 min
Views153K
Дорогие мои друзья, отважные критики, тихие читатели и тайные почитатели, СДСМ заканчивается.



Я не могу похвастаться тем, что за 7 лет я затронул все темы сетевой сферы или тем, что хотя бы одну из них раскрыл полностью. Но это и не было целью. А целью этой серии статей было ввести юного студента за руку в этот мир и проводить его шаг за шагом по основной галерее, давая общее представление, и уберечь от болезненных скитаний по тёмным уголкам сознания Олифера и Олифера в мучительных попытках найти ответ на вопрос, как всё это применить в жизни.
СДСМ планировался коротким практическим курсом «как научиться в сети за месяц», а вылился в 16 (на самом деле 19) длинных выпусков, которые мы уже даже переименовали в «Сети Для Самых Суровых». Общее количество символов перевалило за 1 000 000.
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments38

Коды Рида-Соломона. Часть 1 — теория простым языком

Reading time8 min
Views52K
Добрый день! Меня зовут Максим, в YADRO, кроме всего прочего, я занимаюсь разработкой подсистемы, отвечающей за надежное хранение данных. Готовлю небольшой цикл статей про коды Рида-Соломона — теоретическую основу, практическую реализацию, применяемые на практике программные и аппаратные оптимизации. На Хабре и в остальной сети есть хорошие статьи по вопросам этой области — но по ним сложно разобраться, если ты новичок в теме. В этой статье я попытаюсь дать понятное введение в коды Рида-Соломона, а в следующих выпусках напишу, как все это запрограммировать.



Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments31

Условие как компромисс

Reading time9 min
Views34K
Они объясняли мне: «У тебя есть апельсин, так? Теперь ты разрезаешь этот апельсин на конечное количество кусочков, складываешь их обратно в апельсин, и он становится таким же большим как солнце. Истина или ложь?»
— Между кусочками нет пространства? — Нет.
— Невозможно! Такого просто не может быть.
— Ха! Попался! Идите все сюда! Это теорема Того-то о безмерной мере!
И когда им кажется, что они поймали меня, я напоминаю им: «Но вы сказали апельсин! А апельсиновую кожуру невозможно разрезать на кусочки тоньше атомов».
— Но у нас есть условие непрерывности. Мы можем резать бесконечно!
— Нет, вы сказали апельсин, поэтому я принял, что вы имеете в виду настоящий апельсин.
Так что я всегда выигрывал. Если я угадывал — здорово. Если не угадывал, то всегда мог найти в их упрощении что-то, что они упускали из виду.

Ричард Фейнман. «Вы, конечно, шутите, мистер Фейнман!»

Пролог


Так получилось, что с самого детства я увлекаюсь занимательными задачами. Решал я их, как правило, хорошо и быстро, хотя не обходилось и без курьезов. Например, на олимпиаде по математике за седьмой класс, куда я попал, будучи в шестом, была задача: найти такой-то угол в треугольнике, обладающем такими-то свойствами. Мои познания в области геометрии были на тот момент весьма отрывочны, однако кое на что их всё же хватило. Недолго думая, я построил этот треугольник в тетради с помощью циркуля и линейки, а затем измерил нужный угол транспортиром. Это было практически как в том анекдоте про «найдите икс», когда ученик ткнул в букву «x» пальцем с радостным криком «вот он!».
Как интересно! Что же было дальше?
Total votes 59: ↑56 and ↓3+53
Comments79

Tagsistant: семантическая файловая система

Reading time11 min
Views18K
Привет. На хабре уже был материал, посвященный Tagsistant, но мне он показался сбивчивым и неполным. Эта попытка подать его по-другому является краткой выжимкой из англоязычного мануала и собственных наблюдений.

Проект Tagsistant позиционирует свое творение, tagfs, как следование за общей тенденцией. Интернет шаг за шагом пытаются переводить на семантические рельсы, а файловые системы, считают авторы проекта, закоснели в устарелых принципах — иерархия, директории, вот это всё.
И в принципе, я с ними в чем-то согласен. Представьте, что у вас есть несколько сотен фотографий, одни из которых сделаны в Кёльне, другие сделаны на закате, на третьих изображены девушки, а четвертые сделаны в 2010 году. Теперь вообразите, что вы хотите выполнить следующую операцию: получить список фотографий, которые сделаны на закате в Кёльне с вашей подругой, исключая те, которые были сделаны в 2010 году.
Да, возможно, скажет кто-то, можно ведь создать директории, например, Koeln, sunset, girls, 2010, потом рассовать в них софтлинки на файлы… Как-то так, но разве это предоставит необходимую гибкость и удобство в составлении запросов (хотя бы в решении приведенного выше примера)?
Да, можно попытаться воспользоваться EXIF-тегами. Но камера не указывает в них присутствия девушек на фото и других критериев, ограниченных вашей фантазией. А если речь вообще не о фотографиях, а об отчетах?
Можно попытаться писать своеобразные теги в атрибуты файлов, используя ext4, при помощи setattr\getattr — по крайней мере, я видел такое предложение в вопросе тегирования файлов, не пробовал. Но это тоже половинчатое решение, даже если будет работать.
Реальный пример для затравки, который я могу придумать, исходя из моих потребностей. У меня есть папка с огромным количеством разного картиночного хлама, когда-либо сохраненного в Downloads и позже протегированного (на самом деле, не одна). Я хочу получить из всего этого мусорного полигона список фотографий форумчан-девушек, которые сделаны в Киеве, содержат изображения пива и сделаны раньше 2012 года. Вместе с ними я хочу получить изображения всех админов форума, которые у меня есть:
$ ls ~/tagsistant/store/forum/girls/beer/=Kyiv/time:/year/lt/2012/+/admin/@/

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments41

Как работает реляционная БД

Reading time51 min
Views534K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Total votes 232: ↑229 and ↓3+226
Comments134

Просвещение — долг каждого из нас

Reading time6 min
Views39K
image

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

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

Опасность ГМО, ВИЧ-диссидентство, пропаганда гомеопатии на государственном уровне, теории заговоров, пропаганда сыроедения, феминизм третьей волны, сообщества плоской Земли — этот список можно растянуть на несколько экранов текста. Жертвами всего этого становятся две категории людей: реакционная инертная молодежь, которая в силу своей неопытности и податливости легко принимает любые, самые радикальные идеи, а также те, кто ощущают недостаток образовательной базы в области естественных и фундаментальных наук: физике, биологии, химии и смежных с ними дисциплинах.
Total votes 75: ↑70 and ↓5+65
Comments798

Путь лапласиана. Часть 2

Reading time8 min
Views17K
А не замахнуться ли нам на Эдсгера нашего Дейкстру?



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

В общем случае минимизируемая величина — это необязательно расстояние, — весами ребер графа могут быть стоимости, штрафы, убытки, времена, — любые величины, которые можно складывать. Задача является классической, наиболее простой алгоритм поиска кратчайшего пути дал Э. Дейкстра в 1959 году.
Далее...
Total votes 21: ↑18 and ↓3+15
Comments0

Systemd и контейнеры: знакомство с systemd-nspawn

Reading time8 min
Views21K
PR-1505-3

Контейнеризация сегодня — одна из самых актуальныx тем. Количество публикаций о таких популярных инструментах, как LXC или Docker, исчисляется тысячами, если не десятками тысяч.
В этой статье бы хотели мы обсудить ещё одно решение, о котором публикаций на русском языке пока что мало. Речь идёт о systemd-nspawn — инструменте для создания изолированных сред, который является одним из компонентов systemd. А закрепление systemd в качестве стандарта в мире Linux — уже свершившийся факт. В свете этого факта есть все основания полагать, что в ближайшее время сфера применения systemd-nspawn существенно расширится, и познакомиться с этим инструментом поближе стоит уже сейчас.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments8

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле

Reading time11 min
Views285K


Update
Новый вариант порошка и более подробный разбор во второй части: DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Сейчас расскажу, как из соды и стирального порошка сделать порошок для посудомоечной машины. Такой же по составу, только дешевле на порядок.

Есть очень много областей нашей жизни, где наше представление формирует исключительно маркетинговый буллшит. Увы, большинство людей даже не пытаются задумываться о том, что лежит в основе всего этого. Очень часто рыночная ситуация приводит к тому, что себестоимость продукта составляет 0.5% от его цены. Остальное маркетинг, наценки, логистика, упаковка и тому подобное. Почти все в курсе про концепцию продажи чернил для принтера по цене слез гималайских девственниц и настойчивые рекомендации производителей использовать только оригинальные расходные материалы. Например, совсем недавно меня озарило, что 1.5 грамма сухого вещества во флаконе удобрений для растений не могут стоить 200-250 рублей. А ведь именно такое количество может уместиться в относительно стабильном состоянии в виде раствора. Я сразу представил себе гектары полей и грузовики, которые везут тонны порошка. В результате перешел на расфасовки по 1 кг Буйских комплексных сухих удобрений. Можно ванну раствора приготовить.

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

TLDR:

70% прокаленной соды и 30% стирального порошка вместо моющего средства.
Если очень лень возиться с содой, то просто порошок Биолан или его аналоги. Сода удешевляет.
Пищевая соль «Экстра» вместо соли.
Да начнутся адские эксперименты!
Total votes 159: ↑158 and ↓1+157
Comments447

Про Бурали-Форти, Пуанкаре и то самое определение единицы

Reading time11 min
Views80K
Если вы, уважаемый мой читатель, имеете обыкновение проводить много времени в интернете, вы наверняка уже видели эту картинку с цитатой:

image

Наверняка также вы задавались вопросом: что, чёрт подери, здесь написано? Формула из этой цитаты интересна тем, что у человека, имеющего высшее математическое образование, этот вопрос возникает столь же неумолимо, как и у любознательного семиклассника. У нелюбознательных семиклассников несколько иной круг интересов, выходящий за рамки данной статьи; однако даже они не откажут себе в удовольствии похихикать над «этими чокнутыми ботаниками», или как оно там формулируется на современном молодёжном сленге.

В нижеследующем тексте я раскрою перед вами тайну этого загадочного сочетания символов. Пожалуйте под кат, однако помните поучительную историю о любопытной Варваре, которой на базаре рассказали про парадокс Банаха-Тарского, отчего она сошла с ума, разрезала себе нос на конечное количество частей и склеила из них рогатую сферу Александера.
N.B. Я предупреждал.
Total votes 145: ↑141 and ↓4+137
Comments146

Information

Rating
Does not participate
Registered
Activity