Библиотека программиста | программирование, кодинг, разработка
82.1K subscribers
2.61K photos
108 videos
82 files
5.95K links
Все самое полезное для программиста в одном канале.

Список наших каналов: https://tttttt.me/proglibrary/8353
Учиться у нас: https://proglib.io/w/907158ab

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
🤖Не только телеграм страдает от наплыва ботов: в июне сервис Kindle Unlimited от Amazon заполонили книги, сгенерированные нейросетями, с бесмысленными названиями и сюжетами — например, «Архитектура абрикосового штрихкода».

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

Через пару дней Amazon удалил нейро-книги из своего списка бестселлеров, но в памяти интернета они остались.

#новости
#новости #чтопроисходит

🔥 Дайджест интересных новостей за неделю:

▫️Создатель Ansible запустил проект jet, в котором переосмысливает свой легендарный инструмент. Как думаете на чем он написан? Конечно на Rust.
▫️Google опубликовала черновик спецификации Web Environment Integrity и работает над включением её реализации в кодовую базу Chromium и движка Blink. API Web Environment Integrity позволяет владельцам сайтов удостовериться, что окружение клиента заслуживает доверия.
▫️Выпуск среды разработки PascalABC.NET 3.9.0, предлагающей редакцию Pascal с поддержкой генерации кода для .NET, возможностью использования библиотек .NET и дополнительными возможностями.
▫️Протокол MLS, предназначенный для организации сквозного шифрования в приложениях, получил статус предложенного стандарта.
▫️Представлен выпуск языка формирования запросов и преобразования данных PRQL 0.9, развиваемого в качестве более простой и функциональной замены SQL.
▫️Разработчики Chrome развивают возможность предпросмотра ссылок во всплывающем окне.
▫️Представлен релиз Firefox 116 и сформированы обновления ветки с длительным сроком поддержки: 115.1.0 и 102.14.0.
▫️Опубликован план избавления CPython от глобальной блокировки интерпретатора (GIL, Global Interpreter Lock)
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости #чтопроисходит

🔥 Новости и обновления для разработчика: подборка за неделю

Команда Mozilla анонсировала реализацию поддержки в мобильной версии браузера всех имеющихся для Firefox дополнений. Firefox становится первым мобильным браузером для Android, поддерживающим полноценную открытую экосистему дополнений.
Сообщество берет в свои руки разработку Vim, оставшегося без сопровождающего после смерти Bram Moolenaar
Команда Ubuntu намерена на следующей неделе задействовать по умолчанию в тестовых сборках Ubuntu 23.10 новый менеджер приложений Ubuntu Store, написанный на Dart + Flutter и распространяемый под лицензией GPLv3.
Релиз Flutter 3.13: разработчики ускорили движок рендеринга и обновили Engine API для складных смартфонов.
Релиз Electron 26.0.0, платформы создания приложений на базе движка Chromium
Релиз дистрибутива Devuan 5.0, форка Debian 12 без systemd.
Команда Apple опубликовала исходные коды низкоуровневых системных компонентов macOS 13.4 и 13.5 (Ventura)
Debian празднует своё тридцатилетие. Дистрибутив был анонсирован в далеком 1993 году Яном Мёрдоком (Ian Murdock) в списке рассылки comp.os.linux.development
Релиз nginx 1.25.2
Команда Google представила релиз Chrome 116. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome.
Релиз проекта fheroes2 1.0.7, который воспроизводит движок игры Heroes of Might and Magic II с нуля
Команда Google намерена реализовать несколько шагов для усиления использования HTTPS по умолчанию. Конечная цель — включение для всех пользователей режима HTTPS-first для автоматического перенаправления HTTP-запросов на HTTPS.
Релиз GHC 9.4.6 (Glasgow Haskell Compiler), компилятора для функционального языка программирования Haskell
Разработчик Иван Кулешов из JetBrains представил проект Mac mini на базе чипа M1 с поддержкой питания по Ethernet.
Минцифры оценило дефицит IT-специалистов в 500-700 тыс. человек при текущем составе IT-отрасли в 740 тыс. сотрудников
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости

⚡️Компания OpenAI приобрела команду Global Illumination

🎮 Новый проект, связанный с ИИ? А вот и нет. Это студия выходцев из бигтеха, которая разрабатывает open source аналог Minecraft под названием Biomes. В самой студии работало порядка десяти человек.

Официальный анонс говорит лишь о том, что это присоединение «для работы над основными продуктами, включая ChatGPT».

💬Как вы думаете, к чему все это?

📌Вот некоторые мысли:

OpenAI уже работали с Minecraft. Год назад они выпустили статью Video PreTraining (VPT): Learning to Act by Watching Unlabeled Online Videos о том, как обучать агента играть по видео на YouTube.

В целом понятно, для чего это нужно вне игр: GPT-6 может посмотреть весь TikTok и YouTube, и узнать о нашем мире столько, сколько никаким текстам не снилось.

Возможно, Biomes будет играть роль среды, в которой агенты на основе больших языковых моделей будут «жить» сами по себе и решать свои проблемы.

Наработки OpenAI могут пойти и в сторону работы из Stanford Generative Agents: Interactive Simulacra of Human Behavior, где 25 разных ботов с языковыми моделями и жили в деревне, общались друг с другом — только здесь все в 3D, и с куда более широким набором возможностей.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#новости

⚡️В Excel завезли Python

Стала доступна публичная предварительная версия этой фичи, позволяющая пользователям Excel манипулировать данными и анализировать их с помощью Python.

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

Для доступа к этому функционалу не потребуется устанавливать дополнительное ПО или что-то настраивать, ведь интеграция Python в Excel будет осуществляться в рамках встроенных коннекторов Excel и Power Query.

Microsoft также добавляет новую фичу PY, которая позволяет отображать данные Python в сетке таблицы Excel. Благодаря партнерству с Anaconda в Excel будут доступны такие популярные библиотеки Python, как statsmodels, pandas и Matplotlib.
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости #оффтоп

🔥Главное из игровой презентации Gamescom 2023

🎮 Анонс Killing Floor 3 — мультиплеерный шутер выйдет на ПК, Xbox Series и PS5. Дата релиза пока неизвестна.

🎮 Презентация Cyberpunk 2077: Phantom Liberty. Разработчики полностью изменили систему перков и полиции, добавили возможность стрелять во время езды и дополнительные миссии.

⚡️Трейлеры

📺 Little Nightmares 3 — хоррор-платформер разрабатывает студия Supermassive Games, известная по Until Dawn (выйдет в 2024 году).

📺 Black Myth: Wukong — экшен-RPG по мотивам китайского романа «Путешествие на запад» должна выйти в 2024.

📺 «Мятежной луны» Зака Снайдера — первая часть блокбастера выйдет на Netflix 22 декабря, вторая — 19 апреля 2024.

📺 Сюжетный ролик Assassin's Creed Mirage — показали историю главного героя Басима (выйдет 5 октября на ПК, Xbox и PlayStation).

📺 Tekken 8 — новая часть знаменитого файтинга выйдет 26 января на ПК, Xbox Series и PlayStation 5.

📺 Mortal Kombat 1 — показали завязку игры и кровавые драки. Файтинг выйдет на ПК, Xbox, PlayStation и Switch 19 сентября.

📺 Lords of the Fallen — хардкорный экшен выйдет на ПК, Xbox Series и PlayStation 5 уже 13 октября.

📺 Alan Wake 2 — долгожданное продолжение хоррор-триллера выйдет 27 октября.

📺 Отрывок игрового процесса Call of Duty: Modern Warfare 3 — показали первую миссию сюжетной кампании, действие которой разворачивается в тюрьме (появится в продаже 10 ноября на ПК, Xbox и PlayStation)
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости

⚡️На прошлой неделе Meta* выпустила новую серию больших языковых моделей для разработчиков, которая позволяет генерировать код по текстовому запросу

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

▫️Code Llama — это специализированная версия Llama 2, созданная путем дальнейшего обучения Llama 2 на наборах данных, специфичных для кода.

▫️По сути, Code Llama обладает расширенными возможностями для разработчиков. Она может генерировать код из запросов на естественном языке как из кода, так и из подсказок на естественном языке.

▫️Ее можно использовать как для генерации кода, так и для завершения/отладки кода. Она поддерживает многие из наиболее популярных ЯП, используемых сегодня.

▫️Новая LLM может использоваться в качестве инструмента повышения производительности и обучения, помогая программистам писать более надежное и хорошо документированный код.

📌Разработчики LLM также доработали два дополнительных варианта Code Llama:

1️⃣Code Llama-Python — специализированная языковая вариация Code Llama, доработанная на 100 млрд токенов кода Python.

2️⃣Code Llama-Instruct — доработанный и согласованный вариант инструкций Code Llama.

Meta утверждает, что Code Llama показала лучшие результаты по сравнению с общедоступными LLM на основе эталонных тестов: Code Llama набрала 53.7% баллов в бенчмарке HumanEval и смогла безошибочно написать код на основе текстового описания.

📌А теперь немного мыслей относительно применения локальных языковых моделей на базе llama2:

Отличная лицензия для бизнеса — можно прикрутить в стартап.
Безопасность: на случай, если запрещено использовать ChatGPT для корпоративных задач, локальная LLM приходят на помощь.
Гибкость: модель можно дообучить, поиграть с параметрами. Одним словом все, что приходит на ум.
Это дешевле в частном использовании.

*организация, деятельность которой запрещена на территории РФ
#новости

Исследователи из подразделения искусственного интеллекта Google DeepMind анонсировали новую ИИ-модель Gemini, которая, как заявляется, минимум в 5 раз мощнее GPT-4.

Gemini умеет работать сразу со всеми типами контента: текст, видео, аудио и изображения. Модель выйдет в паблик ближе к концу этого года.

💬Ждем GPT-5 этой осенью? Или OpenAI превращается в отстающих? Там еще и Meta* со своими моделями.

*организация, деятельность которой запрещена на территории РФ
#новости #чтопроисходит

🔥 Новости и обновления для разработчика: подборка за две недели

Вышла новая версия системы контроля версий Git. Самые важные обновления читайте в нашей публикации.

Анонсирован язык программирования Moonbit, оптимизированный для WebAssembly. Hongbo Zhang, основной разработчик языка ReScript, также участвовавший в разработке OCaml и Flow, представил новый ЯП Moonbit, специально оптимизированный для создания приложений, компилируемых в WebAssembly.

В Microsoft Excel встроена поддержка языка Python. Его можно использовать для написания формул, работы с данными, анализа информации и формирования диаграмм.

Состоялся релиз Firefox 117, а также в браузере развивается возможность импорта дополнений из других браузеров.

Представлен новый релиз дистрибутива для этичных хакеров Kali Linux 2023.3.

Опубликован релиз Rust 1.72, основанного проектом Mozilla, но в данный момент развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Также представлен первый стабильный выпуск проекта sudo-rs, развивающего написанные на Rust варианты утилит sudo и su.

Ядру Linux исполнилось 32 года. 25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux. Также представлен релиз ядра Linux 6.5.

Опубликован манифест OpenTF, цель которого — вернуть Terraform к лицензии с полностью открытым исходным кодом. Разработку планируется перевести под покровительство Linux Foundation для дальнейшего развития платформы на нейтральной площадке Cloud Native Computing Foundation при участии заинтересованных в проекте компаний и энтузиастов.

Доступен релиз ОС Chrome OS 116, основанной на ядре Linux, системном менеджере upstart, инструментах ebuild/portage, открытых компонентах и веб-браузере Chrome 116.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖🔥 Главные новости за неделю, связанные с ИИ и не только

1⃣OctoML интегрируется с Llama 2, предоставляя разработчикам мощные инструменты.
2⃣Amazon представила биометрический сканер по ладони на базе ИИ Amazon One.
3⃣Zoom представила нового генеративного ИИ-ассистента AI Companion, интегрированного в одноименную платформу. Он помогает автоматически создавать сводки встреч и предлагать ответы в чатах.
4⃣Glass Health разрабатывает ИИ-решение для помощи врачам в диагностике, а компания Starkey уже разработала слуховые аппараты Genesis AI, которые улучшают качество звука, переводят язык в реальном времени и выступают в качестве ассистента.
5⃣OpenAI объявила о первом мероприятии для разработчиков ИИ DevDay 6 ноября в Сан-Франциско.
6⃣Apple вкладывает миллионы долларов в день на развитие своего ИИ, который упростит многозадачность для пользователей iPhone через голосовые команды. Кстати, сегодняшнюю презентацию можно посмотреть здесь, а анонсы почитать здесь.
7⃣Heart on My Sleeve: песня на основе ИИ, имитирующая Drake и The Weeknd, представлена для рассмотрения на Grammy.

#чтопроисходит #новости
Please open Telegram to view this post
VIEW IN TELEGRAM
Marvin Borner, автор функционального ЯП Bruijn, в котором применяется лямбда-исчисление на основе индекса де Брёйна (позволяет обойтись при построении программы без имён переменных), разработал новый язык программирования Birb.

Новый ЯП написан на Haskell и является полным по Тьюрингу. В Birb используется принцип комбинаторного программирования, в соответствии с которым любую вычислимую функцию можно представить в виде двух типовых комбинаторов. 

Таким образом, при написании кода можно обойтись лямбда-исчислением, в котором применяются только комбинаторы, ассоциированные с эмоджи птиц, например:

🔹Сова "🦉" определяет выражение "λab.b(ab)", утка "🦆" - "λabc.c(ba)" и т. п.

🔹Синтаксис программы на Birb сводится к шаблону "[birb]+: Birb". Числа задаются с использованием кодирования Чёрча, например, 0 можно представить как "🐥🐦", 1 как "🪽🐧", а операцию 1+2 как "🐦🐦🕊️🐧🕊️🐧🐦🐧🕊️🐧🕊️🪽🐧🦢🐧🦢🐧🐥🐦🦢🐧🐥🐦".

💬Вы спросите: «Зачем он вообще нужен?». Конечно, для фана. Хотя, может, у кого-то есть другие объяснения?

🔗Подробнее

#новости
⚡️Компания JetBrains представила новую IDE RustRover, ориентированную на разработку приложений на Rust.

Разработка базируется на существующем открытом плагине intellij-rust, добавляющем поддержу Rust в IDE CLion и IntelliJ IDEA. После анонса RustRover плагин будет deprecated и перестанет официально поддерживаться. Первый стабильный релиз RustRover планируют опубликовать до сентября 2024 года.

📌Новые выпуски:

🔻Java SE 21: интерфейс AI и последняя версия LTS, поддерживаемая в течение 8 лет; под капотом тысячи улучшений производительности, стабильности и безопасности
🔻СУБД PostgreSQL 16: много небольших улучшений + повышение производительности
🔻Беты Ubuntu 23.10
🔻Распределённого OLAP-хранилища Apache Pinot 1.0
🔻 Windows Subsystem for Linux 2.0.0
🔻Высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.3.0 (российский форк Nginx)
🔻cppcheck 2.12, статического анализатора кода для языков C++ и С
🔻Chrome 117

📌Другое:

🔺OpenTF, форк платформы Terraform, переименован в OpenTofu и официально принят в число проектов организации Linux Foundation
🔺GitLab выпустила обновления безопасности, закрывающие уязвимость, позволяющую запустить pipeline-jobs под другим пользователем

💬Пропустили что-то интересное? Пишите в комментарии👇

#новости #чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Одновременно с выпуском новой версии началось альфа-тестирование ветки Python 3.13, в которой будет добавлен режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Но сейчас не об этом.

📌 Что нового в Python 3.12:

🐍 Повышена гибкость разбора f-строк, позволившая избавиться от многих ограничений
🐍 Прирост производительности в результате добавленных оптимизаций оценивается в 5%
🐍 В классе pathlib.Path реализована поддержка подклассов
🐍 В модуле os расширена поддержка платформы Windows
🐍 Добавлена возможность использования протокола buffer
🐍 Предложен модуль sys.monitoring для отладки и профилирования
🐍 В интерпретаторе реализована поддержка подсистемы ядра Linux perf
🐍 Предложен новый компактный синтаксис аннотирования типов для обобщённых классов и функций
🐍 Повышена информативность сообщений об ошибках и расширен спектр исключений
🐍 Предоставлен новый способ определения псевдонимов типов при помощи выражения type и многое другое

#новости
🤔Почему новость о выходе релиза Kotlin 1.9.20 относится не только к мобильным разработчикам? Дело в том, что команда Kotlin представила стабильный выпуск Kotlin Multiplatform (KMP), который готов к использованию в продакшене. Да и Kotlin сам по себе среди прочего компилируется в Wasm, что значительно расширяет его возможности.

🤩Технология KMP призвана упростить разработку кроссплатформенных проектов. Это сокращает время, затрачиваемое на написание и поддержку одного и того же кода для разных платформ, сохраняя при этом гибкость и преимущества нативной разработки.

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

#новости
🤯 Только ленивый не знает о том, что происходит сейчас в OpenAI. А там уже с пятницы очень весело! Сейчас расскажем👇

В эту пятницу совет директоров OpenAI отправил в отставку Сэма Альтмана, сделав это за 20 минут в Google Meet. После чего об уходе из компании заявили соучредитель OpenAI Грег Брокман, директор по исследованиям Якуб Пачоцки и другие ключевые специалисты.

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

📌Причины отставки Альтмана по версиям СМИ:

✖️У Альтмана был конфликт с соучредителем/техдиром компании Ильей Суцкевером и другими членами совета директоров
✖️Суцкеверу месяц назад сократили обязанности в OpenAI из-за его разногласий с Альтманом и Брокманом
✖️У Альтмана были предпринимательские амбиции, хотя Суцкевер и другие члены совета директоров были сосредоточены на первоначальной некоммерческой миссии OpenAI

💬Как думаете, какое будущее ждет OpenAI с ее ChatGPT и другими продуктами?

👍 — дальше будет развиваться, ничего не изменится
🤔 — потихоньку начнет сдуваться
💯 — жду новый стартап от Сэма Альтмана и команды
👾 — свой вариант в комментариях

#новости
🛠 Обзор GitHub на некоторые из наиболее интересных функций и изменений Git (обзор от OpenNET)

▫️В команду git repack добавлены опции "--filter" и "--filter-to", позволяющие выполнить переупаковку репозитория c учётом заданного фильтра объектов, и при необходимости перенести в отдельное место объекты, не удовлетворяющие заданному фильтру.

▫️Например для оставления в репозитории блобов, размером менее 1 МБ, и выносом в отдельный репозиторий остальных крупных объектов, можно выполнить:

$ git init --bare ../backup.git
$ git repack -ad --filter='blob:limit=1m' \
--filter-to=../backup.git/objects/pack/pack


▫️Инициализация репозитория при помощи частичного клонирования позволяет работать с неполной копией репозитория, корректно обрабатывая обращения к отсутствующим объектам (при обращении к отсутствующим объектам, они на лету будут загружаться по мере необходимости).

$ git clone --filter=tree:0 [email protected]:git/git.git


▫️Добавлена возможность работы (git repack --max-cruft-size) с несколькими pack-файлами с информацией о недостижимых объектах (cruft packs), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги).

▫️Добавлено распознавание попыток выполнения двойной отмены коммита через git revert и учёт этого факта при формировании сообщения об отмене

$ git revert --no-edit HEAD >/dev/null
$ git revert --no-edit HEAD >/dev/null
$ git log --oneline
a300922 (HEAD -> main) Reapply "fix bug"
0050730 Revert "fix bug"
b290810 fix bug


▫️Разрешено совместное использование опций "--rfc" и "--subject-prefix". Например, для формирования письма с префиксом "[RFC PATCH bpf-next]" в теме сообщения можно указать:

$ git format-patch --subject-prefix="PATCH bpf-next" --rfc


▫️В команде git log разрешено указание заполнителя "%(decorate)" для показа имён связанных веток при определении формата при помощи опции "--format", например:

$ git log --format='%cr%(decorate) (%h) %s'


#новости #инструменты
🛒 Несколько дней назад OpenAI официально запустила магазин кастомных чат-ботов GPT Store

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

В OpenAI подчеркнули, что лучшие решения могут появиться только благодаря усилиям сообщества. Поэтому вместе с GPTs анонсировали магазин GPT Store для общедоступной публикации пользовательских чат-ботов.

Функция GPTs и площадка GPT Store постепенно появятся у пользователей с платными подписками уровня Plus, Team и Enterprise. Кроме того, в первом квартале 2024 года станет доступна система денежного поощрения создателей кастомных чат-ботов, а корпоративные клиенты получат возможность создавать частные разделы в GPT Store.

👉 Источник

#новости
👩‍💻 Linux преодолел 4% мирового рынка: по данным StatCounter, к концу февраля 2024 года доля Linux на рынке ОС для десктопных компьютеров к концу февраля 2024 года

Linux потребовалось 30 лет, чтобы завоевать 3% доли рынка ОС для десктопных компьютеров (июнь прошлого года). Впечатляет, что за последние восемь месяцев операционная система с открытым исходным кодом выросла еще на 1%.

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

💬 А у вас какая ОС на десктопе?

❤️ — Linux
👍 — Windows
🔥 — macOS

#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Представлен Git 2.45

👉 Ключевые фичи новой версии:

☑️ Добавлена предварительная поддержка бэкенда reftable для эффективного хранения в репозитории ссылок на ветки и теги.

☑️ Предоставлены средства для обеспечения переносимости между идентификаторами объектов на базе хэшей SHA-1 и SHA-256.

☑️ В команду git rev-list добавлена возможность отображения идентификаторов объектов, отсутствующих в локальном репозитории, даже если они недостижимы в ветке или теге, что можно использовать для диагностики повреждения репозитория.

☑️ Добавлена новая команда git reflog list для показа известных reflog-ов и соответствующих им ссылок на теги и ветки.

☑️ Предоставлена возможность определения альтернативных префиксов для вывода git diff.

☑️ Добавлен параметр core.commentString для определения строки-разделителя, которая будет использоваться вместо символа # для игнорирования комментариев в сообщении для коммита.

☑️ В команду git config добавлена опция --comment.

☑️ В команду git cherry-pick добавлена опция --empty для автоматического удаления избыточных коммитов, по аналогии с опцией --empty в git-rebase и git-am.

☑️ В команде git checkout -p разрешено использовать символ @ в качестве синонима имени HEAD.

🔗 GitHub blog & OpenNET

#новости
Please open Telegram to view this post
VIEW IN TELEGRAM