https://notebooklm.google
Слегка вау! Это штука, в которую можно загрузить разнообразный ворох файлов (PDF, .txt, Markdown, аудио, .docx, .avif, .bmp, .gif, .ico, .jp2, .png, .webp, .tif, .tiff, .heic, .heif, .jpeg, .jpg, .jpe) + поиск в интернете!, все источники анализируются и дальше мы можем получить:
- привычный чат с ботом по ограниченному источниками контексту
- аудиопересказ
- видеопересказ
- ментальная карта - это и несколько уровней и на каждый элемент уровня можно кликнуть да получить ответ в чате о том что это такое
- отчеты
- карточки
- тесты
- инфографика
- презентация
Слегка вау! Это штука, в которую можно загрузить разнообразный ворох файлов (PDF, .txt, Markdown, аудио, .docx, .avif, .bmp, .gif, .ico, .jp2, .png, .webp, .tif, .tiff, .heic, .heif, .jpeg, .jpg, .jpe) + поиск в интернете!, все источники анализируются и дальше мы можем получить:
- привычный чат с ботом по ограниченному источниками контексту
- аудиопересказ
- видеопересказ
- ментальная карта - это и несколько уровней и на каждый элемент уровня можно кликнуть да получить ответ в чате о том что это такое
- отчеты
- карточки
- тесты
- инфографика
- презентация
Google NotebookLM
Google NotebookLM | AI Research Tool & Thinking Partner
Meet NotebookLM, the AI research tool and thinking partner that can analyze your sources, turn complexity into clarity and transform your content.
👍5🤔1
Добавил полноценную поддержку PHP 8.5 для настройки Windows окружения
Добавлены свежие версии:
- Redis
- RdKafka
- Imagick
- xDebug
Исправлено:
- Подгрузка зависимостей PHP
https://github.com/andrey-helldar/windows-php
Добавлены свежие версии:
- Redis
- RdKafka
- Imagick
- xDebug
Исправлено:
- Подгрузка зависимостей PHP
https://github.com/andrey-helldar/windows-php
GitHub
GitHub - andrey-helldar/windows-php: Easy changes and running the desired version of PHP under Windows
Easy changes and running the desired version of PHP under Windows - andrey-helldar/windows-php
👍3❤2
Самый удобнейший на мой взгляд GUI для работы с Git в Windows - это Git Extensions
А кто-нибудь пользовался Fork? Как вам? Его интерфейс похож на GE.
https://git-fork.com
А кто-нибудь пользовался Fork? Как вам? Его интерфейс похож на GE.
https://git-fork.com
GitHub
GitHub - gitextensions/gitextensions: Git Extensions is a standalone UI tool for managing git repositories. It also integrates…
Git Extensions is a standalone UI tool for managing git repositories. It also integrates with Windows Explorer and Microsoft Visual Studio (2015/2017/2019). - gitextensions/gitextensions
❤2
🎁 Проект, с которым я готов бесплатно поделиться - сервис по рефакторингу.
Идея заключается в следующем:
Люди регистрируются на сайте и в бесплатной версии могут размещать определённое количество документов в сутки или в месяц по Вашему усмотрению.
Могут видеть этот код, комментировать и редактировать его. Таким образом, производится рефакторинг кода, и автор может использовать его.
Почти все проекты имеют публичный статус и доступны для просмотра любому желающему даже без регистрации на сервисе.
В платной версии сайта значительно расширяются лимиты на доступное количество загрузок за период, а то и вовсе снимаются. Также добавляется возможность загрузки zip архивов проектов для полного рефакторинга, и, конечно же, подключение различных репозиториев типа GitHub, GitLab, BitBucket, Gitee и пр.
Кроме этого, платные подписчики смогут выбрать кому доступен код для просмотра - только администрации сервиса, топ-рефакторам (назовём этих людей так) или всем подряд. Соответственно, стоимость размещения может быть разной.
Люди, которые вносят много и часто правки в код других людей и он набирают много лайков на них, в какой-то момент могут быть автоматически назначены топ-рефакторами и им возможны дополнительные бонусы на Ваше усмотрение, начиная с возможности видеть приватные репозитории, доступные для людей с таким статусом.
Изначально сервис задумывался как помощь разработчикам, причём, не важно на каком языке программирования, но его можно развить и для других областей, хоть тот же дизайн или написание каких-либо книг.
Цель сервиса - собрать фидбек и опыт других людей для накопления собственного опыта и насмотренности.
Для этой идеи даже зарегистрировано доменное имя - refactor.style
Домен могу также бесплатно передать. Домен передан.
Идея заключается в следующем:
Люди регистрируются на сайте и в бесплатной версии могут размещать определённое количество документов в сутки или в месяц по Вашему усмотрению.
Могут видеть этот код, комментировать и редактировать его. Таким образом, производится рефакторинг кода, и автор может использовать его.
Почти все проекты имеют публичный статус и доступны для просмотра любому желающему даже без регистрации на сервисе.
В платной версии сайта значительно расширяются лимиты на доступное количество загрузок за период, а то и вовсе снимаются. Также добавляется возможность загрузки zip архивов проектов для полного рефакторинга, и, конечно же, подключение различных репозиториев типа GitHub, GitLab, BitBucket, Gitee и пр.
Кроме этого, платные подписчики смогут выбрать кому доступен код для просмотра - только администрации сервиса, топ-рефакторам (назовём этих людей так) или всем подряд. Соответственно, стоимость размещения может быть разной.
Люди, которые вносят много и часто правки в код других людей и он набирают много лайков на них, в какой-то момент могут быть автоматически назначены топ-рефакторами и им возможны дополнительные бонусы на Ваше усмотрение, начиная с возможности видеть приватные репозитории, доступные для людей с таким статусом.
Изначально сервис задумывался как помощь разработчикам, причём, не важно на каком языке программирования, но его можно развить и для других областей, хоть тот же дизайн или написание каких-либо книг.
Цель сервиса - собрать фидбек и опыт других людей для накопления собственного опыта и насмотренности.
Для этой идеи даже зарегистрировано доменное имя - refactor.style
👍1
Версионирование библиотек при работе над фичами
Представьте что у Вас несколько проектов и для них всех нужен какой-то один функционал. Пусть это будут интеграции с внешними сервисами.
Вот вы запилили свою либу с их набором и подключили к проектам. Вроде всё хорошо, но тут нескольким разрабам пришли задачи на реализацию каких-либо фич, добавляющих в интеграционную либу новые урлы - по одному на каждую фичу.
Вариант который мы применяем - это создаём в либе ветку с номером задачи, в фича-ветке подтягиваем либу указав её "номер", но здесь возникает человеческий фактор - можно легко забыть перед слиянием слить ветку в мастер указав стабильный тег.
До теста сливать в мастер тоже такой себе вариант.
Внимание, вопрос: сталкивались ли с такой проблемой и, если да, как решили проблему?
Представьте что у Вас несколько проектов и для них всех нужен какой-то один функционал. Пусть это будут интеграции с внешними сервисами.
Вот вы запилили свою либу с их набором и подключили к проектам. Вроде всё хорошо, но тут нескольким разрабам пришли задачи на реализацию каких-либо фич, добавляющих в интеграционную либу новые урлы - по одному на каждую фичу.
Вариант который мы применяем - это создаём в либе ветку с номером задачи, в фича-ветке подтягиваем либу указав её "номер", но здесь возникает человеческий фактор - можно легко забыть перед слиянием слить ветку в мастер указав стабильный тег.
До теста сливать в мастер тоже такой себе вариант.
Внимание, вопрос: сталкивались ли с такой проблемой и, если да, как решили проблему?
Среди нас есть 3D печатники? Нужна ваша помощь!
Собираю MVP нового сервиса с настройками калибровок филамента и нужно отладить механизм загрузки настроек.
Поэтому прошу всех, кто пользуется OrcaSlicer, Bambu Studio, PrusaSlicer, CrealityPrint или любым другим софтом, под капотом которого Bambu Studio, экспортировать свои профили филамента и прислать ZIP архив мне для тестов.
Заходим в "Файл" > "Экспорт" > "Экспорт пакета профилей..."
На открывшейся странице выбираем пункт "Filament Profiles..." и протыкиваем галками все профили.
На выходе будет ZIP архив с json файлами внутри. Они-то и нужны для тестов.
Проект 3d.dragon-code.pro
Собираю MVP нового сервиса с настройками калибровок филамента и нужно отладить механизм загрузки настроек.
Поэтому прошу всех, кто пользуется OrcaSlicer, Bambu Studio, PrusaSlicer, CrealityPrint или любым другим софтом, под капотом которого Bambu Studio, экспортировать свои профили филамента и прислать ZIP архив мне для тестов.
Заходим в "Файл" > "Экспорт" > "Экспорт пакета профилей..."
На открывшейся странице выбираем пункт "Filament Profiles..." и протыкиваем галками все профили.
На выходе будет ZIP архив с json файлами внутри. Они-то и нужны для тестов.
Проект 3d.dragon-code.pro
👍1
Почему не стоит полностью полагаться на результат работы нейронки предпочитая использовать её лишь в качестве помощника.
Я тот ещё спец по составлению промптов, так что составил следующую инструкцию:
На выходе получил два файла:
- Сервис: https://laravel.su/pastebin/2aNFWaxN
- Тест: https://laravel.su/pastebin/w-3m8u4d
Загрузив несколько профилей, на выходе получил результат:
- https://laravel.su/pastebin/4JroI5dM
С одной стороны всё в порядке, но по факту видим что в таблице есть некоторые недочёты, а именно для строки с
А у некоторых записей и производитель не найден несмотря на то, что он всегда в профилях первым словом указан. А в некоторых случаях и первыми двумя словами.
База "обучения", на основании которой нейронка работала, включает в себя 5391 запись, 678 из которых повторялись минимум по 2 раза, а максимум по 37 раз.
Так что, заменит ли нас нейронка в ближайшее время? Очень сильно в этом сомневаюсь :)
Я тот ещё спец по составлению промптов, так что составил следующую инструкцию:
Исходные данные:
- Профили: `storage/app/orca_slicer/OrcaSlicer-main/resources/profiles/*.json`.
- Профили филамента: `storage/app/orca_slicer/OrcaSlicer-main/resources/profiles/*/filament/*.json`.
- Загруженная в базу данных карта профилей филамента: `SELECT "key", "path" FROM maps WHERE "type" = 'filament'`.
- Доступные типы филамента находятся в таблице БД. Получить их можно запросом: `SELECT "title" FROM filament_types`.
- Доступные названия производителей находятся в таблице `vendors`: `SELECT "title" FROM vendors`.
- Обозначение "HS" - это High Speed. Обозначение "HF" - это High Flow. Нужно их нормализовать в единый вид - `HS`.
- Обозначение "CF" - это Carbon Fiber.
Задача:
Проанализируй содержимое колонки "key" в таблице "maps" для всех записей и напиши универсальный код, который позволит обнаруживать в подобных строках следующие данные:
- Производитель (например, Bambulab, Creality, Co Print, eSUN, etc.)
- Тип филамента (например, ABS, ASA+, PETG HS, PPA-CF HS, etc.)
- Цвет филамента (например, Yellow, Brown, Marble, Aero, Transparent, Chameleon, Conductive, Crystal, Everfil, CMYK, etc.)
Для кода создай новый класс App\Services\OrcaSlicer\FilamentDetector.
Нюанс: написанный код не должен ограничиваться только текущим содержимым таблицы. Новые значения могут и будут добавляться пользователями и они также должны максимально точно определяться.
В случае невозможности точного определения данных нужно возвращать `null` из метода определения как явный признак.
На выходе получил два файла:
- Сервис: https://laravel.su/pastebin/2aNFWaxN
- Тест: https://laravel.su/pastebin/w-3m8u4d
Загрузив несколько профилей, на выходе получил результат:
- https://laravel.su/pastebin/4JroI5dM
С одной стороны всё в порядке, но по факту видим что в таблице есть некоторые недочёты, а именно для строки с
RED MATT цвет неправильно определён - указан Red хотя должен быть Red Matte (красный матовый). И да, это разные цвета для филамента в 3D печати.А у некоторых записей и производитель не найден несмотря на то, что он всегда в профилях первым словом указан. А в некоторых случаях и первыми двумя словами.
База "обучения", на основании которой нейронка работала, включает в себя 5391 запись, 678 из которых повторялись минимум по 2 раза, а максимум по 37 раз.
Так что, заменит ли нас нейронка в ближайшее время? Очень сильно в этом сомневаюсь :)
preview.dragon-code.pro существует с 2014-го года и предоставляет функционал по лёгкому созданию красивых превью для проектов.
В 2025-м году проект мигрировал на новый сервис и, так как статистика использованных репозиториев не была перенесена за ненадобностью, можно считать что генерация превью используется в 1161 живом репозитории!
Некоторые из них более популярные, а некоторые - менее.
С разбивкой по годам получаем, что в 2025-м году превью открывали на 1007 проектах, а в 2026-м - на 154.
Для малоизвестного сервиса это неплохой показатель.
Превью самых популярных проектов за 2025-й год:
- 64'390 - laravel-lang/Localize-your-app
- 22'078 - laravel-lang/app-localization
- 3'476 - laravel-lang/localization-app
- 1'540 - AriaieBOY/Sail Runtime Image
- 1'313 -
- 1'012 -
Превью самых популярных проектов за 2026-й год:
- 199'189 - laravel-lang/localizations
- 37'724 - your-vendor/your-project
- 16'210 -
- 10'828 - laravel-lang/locales-publisher
- 10'045 - laravel-lang/localize-your-app
- 9'246 - Ariaieboy/Jalali-Date-Picker
- 7'699 - the-dragon-code/deploy-operations
- 5'634 - Luhn's-algorithm/card-number
- 5'337 - the-dragon-code/deploy-actions
- 5'147 -
- 5'100 - MohamedSabil83/Filament-Hijri-Picker - 4'758 - laravel-ready/laravel-starter
- 4'698 -
- 4'665 - laravel-lang/attributes
- 4'413 - Ariaieboy/Jalali-DateTime
- 4'412 - the-dragon-code/code-styler
- 4'120 - Ariaieboy/Filament-Jalali
- 3'894 - milwad-dev/laravel-validate
- 3'832 - Ariaieboy/Laravel-Sail
- 3'581 -
Ссылки на сами репозитории не ведутся, поэтому угадывал через Гугл. Но удалось не всё :)
И также эта статистика не отражает то, используется ли превью прямо сейчас. Возможно, оно было использовано раньше и кто-то открыл, например, ветку с ним.
Так или иначе, объявляю проект устаревшим и вскоре он будет снят полностью отключён.
В 2025-м году проект мигрировал на новый сервис и, так как статистика использованных репозиториев не была перенесена за ненадобностью, можно считать что генерация превью используется в 1161 живом репозитории!
Некоторые из них более популярные, а некоторые - менее.
С разбивкой по годам получаем, что в 2025-м году превью открывали на 1007 проектах, а в 2026-м - на 154.
Для малоизвестного сервиса это неплохой показатель.
Превью самых популярных проектов за 2025-й год:
- 64'390 - laravel-lang/Localize-your-app
- 22'078 - laravel-lang/app-localization
- 3'476 - laravel-lang/localization-app
- 1'540 - AriaieBOY/Sail Runtime Image
- 1'313 -
open-source packages/Making Developers Happy- 1'012 -
EgoistDeveloper/Readable-NumbersПревью самых популярных проектов за 2026-й год:
- 199'189 - laravel-lang/localizations
- 37'724 - your-vendor/your-project
- 16'210 -
EgoistDeveloper/Laravel-License-Server- 10'828 - laravel-lang/locales-publisher
- 10'045 - laravel-lang/localize-your-app
- 9'246 - Ariaieboy/Jalali-Date-Picker
- 7'699 - the-dragon-code/deploy-operations
- 5'634 - Luhn's-algorithm/card-number
- 5'337 - the-dragon-code/deploy-actions
- 5'147 -
EgoistDeveloper/operating-system-logos- 5'100 - MohamedSabil83/Filament-Hijri-Picker - 4'758 - laravel-ready/laravel-starter
- 4'698 -
Multintegrada/Saúde Integrada- 4'665 - laravel-lang/attributes
- 4'413 - Ariaieboy/Jalali-DateTime
- 4'412 - the-dragon-code/code-styler
- 4'120 - Ariaieboy/Filament-Jalali
- 3'894 - milwad-dev/laravel-validate
- 3'832 - Ariaieboy/Laravel-Sail
- 3'581 -
Multintegrada/Samu-360-serverСсылки на сами репозитории не ведутся, поэтому угадывал через Гугл. Но удалось не всё :)
И также эта статистика не отражает то, используется ли превью прямо сейчас. Возможно, оно было использовано раньше и кто-то открыл, например, ветку с ним.
Так или иначе, объявляю проект устаревшим и вскоре он будет снят полностью отключён.
❤1🔥1
Позавчера было опубликовано сообщение о разработки нового сервиса для 3D печатников, для которого были нужны пользовательские профили с настройками филаментов.
А уже сегодня проект окончательно заархивирован 🙂
Причина тому в огромном объёме нестабильных данных для обработки.
На случай если кто вдруг загорится идеей, опишу свои размышления.
Одна из проблем большинства 3D печатников заключается в калибровке конкретного филамента под конкретный принтер. В сети полно разрозненных данных на этот счёт и даже некоторые люди рекомендуют те или иные параметры конфигураций, но, как показала практика, эти рекомендации работают только для их филамента и только на их принтере, а при попытке воспроизведения на своём железе результат получается хуже чем в Generic профилях.
Собственно, из этой мысли и возникла идея создания такого проекта, который будет содержать реальные юзерские конфигурации для конкретного принтера и конкретного пластика.
Например, три человека используют условный принтер X1, филамент C1 PLA High Speed жёлтого цвета. Каждый у себя настроил и загрузил конфиг на сайт.
Допустим, их базовые параметры имеют следующие значения:
И для каждого из этих людей именно эти параметры идеальны несмотря на использование одного и того же всего.
И на горизонте появляется четвёртый человек с таким же железом и филаментом. Конечно, он может с нуля из Generic профиля калибровать пластик, что занимает около 8 часов на всех тестах, а может взять их средние значения и сразу вбить в слайсер, лишь "шлифуя" под себя.
Вот и получится, что его значения будут:
И с этим уже можно работать.
Также на странице профиля сайт бы показывал в целом минимальные, максимальные и средние значения параметров, а также информацию на основании скольких данных она составлена.
Мои наброски опубликовал в опенсурс:
https://github.com/TheDragonCode/3d.dragon-code.pro
Начальные данные для заполнения брал из исходников OrcaSlicer.
А уже сегодня проект окончательно заархивирован 🙂
Причина тому в огромном объёме нестабильных данных для обработки.
На случай если кто вдруг загорится идеей, опишу свои размышления.
Одна из проблем большинства 3D печатников заключается в калибровке конкретного филамента под конкретный принтер. В сети полно разрозненных данных на этот счёт и даже некоторые люди рекомендуют те или иные параметры конфигураций, но, как показала практика, эти рекомендации работают только для их филамента и только на их принтере, а при попытке воспроизведения на своём железе результат получается хуже чем в Generic профилях.
Собственно, из этой мысли и возникла идея создания такого проекта, который будет содержать реальные юзерские конфигурации для конкретного принтера и конкретного пластика.
Например, три человека используют условный принтер X1, филамент C1 PLA High Speed жёлтого цвета. Каждый у себя настроил и загрузил конфиг на сайт.
Допустим, их базовые параметры имеют следующие значения:
User PA Flow Ratio Vol Speed
U1 0.0701 1.045 24
U2 0.02 0.998 21
U3 0.073 0.991 22
И для каждого из этих людей именно эти параметры идеальны несмотря на использование одного и того же всего.
И на горизонте появляется четвёртый человек с таким же железом и филаментом. Конечно, он может с нуля из Generic профиля калибровать пластик, что занимает около 8 часов на всех тестах, а может взять их средние значения и сразу вбить в слайсер, лишь "шлифуя" под себя.
Вот и получится, что его значения будут:
User PA Flow Ratio Vol Speed
U4 0.0544 1.013 22.3
И с этим уже можно работать.
Также на странице профиля сайт бы показывал в целом минимальные, максимальные и средние значения параметров, а также информацию на основании скольких данных она составлена.
Мои наброски опубликовал в опенсурс:
https://github.com/TheDragonCode/3d.dragon-code.pro
Начальные данные для заполнения брал из исходников OrcaSlicer.
Telegram
The Dragon Code News
Среди нас есть 3D печатники? Нужна ваша помощь!
Собираю MVP нового сервиса с настройками калибровок филамента и нужно отладить механизм загрузки настроек.
Поэтому прошу всех, кто пользуется OrcaSlicer, Bambu Studio, PrusaSlicer, CrealityPrint или любым…
Собираю MVP нового сервиса с настройками калибровок филамента и нужно отладить механизм загрузки настроек.
Поэтому прошу всех, кто пользуется OrcaSlicer, Bambu Studio, PrusaSlicer, CrealityPrint или любым…
❤2
Media is too big
VIEW IN TELEGRAM
Есть среди нас те, кто умеет в Blender?
Сегодня начал его изучать по роликам на ютубе и уже споткнулся 😅
Подскажите, как сделать подобное в Blender? Во Fusion 360 процесс занял у меня 7 минут с копейками с учётом ошибок :)
Сегодня начал его изучать по роликам на ютубе и уже споткнулся 😅
Подскажите, как сделать подобное в Blender? Во Fusion 360 процесс занял у меня 7 минут с копейками с учётом ошибок :)
Forwarded from Вправо Вверх 📈 Михаил Табунов
История появления JavaScript
1995 год.
Netscape Navigator – главный браузер планеты, занимает 80% рынка, да еще и денег стоил, что сейчас вообще дикость.
Microsoft смотрит на это и видит: интернет – это будущее, и они его упускают.
Нужно что-то решать.
Microsoft срочно пилит Internet Explorer и встраивает его в Windows.
Бесплатно. Принудительно. Каждому.
Netscape в панике. Им нужно что-то, чего нет у Microsoft. Какая-то киллер-фича, которая привяжет разработчиков к их браузеру.
И тут появляется идея: а давайте сделаем так, чтобы странички были живыми.
Чтобы кнопки нажимались, формы проверялись, что-то мигало и двигалось.
Для этого нужен язык программирования прямо в браузере.
Задачу дают Брендану Айку, разработчику Netscape, которому на тот момент 34 года.
Срок – 10 дней.
Десять, блин, дней.
Не месяцев. Не недель. Дней.
Без чата гпт, Claude Code и даже Stack Overflow.
Брендан сел и написал.
Назвали JavaScript.
Чисто маркетинговый ход, чтобы присосаться к хайпу Java, которая тогда была на пике.
К самой Java этот язык имеет примерно такое же отношение, как хомяк к Hamster Kombat.
Спасло это Netscape? Нет.
Microsoft тупо скопировал идею, назвал свою версию JScript, и продолжил катком давить конкурента.
К 2000 году Netscape был мёртв. IE захватил 95% рынка.
Но JavaScript выжил.
И что в итоге?
Этот «временный костыль на 10 дней» сейчас:
– работает на 99.9% всех сайтов в интернете и является самым популярным языком в мире
– крутится на серверах (Node.js)
– пишет мобильные приложения (React Native)
– управляет умными чайниками
И при этом всем – это лютое говно.
Язык, написанный за 10 дней, несёт в себе все болячки того спринта:
Например "11" + 1 = "111", но "11" - 1 = 10 – typeof null возвращает "object" (это официально признанный баг, который не фиксят 30 лет ради обратной совместимости)
0.1 + 0.2 = 0.30000000000000004
[] == ![] возвращает true
Это помимо того, что ООП приходится эмулировать на костылях, а для сортировки массива тебе нужен фреймворк.
Человечество придумало TypeScript, линтеры, 500 библиотек, которые надо грузить вместе с сайтами чтобы как-то жить с этим, но это костыли поверх костылей, что плохо.
Удивительно, как иногда популярным становится очевидное говно.
1995 год.
Netscape Navigator – главный браузер планеты, занимает 80% рынка, да еще и денег стоил, что сейчас вообще дикость.
Microsoft смотрит на это и видит: интернет – это будущее, и они его упускают.
Нужно что-то решать.
Microsoft срочно пилит Internet Explorer и встраивает его в Windows.
Бесплатно. Принудительно. Каждому.
Netscape в панике. Им нужно что-то, чего нет у Microsoft. Какая-то киллер-фича, которая привяжет разработчиков к их браузеру.
И тут появляется идея: а давайте сделаем так, чтобы странички были живыми.
Чтобы кнопки нажимались, формы проверялись, что-то мигало и двигалось.
Для этого нужен язык программирования прямо в браузере.
Задачу дают Брендану Айку, разработчику Netscape, которому на тот момент 34 года.
Срок – 10 дней.
Десять, блин, дней.
Не месяцев. Не недель. Дней.
Без чата гпт, Claude Code и даже Stack Overflow.
Брендан сел и написал.
Назвали JavaScript.
Чисто маркетинговый ход, чтобы присосаться к хайпу Java, которая тогда была на пике.
К самой Java этот язык имеет примерно такое же отношение, как хомяк к Hamster Kombat.
Спасло это Netscape? Нет.
Microsoft тупо скопировал идею, назвал свою версию JScript, и продолжил катком давить конкурента.
К 2000 году Netscape был мёртв. IE захватил 95% рынка.
Но JavaScript выжил.
И что в итоге?
Этот «временный костыль на 10 дней» сейчас:
– работает на 99.9% всех сайтов в интернете и является самым популярным языком в мире
– крутится на серверах (Node.js)
– пишет мобильные приложения (React Native)
– управляет умными чайниками
И при этом всем – это лютое говно.
Язык, написанный за 10 дней, несёт в себе все болячки того спринта:
Например "11" + 1 = "111", но "11" - 1 = 10 – typeof null возвращает "object" (это официально признанный баг, который не фиксят 30 лет ради обратной совместимости)
0.1 + 0.2 = 0.30000000000000004
[] == ![] возвращает true
Это помимо того, что ООП приходится эмулировать на костылях, а для сортировки массива тебе нужен фреймворк.
Человечество придумало TypeScript, линтеры, 500 библиотек, которые надо грузить вместе с сайтами чтобы как-то жить с этим, но это костыли поверх костылей, что плохо.
Удивительно, как иногда популярным становится очевидное говно.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Генератору превью для GitHub репозиториев - ЖИТЬ!
Но - другому 😅
Как сообщал раннее, сервис preview.dragon-code.pro доживает свои последние дни и было рекомендовано пользоваться другими генераторами изображений, например, banners.beyondco.de.
Так вот, представляем Вашему вниманию новый генератор изображений для GitHub Actions - GitHub Preview Updater
Он собирает информацию о Вашем репозитории и проекте и составляет на её основании картинку.
Есть фича с поддержкой тёмной и светлой тем браузера. Да, GitHub так умеет и генератор, соответственно, тоже.
Генератор поддерживает гибкую настройку для каждого репозитория. По-умолчанию он составляет ссылку для banners.beyondco.de, но можно применить свой шаблон
Подробнее об использовании читайте в ридми проекта:
https://github.com/TheDragonCode/github-preview-updater
Быстрый старт:
Но - другому 😅
Как сообщал раннее, сервис preview.dragon-code.pro доживает свои последние дни и было рекомендовано пользоваться другими генераторами изображений, например, banners.beyondco.de.
Так вот, представляем Вашему вниманию новый генератор изображений для GitHub Actions - GitHub Preview Updater
Он собирает информацию о Вашем репозитории и проекте и составляет на её основании картинку.
Есть фича с поддержкой тёмной и светлой тем браузера. Да, GitHub так умеет и генератор, соответственно, тоже.
Генератор поддерживает гибкую настройку для каждого репозитория. По-умолчанию он составляет ссылку для banners.beyondco.de, но можно применить свой шаблон
Подробнее об использовании читайте в ридми проекта:
https://github.com/TheDragonCode/github-preview-updater
Быстрый старт:
# .github/workflows/preview.yml
name: Preview Updater
on:
schedule:
- cron: '20 2 * * *'
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
preview:
uses: TheDragonCode/.github/.github/workflows/preview.yml@main
🔥4❤🔥1