Telegram Web Link
Skype for Linux теперь доступен только через snap

Прошла эпоха
💩14👍2😁2🔥1
Из дешёвых китайских осцилографов могу посоветовать ChipQuik CQ-702S.

Вообще мне с портативными как-то постоянно не везло, всё в итоге не нравилось. Этот купил совершенно случайно - заказывал на digikey мелочь и жаба давила платить 20$ за доставку до Европы.

Поэтому кинул в корзину на пробу и внезапно не разочаровался. Свои 200$ отрабатывает на ура. Имеется также мультиметр и прозвонка. Внутри 18650, которая заряжается по usbc снаружи. Имеется подключение и к компу, но ещё не пробовал.

(отзыв мой реальный, рекламы на канале нет и не было).
👍23🔥2
Разбираем с ChatGPT очередной IEC протокол, пол часа, полет нормальный

- в этом байте в биты 0-6 впишите старшие 8 бит sequence number
- wait, говорю, как же я тебе 8 бит впишу в 7?
- извините, произошла ошибка, нужно вот так...

Полез проверять в спецификацию, оказалось эта гпт-шная сука выдумала 90% ответов.

Бля!
😁80👍6💩1
"Крейт хаскелисты писали" - выучил сегодня новое ругательство от коллег.
😁44👍2👎2
Сначала требовали Cargo.lock для библиотек не коммитить. Теперь требуют коммитить.

Причем требуют одни и те же!
😁29👍4💩2
Из прекрасного мира фронт-енда

Клиент: жалуется что его приложение работает везде, кроме случаев, если приложение в девелопмент-режиме (как выяснилось, только если бек платформы на localhost)
Мы: не верим. После долгих переговоров получаем все данные

Оказывается
- наше API поднимает вебсокет на /ws
- клиент ставит какой-то очередной ебнутый девелопмент-плагин под webpack, который этот /ws на локалхосте перехватывает
- веб-приложение от всего этого тихо охуевает
- плагин свой /ws конфигурировать не дает

Трясутся руки, кружится голова. Бегу обратно в Rust, а потом на пиво. Много пива.
👍20😁16👎1
.
😁37👍2💩1
Наши капчи
😁42👍11
Наши типичные клиенты

- а вот такой софт знаете?
- вообще мы продаём и интегрируем свой... ну ещё некоторые от партнёров
- я хочу тот
- тогда обратитесь к их интеграторам
- я хочу к вам
- это будет поставить дороже
- я не хочу дороже! я хочу как за ваш. кстати, вы же допишете недостающие фичи?...
😁44💩5👍1
.
😁38👍5💩3
Когда протоколы пишут не программисты, а эффективные менеджеры от энергетики.

В IEC 60870-5 значения регистров устройств могут иметь время, когда это значение было выставлено или замеряно. Чтобы передать время, предполагая что часы синхронизированы с клиентом, обычно используется три байта (формат CP24Time2a).

u16 для передачи миллисекунд (как раз 60к влазит) и u8 для передачи минут. Далее клиент берет свое системное время и заменяет минуты, секунды на полученное значение. Если значение получилось в будущем - значит это на грани конца-начала нового часа и отнимите час.

Поскольку минут 60, а в u8 бит 8 - старшие два бита используются для дела следующим образом: один зарезервирован, а второй показывает что время invalid, потому что давно не было синхронизации часов, например.
😁31👍3🔥1
Насчёт времени. Одной из самых моих интересных задач, на моё огромное удивление, стала задача по чтению логов с плк и прочего ембеда, где время сбито просто наглухо, без возможности синхронизации или с синхронизацией в непредсказуемые моменты.

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

Записи скидывать с устройства на устройство с нормальными часами, само собой нельзя.
👍11🔥1
Вот эти люди, которые программируют на вебсайтах формы, в которые запрещено копи-пастать емейлы, номера кредиток и пароли, только набирать от руки.

Вы понимаете, что вас рано или поздно найдут?
😁76👍28🔥2
Продолжаем про забавные форматы времени. И как трезвому это вывозить?
😁24👍3🔥1
- сначала вас не замечают
- потом над вами смеются
- потом с вами спорят
- потом перестают понимать, что вы говорите

Делал доклад по компонентам синхронизации в Rust, тема сложная, аудитория молчала. Чтобы разрядить обстановку, сказал что Axum лучше чем Actix.

Сразу стало веселее. Будьте ближе к народу.
👍30😁25🔥5
Чем не люблю рабочие дни - в рабочие никогда не дадут спокойно поработать.
👍50😁28🔥4
Ну что, свершилось, я докатился по наклонной до того что сделал свой Mutex.

Конечно для реалтайм-систем. Меня в целом устраивал мой клон parking-lot с частично убранными busy-loops, но коллеги периодически ныли про пресловутую priority inversion problem. Сказать чтобы я этот problem имел в проде - это соврать, потому что не имел, мне при всём опыте ее даже смоделировать нужно пол-часа, как минимум (подтверждено экспериментом). Тем не менее, мне понравилась идея решать priority inversion через priority inheritance, которая уже встроена в Linux-ядро, как опция для futex.

Идея использовать pi-futex для Mutex не нова, даже не нова в Расте, но я пошел чуть дальше и имплементировал для него и Condvar. Тоже исключительно на futex-функционале.

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

p.s. весь мой RTSC-пак уже на новом мьютексе. Тестировал долго, пока не дохнет. Но при паниках отсутствие яда не гарантирую (сам я, если паникую, то это всегда завершение процесса).
🔥22👍11😁1💩1
Для нормальных игр с фьютексами нужно ядро 5.14+. Но у меня проблема на ноуте - 465й драйвер NVidia собирается только на 5.13 и ниже, а в старших убили backlight (рукожопые "оптимизаторы" выносили его из основного модуля в nvidia-modeset и в процессе немного сломали). Проблема решена в unstable 555, но там сломали suspend.

Пришлось портировать 465й на старшие ядра вручную. Так вот. После того, что я там увидел внутри, пожалуй NVidia я больше не куплю...
😁43👍5💩2🔥1
Вообще тот средний тоже не смотрит. Он легасню под виндой тянет.
😁12👍4
В общем впервые за 3 года поднял на ноуте ядро с 5.13 до 5.14. Пробовал Убунту 22ю - не зашла, какая-то еще глючная...
😁17👍4🔥1
2025/09/16 14:57:47
Back to Top
HTML Embed Code: