Telegram Web Link
Изобрел очередной велосипед и написал свой маленький ping. Кроме ICMP умеет еще TCP/UDP, ну и график в консоли, куда без него сегодня.

Можно было поискать готовое, но мне нужны отчёты в определенном формате, проще за вечер накидать своё.

Зарелизил бинарники, может кому тоже пригодится.

https://github.com/alttch/latencymon
👍24
Сначала тысячи лет подгоняли языческие праздники под солнцестояние. Потом подогнали рождество и уже 2000 лет так празднуют.

Вот это я понимаю backward compatibility! А вы всё ноете, когда надо легаси API лишние пару лет посуппортить.
😁19👍16
итоги года
👍17😁11🔥1
Длинно поздравлять не буду, главное чтоб хуже не было.
👍69🔥4💩3
Внезапно пошла мода на рефибы культового Toughbook CF-19, можно найти за ~500$ mk5 (и даже mk6) практически в идеальном состоянии, с апгрейдом до максимума возможностей платы.

В свое время такой себе зажал, по причине 1) жабы 2) нестандартной раскладки. Наверстываю упущенное.

На пол всё же лучше не ронять (сломает пол).
🔥11👍3💩2
- увидел на фейсбуке рекламу хедж-фонда, который лично курируют Павел Дуров и Илон Маск. как думаешь, стоит попробовать?
- нет. это скам
- откуда ты все знаешь?
- книги читал
- про инвестиции?
- про Буратино
😁49
.
😁45👍1
Спустя 34 года после релиза, наконец пройден "до конца" Tetris for NES.

После прохождения 157 уровня, игра отказалась работать дальше. Тем не менее, профессиональные игроки заявляют, что "kill screen" можно обойти и все ещё мечтают пройти все 255 теоретически возможных уровней.
🔥30👍5
Делал уборку. Чем я только в молодости не занимался... непонятно как выжил.
😁32🔥7👍3
Китайской ядерной батарейкой, которая может работать 50 лет я заинтересовался и полез посмотреть оригинальные источники, чтобы точно получить ТТХ. Что мы имеем:

- батарея имеет размер 15x15x5мм
- выдает 3 вольта
- выдает 100 микроватт фиксированно

Интересно, но очень мало. Практического применения - ноль. Производитель обещает 1-ваттные батарейки к 2025 году, что при той же технологии будет являть собой куб примерно 22х22х22 сантиметра. 10 таких батареек могут запитать самый маленький Cortex-A, с гарантией что он не вырубится под нагрузкой.

Лучше ситуация с Cortex-M, там есть модели по 100 милливатт. Питать такой процессор можно ядерным кубом 10х10х10см, примерно как 4 кубика-рубика. Правда зачем питать - непонятно. Периферией не обвешать - не хватит батарейки. А для компактных камер слежения или микрофонов - как-то не слишком компактно.

А вообще дело было так - лаборатория выкатила презентацию, что ядерная батарейка - это в принципе возможно, хоть пока и жутко коряво. А журналисты уже дописали всё остальное. Особенно доставляет, что такие батарейки будут помогать ИИ. Ага, и тогда компьютеры станут опять размером со стадион.
😁26👍10
Читаем работы студентов. "Пользовательская база: пожилые люди возраста 45 лет и выше".

М-да.
😁65
.
👍23😁16🔥3
- спасибо за предложение, но у нас уже есть облако для наших клиентов
- а чего оно так медленно работает?
- эээ, да там сервер говно сейчас. поменяем
😁26👍6
😁38👍7🔥1
Когда пытаешься в Android зимой на морозе открыть приложение банка и срочно перевести денег.
😁28👍15🔥1
Я стал меньше хейтить растовский sqlx, после того как сложились некоторые привычки работы с ним. Предметная область: я поддерживаю две СУБД, вернее одну - Postgres и ещё Sqlite. Код должен работать с обеими, ORM не применять.

- забудьте про sqlx::Any. во-первых оно кривое и ущербное, во-вторых сложный/производительный db-agnostic sql - это все равно миф.

- sqlx::Pool нельзя просто кинуть в бокс как dyn, в sqlx слишком много инструментов, привязанных к конкретной СУБД женериком. поэтому есть два подхода - либо строим high-level функционал своей базы через трейты, имплементируем их для Pool и боксируем, либо делаем dynamic dispatch ручками через енум с парой вариантов пула. Второй подход чуть менее удобный зато даёт чуть более читаемый код, потому что операции для разных баз не разнесены по имплам, а находятся в одной функции.

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

- обязательно сделать Encode/Decode для своих типов. у sqlx в целом убогое API для этих вещей, много чего строится приватными методами, но выжить можно. зато потом имеете нормальный bind, а обратно из базы данные через FromRow тянутся почти как в serde (serde курильщика).

- использовать sqlx::QueryBuilder, особенно там где запросы меняются динамически (напр. селекты с фильтрами).
👍16
Главная проблема любых оптимизаций работы с СУБД - вовремя остановиться и случайно не написать свой ORM.
👍24😁20
Интересно что Postgres под капотом работает с TIMESTAMP и TIMESTAMPTZ, как с 64-bit integers (в микросекундах). Но разработчики выбрали в качестве Epoch "J2000.0" - 1 января 2000 года 00:00:00. Эта точка отсчёта используется в основном в астрономии.

Понабирали астрономов по объявлениям.
😁18👍11🔥3
2025/09/16 13:05:26
Back to Top
HTML Embed Code: