Work & Beer Balance – Telegram
Work & Beer Balance
1.54K subscribers
117 photos
5 videos
4 files
187 links
Авторский канал @Akiyamka
Поддержать автора можно здесь:
buymeacoffee.com/cherrytea
Download Telegram
Если вы хотите вывести тип на экран, чтобы он все время был перед глазами, а не только по наведению. используйте комментарий // ^? на следующей строке, так, чтобы символ ^ указывал на интересующий вас токен

Забавно, но claude это объяснить не может

P.S. @khraks_mamtsov подсказал что можно еще писать в той же строке // =>, если ваш токен последний в ней
🤯8
Если вы записывайте обучающие видосы на ютуб, в надежде там заработать то у меня для вас прекрасная новость =)
Если просто перезалить эти видео на, скажем, порнохаб, монетизация будет в 3 раза больше

Спасибо моим подписчикам, выяснилась интересная деталь: история эта выдуманная
https://news.1rj.ru/str/yashernet/5648
😁2
В Ирландии предусмотрен тюремный срок на 18 месяцев и штраф 60000$ за не устранение проблем с доступностью по стандартам EAA.
Осудить могут как директора компании, так и секретаря, менеджера и других сотрудников чья вина будет установлена.

Ну а как еще заставить их достать эти задачи из бэклога вместо того чтобы делать новые фичи!?

P.S. Я знаю что доступность это не только и не столько про aria атрибуты
😁8🔥3❤‍🔥11
С учетом того как современные AI ассистенты хорошо умеют писать простые приложения, и как они плохо справляются с внесением граунлярных и ограниченных изменений в большие и сложные монолиты, кажется что у микросервесной архитектуры хорошие перспективы.
👍7👎2💅1
Рубрика - завожу ишьюсы firefox

В случае если Json пришедший с бэка большой (в моем случае - 4mb) - в девтулах мы увидим сообщение "Response has been truncated". Простительно, мы ведь хотим чтобы наши девтулы работали быстро, тем более что специально для такого случая у нас есть пункт в контекстном меню который сохраняет... такой же обрезанный json.

Обходной путь - поднять значение свойства - devtools.netmonitor.responseBodyLimit в about:config до нужного (1MiB по дефолту)

мой ишьюс
😁11
Что выведется в консоль?
(Внимание, вопрос с подвохом)

Ответ: ничего
🗿3
SimdJSON
Самая быстрая многопоточная парсилка json на диком западе, парсит в бенчах со скоростью 3.4 гигабайта в секунду на Intel Skylake (3.4 GHz).
💅9
Любопытное. Аишка перепутала какой там надо было дергать метод с похожим по смыслу, и подсмотрела в своем же коде который недавно сгенерировала.

"Ёпт, как там было..."
👍6😱3
Прощу прощения за мыльные скрины.
Встроенный скриншотер гнома плохо дружит с скейлингом вейланда, и эту слехка заблюреную картинку добивает сверху сжатие телеги...
Самый большой ВАУ эффект от AI-шных кодогенераторов, когда не особо понимаешь что она там сгенерила, но программа работает.
Т.е. джависты балдеют от того как она генерит верстку, а я балдею от того как она пишет мне код на rust.
Любая достаточно развитая технология неотличима от магии.

К чему это я? К тому что уже сейчас генерируется много кода без должного присмотра.
И дальше мы все реже будет присматривать за ней по ряду причин.

И тут перспектива становится мутной.

Если LLM учится на частично или полностью с генерированных материалах - это приводит деградации ее качества
А начиная со времени X весь новый код будет частично или полностью сгенерирован даже без должного аудита со стороны человека.

Значит ли это что LLM перестанут обучатся и весь наш код "застынет" на уровне 2023 года?
Или вклад продолжат делать принципиальные "антиаишники"?
Какие еще выходы из этой ситуации вы видите?
2💯1
В EA-Games сделали свой ЯП - jank
Если я правильно понял то это Closure, но с JIT и который умеет собираться в нативный бинарник.

Ждем первый игровой движок на кложе!
👍21🔥1🤯1
Обычно я не анонсирую релизы vscode, но тут случай особенный.

Судя по всему на горе таки свиснул рак, и в 1.96 версии VSСode появился автоимпорт при вставке кода.
Ура товарищи. На фоне этого даже теперь бесплатный codepilot не впечатляет, чесслово.

Впрочем, вам понравится какое применение они для него нашли - в vscode обычно довольно больно настроить дебагер для вашего сетапа.
Приходятся писать launch.json, искать что туда написать, или ставить специальные плагины которые добавят новую кнопочку для запуска дебагера.

Теперь вы можете перед командой запуска вашей апки добавить copilot-debug (например copilot-debug vitest или copilot-debug python main.py) после чего vscode спомощью аишки сам раздуплит что у вас и как в проекте лежит, сгенерит конфиг, и запустит дебагер. Круто? Офигенно! Такое применение LLM мне нравится куда больше чем встроенный по-всюду чат!

Кстати о нем, копайлот теперь можно перетаскиванием в чат добавлять контекст, и ссылаться не на файлы а на символы в проекте, и добавили "инлайн" чат прямо в документе, как в редакторе zed.

Что там интересного еще завезли:
- Красивую подсветку не покрытого тестами кода, перфекционисты оценят
- Панельки можно теперь сделать и справа и слева и разложить по ним разные вьюшки (а это оценят любители больших IDE и больших мониторов)
- Лигатуры в встроенном терминале
- Поиск по файлам в explorer переделали, теперь он не скрывает то что не совпало, а просто подсвечивает, и показывает цифрами на папках где сколько результатов было найдено
- При просмотре markdown теперь можно запускать код описанный в нем, и смотреть что выводит.

Так же было анонсировано, что скоро весь рендеринг кода переедет на gpu (webgl)

подробнее и с картинками здесь
🔥13👍3💩21👀1
{MAJOR}.{MINOR}.{PATCH}
Но
0.{MAJOR}.{MINOR or PATCH}

А вы знали что в SemVer если major равен нулю, то все минорные изменения считаются ломающими (breaking changes)?
(как это описано в спеке, спасибо @BANOnotIT)

Я узнал об этом из статьи
Antfu, где он предлагает добавить ещё одну цифру в версионирование - EPOCH.

{EPOCH}.{MAJOR}.{MINOR}.{PATCH}

В кратце идея в том, что бы можно было отличить маленькие ломающие изменения и большие крупные измерения которые очень сильно меняют апи, архитектуру и майндсет в целом
💯5
Work & Beer Balance
{MAJOR}.{MINOR}.{PATCH} Но 0.{MAJOR}.{MINOR or PATCH} А вы знали что в SemVer если major равен нулю, то все минорные изменения считаются ломающими (breaking changes)? (как это описано в спеке, спасибо @BANOnotIT) Я узнал об этом из статьи Antfu, где он…
Идея хорошая, но хотелось бы иметь что-то обратно совместимое с semver, слишком много софта даже за пределами js экосистемы полагается на то что числа будет три (включая мои bash скрипты, например), да и существование двух параллельных систем версионирования в npm создаст много головной боли.

Я бы предложил реализовать EPOCH не ломающим способом, где эпоха обозначается тысячами в мажоре. Например переход на новый EPOCH мог бы выглядеть так:
1001.2.3 -> 2000.0.0

В таком виде даже уже существующие пакеты могут перейти на этот формат ничего не сломав:
1.2.3 -> 1001.2.3
🤔3
Если вам, как мне, периодически хочется написать какую-то утилиту для которой сli не достаточно - обратите внимание на webview.
Это интересный вариант, как сделать графический интерфейс на веб технологиях и без электрона.

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

P.S. Лично мне зашел Neutralino.js, он очень простой и компактный, хотя и немного ограничен по функционалу.
Так же интересно выглядит супер компактный wails, если вас так же как и меня смущают бинарники на сотни мегабайт

#webview
👍3💩2🤔1
Интересные моменты из доклада о JS движке - "Nova", который пишется как "самый интересный движок на rust" человеком из комьюнити Deno

🔸Под капотом использует парсер OXC
🔸 В нем вообще нету AST для VM.
🔸Дизайн движка - DoD (Data Oriented Design).
🔸Ориентирован на экономию места в кэше, для того чтобы сделать максимально быстрым доступ к большинству базовых вещей в js.
🔸 Исходный код структурирован так чтобы отражать EcmaScript спеку 1 в 1. В плане - папки с кодом названы так же как разделы спеки, например.

Что интересного можно узнать из доклада:

🔹в ARM архитектуре заложены специальные инструкции для работы с числами, то как с дробными, то как с целыми, в зависимости от операций, что идеально ложится на то как Number работает в js (совпадение?)

🔹v8 хранит числа попадающие в i32 прямо в стеке, вперемешку вместе с ссылками на другие типы, которые тоже представлены как числа. Значения которые являются настоящими числами а не ссылками специальным образом помечаются. JavaScriptCore поступает аналогично, но хранит в стеке f64.
Это позволяет работать с числами очень быстро, но подобный код считается небезопасным (unsafe) в парадигме rust. Кроме того это полностью ломает управление кэшами в ARM (как то связано с криптографией, но этот момент не был достаточно раскрыт).

🔹Вместо этого в Nova решили использовать Enum для хранения типа, и Vec для хранения значения, что позволило упаковать указатели, и реализовать Value (u8, u32).
В оставшиеся 7 байт впихнули самые популярные строки которые используются в js - value, length, data, т.е. они тоже хранятся в стеке и к ним очень быстрый доступ.

🔹 Вместо того чтобы наследовать все не примитивные типы от объекта, т.е. в стиле ООП, используется компонентный подход. Например массивы не наследуются от объекта, а изначально тупые и приближенные к нативному массиву, так как в основном они используются в таком виде, и только в случае если массив используется каким-то способом специфичным для js (например при попытке перебрать свойства прототипа, или добавить новое свойство, т.е. не числовой индекс и и.т.п) создается обертка в виде объекта, что замедляет "странное" использование массивов, но сильно ускоряет "обыкновенное"

🔹Окончание доклада немного скомканное, т.к. у докладчика заканчивалось время, но насколько я понял, благодаря расту им удалось сделать очень быстрый сборщик мусора, так как движок, в силу особенностей работы с памятью в расте, помечает что нужно почистить прямо в то время, как закончил работу с объектом, так что сборщику не нужно потом прыгать по памяти в поиске того что нужно почистить.
(Этот пункт я возможно понял вообще не правильно)
Больше деталей о сборщике мусора и его особенностях есть в блоге автора, там же добавляет что после его доклада многие заинтересовались и присоединились к проекту, и его так же пригласили рассказать о движке на митинге TC39

Ссылка на доклад
Ссылка на реп
👍16🤯4🙏1🎄1
DOGE команда Илоны недавно получила доступ к финансовым базам данных США. Уже тогда было понятно что ничем хорошим это не закончится, но было интересно как именно они нафакапят.

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

https://www.huffpost.com/entry/elon-musk-doge-posts-classified-data_n_67ae646de4b0513a8d767112
🤡6👎1😁1😢1🤣1
Если вы еще не подписаны на этих ребят, обязательно зацените:

🔹Фронтенд для души
Здесь разрабы не просто двигают кнопки и лутают деньги, а создают шедевры!
Канал с вдохновляющим фронтенд комьюнити, фичами, которых нет в других источниках, регулярными трендовыми идеями и книгами.

🔹 @sysadmin1 - специальный канал для сетевых и системных администраторов, а также инженеров DevOps

🔹cherkashin.dev — фронтенд разработчик в американской компании. Написал расширение Яндекс.Музыки для VS Code.

🔹 Злой полицейский - канал тимлида/разработчика/SOER’а.
Делюсь мыслями про веб, программирование, инструменты, WordPress, Joomla, Laravel, MoonShine, мотивацию, психологию, фильмы, сериалы.

🔹Kobezzza. База в программирование
Канал посвящен промышленной разработке, работе в Бигтехах, фундаментальным основам программирования, Computer Science. Автор канала Андрей Кобец , ex-Яндекс, в разработке 20 лет.

🔹@artalog - Канал автора reatom (стейт менеджер на сигнало-подобной апи, как нибудь расскажу про него подробнее). Постит годноту, и холиварные темы, не соскучитесь
🔥11👍3💩2🍌1