Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Разница между Data Race и Race Condition

Level of difficultyEasy
Reading time3 min
Views17K

Рассмотрим разницу между популярными ошибками при работе с многопоточностью, такими как Data Race и Race Condition, а также способами борьбы с ними.

Читать далее

Чудовищное уравнение 45-ой степени, которое Франсуа Виет решил в 16 веке

Level of difficultyEasy
Reading time4 min
Views88K
О Франсуа Виете не слышал только ленивый: в школе все любили, обладающий особым шармом, его метод решения квадратных уравнений, а чуть позже, интересуясь историей математики, понимали, что он — отец современной системы буквенных обозначений в математике.
image

Одна из страниц его биографии известна чуть менее широко. Связана она с решением поистине чудовищно сложного для тех времен алгебраического уравнения 45-ой степени!
Читать дальше →

Как выработать интуитивное понимание логарифмов

Level of difficultyHard
Reading time14 min
Views41K

Я восхищаюсь способностью некоторых людей вычислять логарифмические функции в голове. Мне логарифмы всегда казались «чёрным ящиком», который невозможно познать. Они являются фундаментальным строительным блоком математики, однако каждый раз, когда я вижу логарифмическое выражение, то сразу хватаюсь за калькулятор, а не решаю его вручную. Последние полгода я уделял время совершенствованию понимания логарифмов и учился вычислять результаты логарифмических уравнений вручную. В статье я расскажу, как я это делал.

Зачем этому учиться?


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

Стартап в Соло. Часть 5: сколько приносит проект сейчас?

Level of difficultyEasy
Reading time6 min
Views8.5K

Последний пост про развитие моего Telegram чата для сайта (Telegram Feedback) был в марте, чуть больше полугода назад. С тех пор проект подрос, пользователей стало больше, а деньги пусть и не полились рекой, но хотя бы тоненьким ручейком.

Читать далее

Подробный разбор 64b intro: radar

Level of difficultyHard
Reading time14 min
Views11K

Да здравствует мыло душистое демосцена! И вам привет, дорогой читатель ;)

С демосценой я познакомился примерно 25 лет назад (или чуть больше). Но тогда это выражалось лишь в просмотре 128–256-байтовых интр (и демок, конечно же) с изумлением а‑ля: «А что так можно было?» Думаю, у многих знакомство с этой киберкультурой начинается похожим образом :). Если вам эти слова мало о чём говорят, почитайте о демосцене скудную статью на Вики, ну и/или послушайте подкаст, а также посмотрите что люди умудряются сделать, укладываясь всего лишь, например, в 256 байт кода (справа у большинства работ есть ссылка на видео YouTube).

Полноценные интры на любимом ассемблере x86 я начал писать только 5 лет назад, в 2018 году. Именно тогда я отправил на знаменитый фестиваль Chaos Constructions (который, кстати, организаторы обещают возродить в 2024) два прода (от слова «production»): 256b intro StarLine (заняла 1-е место) и 64b intro radar (заняла 6-е место в том же compo). После этого демосцена меня засосала стала частью моей жизни, в которую время от времени я с энтузиазмом погружаюсь.

Пусть вас не смущает, что разбор я начал с работы, занявшей шестое место, а не первое. Такой выбор обусловлен тем, что её код более простой и короткий. Вместе с тем, там не так уж и мало трюков, с которыми начинающему (а может, и не только) самураю демосцены может быть интересно познакомиться. Так что не надейтесь на лёгкое расслабляющее чтиво :)

Заглянуть за кулисы...

Перестаём бояться генерировать байт-код

Level of difficultyMedium
Reading time15 min
Views15K

Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.

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

Весь приведённый код доступен в моём репозитории.

Читать далее

Взлеты и падения. Как сахарные качели (не) делают нас голодными?

Level of difficultyEasy
Reading time3 min
Views7.7K

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

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

Сколько тут правды? Похоже, что в значительной степени это миф.

Читать далее

Конкурентное преимущество или пустая трата времени: как я получила диплом CS в США

Level of difficultyEasy
Reading time12 min
Views11K

В ИТ-индустрии есть сито, которое часто (по экспертному мнению нанимающего звена) отделяет зёрна от плевел — степень в области компьютерных наук. Многие возражают, что опыт важнее каких-то бумажек, но мы-то знаем, кого в следующий раз продвинут по карьерной лестнице, а кто будет делать всю работу на старой позиции.

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

Это всё хорошо, но дальше-то что?

Anki — настолько круто, что я даже представить не мог

Reading time4 min
Views199K

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

Впервые про Anki я услышал много лет назад. Может быть 10 или больше, точно сказать сложно. Прочитал здесь на Хабре, что есть такая крутая штука как интервальное повторение, и что Anki как раз такая программа, которая использует этот механизм. Помню что в статье рассказывалось только про версию под декстоп.

Читать далее

Made at Intel. Окаянные дни – продолжение

Level of difficultyEasy
Reading time9 min
Views25K

Продолжаем разговор об историях массовых увольнений в Интел. Двум памятным случаям из моей практики и будет посвящена эта глава.

Читать далее

Просто шифруем файлы в Linux с помощью Truecrypt и Veracrypt

Level of difficultyEasy
Reading time8 min
Views17K

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

Читать далее

Высокие технологии или дешевые фокусы с двойным дном

Level of difficultyMedium
Reading time3 min
Views5.3K

Отлаживал я как-то тесты и параллельно размышлял о null-safety. Звезды сошлись и родилась довольно странная идея - замокать null.

Читать далее

Я вижу как ты мусоришь со своего балкона

Reading time9 min
Views54K

Вот выходишь ты утром на работу, а на газоне перед домом окурки и прочие отходы жизнедеятельности. Бывает, что приходишь домой, а у тебя на балконе пепел или даже окурок. Как же хочется понять, кто это сделал! Я вот терпеть не могу таких людей. Моя история о том, как найти вредителей и, возможно, сделать свой дом немного чище и безопаснее.

Читать далее

Поиск по регулярным выражениям может быть простым и быстрым

Level of difficultyMedium
Reading time28 min
Views10K

Данный пост является переводом первой статьи 2007 года про устройство регулярных выражений от автора библиотеки RE2. Для понимания требуется немного терпения и свободного времени, чтобы осилить прочтение статьи до конца. Будет плюсом знакомство с теорией автоматов и языком программирования Си (но это необязательное требование).

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

Как оказалось, с тех пор мало что поменялось, так что статья не потеряла своей актуальности.

Обо всех ошибках и опечатках большая просьба сообщать, чтобы я мог их поправить.

Заблудиться в тёмном лесу

Проксируем OpenVPN с помощью Cloak

Level of difficultyEasy
Reading time9 min
Views90K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

Читать далее

Генерируем простой web интерфейс для просмотра таблиц PostgreSQL

Level of difficultyEasy
Reading time10 min
Views22K

В публикациях на хабре, чаще всего самое интересное в комментариях. Вот и в моем прошлом посте "Сгенерировать web интерфейс из БД или объектной модели не стало проще даже 10 лет спустя" я собрал джекпот из SharePoint, Vaadin и нескольких библиотек либо устаревших, либо поддерживаемых "одним автором".

Что я пытался объяснить читателям, что на этапе проверки идей не нужна дополнительная сложность в виде серверной инфраструктуры только ради этой самой инфраструктуры и нового языка программирования/платформы. Именно поэтому мне не нужны сейчас Yii, Symfony и Laravel, не подойдет ADF. На любое обучение тратится драгоценное время и поэтому надо понимать зачем тратить время на что-то, что потом возможно навсегда придется забыть через неделю-другую игры с прототипом.

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

Читать далее

Идеальные паразиты человека и «тихая пандемия»: привет, ветрянка и герпес

Level of difficultyEasy
Reading time12 min
Views33K
image
Мы решили, что красочные фотографии генитального герпеса — это не прям то, что вы хотели бы видеть. Поэтому вот вам модель вируса герпеса второго типа, который его вызывает.

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

Сегодня мы будем говорить о целой группе заболеваний, которые на первый взгляд вроде бы не связаны между собой: это герпес, ветрянка и другие проявления вирусов из семейства Herpesviridae. С вероятностью выше 90 % вы инфицированы хотя бы одним из них. В целом они относительно безвредные паразиты, но иногда могут приводить к интересным спецэффектам вроде попытки самостоятельного удаления своих зубов плоскогубцами. Об этом и многом другом мы сегодня и поговорим. Кладите рядом мазь с ацикловиром, зелёнку и приступим.
Читать дальше →

Создание красивого Desktop-приложения на Python (customtkinter)

Level of difficultyEasy
Reading time4 min
Views70K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее

Архитектура и программирование Sony Playstation 1

Reading time16 min
Views20K

По сравнению с другими, ранее описанными мной архитектурами, архитектура Sony Playstation 1 (PSX) - сравнительно современная. И дело даже не в годе выпуска (1994) - скорее это общее ощущение сочетания новых возможностей и исчезновения привычных старых, которые были типичными для компьютеров и приставок предыдущей эпохи.

PSX (это сокращение пошло от первоначального названия проекта - Playstation X) имеет в качестве центрального процессора MIPS R3000, работающий на частоте 33МГц. Причём, Sony отказалось от сопроцессора для вычислений с плавающей точкой и вместо него сопроцессором в PSX является так называемый GTE (Geometry Transformation Engine), выполняющий различные операции с фиксированной точкой над векторами и матрицами.

Читать далее

Реквием по красной панде

Level of difficultyEasy
Reading time7 min
Views11K

Apache Kafka - давно уже стала стандартом для распределенного лога, буфера для потоков данных. Можно сказать, что технология прочно вошла в разряд "скучных". Множество статей на хабре, медиуме, видео на ютубе, обширное сообщество в телеграме. Подводные камни известны, специалистов много, уровень зрелости дошел до такой стадии, что начали принимать достаточно сложные KIP типа отказа от Apache Zookeeper и т. п.

Но мы же айтишники, зуд улучшательства и непрерывного повышения качества (чтобы ни скрывалось под этой фразой) у нас в крови. И вот она - Redpanda, которая обещает нам полную совместимость с протоколом kafka, и еще кучу бонусов сверху.

Привет, меня зовут Стас, последние 5 лет я работаю на позиции data platform engineer. Из них Apache Kafka была одной из составляющих моих платформ данных около 3 лет. Эта статья будет итогом более чем полугода эксплуатации в продуктиве кластера redpanda. Спойлер: вчера я поднял из гита удаленные плейбуки для кафки и вернул ее в продакшн обратно, прощай мечта...

Читать далее

Information

Rating
Does not participate
Registered
Activity