Forwarded from Daily Coding 🔥
📖Expert Python Programming
🖋Jaworski Michał, Ziadé Tarek 2023
Python используется в самых разных областях благодаря своей простоте и в то же время высокой эффективности. Писать код на Python легко, но сделать его читабельным, пригодным для повторного использования и удобным в сопровождении — задача не из простых. Это четвертое издание, дополненное рекомендациями, полезными инструментами и стандартами, применяемыми профессиональными разработчиками Python, поможет вам не только справиться с этими трудностями, но и изучить новейшие возможности и передовые концепции Python.
💾 Скачать книгу
Daily Coding #книги #Python & Max
🖋Jaworski Michał, Ziadé Tarek 2023
Python используется в самых разных областях благодаря своей простоте и в то же время высокой эффективности. Писать код на Python легко, но сделать его читабельным, пригодным для повторного использования и удобным в сопровождении — задача не из простых. Это четвертое издание, дополненное рекомендациями, полезными инструментами и стандартами, применяемыми профессиональными разработчиками Python, поможет вам не только справиться с этими трудностями, но и изучить новейшие возможности и передовые концепции Python.
💾 Скачать книгу
Daily Coding #книги #Python & Max
Forwarded from Daily Coding 🔥
📖Effective Go Recipes
🖋Tebeka Miki 2024
Go — простой язык, но программирование на нем — это не только освоение синтаксиса. Эффективное использование Go — целое искусство. Используйте все возможности продвинутых сетевых технологий и многоядерных процессоров, для которых и был разработан Go. Экономьте драгоценное время на написании кода с помощью рецептов, которые помогут вам управлять объектами, собирать мусор и безопасно использовать память. С легкостью работайте с Unicode, многопоточностью и сериализацией.
💾 Скачать книгу
Daily Coding #книги #Go & Max
🖋Tebeka Miki 2024
Go — простой язык, но программирование на нем — это не только освоение синтаксиса. Эффективное использование Go — целое искусство. Используйте все возможности продвинутых сетевых технологий и многоядерных процессоров, для которых и был разработан Go. Экономьте драгоценное время на написании кода с помощью рецептов, которые помогут вам управлять объектами, собирать мусор и безопасно использовать память. С легкостью работайте с Unicode, многопоточностью и сериализацией.
💾 Скачать книгу
Daily Coding #книги #Go & Max
Forwarded from Павленко + дизайн
Программирование — мое новое увлечение. Вчера я закончил работу над приложением для умного дома и видеодомофона, которое сделал для своего старого айпада. Но это мелочи, а вот приложение, которое строит вариативный акцидентный шрифт только по одному мастеру — это уже серьезная работа.
Сейчас я собираю подпрограмму, которая строит вариативную гарнитуру по оси wght из одного-единственного начертания. Ни Thin, ни Black рисовать не надо, их рассчитывает алгоритм. Или наоборот можно сделать Black и интерполировать до Thin всего за минуту.
Спецификация OpenType требует от мастеров совместимости по точкам: одинаковое число контуров и точек в каждом. Обычно такую совместимость создает дизайнер, и это означает перерисовку всего знакового состава под конкретное начертание. У меня новых точек не появляется вообще, смещаются, режутся, нормализуются только существующие — совместимость выходит по геометрическому рассчету, а не по сложной работе шрифтовика.
Откуда машина знает, куда двигать точку? Из корпуса. Программа обмерила 2310 вариативных шрифтов, из них 565 семейств с полной осью 100–900. Главное открытие: корпус уверенно знает соотношение штрихов глифа по оси и не знает, как именно конкретный дизайнер создаст свой Thin для интерполяции. Первое — норма ремесла, второе — авторское решение, и его я оставляю человеку.
Под капотом у программы — дробление кривых по де Кастельжо, офсет-рефит ручек по Тиллеру–Хансону, сглаживание поля смещений по Липшицу, ньютонов шаг в замкнутом цикле и гребёнка кривизны на приёмке — более прокачанный аналог Speed Punk. В Monotype приведение контуров к совместимости называют reflowing и честно пишут, что жёсткого правила тут нет, алгоритмы или дизайнеры делают что считают нужным. Так что как минимум для акциденции программа будет полезной.
На каком этапе разработки я сейчас нахожусь: сверка с настоящим эталонным Inter даёт ошибку 0,7–7,5 % в пределах трёх ступеней от исходника. На краях ряда риски пока видны. Сами эти сгенерированные начертания пока тоже требуют корректировки по корпусу. Цель — корректное построение всех девяти весов, остальные оси не трогаю сознательно.
Начертания собираются меньше чем за минуту. Руками это десятки часов как минимум. По-моему — неплохое УТП для развития проекта. Если получится добиться такого результата как я хочу, то дальше в планах платное расширение для FontLab и Glyphs, а может, и аналог Fontself для Affinity и Illustrator 😎 Ну а для рядовых пользователей это будет означать появление новых начертаний привычных вам шрифтов — Prosto One, Сталинист, Pangolin — под любые задачи.
#шрифт #типографика #вариативныйшрифт
Сейчас я собираю подпрограмму, которая строит вариативную гарнитуру по оси wght из одного-единственного начертания. Ни Thin, ни Black рисовать не надо, их рассчитывает алгоритм. Или наоборот можно сделать Black и интерполировать до Thin всего за минуту.
Спецификация OpenType требует от мастеров совместимости по точкам: одинаковое число контуров и точек в каждом. Обычно такую совместимость создает дизайнер, и это означает перерисовку всего знакового состава под конкретное начертание. У меня новых точек не появляется вообще, смещаются, режутся, нормализуются только существующие — совместимость выходит по геометрическому рассчету, а не по сложной работе шрифтовика.
Откуда машина знает, куда двигать точку? Из корпуса. Программа обмерила 2310 вариативных шрифтов, из них 565 семейств с полной осью 100–900. Главное открытие: корпус уверенно знает соотношение штрихов глифа по оси и не знает, как именно конкретный дизайнер создаст свой Thin для интерполяции. Первое — норма ремесла, второе — авторское решение, и его я оставляю человеку.
Акциденция для такой затеи — вынужденное поле для анализа. Она живёт в крупном кегле, а хинтинг и вылизанная упаковка файла нужны прежде всего мелкому тексту на низком разрешении.
Под капотом у программы — дробление кривых по де Кастельжо, офсет-рефит ручек по Тиллеру–Хансону, сглаживание поля смещений по Липшицу, ньютонов шаг в замкнутом цикле и гребёнка кривизны на приёмке — более прокачанный аналог Speed Punk. В Monotype приведение контуров к совместимости называют reflowing и честно пишут, что жёсткого правила тут нет, алгоритмы или дизайнеры делают что считают нужным. Так что как минимум для акциденции программа будет полезной.
На каком этапе разработки я сейчас нахожусь: сверка с настоящим эталонным Inter даёт ошибку 0,7–7,5 % в пределах трёх ступеней от исходника. На краях ряда риски пока видны. Сами эти сгенерированные начертания пока тоже требуют корректировки по корпусу. Цель — корректное построение всех девяти весов, остальные оси не трогаю сознательно.
Начертания собираются меньше чем за минуту. Руками это десятки часов как минимум. По-моему — неплохое УТП для развития проекта. Если получится добиться такого результата как я хочу, то дальше в планах платное расширение для FontLab и Glyphs, а может, и аналог Fontself для Affinity и Illustrator 😎 Ну а для рядовых пользователей это будет означать появление новых начертаний привычных вам шрифтов — Prosto One, Сталинист, Pangolin — под любые задачи.
#шрифт #типографика #вариативныйшрифт
Forwarded from Daily Coding 🔥
🛠 Crawlberg - превратите любой веб-сайт в чистые структурированные данные. Укажите Crawlberg URL-адрес и получите разметку Markdown, метаданные и ссылки — с одной страницы или со всего сайта — на уже знакомом вам языке.
🌍 Сайт
Daily Coding #инструменты #Python & Max
🌍 Сайт
Daily Coding #инструменты #Python & Max
Forwarded from Цифровой геноцид
Измеримость культурных особенностей проектирования цифровых продуктов
Статья моей коллеги Дианы сфокусирована на некоторых особенностях измерения культурных отличий и их принципиальной измеримости. В оригинале было несколько больше примеров, но ключевой, на мой взгляд, является идея измерения с помощью семантического дифференциала 50-х годов. Он предлагает оценивать семантическую близость и удалённость по отношению к одному или другому объекту.
Вместо «нравится / не нравится» вы даёте пользователю шкалу между противоположными прилагательными: «дружелюбный — официальный», «тёплый — холодный». Человек ставит отметку, и вы видите, куда именно клиент хочет попасть.
Но при этом интереснее, что культурные требования со временем начинают проникать на инженерный уровень — хранение данных типа имени и фамилии (а там, поди, и структура БД), локали с языковыми особенностями, практики рассылок сообщений в карте коммуникаций. Культура становится всё более жёстким бизнес-требованием к проектированию. Я убеждён, что мы до сих пор недооцениваем множество фич, которые могут появиться из бэклога по мере удешевления разработки — вплоть до учёта специфики конкретного региона с его диалектами, мемами и особенностями. Помню, много лет назад я сделал даже таблицу с региональными диалектизмами, культурными артефактами и мемами каждого из субъектов России, в том числе, чтобы автоматизированно создавать стикеры и другие креативы для соцсети.
И понятно, что проблема alignment AI с точки зрения культуры - это большая тема, которая еще будет порождать исследования и статьи
https://habr.com/ru/companies/lukit_ru/articles/1062076/
Статья моей коллеги Дианы сфокусирована на некоторых особенностях измерения культурных отличий и их принципиальной измеримости. В оригинале было несколько больше примеров, но ключевой, на мой взгляд, является идея измерения с помощью семантического дифференциала 50-х годов. Он предлагает оценивать семантическую близость и удалённость по отношению к одному или другому объекту.
Вместо «нравится / не нравится» вы даёте пользователю шкалу между противоположными прилагательными: «дружелюбный — официальный», «тёплый — холодный». Человек ставит отметку, и вы видите, куда именно клиент хочет попасть.
Но при этом интереснее, что культурные требования со временем начинают проникать на инженерный уровень — хранение данных типа имени и фамилии (а там, поди, и структура БД), локали с языковыми особенностями, практики рассылок сообщений в карте коммуникаций. Культура становится всё более жёстким бизнес-требованием к проектированию. Я убеждён, что мы до сих пор недооцениваем множество фич, которые могут появиться из бэклога по мере удешевления разработки — вплоть до учёта специфики конкретного региона с его диалектами, мемами и особенностями. Помню, много лет назад я сделал даже таблицу с региональными диалектизмами, культурными артефактами и мемами каждого из субъектов России, в том числе, чтобы автоматизированно создавать стикеры и другие креативы для соцсети.
И понятно, что проблема alignment AI с точки зрения культуры - это большая тема, которая еще будет порождать исследования и статьи
https://habr.com/ru/companies/lukit_ru/articles/1062076/
Forwarded from Цифровой геноцид
Уникальная визуальная карта проекта "Цифровой геноцид" - все посты проекта в одном месте с наглядной визуализацией связей, аспектов, отдельно выделенными персонами и концепциями в области HCI (human-computer interaction), исследований юзабилити и опыта пользователя, философии техники и технологий
499 концептов — от HCI и скевоморфизма до советской «Технической эстетики» и ВНИИТЭ.
198 персон исследователей и проектировщиков - тех, кто это придумал, спроектировал, сломал или предсказал.
2412 постов - от первых курсоров до нейросетевых интерфейсов.
23 763 связи между всем этим
Как купить? https://boosty.to/lilalogos
Регистрируемся, нажимаем оплатить, получаем ссылку в личном сообщении на бусти
Так вы не только получите визуализацию сада знаний в духе "Сада расходящихся тропок" Борхеса, но и поддержите проект. Периодическое обновление сада запланировано и будет появляться периодически на обновлениях бусти
499 концептов — от HCI и скевоморфизма до советской «Технической эстетики» и ВНИИТЭ.
198 персон исследователей и проектировщиков - тех, кто это придумал, спроектировал, сломал или предсказал.
2412 постов - от первых курсоров до нейросетевых интерфейсов.
23 763 связи между всем этим
Как купить? https://boosty.to/lilalogos
Регистрируемся, нажимаем оплатить, получаем ссылку в личном сообщении на бусти
Так вы не только получите визуализацию сада знаний в духе "Сада расходящихся тропок" Борхеса, но и поддержите проект. Периодическое обновление сада запланировано и будет появляться периодически на обновлениях бусти
Forwarded from Daily Coding 🔥
🛠 Bricklayer - библиотека JavaScript для создания каскадных сеток, подобных Pinterest. Работать с Bricklayer совсем не сложно, и очень скоро у вас будет надежный, адаптивный макет. Он также не имеет внешних зависимостей, что позволяет очень легко интегрировать его с Angular, React или любым другим крупным фреймворком.
🌍 Сайт
Daily Coding #инструменты #JavaScript & Max
🌍 Сайт
Daily Coding #инструменты #JavaScript & Max
Forwarded from ai.dot(ufna, dev)
В геймдеве сложнее с ИИшками даже в коде еще по одной не слишком очевидной причине.
Годами наша индустрия строилась на знании контекста и расплывчатых спеках. "Надо делать как надо, а как не надо делать не надо" — в каждой шутке есть доля шутки, и опытного технаря отличало от неопытного — возможность читать вводные от игроков и геймдизов так, чтобы код дальше работал с учетом всего, о чем не было сказано напрямую (или тупо пропущено "потому что очевидно" или "об этом не подумали").
Тем самым код — был продуктом, артефактом, носителем спецификаций по огромному количеству вопросов. Особенно в лайвопсе и сервисных играх.
С приходом современной ИИшки код становится эфемерным. Он не более чем временный стейт спеки для запуска в проде.
Сломался продукт? Ранее мы чинили код. Сегодня — мы чиним спеку.
Годами наша индустрия строилась на знании контекста и расплывчатых спеках. "Надо делать как надо, а как не надо делать не надо" — в каждой шутке есть доля шутки, и опытного технаря отличало от неопытного — возможность читать вводные от игроков и геймдизов так, чтобы код дальше работал с учетом всего, о чем не было сказано напрямую (или тупо пропущено "потому что очевидно" или "об этом не подумали").
Тем самым код — был продуктом, артефактом, носителем спецификаций по огромному количеству вопросов. Особенно в лайвопсе и сервисных играх.
С приходом современной ИИшки код становится эфемерным. Он не более чем временный стейт спеки для запуска в проде.
Сломался продукт? Ранее мы чинили код. Сегодня — мы чиним спеку.