После более чем года работы разработчики выпустили Vanilla OS 2 «Orchid» на базе Debian. Для формирования базовой системы вместо Ubuntu задействована гибридная пакетная база на основе Debian GNU/Linux и собственных модулей Vib (Vanilla Image Builder).
Прошел первый в этом году Nexign Java Meetup

Прошел первый в этом году Nexign Java Meetup
На митапе поговорили с Екатериной Попковой (Nexign) о паттерне «Сага» в микросервисной архитектуре. Донат Фетисов («Билайн») поделился знаниями об Apache Kafka, которые часто приходится собирать из разных источников или приобретать с опытом.
Проведите два часа с удовольствием и пользой — посмотрите запись митапа!
Несколько интересностей и полезностей от веб-разработчика *
Если что, пост переименую.
[Тут была картинка для привлечения внимания]
- donut.js — микро-библиотека, рисующая бубликовые (donut chart) и круговые диаграммы
- Балалайка
- Функция procrastinate
- Противный зловред
- Идея: mousedown вместо click
- Совет: меньше используйте CDN
- Редактор SuitUp и чистка WYSIWYG от мусора
- Простейший полифил для addEventListener
- Репорт об опечатках на сайте
- vanillatree — ванильная замена jstree
- Немного опросов
Всем привет! За время работы постепенно накапливаются наработки, которыми можно было бы поделиться с сообществом. Но ни одна из этих наработок не тянет на большой полноценный пост. Поэтому я собрал все мелочи, что вспомнил, в одной статье: несколько простых опен-сорц проектов, пара советов и находок. Каждый из предложенных скриптов в этой статье поставляется как есть, под лицензией WTFPL (кроме Балалайки). С радостью приму пулл реквесты с исправлением багов или изменениями в README.
donut.js — микро-библиотека, рисующая бубликовые (donut) и круговые диаграммы

Во время работы над очередным проектом, появилась задача нарисовать много информативных бубликов на карте мира, и не просто нарисовать, а еще и поддержать ИЕ8, который, как известно, не умет SVG, а только безобразный VML. Первое, что приходит в голову, это Raphael. Порывшись некоторое время, я нашел это решение. К сожалению, автор проявил изобретательность простым хаком: на круговой диаграмме (pie chart) он нарисовал белый круг. Это решение не подошло, так как дырка бублика должна быть прозрачной. Изучение возможности рисования при помощи Raphael таких диаграмм мне показалось чересчур трудоёмким. Остальные скрипты на просторах интернета мне так же не подошли. Пришлось писать свой костыль, взяв за основу математику рисования арок этого проекта. Арки для VML версии нарисованы используя элемент arc.
var myDonutDiv = donut(options);
Релиз форумного движка нового поколения Vanilla 2.0
Что такое Vanilla?

Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.
Однако, в отличие от сотен других подобных проектов, этот прост лишь для пользователя, изнутри же он напичкан современными технологиями, а потому тут на полную катушку используется AJAX, и главная задача разработчиков — сделать форум максимально простым для начинающих пользователей, и кажется им это удалось. Легко и незатейливо из коробки работают такие функции, как автосохранение сообщений в черновики, отправка сообщений без перезагрузки страницы, загрузка новых сообщений и так далее.
Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.
Что нового?
Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».
Идея для проекта — UMS.
На данный момент есть много разных, очень интересных и перспективных CMS-ок, движков форумов, фреймворков и т.д.
На Drupal можно легко организовать общественно-модерируемое коммюнити с элементами мультиблогинга. Wordpress хорош для личного блога. Легко-осваимая Joomla с множеством сторонних модулей позволяет делать приличные сайты, заточенные под «корпоративные» требования. ModX идеален для SEO-оринтируемых небольших сайтов, а его концепция предполагает бурное развитие. Boonex Dolphin хорош как коммюнити портала, сайта знакомств и поиска человека по определенным критериям. SMF форум неплох в связке с Joomla, Phpbb – «нет слов – одни эмоции»… А на Vanilla так и вообще можно сделать полностью сайт с учетом легкой расширяемости и наличием собственного фреймворка, про MediaWiki — что уж и говорить…
Одна проблема только. Как все это связать вместе в каком-либо большом проекте?
/head
Vanilla — веб 2.0 или классика?

Первый пост про Vanilla forum вызвал достаточно большой резонанс в хабрасообществе. На этот раз мы не будем так удивлять людей. Мы продолжим обсуждать ваниллу.
Судя по отзывам, форумом многие заинтересовались, но жаловались что слишком мало информации, например, того же описания дополнений Vanilla, сборок и назначения русского сообщества. Информации про ваниллу в рунете практически нет, поэтому мы постараемся хоть немного это исправить.
Vanilla — веб 2.0 или классика?
Судя по прошлым коментам, многие очень интересуются описанием дополнений Vanilla, что за сборки и почему такое такое деление одного форума на 2 различных направления. Постараемся
«Сладкая блондинка показывает свои прелести»

Речь пойдет об интересном форумном движке Vanilla. В продолжение темы Ванильный форум 2.0.
Так получилось, что в рунете еще не обратили должного внимания на уникальный, приятный, легкий по весу и дизайну форумный движок Vanilla.
Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер

Часть 2. Устанавливаем карту для лобби сервера
Часть 3. Устанавливаем мини-игры
tl;dr;
И так, что будет сделано в конце всего туториала?
- создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу
- запустим второй сервер, на котором установим популярную мини-игру Murder Mystery
- установим и настроим прокси сервер, который соединит игровой клиент и запущеные серверы таким образом, что игроки не заметят, что они переходят с одного сервера на другой
- создадим игрового персонажа, который будет перенаправлять нас на сервер с мини-игрой
- Установим еще одну популярную мини-игру SkyBlock
- Добавим внутриигровое меню на основе предметов инвентаря игрока
- Добавим внутриигровые деньги
- Создадим магазин
- … и многое другое
Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.
Поехали!
Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 2. Устанавливаем карту для лобби сервера

Часть 1. Выбираем и устанавливаем сервер
Часть 3. Устанавливаем мини-игры
Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.
После публикации первой части статьи по установке своего Minecraft сервера, ко мне обратился один читатель Хабра. В письме он написал, что по неосторожности показал мою статью своим детям и ему пришлось пообещать сделать все, как написано. Теперь я, как отец двух детей, просто не имею морального права не закончить серию этих статей. Поэтому поехали.
Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 3. Устанавливаем мини-игры

Часть 1. Выбираем и устанавливаем сервер
Часть 2. Устанавливаем карту для лобби сервера
Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.
И так, лобби у нас готово, теперь нам нужно запустить сервера с мини-играми и прокси сервер.
Для этого нам понадобится такие плагины:
- BungeeCord — прокси, который объединяет сервера в одну сеть и делает незаметным переход между ними для игрока
- SuperLobbyDeluxe — отличный плагин, который позволяет настраивать лобби, ограничивать права игроков на создании и разрушение блоков, отключать смену погоды и времени и многое другое.
- Citizens — плагин для создания npc
- Citizens Server Selector — плагин для создания npc с командами перехода между серверами
- ItemJoin — плагин, позволяющий выдать игроку определенные предметы при подключении к серверу
- Chest Commands — прекрасный плагин для создания графического пользовательского интерфейса
- Murder Mystery — популярная мини-игра
- Holographic Displays — плагин, позволяющий создавать голографические надписи, требуется, как зависимость, для Murder Mystery
- BSkyBlock — еще одна популярная мини-игра
- LuckPerms — очень удобный плагин для управления правами пользователей
Vanilla JS — очень мощный javascript-фреймворк
Вступление
Для меня эта тема особенно актуальна, ведь последнее время на Хабре упоминается огромное количество js-фреймворков. Какие-то из них авторы различных проектов находят в Сети, какие-то — пишут сами,
Моё же мнение — надо стремиться к отсутствию избыточного кода, к максимальному минимализму, простите за тавтологию.
Если на весь сайт вам нужно только выбирать html-элементы по их id — глупо подключать jQuery.
Если вам на Node.js проекте надо собрать пачку js-файлов и сжать их — глупо писать или подключать тяжёлые фреймворки с кучей настроек, параметров, дополнений и методов, ведь простейший скрипт, склеивающий файлы и прогоняющий их через Кроукфордский jsmin будет намного быстрее, надёжнее и проще.
Чем больше кода — тем больше ошибок. Чем больше стороннего кода — тем сложнее поддерживать проект. Ведь когда вы берёте чужой код, вы берёте на себя и ответственность за его поддержку. Нельзя будет сказать «этот баг не мой, а вон из той библиотеки».
Vanilla JS
Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeScript

Привет, Habr!
Честно говоря, долго сомневался, стоит ли писать эту статью. Я понимаю, что среди комментариев наверняка будут такие, кто скажет: «Очередной никому не нужный датапикер». Но сегодня, когда Vanilla Calendar Pro собрал больше 480 звезд на GitHub и получает 17 тысяч скачиваний в месяц, я решил поделиться своей историей.
Хочу сразу отметить: я не претендую на лавры лучшего разработчика календарей и датапикеров. Эта статья о моем первом опыте в open source, о том, как я создавал проект с нуля и как он стал полезен другим разработчикам.
Supercat Store — новый менеджер состояний на JavaScript

Всем привет! На связи Supercat и я хочу рассказать о менеджере состояний Supercat Store.
Supercat Store - это JavaScript-библиотека, которая позволяет легко отслеживать и реагировать на изменения стейта приложения или его части.
Коротко о Supercat Store:
• Легковесная: 12 kB - minified, 3.8 kB - minified + gzipped;
• Не зависит от фреймворков, агностик;
• Можно создавать столько сторов, сколько нужно;
• Использует мутабельную систему реактивности;
• Применяются ленивые вычисления для computed;
• Поддержка мгновенных и отложенных реакций на изменения состояния;
• Код типизирован с помощью TypeScript внутри JSDoc;
• Код документирован, в документации почти на каждый метод есть пример использования;
• Лицензия MIT.
Новый фронтенд-фреймворк?

В этой статье я расскажу о том, как разрабатывать веб-компоненты с использованием библиотеки Fusor и преимуществах данного подхода.
Такие компоненты можно будет затем собирать в полноценные веб-приложения, сопоставимые с теми, что созданы с использованием React, Angular, Vue, Solid, Svelte и т.д.