Pull to refresh
9
0
Send message

11 лет хостинга SaaS: история и мой опыт

Level of difficultyMedium
Reading time10 min
Views3.2K
Источник

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

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

Изложенная в этой статье история разбита на несколько этапов, через которые мы прошли. Я написал её, чтобы те, кто окажется на аналогичном пути, могли миновать некоторые из его острых углов.
Читать дальше →

Мама,  ̶я̶ ̶в̶ ̶т̶е̶л̶е̶в̶и̶з̶о̶р̶е̶  мы в космосе

Reading time1 min
Views16K

Привет Хабр! Нет времени объяснять: 27 июня в 14:34 по московскому времени мы кое-что запустили в космос, о чём уже не раз рассказывали. В честь этого события мы решили устроить тематический квиз с классными призами!

Читать далее

Какие уроки я извлёк из создания расширения VSCode с помощью GPT-4

Level of difficultyMedium
Reading time14 min
Views10K

В последнее время я много экспериментировал с написанием кода при помощи LLM (Large Language Model, большая языковая модель). На мой взгляд, эти инструменты отлично справляются с генерацией небольших самодостаточных фрагментов. К сожалению, что-то большее уже требует человеческого участия для оценки результата LLM и предоставления дальнейших инструкций.

В большинстве случаев, когда кто-то утверждает, что «GPT написал X», человек выступает для LLM в роли своеобразного REPL (Read-Eval-Print Loop, цикл чтение-оценка-вывод), внимательно подводя модель к функциональному результату. Я нисколько не хочу принизить ценность этого процесса – очень здорово, что он работает. Но можем ли мы шагнуть дальше? Можем ли использовать LLM для генерации ВСЕГО кода сложной программы за раз без человеческого вмешательства?
Читать дальше →

Первые агенты для самообучения сильного ИИ

Level of difficultyMedium
Reading time6 min
Views20K

Тысячи учёных, программистов и просто энтузиастов по всему миру сейчас со всех сторон стараются подойти к главному изобретению в истории человечества, если оно будет сделано — это сильный ИИ (AGI, artificial general intelligence).

Один из подходов к созданию AGI — самообучение так называемых агентов, то есть автономных систем, способных найти решение для произвольных задач и улучшать его до бесконечности. Результаты первых экспериментов интересные.
Читать дальше →

Ностальгические игры: Jagged Alliance 2

Level of difficultyEasy
Reading time9 min
Views14K
image

Приветствую вас, любители ностальгических игр. Сегодня я хотел бы вернуться к тактическим играм прошлого. И если недавно я рассказывал про относительно «свежую» Операцию Silent Storm, то в этот раз хочу остановиться на мастодонте этого жанра: Jagged Alliance 2. Игра, вышедшая в 1999 году, для многих геймеров стала эталоном того, какими должны быть тактические стратегии.

JA2 я впервые увидел у друга в гостях. В то время он конкретно подсел на неё, часами напролёт пытаясь спасти народ Арулько от злобной королевы Дейдраны. Поэтому каждый день, заходя к нему, я тоже принимал участие в восстании в этой небольшой тропической стране. А так как он в то время кайфовал от Наутилус Помпилиус, во время игры мы до дыр заслушивали все их альбомы. Так, я стал не только фанатом Jagged Alliance 2, но и большим любителем Наутилуса, с которым она у меня теперь ассоциируется :-)

После таких коллективных игровых партий у меня, естественно, появилось желание попробовать поспособствовать свержению Дейдраны самостоятельно, играя дома. Друг любезно предоставил мне не только диск, но и специальный выпуск журнала «Страна Игр», полностью посвящённый игре. Думаю, вам, настоящим олдфагам, будет интересно ознакомиться с ним, поэтому я попросил друга отыскать этот номер, после чего полностью отсканировал его. Ссылку на архив с журналом я выложил в телеграмм канале, переходи по ссылке и прикоснись к прошлому)
Читать дальше →

«Военный ИИ на основе нейросети атаковал собственного оператора во время учений?» Давайте разберёмся

Level of difficultyEasy
Reading time8 min
Views33K

2 июня 2023 года британская The Guardian сообщила устрашающую новость. На военном саммите в Лондоне полковник ВВС США Такер Гамильтон описал испытания ударного дрона с ИИ. БПЛА полагалось атаковать системы ПВО условного противника. ИИ решил, что оператор, имеющий возможность отозвать удар, является помехой для выполнения задания — и условно уничтожил собственного оператора.

Когда ИИ прописали, что убивать собственного оператора не положено — дрон сделал собственные выводы и условно уничтожил вышку связи, дабы всё равно исключить возможность отмены атаки и обеспечить себе более высокие шансы на выполнение задачи. Мировые СМИ и соцсети подхватили сенсацию и стали писать чуть ли не о реальном уничтожении оператора восставшим роботом. Потом последовали опровержения — но они убедили не всех. Попробуем разобраться, что же всё-таки сказал полковник Гамильтон и насколько мы близки к бунту боевых дронов против своих создателей?
Читать дальше →

Как выглядит край Вселенной?

Level of difficultyEasy
Reading time7 min
Views66K

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

Но в одном мы уверены точно: у Вселенной есть край. Только не в пространстве, а во времени. Поскольку горячий Большой взрыв произошёл в известное, конечное время в прошлом — 13,8 миллиарда лет назад, с неопределённостью менее 1% — существует «край» того, как далеко мы можем видеть. Даже при скорости света, предельной космической скорости, существует фундаментальный предел того, как далеко назад мы можем заглянуть. Чем дальше мы смотрим, тем дальше назад во времени мы заглядываем. И вот что мы видим, приближаясь к краю Вселенной.
Читать дальше →

Как устроено распределение памяти

Level of difficultyMedium
Reading time11 min
Views28K

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

В этом посте я познакомлю вас с основами распределения памяти (memory allocation). Распределители памяти существуют, потому что иметь доступную память недостаточно, необходимо ещё и эффективно её использовать. Мы наглядно изучим, как работают простые распределители. Мы рассмотрим некоторые из задач, которые им необходимо решать, а также некоторые из методик, которыми они их решают. Прочитав этот пост, вы узнаете всё, что необходимо для написания собственного распределителя.
Читать дальше →

За что Интернеты полюбили Ктулху? Часть 3: как Ктулху выплыл из тьмы забвения и при чём тут гики

Level of difficultyEasy
Reading time10 min
Views8K

Ктулху, как известно, фхтагн. А также мем, кандидат в президенты США, персонаж бесчисленных комиксов и один из любимых героев Интернетов. Несмотря на всю свою мрачность, хтоничность и фхтагничность, а возможно — как раз благодаря им. Как получилось, что существо из совершенно не «выстрелившей» в годы выхода новеллы малоизвестного автора превратилось в культовую во всех смыслах фигуру, легко узнаваемую любым завсегдатаем Сети?

В первой статье мы начали говорить о Ктулху: кто он такой по канону, чем занимается (спойлер: в основном дрыхнет на дне и иногда икает), где живёт на этом самом дне и почему ему на голову могла упасть советская станция «Мир». Во второй обсудили, откуда Ктулху взялся в фантазиях Лавкрафта именно такой, со всеми его щупальцами, крыльями и пузом — ведь в мировой культуре прямого аналога такой фигуры не существовало. Ну а теперь проследим путь Ктулху из безвестности на момент публикации первого рассказа к массовой известности в конце ХХ — начале ХХI века.
Читать дальше →

Сколько памяти нужно для запуска 1 миллиона конкурирующих задач?

Level of difficultyMedium
Reading time6 min
Views22K

В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.

Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать дальше →

Колин Персиваль, автор tarsnap — математик, криптограф и программист. Невольный пособник крипты

Level of difficultyMedium
Reading time5 min
Views6.6K
Выдающиеся программисты современности часто оказываются самоучками. Иногда попадаются специалисты с официальным академическим образованием в области компьютерных наук. Или учёные из других областей: физики, математики, криптографы. Все они вносят в программирование академические знания и научную основательность.

Типичный пример — д-р математических наук Колин Персиваль (Colin Percival), бывший директор по безопасности FreeBSD, автор уникального сервиса резервного копирования Tarsnap и других проектов.

Выдающийся криптограф, который без своего желания оказался причастен к созданию Litecoin. Сотни криптовалют основаны на алгоритме, который придумал и написал скромный математик из Канады.
Читать дальше →

Восстановление исходного кода старой игры с ленточного накопителя

Level of difficultyMedium
Reading time8 min
Views7.7K

Моя история


Мне досталась лента с готовой версией игры Frogger 2: Swampy's Revenge. В детстве я очень любил эту серию игр.

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

Как вы можете понять, эта находка в случае её восстановления оказалась бы бесценной. Но как же вообще считать/записать данные на ленту? Зачем вообще использовались ленточные накопители?

В 1999/2000 годах средний размер жёсткого диска составлял примерно 10 ГБ, к тому же они не славятся долгим сроком службы.

Очень привлекательным предложением были ленточные накопители OnStream, потому что имели картриджи по 50 ГБ (25 ГБ без сжатия) и к тому же стоили дешевле большинства жёстких дисков!

Ленты отлично подходят для резервного копирования, а при правильном хранении могут иметь долгий срок службы. К тому же можно купить ленточный накопитель, который вставлялся в компьютер как CD-привод или привод гибких дисков.
Читать дальше →

Мы сделали новый DNS*

Level of difficultyEasy
Reading time4 min
Views10K
* для нашего хостинга :)

И решили мы это сделать потому, DNS нужно выделить в отдельный, самостоятельно разворачиваемый сервис и заодно напилить фичей.


Читать дальше →

Во что поиграть? — Brutal DOOM

Level of difficultyEasy
Reading time2 min
Views9.4K

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

Сегодня поговорим про Doom, а точнее про один из модов к нему. Среди геймеров всего мира данный проект пользуется безоговорочным уважением, ведь эта игра – ориентир того, КАК должен выглядеть шутер от первого лица. Бодрый, драйвовый, готичный и конечно же кровавый. А если я вам скажу, что все эти преимущества можно умножить на два, добавив в игру свободный прицел (как во всех современных играх), новое оружие, анимации и геймплейные фишки, а также море…(нет, не так)… МОРЕ КРОВИ?!

Читать далее

Циклоидный редуктор + BLDC мотор своими руками

Level of difficultyHard
Reading time9 min
Views22K

Всем привет! Эта статья открывает собой серию статей по разработке манипулятора. Тут я попробую рассказать о циклоидном редукторе и зачем он вообще мне понадобился. Разумеется, мы проведём его расчёт и воплотим его в физическое представление при помощи PLA пластика. Ну и как бонус соберём из хлама BLDC мотор для тестирования этого редуктора. Погнали.
Читать дальше →

Массовый дефейс веб-сайтов .РФ

Level of difficultyMedium
Reading time7 min
Views75K

26 мая 2023 года произошёл массовый дефейс веб-серверов национального сегмента сети интернет .РФ. В качестве цели атаки выступила CMS «Битрикс».

В ходе расследования выяснилось, что атака подготовлена заранее. Подготовка велась с 2022 года через известные уязвимости, включая CVE-2022-27228. Техническое описание см. на форуме разработчиков. Возможно, это самая крупная атака против национального сегмента .РФ в его истории.

Компания CyberOK выпустила отчёт c описанием атаки и разъяснением необходимых действий для того, чтобы удалить с сервера бэкдор, устранить уязвимости «Битрикса» и восстановить приложение. Также приведены рекомендации по защите веб-приложения.
Читать дальше →

Паровой двигатель

Level of difficultyEasy
Reading time13 min
Views25K
Картинка Vecstock, Freepik

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

Читать дальше →

Действительно ли Вселенная фундаментально нестабильна?

Level of difficultyMedium
Reading time8 min
Views11K

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

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

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

Level of difficultyMedium
Reading time9 min
Views33K
reactivity as a pattern for low models coupling

Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Читать дальше →

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

Level of difficultyEasy
Reading time6 min
Views6.4K

Как-то раз мы сидели с другом и подумали: а что, если попробовать управлять вещами реального мира из мира виртуального?! Например, роботами. Мысль не новая, и в том или ином воплощении она широко распространена, например, в области IoT.

Немного забегая вперёд: в результате мы разработали роботов и систему удалённого управления. Один из видеороликов рабочих тестов системы заметили на телеканале НТВ, и нас пригласили на съёмки телепередачи "Чудо техники", которые прошли в Сколково, в Институте науки и технологий.

Но обо всём по порядку…
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity