Sleepless tech | Евгений J – Telegram
Sleepless tech | Евгений J
792 subscribers
483 photos
80 videos
1 file
213 links
DIY, web, coffee
Автоматизирую все и вся, ремонтирую что сломалось, трачу время на just-for-fun проекты. Пишу про хардвар и софтвар и не только.

http://jem-space.ru

Связь со мной: @jem_jem
Донаты на припой и хостинги: https://bit.ly/2MKcRoJ
Download Telegram
Sleepless tech | Евгений J
Рубрика "Технологии предков" Продолжая развлекаться с Flipper Zero, обнаружил, что у ключей типа iButton есть несколько форматов кодирования в зависимости от типа домофона. Самые популярные это Dallas, Metakom и Cyfral. И оказалось, что не все можно так просто…
"Технологии предков" - ч.2

Прога под винду, а винда не всегда есть под рукой. Пришлось понять, как работает перекодировка.

По факту ничего сложного: все байты ключа переносятся в позицию с 2 по 5, а остальные заполняются нулями и единицами. Но прикол в том, что самый старший байт - это контрольная сумма 7 младших байт. Покопавшись еще, нашел что она считается по алгоритму CRC8-Maxim.

Запилил простенький консольный скрипт для перекодировки (его правда ток в консоли на сайте https://openapi.lddgo.net/ можно запустить, иначе по CrossOrigin падает fetch 😁)

Перед этим просил кстати ChatGPT помочь, чет не осилила)
🔥6
Заметки на полях. Про гравер

В очередной раз мне нужно было вырезать гравером фигуры. Самый просто способ выжечь контур из растрового изображения - закинуть в родной софт для EleksMaker - EleksCAM, которая может преобразовать картинку в контур. Но так как это неадекватная китайская по**ень, которая может выдавать неверные размеры или просто остановить гравер в любой момент со включенным лазером, то это теперь не мой путь)
🤔3
Sleepless tech | Евгений J
Заметки на полях. Про гравер В очередной раз мне нужно было вырезать гравером фигуры. Самый просто способ выжечь контур из растрового изображения - закинуть в родной софт для EleksMaker - EleksCAM, которая может преобразовать картинку в контур. Но так как…
Порядок теперь такой:
▫️Импортим растр в inkscape

▪️Контур - Векторизовать раст - Detection Mode: Автоматическая трассировка (пробовал казалось бы более подходящий режим определение краев, но там получается 2 контура - внешний и внутренний (видно на фотке))
▪️Удаляем растр
▪️Расширения - Инструменты GCode:
▪️Точки ориентации
▪️Бибилиотека инструментов - дефолтный инструмент
▪️Поправить значения feed, passing feed (в зависимости от материала резки - от 400 до 1200), gcode before path: M03 S1000 (включеаем лазер), gcode after path: M05 (выключаем)
▪️Щелкнуть на изображение - Контур в GCode

▫️Результрующий файл кидаем в Universal GCode Sender и в начале добавляем M05 чтобы точно выключить лазер перед началом.
А потом надеваем очки и нажимаем кнопку play )
👍2🤔1
Типичный рабочий день. Когда решил сделать задачку на 5 минут, но получил ошибку.

Не хватает только пункта Reinstall your OS
😁5😱1
Привет!

Несколько дней бился с поломанным SSR на проекте. Поломался из за react-textarea-autosize у которого в билде несколько скриптов, часть из которых для браузера, часть для сервера (где в коде есть проверка isBrowser перед обращением к document). Но webpack 3, который на проекте, не умеет выбирать нужный скрипт для билда.

Друг подкинул решение в виде patch-package. Делаешь изменение в нод модулях, делаешь патч с помощью этой утилиты, и на postinstall применяешь патч.
👍5
Привет.

Тут оказывается веб-версия audacity вышла. Одна из причин (на самом деле главная причина лень, но она может еще подразделяться) почему я никак не нарежу себе мелодию на звонок - это то, что нужно ставить приложение на телефон и искать mp3 в ужасной файловой системе андроида с миллионом папок Downloads/Media/Trash/Huesh/ либо ставить программу на десктоп.

А теперь кайф. Осталось победить лень скачивания мелодии)

https://wavacity.com/
9👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Всех причастных с днем программиста 😉
5🦄1
В нашу редакцию пишут телезрители.

Ставь лайк если понял о чем речь)
👍10👌2🌚2
Forwarded from Doque Embedded
😁12🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Поехал в Европу кошмарить владельцев Тесла своим флиппером)
😁12👍3
Нашел классный сайт который объясняет консольные команды. Полезно, когда какой нить затык в линуксе и ты нагуглил че то и бездумно копипастнул.

https://explainshell.com/
👍213🔥1
Addy Osmani - Learning Javanoscript Design Patterns (2 ed)

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

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

А еще хорошо
▫️описаны какие возможности у современных нативных JS модулей,
▫️паттерны MV* (в которых ваще не особо разбирался до этого),
▫️подходы к работе с ансихронностью,
▫️история AMD и CommonJS (можно пролистать),
▫️паттерн Namespace (который я видел только в начале своего пути JS).

Отдельно по React из полезного: подходы к структурированию проекта, работа с хуками и ХОКами, виды рендеринга (их оказывается больше чем 3).

В общем, советую. https://www.oreilly.com/library/view/learning-javanoscript-design/9781098139865/
🔥6
Привет.

За все время, что пишу тесты не сталкивался с такой проблемой. Есть 2 функции из одного модуля, которые экспортируются именным экспортом. Причем одна функция вызывается внутри другой.

export function B() {}

export function A() {
.....
B()
}

Решил в тесте Jest на повесить spyOn на функцию B и обосрался не вышло. toHaveBeenCalled возвращает false. А не работает все потому что по факту экспортная module.B и вызываемая внутри функция B - как бы разные (вообще сложно понять, потому что функция должна передаваться по ссылке, но я принял на веру)

В интернете конечно предлагают разнести эти функции по разным модулям или костыли типа

function A (){
data.B()
}
function B (){}

export const data {
A,
B
}

Я там в контексте своего теста нашел воркераунд (не завязанный в итоге на spyOn внутреннего вызова), но немного огорчен 🧐 Как лох час потерял)
🤔2
Привет.

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

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

Погуглил кстати транзакции на этот кошель. 2.5к баксов чувак насобирал (не факт что именно таким путем, правда)
😱7🎉2🫡1
Меня "прикалывает" как МТС решает вопросы с техническими проблемами.
Стабильно раз в пару месяцев по среди рабочего дня у МТС падает интернет. И они стабильно его чинят так, как будто мы в нулевых и отключение интернета для нас проблема уровня "не могу написать другу в аське". Чинят его обычно до утра.
Чувствую себя терпилой, потому что никак не свалю от них.
Чё, ребят, у кого щас норм интернет можно подрубить?
История о том, как я накатил новую винду и 14 часов не мог понять почему POST запрос на авторизцию в рабочих приложениях не доходит до сервака и висит в статусе pending бесконечно.

Стадии
- это все мудацкий фаервол винды или брендмауер
- это все гребаный webpack-dev-server
- это все политики хрома и фаерфокса по отношению к http
- кажется дело в ноде
😁6🥰4😱2
Чисто какой-то "хакер" запилил проводник для винды, работающий лучше стокового. Скачать можно будет тут 12 декабря.

Еще бы со скайпом так сделали, было бы вообще огонь)

https://youtu.be/oSS_mXJJugo
🔥6