Посты · Новые · Kagekiyo — ПИПМАЙ: Лучшее со всей сети
Акцентный цвет
Фон
Игровой блок на главной
Праздничное оформление
Для всех устройств

Kagekiyo · Посты

Настроение перед 2024

Всех с наступающим или уже наступившим 2024! Не будьте такими пессимистами, как я, и пусть всё у вас будет хорошо!


Раскрыть

Неведомая хрень моего проектирования

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

Итак, идея была в том, чтобы сделать собственный корпус, в котором будет жёстко закреплена плата с tpa3250 и блок питания для неё (в данном случае, от Mean Well, 60 Вт). Все детали печатаются на 3D-принтере из PLA.

Итак, собственно, первым делом спроектировал две плоские детали: разделительную стенку и днище. На стенке сделал возвышения для крепления основной платы. 

Стенку обклеил металлизированным скотчем, который проводом соединил с землёй БП. Какое-никакое экранирование, хотя работает ли оно вообще, я не уверен.

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

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

Самая дорогая и сложная в изготовлении деталь.

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

Также для передней панели предусмотрел некоторый элемент дизайна в виде декоративной решётки.

Блок питания рассчитан на крепление на din-рейку. Естественно, я пошёл самым кривым путём и сделал крепление типа "ласточкин хвост" на переднюю панель. А чтобы она не выпадала вперёд в процессе эксплуатации, я сделал в ней и в каркасе 2 паза под небольшой крючок. Когда основание вставляется в кожух, всё прижимается друг к другу и держится очень плотно.

Сзади, соответственно, всё уже попроще. Отдельно сделал плашку с информацией о том, кто, где и когда это всё разработал.

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

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

В итоге, имеем дорогое и не особо надёжное устройство, тем не менее, исправно работающее, двух задолбанных коллег с 3D-принтерами и небольшой опыт работы в Solidworks.

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

Ну и вопрос для тех, кто всё это прочитал. Что же это всё-таки за неведомая херня такая у меня получилась? Спасибо.

 


Раскрыть

Уведомления об ответах на комментарии

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

Собственно, на Пикабу это было реализовано, и этот функционал я считаю полезным. Особенно если он ещё и настраиваемый.


Раскрыть

Практическое применение асимметричной криптографии

Аннотация. Это копипаста моего старого поста сами знаете откуда. Описывает метод обмена шифрованными сообщениями по открытому каналу, когда зашифровать сообщение может кто угодно, а расшифровать - только получатель.

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

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

Окау. Более надёжный и вполне рабочий вариант - запросить почту или какую-нибудь ещё контактную информацию. Но тогда ею сможет воспользоваться также любой пользователь (грубо говоря, я, например, прошу Васю Пупкина скинуть мне на почту информацию о том, как его найти в городе Мухосранске, мою почту видит злоумышленник, представляется Васей и присылает мне адрес бара Blue Oyster... Ну и т.д. по сценарию).

Другой вариант - зашифровать сообщение. 

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

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

В общем, давным-давно, трое товарищей с фамилиями Rivest, Shamir и Adleman, придумали такой алгоритм шифрования и назвали его первыми буквами своих фамилий: RSA. Алгоритм оказался достаточно криптостойким и используется до сих пор. Но нам важно то, что сейчас имеются онлайн сервисы, позволяющие шифровать ваш текст этим алгоритмом прямо в браузере.

Теперь практика. Чтобы иметь возможность получить зашифрованное сообщение, нам нужна пара ключей: публичного и приватного. Лучше хранить их где-нибудь в надёжном месте. Соответственно, если хотим получить сообщение, просто пишем что-то типа: "Я хочу получить сообщение, вот мой публичный ключ: ...". 

Если же мы хотим отправить сообщение определённому пользователю, пишем ему что-то типа: "Эй, дружище, у меня есть для тебя важная информация, дай мне, пожалуйста, свой публичный ключ!"

Далее, отправитель шифрует сообщение полученным публичным ключом, передаёт его по открытому каналу (т.е. в комментарии). Получатель же расшифровывает его своим приватным ключом.

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

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

Зато следующий сервис уже работал более стабильно. Даже удалось с его помощью обменяться парой сообщений с добрым человеком. Поэтому на его примере и разберём, что и как делать. Хотя, по факту, тем, кто знаком с криптографией и умеет читать интерфейс, всё и так должно быть ясно.

Здесь у нас генератор ключей. Ведь нельзя же просто взять две рандомные строки и объявить их своими ключами? В выпадающем поле выбирается размер ключа. Чем он больше, тем более стойким будет шифр (каждый дополнительный бит увеличивает сложность полного перебора в 2 раза). Судя по википедии, даже для подбора 1024-битного ключа понадобится довольно много времени... Но, если я ошибаюсь, всегда можно взять ключ побольше.

Короче, выбираем размер ключа, нажимаем кнопку "Generate", и копируем содержание полей Public Key и Private Key куда-нибудь в надёжное место. Для примера, я сгенерировал пару ключей, которые буду использовать в посте. Приватный ключ получается более длинным, чем публичный.

Теперь шифрование.

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

Расшифровка.

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

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

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


Раскрыть

Игнор-лист

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

Всем добра, держите мой "полностью оригинальный" мем.


Раскрыть

Про отображение nsfw

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

Дать юзеру возможность самому выбирать из нескольких вариантов отображения:

1. Полное отображение. NSFW-посты отображаются так же, как и все остальные.

2. Автоматическое сворачивание. Заголовки постов всё ещё отображаются в ленте, но содержимое сворачивается под спойлер.

3. Размытие, как на Реддите. Содержимое NSFW-постов полностью размывается, но сами посты отображаются в ленте.

4. Полное скрытие. NSFW-посты вообще не отображаются в ленте.

Несколько лет назад я пытался донести эту идею до администрации пикабу, но уже тогда они на меня вполне успешно положили болт. Возможно, здесь эта идея приживётся лучше. Чем гибче сайт в плане настроек, тем лучше! Спасибо за внимание.


Раскрыть