This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня
Как решить главную проблему бесконечной бегущей строки?
При создании бегущей строки (marquee, да) в CSS всегда встаёт вопрос: в какой момент элементу нужно «перепрыгнуть» в начало, чтобы анимация выглядела непрерывной? Если рассчитать неправильно — появляются рывки или пустые промежутки.
Как правило, это решается или через JavaScript, или дублированием элементов до какого-то неразумного предела. Или и так и так.
В статье на Frontend Masters уже так хорошо знакомым нам Темани Афифом (он автор CSS Shape) предложен современный способ, где эта проблема решается автоматически.
Используются новые функции sibling-index() и sibling-count(). Они позволяют CSS «понимать», какой по счёту элемент в наборе и сколько всего элементов.
На основе этих данных каждому элементу назначается своя задержка старта анимации. Это делается через формулу: задержка = индекс * (общая_длительность / количество_элементов).
Путь движения задаётся через offset: shape(...), а сама анимация повторяется бесконечно (infinite linear).
В результате элементы выстраиваются один за другим и «зацикливаются» без единого рывка — всё считается динамически, без ручных правок.
И самое приятное: HTML остаётся простым <div> с изображениями, а вся магия — в десятке строк CSS!
Почитайте, очень круто вышло.
#css #marquee
Как решить главную проблему бесконечной бегущей строки?
При создании бегущей строки (marquee, да) в CSS всегда встаёт вопрос: в какой момент элементу нужно «перепрыгнуть» в начало, чтобы анимация выглядела непрерывной? Если рассчитать неправильно — появляются рывки или пустые промежутки.
Как правило, это решается или через JavaScript, или дублированием элементов до какого-то неразумного предела. Или и так и так.
В статье на Frontend Masters уже так хорошо знакомым нам Темани Афифом (он автор CSS Shape) предложен современный способ, где эта проблема решается автоматически.
Используются новые функции sibling-index() и sibling-count(). Они позволяют CSS «понимать», какой по счёту элемент в наборе и сколько всего элементов.
На основе этих данных каждому элементу назначается своя задержка старта анимации. Это делается через формулу: задержка = индекс * (общая_длительность / количество_элементов).
Путь движения задаётся через offset: shape(...), а сама анимация повторяется бесконечно (infinite linear).
В результате элементы выстраиваются один за другим и «зацикливаются» без единого рывка — всё считается динамически, без ручных правок.
И самое приятное: HTML остаётся простым <div> с изображениями, а вся магия — в десятке строк CSS!
Почитайте, очень круто вышло.
#css #marquee
1👍18❤3
Что происходит с рынком труда 2025?
И как найти работу?
Кажется, рынок решил проверить нас всех на прочность. показы и просмотры резюме везде упали, рекрутеры завалены 1000-ми откликов, треш на собесах, треш в компаниях
Что с этим делать:
Самая главная ошибка - начинать писать резюме
👉вот почему и с чего начать
Если вы все-таки решили искать работу через hh вот вам
👉 13 инсайдерских лайфхаков по алгоритмам ХХ
👉 Как писать резюме
👉 А что еще фотку надо делать?
Начали там окликаться, но 90% висит в непрочитанных?
👉 вот как это надо делать - 6 этапов 😱
Наконец-то пробились на собес - супер. Как понять, сколько просить денег?
👉Вот тут реальные примеры ЗП вилок в ИТ, в т.ч. на 550к у аналитика
Дальше веселят рекрутеры - «Вы для нас слишком оверквал», «мы выбрали более подходящего кандидата»
👉Что на самом деле означают их отказы
Ну ладно, тут вроде выдохнули … они прислали оффер.
Ты увольняешься. Через 2 часа тебе говорят: «ой, сорри, мы отзываем оффер».
👉 реальная история. что с этим делать
Еще больше полезных материалов по ЗП вилкам, резюме и прохождению собесов, которые уже помогли в 2025 году получить больше 500 офферов на ЗП до 1,2 млн. руб
ЧИТАТЬ ТУТ
И как найти работу?
Кажется, рынок решил проверить нас всех на прочность. показы и просмотры резюме везде упали, рекрутеры завалены 1000-ми откликов, треш на собесах, треш в компаниях
Что с этим делать:
Самая главная ошибка - начинать писать резюме
👉вот почему и с чего начать
Если вы все-таки решили искать работу через hh вот вам
👉 13 инсайдерских лайфхаков по алгоритмам ХХ
👉 Как писать резюме
👉 А что еще фотку надо делать?
Начали там окликаться, но 90% висит в непрочитанных?
👉 вот как это надо делать - 6 этапов 😱
Наконец-то пробились на собес - супер. Как понять, сколько просить денег?
👉Вот тут реальные примеры ЗП вилок в ИТ, в т.ч. на 550к у аналитика
Дальше веселят рекрутеры - «Вы для нас слишком оверквал», «мы выбрали более подходящего кандидата»
👉Что на самом деле означают их отказы
Ну ладно, тут вроде выдохнули … они прислали оффер.
Ты увольняешься. Через 2 часа тебе говорят: «ой, сорри, мы отзываем оффер».
👉 реальная история. что с этим делать
Еще больше полезных материалов по ЗП вилкам, резюме и прохождению собесов, которые уже помогли в 2025 году получить больше 500 офферов на ЗП до 1,2 млн. руб
ЧИТАТЬ ТУТ
🤡9❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня
React Compiler, говорите...
А что если я скажу вам, что есть инструмент, конвертирующий ваши JSX-компоненты во... во все остальные?
Буквально: JSX/Svelte в: React, Svelte, Vue, Angular, Qwik, Lit, Solid, Preact...
Давайте просто сразу дам ссылку на песочницу: https://mitosis.builder.io/playground/
Если уж и не для практического применения, но если вдруг надо срочно пересесть на другой фреймворк — то понять принципы можно с лёгкостью.
Знаешь JSX или Svelte — пишешь на всех :)
#framework #tool #бородач
React Compiler, говорите...
А что если я скажу вам, что есть инструмент, конвертирующий ваши JSX-компоненты во... во все остальные?
Буквально: JSX/Svelte в: React, Svelte, Vue, Angular, Qwik, Lit, Solid, Preact...
Давайте просто сразу дам ссылку на песочницу: https://mitosis.builder.io/playground/
Если уж и не для практического применения, но если вдруг надо срочно пересесть на другой фреймворк — то понять принципы можно с лёгкостью.
Знаешь JSX или Svelte — пишешь на всех :)
#framework #tool #бородач
👍10❤1🤩1
🎯Podlodka React Crew #3 — сезон о паттернах и практиках фронтенда
Как писать продуманный и масштабируемый фронтенд с помощью React? Какие паттерны реально работают, а какие — мода ради моды?
В новом сезоне Podlodka React Crew обсуждаем архитектуру, производительность, нестандартные layout'ы, системный подход к интервью и многое другое.
📌 В программе:
• Паттерны анимаций с View Transition API
• Проверка AI-ассистентов на реальных задачах
• Глубокое погружение в архитектуру React Hooks
• Практика layout'ов вне CSS Grid и Flexbox
• System Design для фронтендера: как не завалить интервью
💡Все доклады — с практикой, кейсами и интерактивом.
📆 Реактим с 25 по 30 августа. Бегом за билетами!
Вот вам промокод на скидку 500 рублей:
А сегодня чуть позже я запущу розыгрыш билета для вас, котаны! Надо только понять, какого бота использовать…
Как писать продуманный и масштабируемый фронтенд с помощью React? Какие паттерны реально работают, а какие — мода ради моды?
В новом сезоне Podlodka React Crew обсуждаем архитектуру, производительность, нестандартные layout'ы, системный подход к интервью и многое другое.
📌 В программе:
• Паттерны анимаций с View Transition API
• Проверка AI-ассистентов на реальных задачах
• Глубокое погружение в архитектуру React Hooks
• Практика layout'ов вне CSS Grid и Flexbox
• System Design для фронтендера: как не завалить интервью
💡Все доклады — с практикой, кейсами и интерактивом.
📆 Реактим с 25 по 30 августа. Бегом за билетами!
Вот вам промокод на скидку 500 рублей:
react_crew_3_j8TCjg
А сегодня чуть позже я запущу розыгрыш билета для вас, котаны! Надо только понять, какого бота использовать…
🤡9👍8👎3🤩1
Итак, котаны, розыгрыш билета на конференцию Podlodka Crew! Описание и тематика конференции выше. Отмечаемся!
🤡7❤6
#статья дня
Можно ли заменить стейт-менеджеры — простым localStorage?
Вопрос не настолько абсурдный, как может показаться, хотя понятное дело, что многие из вас уже знают ответ.
Давайте подумаем:
> Не всё должно быть постоянным. Допустим, у тебя открыто модальное окно. Перезагрузил страницу — и оно снова открыто, потому что значение сохранилось в localStorage. Абсурдный UX.
> Нет реактивности. Если просто читать из localStorage, React не узнает, что данные изменились, и не перерендерит компонент. Придётся вручную дёргать setState.
> Событие storage работает не так. Оно срабатывает только в других вкладках, а не в той, где ты вызвал localStorage.setItem(). То есть синхронизацию внутри приложения оно не решает.
> Ограничения. Только строки, лимит около 5 МБ, возможные ошибки при парсинге JSON, коллизии ключей. Всё это требует дополнительных костылей.
> SSR недоступен. На сервере localStorage просто не существует, и код падает с ошибкой.
localStorage и, частично, sessionStorage отлично подходят для мелочей:
> выбор темы,
> сохранение введённых данных формы,
> открытая вкладка меню,
Но как только речь заходит о данных, которые должны синхронно обновляться в разных компонентах и вызывать ререндер — нужен Context или полноценный state-менеджер.
Итак: localStorage — это удобное дополнение к Context/Redux/Zustand, но не замена. Он решает задачу «сохранить между сессиями», а не «синхронизировать состояние внутри React».
А если хотите подробностей — собственно, статья от Нади Макаревич: https://www.developerway.com/posts/local-storage-instead-of-context
Не думаю, что олды что-то найдут новое (разве что лишний раз поржать над событием storage), но у новичков вопросы такого плана возникают постоянно.
#react #localstorage
Можно ли заменить стейт-менеджеры — простым localStorage?
Вопрос не настолько абсурдный, как может показаться, хотя понятное дело, что многие из вас уже знают ответ.
Давайте подумаем:
> Не всё должно быть постоянным. Допустим, у тебя открыто модальное окно. Перезагрузил страницу — и оно снова открыто, потому что значение сохранилось в localStorage. Абсурдный UX.
> Нет реактивности. Если просто читать из localStorage, React не узнает, что данные изменились, и не перерендерит компонент. Придётся вручную дёргать setState.
> Событие storage работает не так. Оно срабатывает только в других вкладках, а не в той, где ты вызвал localStorage.setItem(). То есть синхронизацию внутри приложения оно не решает.
> Ограничения. Только строки, лимит около 5 МБ, возможные ошибки при парсинге JSON, коллизии ключей. Всё это требует дополнительных костылей.
> SSR недоступен. На сервере localStorage просто не существует, и код падает с ошибкой.
localStorage и, частично, sessionStorage отлично подходят для мелочей:
> выбор темы,
> сохранение введённых данных формы,
> открытая вкладка меню,
Но как только речь заходит о данных, которые должны синхронно обновляться в разных компонентах и вызывать ререндер — нужен Context или полноценный state-менеджер.
Итак: localStorage — это удобное дополнение к Context/Redux/Zustand, но не замена. Он решает задачу «сохранить между сессиями», а не «синхронизировать состояние внутри React».
А если хотите подробностей — собственно, статья от Нади Макаревич: https://www.developerway.com/posts/local-storage-instead-of-context
Не думаю, что олды что-то найдут новое (разве что лишний раз поржать над событием storage), но у новичков вопросы такого плана возникают постоянно.
#react #localstorage
❤8🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
И #тред дня, и #статья дня... Сегодня всё и сразу от Джоша Комо.
И речь пойдёт о недооценённом хуке в React: useDeferredValue.
Итак, некоторое время назад Джош выпустил свой инструмент для создания красиво выглядящих теней (да-да, drop-shadow просто уже недостаточно). И одной из проблем инструмента стала... дёрганая реакция на движение ползунков. Как будто мало FPS.
Начав разбирать проблему, Джош понял, что событие onChange происходит очень часто, за это время надо успеть сгенерировать тень, потом отрисовать её, потом вставить код в редактор для копирования. А редактор, естественно, ещё пытается этот самый код подсветить.
Но что нам нужно? Нам ведь сначала нужен результат, а уже потом — код. Так почему бы не заполнить код чуть позже, не нагружая систему?
И именно для этого и нужен хук useDeferredValue. Данные молучим только когда основной процесс рендеринга завершится. Буквально ленивое выполнение.
Собственно, тред и статья если кто предпочитает подробности. Там, как всегда, шикарно.
Будьте разумно ленивыми, котаны!
#react #hook #бородач
И #тред дня, и #статья дня... Сегодня всё и сразу от Джоша Комо.
И речь пойдёт о недооценённом хуке в React: useDeferredValue.
Итак, некоторое время назад Джош выпустил свой инструмент для создания красиво выглядящих теней (да-да, drop-shadow просто уже недостаточно). И одной из проблем инструмента стала... дёрганая реакция на движение ползунков. Как будто мало FPS.
Начав разбирать проблему, Джош понял, что событие onChange происходит очень часто, за это время надо успеть сгенерировать тень, потом отрисовать её, потом вставить код в редактор для копирования. А редактор, естественно, ещё пытается этот самый код подсветить.
Но что нам нужно? Нам ведь сначала нужен результат, а уже потом — код. Так почему бы не заполнить код чуть позже, не нагружая систему?
И именно для этого и нужен хук useDeferredValue. Данные молучим только когда основной процесс рендеринга завершится. Буквально ленивое выполнение.
Собственно, тред и статья если кто предпочитает подробности. Там, как всегда, шикарно.
Будьте разумно ленивыми, котаны!
#react #hook #бородач
❤20
🍂 Сезон кода едет в Санкт-Петербург!
6 и 7 сентября в новом офисе Т-Банка на Свердловской набережной пройдёт фестиваль для тех, кто живёт технологиями: разработчиков, ML-инженеров, архитекторов, техлидов и всех, кому интересен IT.
Что будет:
— яркие доклады от экспертов Т-Банка и партнёров;
— разбор инженерных решений и рабочих кейсов;
— демонстрации продуктов и то самое «под капотом»;
— карьерные консультации и живой нетворкинг;
— афтепати для участников, а еще с собой можно позвать одного взрослого и одного ребенка к 18:00
🗓 Программа:
День 1 (6 сентября): архитектура масштабируемых систем, клиентские сервисы Т-Банка, путь от идеи до своего инженерного инструмента.
День 2 (7 сентября): бэкенд-инструменты, безопасность, LLM от исследований до продакшена.
📍 Где: Санкт-Петербург, Свердловская наб., 44, стр. 1, БЦ «Феррум II»
🕚 Когда: 6–7 сентября, регистрация с 11:00
Чтобы попасть на фестиваль, заполните форму по ссылке, выберите фонд для пожертвования от 1 500 ₽ за каждый день — и получите билет на указанную при регистрации почту.
👉 Регистрация и подробности
⚡️ Уже сейчас можно оставить предзаявку на «Сезон кода» в Нижнем Новгороде — напомним вам, когда откроется регистрация.
Реклама. АО «ТБанк», ИНН 7710140679, лицензия ЦБ РФ № 2673, Erid: 2W5zFJ9HiGx
6 и 7 сентября в новом офисе Т-Банка на Свердловской набережной пройдёт фестиваль для тех, кто живёт технологиями: разработчиков, ML-инженеров, архитекторов, техлидов и всех, кому интересен IT.
Что будет:
— яркие доклады от экспертов Т-Банка и партнёров;
— разбор инженерных решений и рабочих кейсов;
— демонстрации продуктов и то самое «под капотом»;
— карьерные консультации и живой нетворкинг;
— афтепати для участников, а еще с собой можно позвать одного взрослого и одного ребенка к 18:00
🗓 Программа:
День 1 (6 сентября): архитектура масштабируемых систем, клиентские сервисы Т-Банка, путь от идеи до своего инженерного инструмента.
День 2 (7 сентября): бэкенд-инструменты, безопасность, LLM от исследований до продакшена.
📍 Где: Санкт-Петербург, Свердловская наб., 44, стр. 1, БЦ «Феррум II»
🕚 Когда: 6–7 сентября, регистрация с 11:00
Чтобы попасть на фестиваль, заполните форму по ссылке, выберите фонд для пожертвования от 1 500 ₽ за каждый день — и получите билет на указанную при регистрации почту.
👉 Регистрация и подробности
⚡️ Уже сейчас можно оставить предзаявку на «Сезон кода» в Нижнем Новгороде — напомним вам, когда откроется регистрация.
Реклама. АО «ТБанк», ИНН 7710140679, лицензия ЦБ РФ № 2673, Erid: 2W5zFJ9HiGx
❤2🤡2👍1🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня
Вот мало было нам хороших статей по SVG, нужно больше!
Джош Комо продолжает свою серию про SVG. Начав со статьи про базовые принципы, пришло время объяснить, как работает механизм формирования кривых, контуров, aka path: https://www.joshwcomeau.com/svg/interactive-guide-to-paths/
Вы можете заметить, что у нас так-то уже огромное количество интерактивных обучающих ресурсов, начиная от чего-то похожего на ЛогоМиры, до более сложных инструментов.
Но Джош это Джош! Как всегда потрясающая любовь к деталям, интерактивные примеры и понятные объяснения по ходу.
Фишка его подхода в этот раз — пошаговый разбор алгоритма отрисовки кривых. Проигрывает его по кадрам, как будто вы очень медленный компьютер :)
Залипательно!
P. S. розыгрыш билета на конференцию от подлодки открыт до утра, если что.
#svg #path #tool
Вот мало было нам хороших статей по SVG, нужно больше!
Джош Комо продолжает свою серию про SVG. Начав со статьи про базовые принципы, пришло время объяснить, как работает механизм формирования кривых, контуров, aka path: https://www.joshwcomeau.com/svg/interactive-guide-to-paths/
Вы можете заметить, что у нас так-то уже огромное количество интерактивных обучающих ресурсов, начиная от чего-то похожего на ЛогоМиры, до более сложных инструментов.
Но Джош это Джош! Как всегда потрясающая любовь к деталям, интерактивные примеры и понятные объяснения по ходу.
Фишка его подхода в этот раз — пошаговый разбор алгоритма отрисовки кривых. Проигрывает его по кадрам, как будто вы очень медленный компьютер :)
Залипательно!
P. S. розыгрыш билета на конференцию от подлодки открыт до утра, если что.
#svg #path #tool
❤13👍3
Будни разработчика
Итак, котаны, розыгрыш билета на конференцию Podlodka Crew! Описание и тематика конференции выше. Отмечаемся!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня
Ну чо, котаны, есть занятная история с GitHub.
Исследователь Шерон Бризинов решил проверить, что вообще происходит с коммитами, которые мы с вами удаляем через git reset и force push: https://trufflesecurity.com/blog/guest-post-how-i-scanned-all-of-github-s-oops-commits-for-leaked-secrets
Спойлер — никуда они не исчезают.
GitHub продолжает хранить все те ваши коммиты с ключами и секретами бесплатных и не очень API, даже если нам кажется, что мы всё подчистили.
Собственно, идея исследования простая: если коммиты не пропадают, значит, в них вполне могут оставаться секреты — ключи, токены и прочие радости.
Шерон пошёл и просканировал архив GitHub за несколько лет. Нашёл он там немало интересного, включая утечки, которые потом оценили на баг-баунти в 25 тысяч долларов.
Чтобы процесс не был ручным, он вместе с Truffle Security сделал инструмент Force Push Scanner.
Этот сканер вытаскивает пуши, достаёт зависшие коммиты и прогоняет их через TruffleHog, чтобы поймать секреты. Получился вполне практичный open source, которым можно пользоваться прямо сейчас.
Вывод в итоге грустный, но очевидный: удалить коммит — не значит избавиться от проблемы. GitHub всё хранит, и если секрет уже засветился, его надо менять, а не надеяться на «забывчивость» платформы.
Лучше, конечно, не допускать таких ошибок вовсе, но если уж случилось — придётся действовать радикально.
P. S. у этой статьи есть не менее занятная предыстория, которая дополняет общую картину: https://medium.com/@sharon.brizinov/how-i-made-64k-from-deleted-files-a-bug-bounty-story-c5bd3a6f5f9b
#github
Ну чо, котаны, есть занятная история с GitHub.
Исследователь Шерон Бризинов решил проверить, что вообще происходит с коммитами, которые мы с вами удаляем через git reset и force push: https://trufflesecurity.com/blog/guest-post-how-i-scanned-all-of-github-s-oops-commits-for-leaked-secrets
Спойлер — никуда они не исчезают.
GitHub продолжает хранить все те ваши коммиты с ключами и секретами бесплатных и не очень API, даже если нам кажется, что мы всё подчистили.
Собственно, идея исследования простая: если коммиты не пропадают, значит, в них вполне могут оставаться секреты — ключи, токены и прочие радости.
Шерон пошёл и просканировал архив GitHub за несколько лет. Нашёл он там немало интересного, включая утечки, которые потом оценили на баг-баунти в 25 тысяч долларов.
Чтобы процесс не был ручным, он вместе с Truffle Security сделал инструмент Force Push Scanner.
Этот сканер вытаскивает пуши, достаёт зависшие коммиты и прогоняет их через TruffleHog, чтобы поймать секреты. Получился вполне практичный open source, которым можно пользоваться прямо сейчас.
Вывод в итоге грустный, но очевидный: удалить коммит — не значит избавиться от проблемы. GitHub всё хранит, и если секрет уже засветился, его надо менять, а не надеяться на «забывчивость» платформы.
Лучше, конечно, не допускать таких ошибок вовсе, но если уж случилось — придётся действовать радикально.
P. S. у этой статьи есть не менее занятная предыстория, которая дополняет общую картину: https://medium.com/@sharon.brizinov/how-i-made-64k-from-deleted-files-a-bug-bounty-story-c5bd3a6f5f9b
#github
1👍23🤩1
#фишка дня
Иногда встаёт задача не просто проиллюстрировать статью, но обрезать (кропнуть) исходное изображение. И желательно так, чтобы результат был адаптивен и адекватно реагировал на масштабирование.
Джейк Арчибальд предлагает решение на SVG и foreignObject: https://codepen.io/alinaki/pen/KKLXvwz
Вообще, весьма красиво. Да, можно генерировать кропы на сервере, но это, как минимум, лишние телодвижения. А тут – одна картинка, чистый и понятный код.
#svg #img #foreignObject #crop #бородач
Иногда встаёт задача не просто проиллюстрировать статью, но обрезать (кропнуть) исходное изображение. И желательно так, чтобы результат был адаптивен и адекватно реагировал на масштабирование.
Джейк Арчибальд предлагает решение на SVG и foreignObject: https://codepen.io/alinaki/pen/KKLXvwz
Вообще, весьма красиво. Да, можно генерировать кропы на сервере, но это, как минимум, лишние телодвижения. А тут – одна картинка, чистый и понятный код.
#svg #img #foreignObject #crop #бородач
❤14
Создаёте игры? Получите буст для следующего уровня!
Геймдизайнеры, разработчики, продюсеры, в телеграм-канале «АКИлогия» вы найдёте всё, чтобы двигаться вперёд. Канал ведёт Агентство креативных индустрий Москвы — одна из немногих институций, работающих на устойчивый рост российского геймдева.
На канале вас ждут:
📌 Анонсы флагманских акселераторов, например 4-го потока «Фабрики видеоигр» — интенсивной программы с фокусом на продакшен и продвижение
📌 Игры, которые уже создали и протестировали в «АКИ.лабе»
📌 Международные возможности: конкурсный отбор на G-Star 2025 в Южной Корее для российских студий
📌 Презентация на ПМЭФ Кластера видеоигр и анимации — стратегической инициативы АКИ, направленной на развитие сферы видеоигр
✔️ Хотите сделать релиз из идеи и масштабироваться в индустрии? Подписывайтесь на «АКИлогию»!
Реклама
Геймдизайнеры, разработчики, продюсеры, в телеграм-канале «АКИлогия» вы найдёте всё, чтобы двигаться вперёд. Канал ведёт Агентство креативных индустрий Москвы — одна из немногих институций, работающих на устойчивый рост российского геймдева.
На канале вас ждут:
Реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#новость дня
Ой, а вчера-то Linux исполнилось 34 года. Хотите вы этого или нет, но плодами этих трудов вы все пользуетесь прямо или косвенно.
Лично я на Linux как на основной ОС сидел с 2006 года по 2018. Фотошоп и игры через WINE, а потом и Фотошоп стал не нужен с приходом Figma.
Ну почему перестал использовать, пожалуй, понятно 🍏
Ну что, ещё, как минимум, 34 года впереди?
Что на ваших машинах, котаны? В комментарии я скину пару скриншотов старых со своих.
#linux #birthday
Ой, а вчера-то Linux исполнилось 34 года. Хотите вы этого или нет, но плодами этих трудов вы все пользуетесь прямо или косвенно.
Лично я на Linux как на основной ОС сидел с 2006 года по 2018. Фотошоп и игры через WINE, а потом и Фотошоп стал не нужен с приходом Figma.
Ну почему перестал использовать, пожалуй, понятно 🍏
Ну что, ещё, как минимум, 34 года впереди?
Что на ваших машинах, котаны? В комментарии я скину пару скриншотов старых со своих.
#linux #birthday
👍9