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

Пользователь

Отправить сообщение

За что вы минусуете карму?

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

Когда я только начинала писать статьи на Хабр, работая в айтишной компании, мне всегда было страшно смотреть на изменения рейтинга публикации. Поэтому я открывала профиль, жала F5 и наблюдала за своими рейтингом и кармой. Если карма прирастала, можно было выдыхать: статья точно получила нужную популярность. Ещё до работы в Хабре карма мне казалась интересным и мощным инструментом регуляции и оценки авторов. 7 лет назад всё изменилось: я попала в команду Хабра и увидела, что далеко не все пользователи  согласны с моим взглядом на этот грозный хабровский инструмент. Однако я до сих пор уверена: карма нужна. И сейчас объясню почему.

Читать далее
Всего голосов 66: ↑57 и ↓9 +48
Комментарии 647

Баллада о долгоживущем софте

Время на прочтение 11 мин
Количество просмотров 50K
Увлекаясь коллекционированием старого хлама винтажной электроники, я научился ценить долгоиграющие проекты. Конечно, в моей коллекции часто попадаются экспонаты противоположного типа. Вот клавиатурный коммуникатор Nokia, аналогов которого больше нет. Вот минидисковый плеер, проигрыватель музыки с мертвого формата. А вот телевизор с трубкой: таких больше не делают! Все рано или поздно заканчивается, и с возрастом иногда хочется остановить, эм, неумолимую поступь прогресса.



С железками это сделать трудно, зато можно с программами. Уже более четверти века я занимаюсь развлечением под условным названием «переустановка Windows». В последнее время чаще я устанавливаю ОС либо на новый ПК, либо на один из своих ретроэкспонатов. Как у многих из вас, у меня есть список софта, который при каждой такой операции устанавливается в первую очередь. Некоторые из этих программ я регулярно устанавливаю, и пользуюсь ими лет 15 или даже больше. Все это время создатели обновляют и развивают их, это не заброшенные проекты. В этой статье я хочу отдать должное этим разработчикам-долгожителям в субъективном хит-параде древнего, но актуального софта.
Читать дальше →
Всего голосов 161: ↑160 и ↓1 +159
Комментарии 432

Сказ о том, как я погряз в Матрице

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


Всем привет! С вами Станислав, и это моя вторая по счёту статья на Хабре. Как вы возможно помните из моей первой статьи, я увлекаюсь программированием, и операционной системой ReactOS.


Но мои увлечения вовсе не ограничиваются этим. Сегодня я расскажу вам, как я буквально погряз в Матрице… Нет, это не про фильм, как вы возможно подумали, а про федеративную чат-систему, которая появилась в уже далёком 2014 году :)


Перед тем, как начать, рекомендую ознакомиться, что вообще Matrix из себя представляет. В кратце — это децентрализованный, федеративный, и открытый протокол обмена сообщениями, и в принципе любыми данными, с возможностью end-to-end шифрования (в том числе в комнате с несколькими людьми), и работающий поверх REST API (HTTP с JSON).


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

Читать дальше →
Всего голосов 75: ↑74 и ↓1 +73
Комментарии 20

Хмам: новая нравственность (фантастический рассказ)

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

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

Эту дефективную душу звали Хмам – не саму душу, разумеется, а человека, в котором она первоначально пребывала. При каждом последующем перерождении душа получала новое имя, но мы продолжим называть ее так, чтобы не запутаться.

Хмам – тогда еще не дефективный, а самый обыкновенный – впервые родился в Мидии, в сельскохозяйственной коммуне.

Когда я говорю «впервые», то имею в виду: это была первая жизнь, о которой Хмам не позабыл впоследствии. История человечества началась задолго до того, но те жизни – имеется в виду, прожитые ранее – Хмам не запомнил из-за отсутствия программного бага. Существует иная вероятность: Хмам появился на свет впервые, в связи с произошедшей приблизительно в те времена допечаткой душ. Эту версию не стоит проверять, так как принципиально она ничего не меняет. Просто примем во внимание, что рождение в Мидии стало в последующей череде первым.

Жизнь мидянина была, с одной стороны, чрезвычайно красочной. Рождение в жарком климате, восприятие красок нового мира, взросление и все такое. С другой стороны, с десяти лет Хмаму пришлось трудиться в поте лица. Поначалу – пока стало ясным, что к чему – ему даже нравилось, хотя интуитивно Хмам чувствовал: полевые работы не для него. Вот если бы он мог стать десятником! Но десятником был другой человек: краснолицый и волосатый громила, по-хозяйски покрикивавший на работников, а если придется, и поколачивавший их специальной плеткой, на что имел полное право.

Читать далее
Всего голосов 75: ↑71 и ↓4 +67
Комментарии 37

Процедурная генерация деревьев методом транспорта питательных веществ

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

Примечание: код для этой статьи выложен на мой Github [здесь].

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

Когда любая ветвь дерева разделяется, сумма площадей поперечного сечения сохраняется.

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

В данной статье будет описана эта модель и способ её использования для генерации реалистично выглядящих деревьев с разной морфологией.

При помощи этой методики можно генерировать высококачественные меши деревьев на разных этапах роста в реальном времени и с незначительной тратой вычислительных ресурсов!
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 7

Делаем вечную лампочку

Время на прочтение 3 мин
Количество просмотров 297K
На упаковках светодиодных ламп указывают срок службы 30, 40 или 50 тысяч часов, но многие лампочки не живут и года.

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

Читать дальше →
Всего голосов 243: ↑238 и ↓5 +233
Комментарии 361

Звезда Смерти: Что такое бастионные крепости

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

Автор: Андрей Маров

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

Читать далее
Всего голосов 85: ↑60 и ↓25 +35
Комментарии 57

Если бы языки программирования могли рассказать о себе сами

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

Фото Lee Soo hyun

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

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

Чтобы избежать этого, можно просто найти повод посмеяться над ситуацией, над каким-то удачным наблюдением. Тем более, любой язык программирования не идеален. В связи с этим предлагаю несколько «честных» или просто забавных высказываний как бы от лица некоторых популярных языков программирования, в которых раскрывается их «характер».
Читать дальше →
Всего голосов 21: ↑11 и ↓10 +1
Комментарии 7

Шестиугольный город

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

Скриншот из игры «Cities: Skylines». Кликабельно

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

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

Если заинтересовались, добро пожаловать под кат.

Читать дальше →
Всего голосов 116: ↑111 и ↓5 +106
Комментарии 890

D&D-классы для разработчиков

Время на прочтение 10 мин
Количество просмотров 23K
Вам кажется, что разработка ПО похожа на большую и плохо структурированную RPG, хотя никто не признаёт этого на собеседованиях? Тогда эта классификация вам понравится.


Читать дальше →
Всего голосов 60: ↑55 и ↓5 +50
Комментарии 15

Palm TX — редкий гость в 2020 году. Восстанавливаем аккумулятор и подключаемся к сети интернет

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

Этот пост — продолжение серии статей о старом железе. На этот раз на нашем столе один из самых классных КПК от Palm — модель Palm TX. Он примечателен тем, что в свое время получил модуль WiFi и обновленный экран. Правда, девайс еще и лишился части функций, которые были у его предшественника, Palm T5. Но все равно, это был Hi-tech девайс с кучей возможностей.

Давайте попробуем оценить этот гаджет в 2020 году, в частности, оценим его дизайн, возможности и попробуем использовать базовые функции.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Комментарии 16

Mozilla проиграла в войне браузеров, но всё ещё считает, что может спасти интернет

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

Тайная история очень долгих, иногда одиноких и совершенно донкихотских поисков




В 2016 году Митчелл Бейкер, председатель совета директоров и временный директор Mozilla, взялась за обновление своего манифеста. Да, формально это был манифест Mozilla, однако он полностью сделан руками Бейкер. Это что-то вроде билля о правах для интернета, или даже вроде десяти заповедей: 10 принципов того, каким должен быть интернет, высказывающих идеи о продвижении конфиденциальности, открытости и сообщности. В нём периодически встречаются такие слова, как «индивид» и «публичный», а начинается он с предположения о том, что интернет создан для людей и к нему нужно относиться соответственно.
Читать дальше →
Всего голосов 75: ↑73 и ↓2 +71
Комментарии 551

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

Время на прочтение 25 мин
Количество просмотров 678K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Всего голосов 88: ↑85 и ↓3 +82
Комментарии 45

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность