RSSAmplifier

Blog

Ne v kontakte

Recent content on Ne v kontakte

nevkontakte.comRSS feed ↗241 posts

Latest posts

What happens if we swap AI brains?

Despite my initial skepticism, I’ve been increasingly using LLM-based coding
assistants to get shit done. No vibe coding, mind you — I am too much of a
control freak for that, but letting the machine do the tedious parts of coding
has been great for me. For personal use, I particularly enjoyed using Claude
Code (enough to shell out for a Pro subscription): I don’t have…

Learning Elvish (but not the Middle-earth one)

There is some part of me that is drawn to obscure, odd technologies and tools.
It’s kind of irrational, but also very exciting to tinker with. As I was looking
for alternatives to my zsh setup, I couldn’t help but look at some of the more
niche shells, even if it wasn’t very likely that I’ll settle on them. 
 Elvish was one of the options that caught my…

Custom transient prompt in Fish

Friendly Interactive Shell (more commonly known as
Fish) is a popular alternative to the more ubiquitous shells like Bash and Zsh. 
 If you’ve been a command line aficionado, you have probably seen fancy command
line prompts that conveniently show you everything you need to know from current
working directory, to VCS status, to outside temperature. Maybe you are…

Self-hosting Minecraft at home

Last year I spent more hours playing Minecraft than I care to admit. Being an
introvert that I am, I play on a small private server with my partner and a few
friends, and
 Minecraft Realms has
been a great hosting for us, fast, cheap, secure, with backups. The only issue —
it can’t have mods, and eventually we wanted to play with mods. After shopping
around for…

Can I put my blog into blockchain?

My twitter feed be like: 
 
 Blockchain! NFTs! Distributed governance! Get rich quick! 
 
 We all know NFTs with URLs to someone’s HTTP server are silly 1 . True
cryptopunks store everything in blockchain directly! So how much would it cost
me if I immortalized this blog in the Ethereum blockchain? Think about it! All
my typos and rants immutable and preserved…

Wild gremlin engineering

… or how to sell Chaos Engineering to your team when everything is already on fire. 
 This post is once again inspired by a discussion in DevZen podcast,
 episode #309 (for russian speakers, I highly
recommend listening this one, lots of 🔥 discussions) and the
 Chaos Engineering 
book. 
 In the podcast, @sum3rman brought up an excellent
point that most teams…

Every hackable connector on ASUS Eee PC 901

Recently I found my old Eee PC 901 at the bottom of a drawer sitting and
collecting dust. It served me well a decade ago and I still have fond memories
of it, but by modern standard it’s really obsolete as a laptop. With Intel Atom
N270 and 2GB DDR2 RAM at its heart, I’m not sure it’ll win over even Raspberry
Pi 4. Yet it is in a good working condition, and I…

WTF is SRE? The job nobody understands.

Trigger warning: If you have strong opinions about Ops, DevOps, SRE and
adjacent subjects, read this at your own risk. 
 A bit over 4 years ago I’ve accepted a job offer with the “Site Reliability
Engineer” title, and at the time I had no clue what it really was about. The
recruiter said it was kinda like a normal Software Engineer, but more…

🚧 Projects

This page is a collection of open source projects and web services I worked on
or which have been notable for me in one way or another. Some of these projects
are still relevant, most of them are obsolete, all of them were done for fun,
not profit (well, not for any significant profit anyway). 
 Please note this isn’t a professional portfolio. Quite in opposite, it’s…

Facets of simplicity

Simplicity is complicated. In the Golang community, this statement is most often
attributed to Rob Pike 
but it turns out a lot of people said something like that. A couple of weeks ago
I encountered this yet again in a debate with a colleague (someone with lots of
experience and whose opinion I respect a lot). Both of us considered ourselves
advocates for simplicity, yet we…

FSEconomy noob: most profitable assignments?

Not so long ago I’ve discovered FSEconomy , an
economy meta-gate for flightsim fans. Despite of somewhat simplistic core
mechanics and unfancy look, it has a very active community and a lot of depth to
it. I’ve spent last couple of weeks reading the manual, watching community
forums and doing some assignments in the game itself. And the more I was
learning the more…

Comment branching in C++

Recently I’ve stumbled upon a code snippet in my C++ code, which I’d call “comment branching”. For example, you are experimenting with two implementations of the same functionality represented by a relatively small pieces of code and you need to switch between them back and forth until you decide which one will end up in final version. 
 Consider following snippet:…

Hosted by GitHub

Finally, I’ve completed transition of this blog to GitHub pages, planned over
two years ago. I did the first step — migration to a static site engine
(specifically,
 Acrylamid )
— back in March 2014. And since than I’ve been saying to myself “one day I must
move it to a GitHub as it’s a best free hosting for a static site”. 
 I couldn’t…

Rogue Ninja support in CLion

In a past few years I’ve been using C++ as my main programming language and during this time I’ve been in constant search for better IDE for it which would run on Linux. I was very happy when Jetbrains released CLion IDE and immediately gave it a try. Though there is a lot to improve yet, I’d say that it has best autocompletion and modern C++ support among C++ IDEs on Linux. The…

В День Победы

В виде исключения этот пост будет на русском, поскольку он касается в первую очередь русскоязычной аудитории. 
 9 мая, День Победы — один из самых главных праздников в странах бывшего СССР. По массовости празднования он может соперничать разве что с Новым Годом. Однако, мне кажется, с течением лет акцент этого праздника становится все более и более неправильным. Он превращается в символ…

Crowd funding EaxCast podcast

I’ve never really mentioned this on the Internet, but I’m podcast-addicted kind of person. At the moment I have about 20 different podcasts in my subscription list and I enjoy them very much. Actually, it turned out that listening to podcasts does two important things: 
 
 You don’t fall completely bored while doing some monotonic work like house cleaning or dish washing.…

Google Cache Browser 3.0: The Late Announcement

Today I’m going to announce a pet project, which I’ve been working on for a last
few month. It happened so that it’s live for more than two years and it’s the
third major release, but I never announced it on my blog. Now I have to fix
this. 
 Meet: Google Cache Browser . 
 The idea behind this project is pretty simple: when viewing Google’s…

Переход блога на английский

Месяц назад я всерьез
 задумался о переходе на английский для ведения
этого блога. Проведенный опрос показал, что большая часть моих читателей не
выступает против этого шага, так что этот пост будет последним на русском языке. 
 Еще раз перечислю причины перехода: 
 
 Я пишу в основном на технические темы, часто — довольно узкие. На английском
мои посты будут найдены и…

Перенос комментариев из Drupal в Disqus

Пришло время завершить цикл постов о переезде этого блога на статический движок.
Я уже успел рассказать о переносе самих постов и о
манипуляциях со структурой адресов. Последняя оставшаяся не освещенной тема —
перенос комментариев. За 6 лет существования блога их накопилось немало, и было
бы обидно от них отказаться. 
 Так как
 Acrylamid 
— полностью статический движок,…

Инструкция для спаммеров: как не надо сочинять письма

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

Переход блога на английский?

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

Изменение структуры URL при переезде на Acrylamid

Продолжу рассказ о приключениях, связанных с уходом с Drupal на Acrylamid. Как и обещал, на этот раз речь пойдет о смене структуры адресов страниц моего блога. 
 Напомню еще раз о задачах, которые я перед собой поставил: 
 
 Сделать более-менее вменяемые URL постов. Например, транслитерированный кошмар вроде…

Что такое веб фреймворки?

Я уже довольно давно являюсь слушателем Радио-Т и, хотя частенько не разделяю мнения ведущих, нахожу шоу довольно интересным. Однако, в выпуске Radio-T от 8 марта было два эпизода, которые меня слегка покоробили. Первый — фирменный троллинг от Umputun’a на тему ненужности сисадминов. Впрочем, я склонен считать, что у него с логикой все в порядке, и этот пассаж является всего лишь любимой,…

Перенос постов из Drupal в Acrylamid

В этой заметке я постараюсь рассказать о процессе переноса постов из старого
блога на Drupal в новый на Acrylamid. 
 Прежде всего надо отдать ему должное — он из коробки неплохо
 умеет импортировать контент 
из произвольных движков через RSS или дамп в формате Wordpress. В простых
случаях этого более, чем достаточно, но мне нужно было нечто большее. 
 Задачу перед собой я…

Несколько слов про Acrylamid

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

Иногда они возвращаются

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

Google Cache Dumper и Bing Cache Dumper — бесплатно!

Два с половиной года назад я представил два скрипта: Google Cache Dumper и Bing
Cache Dumper. Как нетрудно догадать по названию, их задача состояла в
вытаскивании страниц заданного сайта из кэша соответствующего поисковика. 
 Оба скрипта я поставил на продажу по цене в $2 и $1 соответственно, и до сих пор
их поддерживал. В качестве площадки для продаж по принципу…

RIP Lastfm.ru, ты был хорошим другом.

Сегодня вечером пришел нежданчик от Last.fm: 
 
 Last.fm вносит ряд изменений в радио, которое ранее было доступно во всем мире. Мы тщательно обдумали эти изменения, и эти изменения не случайны: они были приняты в ответ на на ряд факторов, в разной степени влияющих на наш бизнес в разных странах. 
 До сегодняшнего дня радио было функцией только для подписчиков. Однако начиная с 15 Янв…

Притча о Junior'е

Хочу предложить вашему вниманию историю, которая приснилась мне не далее как сегодня под утро. Проснувшись, я первым делом подумал: “ну и к чему вообще мне это приснилось?..”, но потом понял, что этот нехитрый сюжет имеет прямое отношение к нашей отрасли. Строго говоря, это применимо к молодым специалистам практически в любой области, но именно в программировании это цветёт пышным…

Четыре лика Open Source

Поводом к этому посту стала одна дискуссия об хороших и плохих сторонах открытого софта, в которой мне довелось участвовать. Я являюсь давнишним пользователем Linux, а потому поневоле постоянно имею дело с большим количеством open-source проектов. Более того, так повелось, что большинство инструментов и фреймворков для веб-разработки, которой я занимаюсь, так же является открытым. Поэтому в ходе…

Полгода радиомолчания

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

10 фитч в Firebug, о которых вы не знали.

Вступление от переводчика. Я довольно редко по доброй воле берусь за переводы чужих статей, но в этот раз я всё же хочу поделиться с вами небольшой заметкой, написанной Эриком Венделином “ 10 Things you didn’t know about Firebug ”. И хотя я довольно давно пользуюсь FireBug’ом, до прочтения этой заметки я знал лишь о трёх из упомянутых “фитч”. 
 Мне доводилось…

Обновления для разработчиков и людей — несерьезно о серьезном.

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

Путь во фрилансеры

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

Съемка видео о гаджетах — mini how-to.

Пользуясь свободным временем на каникулах, я решил проапгрейдить ssd в своем
нетбуке Asus Eee PC 901. Стоявшие там изначально SSD (4+12 Gb в моей
Linux-версии) давно прославились как редкостные тормоза, да и четырех гигабайт
системного раздела под весь необходимый софт мне едва хватало. С другой стороны,
этот нетбук можно было трести, ронять (в разумных пределах, конечно ;-) и…

Собираем домашний сервер. Часть 2, софтовая.

В предыдущих заметках я уже осветил требования к домашнему серверу и рассказал о подобранной мною железной конфигурации. Теперь я перейду к разговору о софте. 
 Операционная система 
 Специфика домашних серверов такова, что это машина, которая делает абсолютно все: сетевая файлопомойка, DNS, DHCP, маршрутизация, торренты, GIT и еще бог весть что, вопреки всем рекомендациям экспертов по…

Покойся с миром, Деннис Ритчи

8-го октября, на 71-м году жизни скончался Деннис Ритчи (Dennis Ritchie). Об этом стало известно из сообщения его коллеги Роба Пайка. 
 Дэннис Ритчи — один из величайших инженеров современности, создатель вездесущего языка C и один из авторов ОС UNIX. Сложно переоценить влияние этого человека на современную IT-индустрию: его идеи легли в основу подавляющего большинства современных систем, и…

Собираем домашний сервер. Часть 1, железная.

В предыдущем посте я
рассказал о предпосылках, сподвигших меня на реогранизацию домашней сети.
Сегодня речь пойдет о подборе железа для сервера. 
 На всякий случай напомню ключевые требования, которые предъявлялись к серверу: 
 
 Дешевизна железа (бюджет был установлен 5000 руб. ± 1000 руб.). 
 Возможность постепенного наращивания мощности в максимально широких рамках.…

Собираем домашний сервер. Часть 0, вводная.

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

С днем программиста!

Поздравляю, коллеги, с профессиональным праздником! 
 Не буду долго перечислять пожелания — всё всем и так понятно :-) Ну а кому все же хочется пожеланий — добро пожаловать на Хабр, по такому случаю там целых два топика: первый и второй . А для тех, кому не лень пошевелить мозгами, там же есть набор праздничных головоломок . Сумеете решить? 
 Возвращаясь к пожеланиям, я пожелаю лишь одно:…

MODX Library - в Open Source!

Как я и планировал, я начинаю по-тихоньку публиковать полезные наработки, использованные мною в phpBB Constructor . Сегодня черед, пожалуй, наиболее важной из них — это MODX Library . 
 MODX Library — это библиотека, обеспечивающая автоматическую обработку инструкций по установке модов в формате MODX . Идейно этот формат является развитием патчей со значительно расширенным набором операций,…

phpBB Constructor

Пришло время представить широкой публике проект, над которым я работал все
последнее время. Знакомьтесь,
 phpbbconstructor.com . 
 Вводная 
 phpBB — один из самых лучших open source движков для
создания форумов. На нем работают сотни тысяч конференций, многие из которых
обладают впечатляющей функциональностью. И несмотря на то, что в базовой
комплектации phpBB3…

Обработка множества исключений: решение

Немного позже, чем думал (что простительно, ибо дни выдались хлопотные) привожу свои варианты решения упражнения, которое я озвучил в предыдущем посте . Условие повторять не буду, по приведенной ссылке все описано. 
 Решение 1, читерское. 
 В условии было сказано, что надо обрабатывать исключения в методах init(), run() и shutdown(). И хотя это явно не оговаривалось, по логике…

Упражнение: обработка множества исключений

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

Три top-подобных утилиты, которые должны быть на каждой Linux-машине

Практически всем пользователям знакома утилита top, показывающая интерактивный
список процессов, отсортированный по нагрузке на процессор. История этой утилиты
идет от 1984 года, когда Уильям ЛеФевр написал такую утилиту для BSD 4.1. С тех
пор top или его аналог есть практически в каждой UNIX-подобной ОС. 
 Годами доказав свою практичность, top вдохновил многих других программистов…

Аспекты реализации нового движка блога

В прошлой заметке я
сформулировал основные требования к движку блога. Теперь пришло время в общих
чертах разобаться с реализацией. На начальном этапе здесь можно сказать совсем
немного, поэтому пост будет небольшим. 
 Технические требования 
 
 Язык программирования: PHP 5.1+ В принципе, я мог бы себе позволить и
использовать PHP 5.3, мигрировав блог на мою VPS, но я не…

Техзадание для движка блога

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

Жизнь со вкусом

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

Длинная задержка перед запросом пароля в SSH

Микро-заметка для себя и для тех, кто столкнется с аналогичной проблемой. 
 Симптоматика 
 При попытке подключиться к удаленному хосту по ssh между установлением соединения и запросом пароля возникает длинная пауза (секунд 15-30). Она может появляться и пропадать в зависимости от того, из какой сети вы подключаетесь, однако никак не корреллирует со скоростью доступа. 
 Решение 
 В…

Собираем bash, запускающийся где угодно.

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