Pull to refresh
0
0
garm @garm

User

Send message

Насколько Linux подходит для дизайна UX — мой опыт за год работы

Level of difficultyEasy
Reading time7 min
Views13K

В июне 2023 года я начал работать фрилансером в сфере UX-дизайна. Для этого мне требовался компьютер. К сожалению, спустя 7 лет верной службы мой MacBook Pro отправился на покой. И не из-за того, что перестал работать, а потому, что в Apple прекратили поставлять для него обновления безопасности. Просто стало небезопасно выполнять на нём заказы.

Я рассматривал в качестве альтернативы Windows и обнаружил, что в этой ОС постоянно появлялась какая-то новая, отвлекающая реклама; она пропитывалась тёмными паттернами UX и постепенно делала непригодным для использования старое железо.

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

Хотелось работать за чем-то надёжным, имеющим минималистичный дизайн и созданным с упором на долговечность. Здравствуй, Linux.
Читать дальше →
Total votes 49: ↑41 and ↓8+52
Comments82

Решаем проблему блокировок (и YouTube) за 5 минут на роутере с OpenWRT

Level of difficultyEasy
Reading time5 min
Views114K

Будем возвращать доступ к YouTube (а заодно и к другим заблокированным ресурсам) с помощью роутера на OpenWRT и Shadowsocks (Outline) и клиента bird2 (сервиса Antifilter.download)

Читать далее
Total votes 45: ↑40 and ↓5+41
Comments113

Gameboy Advance — полный гайд по выживанию в 2024 году

Level of difficultyEasy
Reading time11 min
Views15K


Как же поживает консоль детства в 2024 году? Как купить и не напороться на подделку, что же с ней делать, дабы вернуть былой лоск, и как играть в игры, не прибегая к дорогим оригинальным картриджам? Обо всём этом и даже больше я расскажу далее в статье.
Читать дальше →
Total votes 43: ↑42 and ↓1+57
Comments20

Plug and /pray/ play

Level of difficultyMedium
Reading time17 min
Views2.2K

Plug and pray play

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

Несмотря на то, что люди были специальными, по нынешним меркам все было организовано довольно просто. Любой самостоятельный компонент компьютера (процессор, память, шина, порты ввода/вывода и т. д.) поставлялся с кипой бумажной документации, в которой описывалось, какие интерфейсы используются, какие адреса, прерывания необходимы для работы того или иного устройства. Если возникали конфликты адресов/прерываний, то, как правило, в устройстве были переключатели, позволявшие в определенных пределах менять настройки. А когда это не помогало, то специальные люди не чурались паяльника и разрешали конфликт, так сказать, «по месту».

К чему это я?
Total votes 9: ↑9 and ↓0+12
Comments0

Толстые хвосты распределений — это загадочно и странно

Level of difficultyMedium
Reading time13 min
Views7.5K

Если вы посещали занятия по статистике — вы, возможно, проходили тему «общая теория меры». Там могла идти речь о мере и об интеграле Лебега, а так же — об их связи с другими способами интегрирования. Если на ваших занятиях много внимания уделялось математике (так было у меня), то на них вы вполне могли познакомиться с теоремой Каратеодори о продолжении меры и даже с основами теории операторов на гильбертовых пространствах, а так же — с преобразованиями Фурье и много с чем ещё. Большинство этих математических конструкций нацелено на доказательство одной из самых важных теорем, на которой основана огромная часть статистики. Речь идёт о центральной предельной теореме (ЦПТ).

ЦПТ утверждает, что для широкого класса того, что мы называем в математике «случайными величинами» (которые представляют собой результаты проведения некоего эксперимента, включающего в себя элемент случайности), до тех пор, пока они удовлетворяют определённым условиям (как может показаться — простым), их среднее значение сходится к случайной величине определённого типа, который называют «нормальным» или «Гауссовым».

Читать далее
Total votes 38: ↑37 and ↓1+51
Comments11

Тысяча и одна библиотека С++

Reading time65 min
Views26K

В жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или возникает проблема языкового барьера, ну, или поисковики просто плохо ищут).

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Total votes 82: ↑81 and ↓1+92
Comments23

Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году?

Level of difficultyMedium
Reading time21 min
Views13K


Осторожно: Несмотря на кажущуюся сложность статьи о разработке целой 3D-игры с нуля, я постарался систематизировать и упростить материал так, чтобы понятно было любому заинтересованному читателю, даже если вы далеки от программирования в целом!

Статьи о разработке инди-игр — это всегда интересно. Но разработка чего-то абсолютно с нуля, без каких-либо движков или фреймворков — ещё интереснее! Почти всю свою жизнь, буквально с 13-14 лет меня тянет пилить какие-нибудь прикольные 3D-демки и игрушки. Ещё на первом курсе ПТУ я написал небольшую демку с 3D-вертолетиками по сети и идея запилить какие-нибудь прикольные леталки не покидала меня по сей день! Спустя 6 лет, в 22 года я собрался с силами и решил написать небольшую аркадную демку про баталии на самолетиках, да так, чтобы работало аж на видеокартах из 90-х — NVidia Riva 128 и 3DFX Voodoo 3! Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 81: ↑79 and ↓2+103
Comments30

Сборка Debian пакетов для расширений PHP

Level of difficultyMedium
Reading time20 min
Views2.6K

Так исторически сложилось, что мы используем некоторые не очень популярные расширения PHP, написанные и кое как (почти никак) поддерживаемые своими авторами, которых нет в типовых источниках deb‑пакетов. У нас постулируется принцип «нормально делай — нормально будет», поэтому у нас не приветствуется slackware‑style установка бинарников в систему вне пакетных менеджеров. Поэтому будем собирать полноценные deb‑пакеты для расширений PHP, не ломая совместимость с существующим окружением.

Пойдём-ка покомпилируем-ка
Total votes 24: ↑22 and ↓2+52
Comments9

Пишем за неделю 3D-редактор на C

Level of difficultyMedium
Reading time6 min
Views9.5K
Прошлой осенью я участвовал в недельном мероприятии по программированию Wheel Reinvention Jam. Смысл этого джема заключается в том, чтобы взглянуть по-новому на уже существующие программные системы. Я написал для него 3D-редактор под названием ShapeUp. Пост будет понятнее, если вы сначала посмотрите видео-демо ShapeUp. Можно попробовать ShapeUp в браузере.

Вот, как он выглядит:

Майк Вазовски!

3D-редактор


Я ненавижу тормознутость компилятора Typescript (поверьте, это относится к теме статьи). Джем показался мне подходящей возможностью реализовать более быстрое подмножество Typescript, обгоняющее по скорости tsc. Мне показалось, что проект можно реализовать, если начать с парсера Typescript esbuild or Bun. Но потом ко мне пришло понимание, что успешный результат будет выглядеть как команда терминала, выполняющая работу быстрее другой. Не особо впечатляюще в качестве демо. Мне хотелось создать крутое демо, поэтому я выбрал 3D.
Читать дальше →
Total votes 51: ↑46 and ↓5+61
Comments7

Я победил замедление YouTube

Reading time4 min
Views423K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее
Total votes 163: ↑150 and ↓13+167
Comments595

Как уничтожить вашу ОС с помощью TAR

Level of difficultyMedium
Reading time12 min
Views21K

Это короткая история о том, насколько опасной может оказаться обычная распаковка tar, и что можно сделать для минимизации или избежания связанных с ней рисков.

▍ Ошибка


Недавно я экспериментировал с установкой Void Linux через chroot методом XBPS. Для подготовки базовой системы Void Linux на моём хосте с Fedora Linux требовался XBPS Package Manager. Одним из вариантов было скачать архив статически собранных инструментов из официального репозитория. Я выбрал https://repo-default.voidlinux.org/static/xbps-static-latest.x86_64-musl.tar.xz
Читать дальше →
Total votes 41: ↑33 and ↓8+43
Comments97

Алгоритм Тарьяна для поиска минимального набора уравнений

Level of difficultyMedium
Reading time6 min
Views4.1K

Дана система, состоящая из большого количества уравнений (необязательно линейных), где вам необходимо найти всего лишь несколько переменных. Как это сделать эффективно? Какой минимальный набор уравнений вам потребуется? В этой статье мы обсудим графовое представление систем уравнений, применим алгоритм Тарьяна и формализуем процесс на Python.

Читать далее
Total votes 7: ↑7 and ↓0+11
Comments7

Книга: «Hypermedia-разработка. htmx и Hyperview»

Reading time25 min
Views2.2K
image Привет, Хаброжители!

Опытные программисты, выросшие вместе со Всемирной паутиной, не уделяли идеям гипермедиа особого внимания. А молодые веб-разработчики не знают ничего, кроме одностраничных приложений и фреймворков, используемых для их создания.

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

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

Гипермедиа-управляемая архитектура подойдет не для каждого приложения, но повышенная гибкость и простота станут огромным преимуществом. Даже если этот подход не улучшит вашу программу, вам стоит понять его суть, сильные и слабые стороны и отличия от традиционно применяемой методики. Веб-среда росла быстрее, чем любая другая распределенная система в истории, и веб-разработчики должны уметь использовать сильные стороны базовых технологий, которые сделали возможным этот рост.
Читать дальше →
Total votes 9: ↑8 and ↓1+12
Comments2

GPU-ускорение FFmpeg. Видите прибавку в скорости? И я нет. А она должна быть…

Reading time10 min
Views8.6K

Привет, Хабр! С вами Матвей Мочалов, и сегодня у нас небольшая лабораторная работа. Вспомним, что GPU нужны не только для нейронок и AI — еще они могут ускорять много других полезных задач. А конкретно мы сравним разницу в скорости между работой FFmpeg на процессоре и на видеокарте Nvidia.

В ролях у нас гибридный ноутбук под Linux с мобильной видеокартой RTX 3050Ti и процессором Ryzen 5 5600H. Также в массовке участвует удалённый тестовый сервер с Xeon и заглушкой в PCI слот, которую дядя Дженсен Хуанг решил по доброте сердечной добавить в линейку Quadro.

Читать далее
Total votes 27: ↑24 and ↓3+25
Comments28

Делаю игрулю на Playdate на чистом C. Глава 4

Level of difficultyMedium
Reading time13 min
Views3.5K

Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В этих заметках ты узнаешь из первых уст как создаётся игруля с нуля от идеи до публикации.

Если ты не читал предыдущие главы, то лучше начать с них.

Глава 1 - создание аналога объекта динамического массива для будущих нужд на чистом С;

Глава 2 - программирование внедорожника и объектов пустыни, инициализация и очистка ресурсов игры;

Глава 3 - описание процессинга тика, в частности, обработка пользовательского ввода, а также обновление модели данных.

====================

В этой главе тебя ждут математика за пятый класс, пьяные перекати-поле и обуздание неопределённого поведение.

Итак, большинство людей в мире визуалы. Это значит, что им привычнее всего воспринимать информацию глазами. В прошлых главах я создал целый мир, но какой в этом смысл если это невозможно увидеть? Нет, конечно можно в баре рассказывать про то, какой невероятный код я написал, но собеседник не сможет его увидеть так как у него нет Playdate (ты же помнишь, что я живу в Казахстане? У нас на всю страну три человека имеют Playdate), ну и потому что собеседник бухой в щи, пьяный в зюзю, надрался, под мухой, на рогах, зелёный как снег.

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

Читать далее
Total votes 12: ↑12 and ↓0+15
Comments2

Электронные чернила и Raspberry Pi

Reading time10 min
Views5.2K

Довольно часто возникает необходимость визуально представлять результаты работы устройства в том или ином человеко-понятном виде (текст, картинка, видео). Если это устройство не является абсолютно автономным, то задача решается проще, мы не сильно зависим от источника питания. На просторах Хабра есть ряд публикаций, посвященных различным метеостанциям и другим устройствам с экранами, подключенных к постоянному питанию.

А вот если нам нужно собрать полностью мобильное устройство, работающее от аккумуляторов, то здесь проблема потребления питания может стать достаточно острой. Так, при сборке собственного планшета на базе Raspberry Pi 3 мне пришлось выделить под тачскрин отдельный аккумулятор, так как при использовании общего источника (Li-Po, 6000 мАмпер-часов) питания устройство могло проработать более часа, но при запуске какого-либо ресурсоемкого приложения резко возрастал ток потребления и устройство тупо отрубалось, так как аккумулятор просто не мог выдать такой ток.

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments6

JSON словарь в качестве постоянной памяти для GPT-ботов (версия 3.0)

Level of difficultyEasy
Reading time4 min
Views5.3K

Как заставить любого GPT-бота на базе любой LLM (например на ChatGPT) незаметно для пользователя запоминать в его постоянную память нужные нам сведения из диалога?

Пробуем применить подход к постоянной памяти используя JSON структуру.

Читать далее
Total votes 8: ↑4 and ↓4+2
Comments9

Скотч, кабель, Интернет: умный съемный дом

Level of difficultyEasy
Reading time9 min
Views19K

Я люблю автоматизацию, гаджеты и IoT

Поэтому, места где я живу, рано или поздно становятся автоматизированными и обвешанными интернетом вещей

Да чего там, у меня даже бойлер по расписанию работает!

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

Автоматизируй это
Total votes 55: ↑51 and ↓4+59
Comments64

ШтЫрлиц: Операция «Бюст» – олдовый квест, наполненный юмором

Level of difficultyEasy
Reading time4 min
Views5.8K

Жанр квестов, получивший наибольшую популярность в середине 90-х прошлого века, для многих олдфагов запомнился огромным количеством отличных игр, которые не только остались в памяти игроков, но и вписали своё имя в историю индустрии. Full Throttle, The 7th Guest, Broken Sword, Grim Fandango, Myst, Monkey Island и многие другие проекты до сих пор имеют огромную армию фанатов, которые со скупой слезой вспоминают свои приключения в этих видеоигровых мирах. Лично я с наибольшей теплотой вспоминаю несколько игр, и далеко не все из них можно назвать величайшими шедеврами всех времён. Правда это не помешало им оставить отпечаток в моей памяти, вызывая тёплые воспоминания ставших уже далёкими годах. Одним из таких проектов является ШтЫрлиц: Операция «Бюст», ведь именно он стал для меня первой игрой данного жанра.

Читать далее
Total votes 21: ↑19 and ↓2+22
Comments22

Как я запрограммировала собственный рукописный шрифт

Level of difficultyMedium
Reading time5 min
Views25K

У меня нередко бывает, что я решу не увлекаться слишком сильно какой-то затеей, но в итоге всё равно в неё погружаюсь. Так было и на этот раз.

Недавно я создала на JavaScript собственный блочный шрифт, решив, что запрограммировать слитное рукописное письмо будет слишком сложно. Но не прошло и двух месяцев, как вот я здесь и готова рассказать о созданном мной механизме слитного письма. Пожалуй, в этом есть свой урок, но мы в его смысл углубляться не станем.
Читать дальше →
Total votes 102: ↑100 and ↓2+127
Comments59
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity