Search
Write a publication
Pull to refresh
1
0
Send message

Picotron: фэнтезийная виртуальная рабочая станция. Тестируем и играем

Reading time5 min
Views3.1K

Привет, %USERNAME%. Мое знакомство с 8-битными игровыми консолями состоялось в далеком детстве, когда родители подарили мне Dendy Junior. Сейчас я понимаю, что это всего-навсего бюджетный клон японской Famicom NES, но тогда он мне казался абсолютной магией. Заглавную музыкальную тему из Robocop 3 до сих пор считаю шедевром, а в космическую леталку Life Force от Konami люблю поиграть даже в 2025.

Время 8-битных консолей давно закончилось, но силами энтузиастов сейчас можно найти эмуляторы на любой вкус и цвет. Дальше всех пошли разработчики из Lexaloffle Games, которые решили в 2015 году создать собственную виртуальную игровую приставку PICO-8. Ее главной особенностью стало то, что она имитирует реальные ограничения 8-битных консолей 80-х и при этом работает на любом современном «железе».

Рост популярности заставил авторов сделать еще один шаг и создать 16-битную версию такой виртуальной приставки. Новинка получила имя Picotron, и сегодня мы с вами посмотрим, что она умеет.

Читать далее

Покоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+

Reading time15 min
Views14K

Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и измененной структуре заголовков пакетов. Я — Александр Шишебаров, старший разработчик в команде сетевых функций облака Selectel. Разрабатываю все, что связано с сетью: балансировщики, виртуальные роутеры, сети, глобальный роутер и так далее.

В этой статье рассказываю о том, как мы использовали eBPF для перехвата и декапсуляции VXLAN-пакетов прямо в ядре, обеспечив корректный сбор статистики без значительных изменений в архитектуре системы. Разберем, какие требования привели нас к этому решению, как его внедряли и каких результатов удалось достичь. Также расскажу, что такое eBPF, как работает технология, как начать с ней работать и на каких этапах сетевого стека Linux можно перехватывать пакеты с ее помощью. Подробности под катом!
Читать дальше →

Декодируем 90-ые: реверс-инжиниринг и криптография на заре разработки ПО

Reading time10 min
Views5.1K

В августе 2020 года к нам обратился клиент с кэшем из заблокированных документов QText из середины 90-х, пароль для которых он утерял.

QText — это редактор из времён DOS, использовавшийся для обработки иврита и английского текста. Написан он на Pascal и был выпущен где-то за 15 лет до того, как мы с @Elisha занялись обратной разработкой.

В этой статье мы опишем весь процесс анализа тех зашифрованных документов и выполним реверс-инжиниринг программы DOS.

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

Выгорание — норма, если ты без доспехов. Разбираемся, как выжить в «пламени дракона»

Reading time8 min
Views3.4K

Привет, Хабр! Меня зовут Асия, и начать хочу сразу со своей истории. С первой работы я практически сбежала через восемь месяцев. Начинала бодро и с большими надеждами, но выгорела еще на первых неделях. Сейчас понимаю, что причиной было тотальное расхождение реальности с моими карьерными ценностями. Из всей этой истории я вынесла урок: сначала пойми, какие задачи тебе нравятся, а какие забирают энергию, где вообще твой лимит прочности. И уже потом выстраивай отношения с работой.

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

Читать далее

Чат в терминале Linux: почти «Матрица» в реальной жизни

Reading time5 min
Views18K

Wake up, Neo…
The Matrix has you…
Follow the white rabbit.

Knock, knock, Neo.

Начало фильма «Матрица» выглядело со всех сторон шикарно. У главного героя внезапно оживает экран и сообщает: жизнь не будет прежней. Томас Андерсон явно не ждал такого поворота событий и посчитал, что компьютер был взломан. На самом деле такое общение с помощью терминала, без централизованных серверов — повседневная реальность многих хакеров.

Прямое зашифрованное соединение — то, что нужно для передаваемых данных, которые следует держать в секрете. Есть, конечно, SSH, но сам по себе это только способ подключения, без интерфейса для общения. Конечно, можно создавать файлы и писать в них что-либо, но это неудобно. К тому же SSH подходит, если вы доверяете собеседнику. Для прочих случаев можно воспользоваться Cryptcat или его аналогами. О них и поговорим сегодня.

Читать далее

Затолкаем, братцы!!! UART Lite через PCIe прямиком в Linux: драйвер за вечер (почти)

Level of difficultyMedium
Reading time20 min
Views10K

Что если можно было бы подключить своё AXI-устройство на FPGA к Linux через PCIe за вечер? В этой статье рассказываю, как написать драйвер для UARTLite через XDMA, собрать свою TTY и начать работать с GPS прямо из терминала!

Залетай, что смотришь....

Это путь воина: как я выучил Python и Go с помощью Цеттелькастена и кому точно не рекомендую метод

Level of difficultyEasy
Reading time9 min
Views51K

Привет, Хабр! Меня зовут Дмитрий, я работаю в YADRO. Я прошел большой путь в самостоятельном изучении языков программирования: от SQL до Go. Сначала я вообще не документировал процесс обучения, затем стал вести заметки по «академическому» принципу — писал конспекты, как в университете. Пока не открыл древовидную систему хранения данных, которая лежит в основе метода Цеттелькастен. 

В этой статье расскажу, как порядок в заметках помогает лучше усваивать материал, кому подойдет Цеттелькастен или подобные методы и что лучше — простые конспекты или структурированные заметки.

Читать далее

Потерянный, обретенный, обреченный. Неординарная история бомбардировщика «Kee Bird»

Reading time49 min
Views11K

Что за птица такая – Ки? Вот она, выдуманная и нарисованная на борту стратегического бомбардировщика B-29. Назвавший так боевую машину проявил большую оригинальность, чем имя какой-нибудь девицы или название родного городка. Под нарочито корявой надписью и карикатурным рисунком (птица, похоже, еще и нелетающая), глядя с фотографии сквозь время, стоит экипаж. Здесь они еще не подозревают о том, какая необычная судьба уготована их самолету.

Читать далее

Интервью с создателем SQLite (часть 2): Android 2005, хвала Кнуту, 100% тестовое покрытие, собственная CVS

Reading time10 min
Views17K

«… я раньше думал, что могу писать программы без ошибок»

Это вторая часть интервью. Первую часть можно прочитать здесь.

Адам: Привет и добро пожаловать в CoRecursive. Я Адам Гордон Белл. В каждом эпизоде ​​CoRecursive кто-то делится увлекательной историей создания собственного программного обеспечения.

Что произойдет, если сайд-проект, который вы делали по фану, вдруг станет популярным во всём мире? Как вы будете монетизировать его? Будете ли вы уделять ему всё своё время? Будете ли вы париться на счёт его обслуживания или просто оставите сервера включёнными и соберёте для них шкаф? Мой специальный гость Ричард Хипп — разработчик SQLite — продолжает отвечать на эти и многие другие вопросы.

Во второй части интервью вы узнаете:

  • почему Ричард считает себя причастным к провалу Motorola и Nokia;
  • к каким проблемам привело масштабирование СУБД SQLite;
  • сколько тест-кейсов нужно, чтобы обеспечить ей 100-процентное покрытие;
  • о том, как Ричард добавил покрывающие индексы в SQLite;
  • почему и как Ричард разрабатывает собственную систему контроля версий;
  • какой совет он может дать младшим коллегам.
Читать дальше →

Собираем и запускаем минимальное ядро Linux

Level of difficultyHard
Reading time9 min
Views15K

Однажды на работе техлид порекомендовал мне проштудировать книгу Understanding the Linux Kernel Бове и Чезати. В ней рассмотрена версия Linux 2.6, сильно не дотягивающая до более современной версии 6.0. Но в ней явно ещё много ценной информации. Книга толстая, поэтому на её изучение мне потребовалось немало времени. Занимаясь по ней, я решил настроить такую среду разработки, в которой я мог бы просматривать и изменять новейшую версию ядра Linux — чтобы было ещё интереснее.

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

Читать далее

Геймеры и сообщества, повлиявшие на геймдев

Reading time13 min
Views6.6K

Когда речь заходит о выдающихся геймерах, все вспоминают известных киберспортсменов или блогеров, ведущих трансляции. Но часто мы забываем о целых сообществах, участники которых играют ради удовольствия, внося огромный вклад в культуру геймеров. Эта статья — своеобразная дань уважения гикам и энтузиастам, которые просто играли, но при этом оказали большое влияние на свои сообщества, стали легендами и вдохновили многих других. Под катом истории о спидранере, который запустил Doom внутри Doom внутри Mario Super World; о 14 геймерах, которые играли в Halo 2 три недели подряд, чтобы не допустить отключения серверов Xbox Live на консолях первого поколения; о разгадке структуры фермента, связанного с вирусом СПИДа, благодаря игре и многое другое.
Читать дальше →

Как я беспроводные наушники починил: что может пойти не так и как решить эту проблему, проверив материнскую плату

Reading time4 min
Views6.2K

Привет, Хабр! Давненько я уже ничего не писал про ремонты. И сейчас решился, благо, есть интересный случай. Недавно знакомый принес беспроводные наушники JVC своей дочки. Недорогие (около 40 евро), но достаточно неплохие наушники, которые обеспечивают хороший звук. Никаких проблем с ними никогда не было, а теперь возникла — не заряжаются и не включаются. Что же, поехали!

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

Умный прицел из 1944-го. Один из первых серийных аналоговых вычислителей

Level of difficultyEasy
Reading time6 min
Views17K

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

Но множество таких технологических прорывов были нишевыми и относительно малоизвестными. И одним из таких было создание приспособления, иногда гордо именуемого «компьютером», хотя фактически это был аналоговый электромеханический калькулятор. Речь пойдет о бортовой системе управления огнем бомбардировщика B-29.

Читать далее

13 законов разработки ПО

Level of difficultyMedium
Reading time8 min
Views26K

Некоторые из них хорошо известны, другие — достаточно нишевые. Но все они очень полезны разработчикам и менеджерам. Любопытно, какие из них вам известны:

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

Obsidian — Notion свободного человека

Level of difficultyEasy
Reading time5 min
Views119K

Notion объявили, что уходят из России и 9 сентября блокируют аккаунты пользователей.

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

Для любителей Ноушена это большая проблема, для любителей Обсидиана это возможность сказать: "Мы же вам говорили" и начать хвастаться своими кастомными обсидианами.

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

Год назад перевёл все свои заметки в Обсидиан. Причина простая: Обсидиан может гораздо больше вещей, чем Notion.

О том, почему не стоит расстраиваться и даже наоборот, открыть большой, новый мир возможностей...

Читайте в статье

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

Level of difficultyEasy
Reading time9 min
Views105K

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:

Поверхностный обзор источников по Obsidian

Level of difficultyEasy
Reading time12 min
Views22K

Прочитал и посмотрел почти все статьи и видео по Obsidian, которые вышли недавно (в среднем не более 1-2 ух месяцев назад). Дал каждому источнику субъективную оценку и написал короткий комментарий.

Окунуться в субъективный взгляд автора

Сбой с вероятностью один раз в 20 лет: о мартовском инциденте в дата-центре

Level of difficultyMedium
Reading time13 min
Views46K

30 марта сервисы, размещённые в одном из наших основных дата‑центров, оказались недоступны. К инциденту привела авария на опорной подстанции, которая спровоцировала отказ сразу двух вводов питания и последующий каскадный сбой оборудования.

В этой статье подробно покажем, какие именно риски сработали — а для этого объясним, как устроено энергоснабжение в дата‑центре и на что это влияет. С этой точки зрения посмотрим, как развивались события в этот день и что бывает в дата‑центре, когда случаются ситуации, вероятность которых оценивается как «один на десятилетия». В завершение расскажем, что планируем делать дальше, чтобы не допустить повторения, и какой урок из этого могут извлечь другие инженеры.

Читать далее

Запуск Linux внутри PDF

Reading time3 min
Views11K


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

Оказалось, что на этом возможности движка по рендерингу PDF не ограничиваются. Он способен запустить даже эмулятор полноценного процессора, а в нём — целую операционную систему.
Читать дальше →

Электроника в вопросах и ответах

Reading time13 min
Views15K

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

Не всё из предложенного в той статье оказалось реализуемо, но, в общем, на мой субъективный взгляд, эксперимент оказался весьма любопытным :)

Ответить на вопросы смежников

Information

Rating
Does not participate
Registered
Activity