Telegram Web Link
К предыдущей новости, консоль называлась Atari 2600. Характеристики: одноядерный 8-bit cpu на 1.19Mhz (MOS 6507, 56 инструкций), 128 байт (не килобайт) памяти. Сам код игр находился в ROM-картриджах, как и на уже более "современных" приставках.

Кроме успехов в шахматах, благодаря именно этой модели мир познакомился с Pacman.
🔥20👍6😁1
Борьба с лайфтаймами головного мозга. Когда авторы крейтов в своем API разрешают загнать borrowed и только исключительно borrowed, а у вас начинаются большие проблемы (привет sqlx в первую очередь). Disclaimer: делать только в самом крайнем случае.

Если функция создает value динамически (например через внешнее API), при попытке загнать его в такой крейт-API, получаем ошибку "returns a value referencing data owned by the current function". Растовский borrow-checker не умеет сам разбираться с подобным и вернуть оба значения мы не можем. Тем более API получает указатель на стек, а стек заканчивается вместе с функцией. Решение в любом системном ЯП - загнать данные в кучу.

Итак, у вас есть некоторое крейт-API, которое внутри выглядит так:

mod shitapi {
pub struct Shit<'a> {
greeting: &'a str,
}
impl<'a> Shit<'a> {
pub fn new(greeting: &'a str) -> Self {
Self { greeting }
}
}
}


И вот это с ним конечно работать не будет

fn create(name: &str) -> shitapi::Shit<'_> {
let greeting = format!("hello {name}");
shitapi::Shit::new(&greeting)
}


Тут нам поможет Box::leak, который позволяет "забыть" данные в куче, или по растовской семантике сделать их static:

fn create(name: &str) -> shitapi::Shit<'static> {
let greeting: &'static str = Box::leak(Box::new(format!("hello {name}")));
shitapi::Shit::new(&greeting)
}


Если ваша программа вызывает метод "create" предсказуемое количество раз - на этом можно остановиться. Но если процесс динамический, придётся самим дропнуть память на куче, когда данные уже не нужны. Для этого создадим враппер-структуру и будем возвращать данные в ней:

struct ShitWrapper {
shit: shitapi::Shit<'static>,
source_s: &'static str,
}

fn create(name: &str) -> ShitWrapper {
let greeting: &'static str = Box::leak(Box::new(format!("hello {name}")));
ShitWrapper {
shit: shitapi::Shit::new(&greeting),
source_s: greeting,
}
}


Не забываем освободить память на куче в дестракторе.

impl Drop for ShitWrapper {
fn drop(&mut self) {
let _ = unsafe { Box::from_raw(self.source_s as *const str as *mut str) };
}
}


Авторам же таких API предлагаю открыть для себя COW.
👍28💩13😁6
This media is not supported in your browser
VIEW IN TELEGRAM
Это я, сижу жду когда ИИ меня наконец заменит на работе
😁85👍10🔥3💩1
😁31👍5💩1
Хорошо что у меня нет соцсетей. Зато есть футболист-однофамилец. Когда-то в ЕС был бум на AML, я тогда был иностранец а иностранцев очень проверяли в банках. Типичный диалог с банкиром был такой

- а вы меня проверяли?
- конечно проверяли
- футболиста нашли?
- (грустно) нашли конечно...
😁54👍3💩3🔥1
В этом году не нравится ни один андроид, а телефон менять пора. Рискуя жизнью, заказал себе ипхоне 16, после недельного теста 14го. Спустя 15 лет назад на iOS.

О мучениях буду докладывать регулярно (написано с ипхоне, злился, плакал).
😁43👍9💩7🔥1
😁56👍2💩1
еще один большой шаг к замене людей на ИИ
😁51👍3🔥1
На инструктаже у безопасников

- представьте, что вам звонят мошенники и просят...
- то что мне звонят я представил, но не могу представить, что я взял трубку
😁69👍9🔥2
Начинаю жаловаться писать про свой ипхоне, сегодня немного обозрим безопасность

- iCloud. 10$ за 2TB и нормально работающую end-to-end encryption - это круто. Из минусов - всё, что юзает веб-апи (rclone etc, включая и эппловскую уеб-морду) - отвалится. Насколько это секьюрно и что именно не шифруется собственным ключем (не забудьте его сгенерить), можно прочитать тут. Насколько реально инженеры Apple не имеют доступа к вашим данным в серьезных делах - вопрос интересный, но по крайней мере в локальном сервис-центре облако без ключа уже не восстановить.

- Буфер обмена (clipboard). Большой минус андроида - буфер это колхоз, флаг данных IS_SENSITIVE - скорее издевательство, чем польза. На мобильном устройстве куча приложений, многие из которых могут быть враждебно настроенными, это на десктопе TikTok это сайт и достаточно доверять безопасности браузера, а на мобильнике оно легко полезет в буфер обмена само. На iOS вставка подтверждается и это хорошо.

- BFU/AFU. К сожалению, современный ифон (как и андроид) нельзя быстро выключить при ограблении/обыске, даже если он у вас в руках, но vol down + side переводит телефон в состояние слегка похожее на BFU - уже отлично.

- Zerotier. Для доступа к рабочим ресурсам иногда приходится использовать ZT (сервер их SaaS, клиент - официальный). Могу сказать, что переподключается оно при смене интернета отвратительно, до десятков минут в зависимости от фазы луны, причем ZT админка показывает что устройство подключилось, но пинги не ходят. Косяк это ZT или iOS - комментировать не могу.
👍10
Я себе наконец eSIM активировал. Просто потому что захотел. Но на практике eSIM - немного жопа полная.

Представьте себе ситуацию, вы в поездке сломали/утопили/раздолбали телефон. Раньше можно было купить новый и переставить симку. Теперь надо зайти на страницу опсоса и получить новый eSIM. Но нюанс в том, что для того чтобы зайти на страницу опсоса надо набрать логин, пароль и код из СМС, а код вы не получите, потому что у вас eSIM нету.

Вопрос в студию. Существуют вообще в мире опсосы, у которых двухфактор через TOTP, почту или что угодно еще? Или все до сих пор уверены, что мобильный номер - пуп земли и вершина безопасности?
👍21😁11🔥6💩1
Если взять задачу с чашкой и поменять условие на другой предмет, железяка начинает бредить опять.
😁37👍3👎1💩1
Как-то пропустил эту прекрасную новость. Пока по вохе регулярно пытаются создать компьютерно-игровой бестселлер, Близзарды - наоборот, решили завоевать настолки.

Выход настольного StarCraft анонсирован на 2026й (см. https://starcraft-tmg.com/), а в 2027 обещают уже целое семейство игр, чтобы значит,правильно, опять несли деньги.

Может и понесем. Всегда хочется поиметь оригинальную Сару Керриган до и после.
🔥10👍5
Я знаю откуда украли дизайн iPhone 17
😁37👍5🔥1
Никогда не было и вот опять. В этот раз взломали пакеты qix. Скомпроментированные версии уже отозваны.

Жявоскриптеры что-то жалобно кричат про "атаку тысячелетия".
😁16💩3👍1🔥1
"Кризис в IT-отрасли. Отправил 1000 резюме и не получил ни одного ответа". Тем временем, на другой стороне...

Я - совладелец и CTO IT-компании. По традиции читаю наш публичный ящик, на которые валят такие резюме. От некоторых по 2-3 раза одно и то же в течение дня. За 20 лет нашей работы таким образом мы наняли 1 (одного) человека. Просто так сошлись звезды - и стек был подходящий, и как раз вакансия более-менее открытая, и резюме интересное (я читаю).

Иногда приходит какой-то треш.

"Я - PHP-девелопер, давайте вместе делать сайты". Мы уже лет 15 не делаем сайты.

"Я - Rust-девелопер, но из Уганды". Сложно Уганду вписать в команду.

"95 лет опыта в макдаке, решил стать программистом". Отличное решение, но нет.

Где-то половина резюме вполне нормальные. Но:

- Это публичный ящик для связи потенциальными с клиентами, на который мы в принципе не принимаем вакансии. Для вакансий есть отдельные объявления.

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

- Если резюме придет больше одного раза в течение недели - скорее всего отправитель будет заблокирован.

- Некоторый процент резюме автоматически валит в спам (вопросы к гуглу).

- По e-mail в 2025 году искать вакансии - это кринж, примерно как знакомиться на улице. Для этого есть соцсети, бложики и тусовки. У того, кто напишет issue на гитхабе или в личку на реддите, шансов гораздо больше. Но это же сложно. Лучше купить за 1$ список из 1000 ящиков, разослать спам и ныть.
👍14😁11💩11
Наши достижения в ИИ
😁48🔥6
Ну вот я и нищеброд с 16м ипхоне
🔥16😁16👍6
Состояние Ларри Эллисона сегодня составило 393 миллиарда долларов, что позволило ему обогнать Илона Маска на пьедестале.

Корпоративные кровосиси наносят ответный удар. А вы любите Орокле?
😁13💩7👍3
Куда я немного пропадал. Пару месяцев игрался в Last war survival (примерно тот же движок Last Z и подобные), изучал так сказать современные гейм-тренды. Что могу отметить.

Игры очень сильно затягивают, так как на телефоне можно играть 24/7. Движок конечно сам подбивает играть круглые сутки, позволяя заработать больше бонусов, если заходить каждые 3-4 часа и делать определенные действия. Оно кстати неплохо, когда например болеешь и спишь рывками, но в нормальном состоянии народ быстро устает.

p2w (игроки которые платят) закидывают какие-то совершенно нереальные суммы и с ними в принципе нереально конкурировать. Если на первых серверах Last war можно было тянуть в топ-100 за 30$ в месяц, на моем ценник уже был 100-200, а на новых серверах народ спускает 4-5 сотен только на старте. Топы спускают в месяц десятки тысяч.

Купить можно просто всё. В результате народ совершенно разучился играть и не вникает в механику. Для теста сделал новый аккаунт и вошел за пару дней в топ10 на новом сервере, у соклановцев было сумасшедшее удивление, что я потратил 3$, просто зная куда закидывать, а куда обойдутся. Они, естественно, уже вкинули по паре сотен.

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

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

Основной контингент - 40+. В принципе весьма веселое времяпровождение, если вы богатый пенсионер. А я пока, пожалуй, вернусь в свою любимую Контру.
😁22👍11
2025/09/15 05:42:13
Back to Top
HTML Embed Code: