Как стать автором
Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Минимализм / Минималист / TMUX.config

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 743

Заметили, что мир становится намного красочнее, пестрее, ярче и контрастнее?

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

Сейчас же парадигма сместилась в сторону скроллинга ярких картинок, фотографии и видео, и на первый план вышло яркое представление, а не качество внутри.

В ИТ мире тоже происходит такой сдвиг, программы для разработки (IDE) походят больше на елку с гирляндой или какие-то детские квесты из 2000-х. Странность заключается в том, что центр внимания программиста смещается со знаний, на все что угодно, но только не на написание качественного кода, изучения алгоритмов или разобраться как же все таки работает Garbage Collector (.Net мем). Становятся популярны какие-то странные супер фичи будущего, выбор красивой подсветки ошибок, умные помощники и т.д. Но самое странное все начинают называть себя экспертами всех этих ценностей.

https://github.com/paulbuzakov/tmuxconfig

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Комментарии 0

Новости

Новость

Java падает на arm маках с macOS 14.4

Время на прочтение 1 мин
Количество просмотров 3.6K

Оригинал тут.

Из-за бага в macOS 14.4 процесс Java машины может неожиданно завершиться. Это касается всех версий Джавы от 8 до 22. Нет никакого способа избежать или обойти этот баг. И нет простого способа откатить обновление macOS.

Этого бага не было в бета версиях macOS 14.4. Он появился только в релизе.

В macOS на М1, М2 и М3 Арм процессорах есть фича которая управляет тем как и когда исполняемый код генерируется и выполняется в каждом потоке.

В нормальном режиме работы JVM обращается к защищенным областям памяти. До версии 14.4 macOS в таких случаях отправляло проссу сигналы SIGBUS  или  SIGSEGV. ПРоцесс могу сам решить что с ним делать и продолжать ли работу. В версии 14.4 когда процесс пытается писать в защищенную область памяти masOS отправляет ему SIGKILL. И процесс принудительно завершается.

JVM генерирет исполняемый код динамически. И использует защищенные области памяти для оптимизации и корректности своей работы. Из-за этого на macOS 14.4 JVM получает SIGKILL и завершается.

Предварительно скомпилированные нативные приложения GraalVM не подвержены этой проблеме. Но может возникнуть проблема со сборкой новых таких приложений.

Оракл предупредил своих клиентов, Эппл и сообщество OpenJDK об этой проблеме. Оракл рекомендует не обновлять ARM маки до версии 14.4 пока Эппл не починит баг.

Ссылочка на тикет.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 9
Статья

Спасаем Google Shared Drives от санкций (дополнение спустя два года)

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.9K

Ровно два года назад, 16 марта 2022 года, ваш покорный слуга рассказал про нехитрые телодвижения, которые с помощью rclone позволяют сохранить локально ваши корпоративные Google shared drives (не путать с личным Google Drive).

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

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 0
Статья

DLP: предотвращаем утечки

Время на прочтение 8 мин
Количество просмотров 578

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

При этом, уже не одно десятилетие существуют системы предотвращения утечек (DLP). Но прежде, чем идти дальше и говорить о проблемах внедрения DLP, давайте правильно расшифруем данную аббревиатуру. DLP это Data Leak Prevention, предотвращение утечек информации. Можно встретить расшифровку Data Loss Prevention – то есть предотвращение потери информации. Однако, потеря информации и ее утечка - это немного разные вещи. При потере информации она совершенно необязательно становится доступной посторонним, в то время как утечка информации однозначно определяет получение доступа к ней посторонних.

Так шифровальщик может только зашифровать файлы, в результате чего информация может быть потеряна, но не украдена. И наоборот, утечка информации посредством копирования не ведет к ее потере. 

Но это было лишь небольшое лирическое отступление. Вернемся непосредственно к DLP системам.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 0

Истории

Новость

Microsoft: удаление ИИ-помощника Copilot в обновлённой версии Windows 10 на данный момент не поддерживается

Время на прочтение 2 мин
Количество просмотров 1.7K

Microsoft заявила, что удаление кода ИИ-помощника Copilot после установки последних обновлений Windows 10 на данный момент не поддерживается.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 3
Статья

JS. Валидация данных. Пишем свой YUP

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 901

Создаем TypeScript библиотеку для валидации данных. Поэтапно добавляем основной функционал и типизацию. Делаем основую упор на простоту кода и проиводительность. Как протитип используем yup и zod.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 2
Статья

Изучаем WebRTC на практике: Лучшие инструменты и демо

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 1.3K

В этой статье(или дайджесте) я поделюсь ключевыми инструментами, демонстрационными приложениями и открытыми проектами, незаменимыми для практического понимания WebRTC. Здесь не будет туториалов или подробных объяснений о той или иной части WebRTC, а скорее некий дайджест ресурсов, которые помогут лучше разобраться в теме. Если вы работаете с этой технологией уже какое-то время, вряд ли вы найдете что-то новое для себя.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 7
Статья

Где изучать DevOps. Бесплатные курсы, книги и полезные материалы

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 4.5K

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

DevOps - это не просто набор инструментов и практик, это целая философия и подход к разработке программного обеспечения, охватывающая весь цикл разработки от Кодина до развертывания и мониторинга. Изучение DevOps не сравнимо с изучением отдельного языка программирования; это требует обширных знаний и умений в различных областях.

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

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

Эти источники позволяют выбрать наиболее подходящий подход к обучению и материалы для своего учебного процесса. Некоторые из них включают в себя курсы по Docker, Kubernetes, Ansible, Jenkins, Git и другим инструментам, необходимым для успешной работы в области DevOps.

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

В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑‍💻.

Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 2
Статья

The Sims 4: разбор нарративных механик самой знаменитой игры без сюжета

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.5K

С момента своего запуска в 2014 году, The Sims 4 превратилась не просто в игру, но в целый культурный феномен, привлекая миллионы поклонников по всему миру. Этот необычайный успех можно объяснить множеством факторов, но одним из ключевых является уникальная возможность игры служить платформой для творчества и самовыражения. В отличие от традиционных видеоигр с заранее заданным сюжетом, The Sims 4 предлагает игрокам свободу создавать собственные истории в мире, где практически нет ограничений. Эта игра-песочница позволяет каждому игроку стать автором уникальных нарративов, переплетая жизни и судьбы симов в соответствии со своими желаниями и фантазиями.

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

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 0
Статья

Художественные приемы и профессиональные термины для создания изображений с ИИ. Всё, что нужно знать

Время на прочтение 7 мин
Количество просмотров 1K

В этой статье собраны все основные понятия для написания текстовой подсказки для генерации изображений с помощью нейросети.

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 2
Статья

Стереогарнитура с бинауральным звуком

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.3K

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 5
Статья

Запускаем privateGPT локально на WSL c поддержкой GPU Nvidia

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 2.3K

Приватный GPT - это готовый к производству проект искусственного интеллекта, который позволяет задавать вопросы о ваших документах, используя мощь больших языковых моделей (LLM), даже в сценариях без подключения к Интернету. 100% приватный, никакие данные не покидают ваше окружение выполнения в любой момент.

Запуск на Windows Subsystem для Linux (WSL) с поддержкой GPU может значительно улучшить его производительность. В этом руководстве я проведу вас пошаговый процесс установки PrivateGPT на WSL с использованием ускорения GPU.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 4
Статья

Арбитраж трафика в 2024 году: что это и как работает?

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 3.1K


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

Иногда специалистов по арбитражу трафика сравнивают с агентами по продажам. И это не удивительно. Дело в том, что принцип работы арбитражника заключается в привлечение людей на сайт клиента. Оплата за работу поступает только после того, как клиент получает новый лид. Все достаточно просто: если специалист по арбитражу трафика не привел посетителей на сайт клиента, то и оплаты он не получает. Если же арбитражник применил наиболее эффективные методы работы и хорошо постарался для привлечения новых лидов, то и оплату получает достойную.
Читать дальше →
Всего голосов 28: ↑20 и ↓8 +12
Комментарии 3

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Статья

Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 787

Фомичев В.А., полковник запаса,
Крюков В.А., гражданское лицо.

Живый в помощи Вышняго,
в крове Бога Небеснаго водворится

Псалом 90.

Данная статья является продолжением статьи «Концепции устройства приёмника умного звукового датчика на базе шины CAN»

Авторы настоящей статьи объединили свои усилия в разработке компактной малоресурсной дешевой сетецентрической системы контрбатарейной борьбы для защиты жизней людей.

В статье представлено наше понимание вопроса устройства умных приёмников звука и их совместной работы в составе сетецентрической системы для установления 3–х мерных координат источника звука.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 15
Статья

Разработка игры на C++/SFML: Начало

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.8K

Всем привет!

Пришла, значит, мне в голову идея - сделать свою игру по типу Vampire Survivors и Brotato, а потом я подумал, что можно еще и цикл статей написать про то, как я ее разрабатываю, вдруг кому-то это покажется полезным (ну или хотя бы смешным).

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 5
Статья

Как потерять управление оболочкой… Расследование

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.1K

image


Несколько недель назад я занимался хаком языковых серверов в Zed, пытаясь заставить Zed определять, когда заданный бинарник языкового сервера, например gopls, уже присутствует в $PATH. Если так, вместо загрузки нового бинарника Zed должен использовать его.


Трудность: часто $PATH динамически изменяется такими инструментами, как direnv, asdf, mise и другими, которые позволяют в данной папке установить определённый $PATH. Почему эти инструменты так делают? Потому что это даёт возможность, скажем, в начале $PATH добавить ./my_custom_binaries, пока вы находитесь в my-cool-project. Поэтому нельзя просто использовать $PATH, связанный с процессом Zed, нужен $PATH, как он есть, когда выполняется cd в каталог проекта.


Легко, подумал я. Просто запусти $SHELL, выполни cd в проект, чтобы запустить direnv и всё такое, запусти env, сохрани окружение, выбери $PATH, найди в нём бинарники. И это было легко. Вот часть кода, та часть, которая запускает $SHELL, cd и получает env:


fn load_shell_environment(dir: &Path) -> Result<HashMap<String, String>> {
    // Получает $SHELL
    let shell = std::env::var("SHELL")?;

    // Конструирует команду, которую хочется выполнить в $SHELL
    let command = format!("cd {:?}; /usr/bin/env -0;", dir);

    // Запускает $SHELL как интерактивную оболочку (чтобы использовались файлы пользователя rc).
    // и выполняет `command`:
    let output = std::process::Command::new(&shell)
        .args(["-i", "-c", &command])
        .output()?;

    // [... проверка кода выхода, получение stdout, превращение stdout в HashMap и т. д. ...]
}

За исключением одного: после запуска экземпляра Zed в терминале, который выполнял эту функцию, я больше не мог убить Zed, нажав Ctrl-C.

Что?
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 0
Статья

Разработка высоконагруженного игрового WebSocket сервера на Kotlin, Webflux с поддержкой BattleRoyale/Matchmaking

Уровень сложности Сложный
Время на прочтение 20 мин
Количество просмотров 1.6K

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 1
Статья

SwiftUI уроки (часть 4)

Время на прочтение 6 мин
Количество просмотров 271

Понимание ScrollView и создание UI карусели

ссылка на 3ю часть

В этом уроке мы разберемся с таким элементом как ScrollView для создания длинных прокручивающихся полотен

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0
Статья

Часть 1. Геймификация: «Система образования как продукт: аудит системы

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 213

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

Выявим проблемы, которые возникают в текущей версии системы образования (далее - СО).

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 2
Статья

Мемоизация в React: я почитал документацию вместо вас

Уровень сложности Простой
Время на прочтение 18 мин
Количество просмотров 2.1K

В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения.  

Так как мы будем рассматривать не самые базовые вещи, касающиеся React, то я не буду останавливаться на таких основах как хуки, состояние, свойства, чистые функции и чистые компоненты, ожидая, что вы ознакомитесь с ними за пределами статьи. А также все рассмотренное ниже относится в первую очередь к React 18. 

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 1