TGViewer
Channel Public Channel
Гипер Новости

Гипер Новости

@giper_news

Новости об экосистеме фреймворка $mol.
Вакансии: #mol_vacancy
Один донат: http://tinkoff.ru/cf/1VnW7ZtTeg2
Регулярно: http://boosty.to/hyoo
Subscribers
451
Photos
96
Videos
7
Links
184
Recent Posts 17 shown
Post #237 208
В начале октября я отправляюсь в Переславль-Залесский на конференцию разработчиков свободных программ, где буду рассказывать про Гипер Технологии.

4 числа где-то с 17 часов буду в Москве. Предлагаю собраться, кто там живёт, на Гипер Митап, обсудить планы захвата мира. Кто готов присоединиться?
  • 👍 3
  • 🔥 2
  • 🤡 2
Post #236
Channel name was changed to «Гипер Новости»
Post #232
Гипер Новости pinned «🟢 Актуально Новая старая вакансия Для рефакторинга на $mol научных приложений в экосистеме mpds.io ищется уверенный TS разработчик. Это не просто возможность монетизировать знание $mol под присмотром автора фреймворка, но и возможность продемонстрировать…»
Post #231 897
Post #230 1.1K
Препарируем Lit и находим родовые травмы

Задействованы самые современные веб-стандарты, однако:

- Заявляется отсутствие VDOM, однако он есть, со всеми вытекающими.
- Любое исключение капитально ломает весь компонент.
- Неизбежные конфликты имён компонент всё ломают.
- Адовые тормоза и потребление памяти из-за привязки к DOM.
- Тонны бойлерплейта, если нужна кастомизация хотя бы стилей компонент.

Поблагодарить: https://boosty.to/hyoo
Обсудить: https://t.me/giper_dev
YouTube Препарируем Lit и находим родовые травмы Задействованы самые современные веб-стандарты, однако: - Заявляется отсутствие VDOM, однако он есть, со всеми вытекающими. - Любое исключение капитально ломает весь компонент. - Неизбежные конфликты имён компонент всё ломают. - Адовые тормоза и потребление…
  • 🔥 14
  • 👍 2
Post #229 834
Мифы о веб-фреймворке $mol

Здравствуйте, меня зовут Дмитрий Карловский и я.. автор самого крутого на текущий момент (и в ближайшем будущем) фреймворка $mol. Вот уже десяток лет я рассказываю о заложенных в него идеях, которые конкуренты, если и пытаются повторить, то получается у них плохо. За это время вокруг него сложилось множество мифов, которые люди с радостью ретранслируют друг другу для самоуспокоения. Что ж, давайте соберём их все вместе, разберёмся, как они возникли, и как обстоят дела на самом деле.
  • 🔥 11
Post #227 815
Что не так с веб-компонентами?

Здравствуйте, меня зовут Дмитрий Карловский, и я пилил веб-компоненты, когда их ещё не придумали, делал полноценные компоненты на AngularJS, когда там ещё были только директивы, и разработал компоненто-ориентированный фреймворк $mol с инверсией контроля и статической типизацией, когда это ещё не было мейнстримом. Короче, я немного в теме. И сейчас я расскажу вам, почему мы сразу отказались от Web Components и почему у них нет никаких перспектив.

+ Хабр
  • ❤ 7
  • 🔥 4
  • ❤‍🔥 2
Post #226 863
Так, сегодня ничего не изменилось, поэтому у меня для вас важный апдейт...

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

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

Да и вообще, до выкладывания в прод лучше присылать код на ревью, чтобы я подсказал, где что не так, а то и улучшил API, xтобы было проще использовать.

Ранее она была известна как СRUS-DB. А ещё ранее - как $hyoo_crowd + $hyoo_sync + $hyoo_meta + $hyoo_case. Да, теперь это не просто система управления базами данных, а зачаток RAD-платформы, позволяющей накликивать информационную систему под свои нужды.

Пока что она умеет лишь рисовать формочки для редактирования простых типов данных, но со временем обрастёт мясом, как в этой демке.

Ключевые отличия от предыдущих версий:

- Нативная поддержка шифрования на уровне Лендов (независимого кластера узлов данных, что-то типа таблицы/документа/пространства/неймспейса/базы).

- Использование самой современной криптографии на эллиптической кривой 25519, которая недавно появилась во всех браузерах.

- Поддержка атомарных пакетных записей (неоткатываемых транзакций), используя оригинальный алгоритм Yin-Yan Mirrors.

- Минимизация числа мелких файлов за счёт хранения всех данных одного Ленда в одном файле (baza-пакете).

- Эти пакеты полностью самодостаточны и могут легко переноситься, и даже бесконфликтно мёржиться простым склеиванием, что делает их прекрасным форматом для офлайн-документов.

- Компактная сериализация произвольных данных, используя VaryPack и Unicode Compact Format.

- Экономия ресурсов на порядок, за счёт использования одной подписи сразу для десятка юнитов данных.

- Нативная поддержка регулируемого Proof-of-Work от мгновенного внесения изменений до нескольких недель работы. Над поддержкой Proof-of-Storage ещё размышляю.

- Пиринг между серверами, управляемый через саму гипер базу.

Подробности, как всё это устроено, и как этим пользоваться, скоро появятся в документации.

Спасибо всем, кто годами терпеливо ждал релиза и до сих пор не дождался. Но это только начало. Предстоит ещё много работы как по самой платформе, так и по экосистеме продуктов на её основе под зонтичным названием Giper Web - нашей реализации Web4.

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

Поэтому нам надо делать не просто гипертекстовый фидонет, а новый физически децентрализованный интернет, работающий поверх любых каналов связи - Giper Net.

И чтобы нам всё это масштабировать, нам нужно образовать Giper Сartel, cостоящий из:

- Технологической гильдии Giper Dev, разрабатывающей общий инструментарий.

- Продуктовых компаний Giper Prod, использующих наши технологии для получения финансирования.

- Обучающей сети Giper Couch, поставляющей нам самых талантливых ребят.

Кому интересно поучаствовать во всей этой движухе - присоединяйтесь к сообществу Giper Dev, и берите на себя тот аспект этой гипер утопии, который вам по душе.
  • 🔥 9
  • ❤ 7
  • 👏 3
  • 🙏 1
  • 👾 1
Post #223 1.06K
Ну всё, пора закапывать UTF-8

Здравствуйте, меня зовут Дмитрий Карловский и я... серийный убийца устоявшихся стандартов. Сегодня я выследил и нанёс критический урон UTF-8. И сейчас я расскажу, как я его переиграл и уничтожил новым стандартом кодирования текста — Unicode Compact Format.


Статья про современные текстовые кодировки в виде Гипер Страницы или на Хабре.
  • 👍 4
  • 🔥 4
  • ❤ 1
  • 💯 1
Post #220 1.08K
Под конец года я решил порисовать весёлых картинок допроектировать интересные штуки, над которыми давно чесались руки. Пока что это всё лишь на уровне недоспецификаций, но в качестве источника вдохновения для других может быть полезно.

UCF - Unicode Compact Format

Всё началось с того, что я наткнулся на интересный эксперимент по бинаризации текста под названием UTF-C, где в борьбе за биты у автора получился целый звездолёт. А потом он узнал про существование SCSU и BOCU-1, и совсем приуныл, ведь вселенную уже бороздят другие звездолёты.

Посмотрел я на всё это и подумал: сложно, сложно, не понятно! И принялся за создание предельно простого, но достаточно эффективного велосипеда. В результате получился формат представления текста проще, чем UTF-8, но при этом в полтора-два раза компактней его. Например, в русском тексте, каждый символ кодируется 1 байтом, а не 2, как мы уже все привыкли.

В перспективе, надо будет написать библиотечку для кодирования и декодирования текста. Но учитывая, что UTF-8 сейчас гвоздями прибит во всех спеках и даже языках, то эта моя альтернатива немного запоздала. В том же Rust и Go строки хранятся в UTF-8, и прикрутить что-то иное крайне сложно, помимо того, что будет ещё и падение производительности на постоянных перекодированиях.

SiMuNo - Simple Music Notation

Очередной раз, пытаясь освоить сольфеджио, я принялся за изучение нотной грамоты и... опять сдался. Такое лютое нагромождение легаси просто вымораживает.

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

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

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

А ещё хочется сделать набор красиво (не обязательно естественно) звучащих синтетических музыкальных инструментов через $mol_audio. Уже есть наработки для Piano, но их ещё надо довести до ума. А там уже и до алгоритмической генерации прекрасной музыки по законам гармонии не далеко..
  • 🔥 8
  • ❤ 2
Post #219 587
У нас тут под Новый Год большое обновление малой кровью. А именно импрув $mol_pop - компонента для показа контекстных всплывашек.

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

Тут-то и выходит на сцену $mol_pop, на базе которого у нас работают все пикеры - он открывает небольшое окошко (Bubble) рядом с якорным компонентом (Anchor). В случае пикера, якорем выступает кнопка его открытия (Trigger).

10 лет у нас была простая и надёжная реализация - бабл располагался рядом с якорем и через CSS позиционировался как надо. Работало просто, быстро, надёжно. Но есть с такой реализацией одна беда - его надо было аккуратно позиционировать, иначе он мог быть обрезан из-за overflow или z-index, так как рендерился там же, где и располагался в доме - рядом с якорем.

Типичное решение этой проблемы - порталы, то есть вынос бабла в корень (body), чтобы он рендерился на отдельном слое поверх всего интерфейса. Но у этого подхода есть две беды:

- Так как он больше не располагается рядом с якорем, мы не можем простым css его позционировать рядом с ним. Эту проблему призван решить css-anchoring, но у него ещё слабая поддержка.

- Так как он выносится из компонента-владельца, то его содержимое невозможно стилизовать используя составные селекторы, включающие имя владельца. А на этом у нас построена вся стилизация.

- По той же причине, компонент-владелец перестаёт получать события от бабла, что требует хитрых костылей с их перекидыванием.

К счастью, сейчас уже добралась до всех браузеров поддержка Popover API, предназначенного как раз для реализации всплывашек. Просто ставим на бабл атрибут popover="manual" и... ничего не меняется.

Оказыается, надо императивно вызвать затем метод showPopover(), чтобы браузер создал отдельный топовый слой и перенёс рендеринг бабла туда. hidePopover() же, наоборот, переносит рендеринг обратно (нейминг, конечно, божественный, да), но нам он и не нужен, так как баблы у нас рендерятся лишь когда начинают показываться, а когда перестают - удаляются нафиг, чтобы не тратить ресурсы впустую.

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

Благо, у нас уже есть компонент $mol_follower, который отслеживает позицию якоря в реальном времени и позиционирует себя так, чтобы оказаться рядом с нужной стороны.

Так что я скрестил ужа с ежом и.. вроде получилось. Давайте потестим. Из компромиссов:

- В устаревших браузерах бабл может обрезаться.

- При скроллинге, бабл на несколько кадров отстаёт от якоря. В будущем переведём $mol_follower на css-anchoring и это пройдёт.
  • 🔥 7
  • 🎄 5
  • ☃ 2
  • ❤ 1
Post #218 736
Гипер Новости Наконец-то зарелизил спеку VaryPack - новый, простой, гибкий, шустрый и компактный формат бинарной сериализации произвольных данных. TS библиотека в MAM - $mol_vary, в NPM - mol_vary. Это всего 600 строчек кода, которые легко портировать на любой другой язык.…
В этот четверг на PiterJS #84 буду рассказывать про то, как появился VaryPack:

Проектируем как синьор: универсальная бинаризация

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


Трансляция и запись будет тут. Но могу и бесплатно подогнать входной билет, если кто хочет послушать вживую.
  • ❤ 3
Post #215 1.2K
Наконец-то зарелизил спеку VaryPack - новый, простой, гибкий, шустрый и компактный формат бинарной сериализации произвольных данных.

TS библиотека в MAM - $mol_vary, в NPM - mol_vary. Это всего 600 строчек кода, которые легко портировать на любой другой язык.

⚖️ Комплексный бенчмарк

🔫 Киллер фичи

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

Расширяемость поддержимаемых типов.
Из коробки VaryPack уже поддерживает огромные целые, ссылки, бинарники, а $mol_vary ещё и словари, и множества, и таймштампы, и даже DOM! Но довольно легко добавить поддержку и своих типов данных, ни с кем это не согласовывая - маппинг происходит по совпадению шейпов, которые сериализуются вместе с объектами. Другие форматы вынуждены вести централизованные реестры расширений и диапазоны идентификаторов, где творится дикий запад.

Прямая и обратная совместимости.
Любой VaryPack декодер сможет распаковать данные, даже если не поддерживает те или иные кастомные типы данных (будет их представление через поддеживаемые типы). Расширения других форматов таким похвастаться не могут.

⁉️ Внимание, вопрос

Пока на VaryPack ещё никто не завязался есть возможность безболезненно его менять. Так что гляньте спеку, попробуйте поиграться со своими данными. Если будет не хватать какой-то фичи - дайте знать. Подумаем, можно ли поддержать и её.

Например, VaryPack сохраняет ссылочную структуру, если она не образует циклов. Можно было бы поддержать и произвольные графы связей между объектами. Но стоит ли это делать ценой усложнения и замедления кода?
  • 🔥 9
  • ⚡ 2
  • ❤ 1
  • 🎉 1
  • 🍾 1
  • 👾 1
Older posts →

About this channel

How can I read @giper_news without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Гипер Новости: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Гипер Новости have?
Гипер Новости (@giper_news) has 451 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Гипер Новости know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →