Раньше общаясь в интернете с незнакомцами я думал что я просто не умею выражать свою мысль, поэтому все что может быть понято не правильно понималось именно так. А с близкими такой проблемы нету ну потому это же близкие, они хорошо нас знают.
Однако LLM понимает все что я ей пишу даже в весьма двусмысленных ситуациях не зная меня.
Может люди просто не хотят понимать, а не не могут, и предельно точные формулировки нужны не столько для того чтобы тебя поняли, сколько для того чтобы у той стороны не было шанса исказить смысл сказанного.
Однако LLM понимает все что я ей пишу даже в весьма двусмысленных ситуациях не зная меня.
Может люди просто не хотят понимать, а не не могут, и предельно точные формулировки нужны не столько для того чтобы тебя поняли, сколько для того чтобы у той стороны не было шанса исказить смысл сказанного.
👍15💯3⚡2🙏1
Т.е. можно просто взять и запустить докер имедж локально но на мощностях удаленного сервера?
https://dev.to/bobbyiliev/getting-started-with-docker-offload-8ek
https://dev.to/bobbyiliev/getting-started-with-docker-offload-8ek
DEV Community
Getting Started with Docker Offload
As a Docker Captain, I've tested plenty of features, but this one stands out. Docker Offload makes it...
❤1🤯1
Когда я во сне разобрал часы я увидел там некую визуальную абстракцию того что мы называем часовым механизмом. Там было много маленьких вращающихся шестереночек соединенных случайным образом. Это ведь похоже на то как галлюцинирует AI. У меня не было достаточного опыта в ковырянии часов, и я довольствуюсь таким приблизительным образом. Так же и качество модели зависит о качества датасета. А чем он отличается от опыта?
Сегодня AI обучается на артефактах созданных человеком, на опыте человека, он как будто на всю жизнь заперт в библиотеке, а однажды мы увидим модели которые не только прочитали все тексты, но и посмотрели все фильмы, послушали всю музыку и подкасты. МЫ формируем его "представление о мире" скармливая информацию пропущенную через нашу культуру, пороки, убеждения, через призму восприятия которая уже выделила что важно а что нет, что хорошо а что плохо.
А что будет если дать AI возможность формировать свой собственный опыт?
Ну не знаю, может его подключить к массиву датчиков для наблюдении за планетой? Может даже в невидимом нам спектре. Или вовсе за космосом. Что если в конце концов люди станут обогащаться опытом который получил AI, его представлениями и абстракциями, определениями и новыми словами.
Сегодня AI обучается на артефактах созданных человеком, на опыте человека, он как будто на всю жизнь заперт в библиотеке, а однажды мы увидим модели которые не только прочитали все тексты, но и посмотрели все фильмы, послушали всю музыку и подкасты. МЫ формируем его "представление о мире" скармливая информацию пропущенную через нашу культуру, пороки, убеждения, через призму восприятия которая уже выделила что важно а что нет, что хорошо а что плохо.
А что будет если дать AI возможность формировать свой собственный опыт?
Ну не знаю, может его подключить к массиву датчиков для наблюдении за планетой? Может даже в невидимом нам спектре. Или вовсе за космосом. Что если в конце концов люди станут обогащаться опытом который получил AI, его представлениями и абстракциями, определениями и новыми словами.
🤔6💊2🔥1😱1
Кто-то додумался хранить картинки в dns записях. И даже сделал весь необходимый тулинг.
Сохраню на случай если буду играть в Цикаду 3301 в 2029ом
Сохраню на случай если буду играть в Цикаду 3301 в 2029ом
Asherfalcon
Asher Falcon
Asher Falcon's personal website - Software engineer and student
В книге об армейских обычаях, "неуставных" правилах и традициях выпуска годов тае 60-х девятнадцатого века прочитал о поговорках, некоторые, а силу упортебимости и сейчас, запомнились.
Среди них была и поговорка "Так, сказал бедняк", произносимая старшим офицером, когда подразделение получало задание, не обеспеченное материальными ресурсами. Младшим офицерам традицией предписывалось хором отвечать начальству "и хером расколол полено", после чего начиналось обсуждение операции. В случае если старший командир в чине подполковника или выше, отвечать вслух категорически не следовало.
Возьмем на вооружение
😁10
Сегодня я узнал что .catch без колбэка - ничего не словит.
(ранее я всегда туда передавал колбэк, и не знал что будет если так не делать, из-за чего не сразу опознал в коде место ошибки);
На примерах:
Cледующий код все равно выбросит ошибку
Поэтому чтобы заглушить ошибку нужно как минимум передать в catch колбэк
Думаю это было сделано для того чтобы можно было делать условный catch
(если вы не знаете что такое`void 0` - это тоже самое что длинное undefined. В прод коде мне так "почему-то" не разрешают писать, так что отрываюсь на своих читателях : )
(ранее я всегда туда передавал колбэк, и не знал что будет если так не делать, из-за чего не сразу опознал в коде место ошибки);
На примерах:
Cледующий код все равно выбросит ошибку
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch()Поэтому чтобы заглушить ошибку нужно как минимум передать в catch колбэк
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch(() => void 0)Думаю это было сделано для того чтобы можно было делать условный catch
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch(wantToCatch ? () => void 0 : void 0)👍10
Поговорим о необычных девайсах, слышали про laptop dock?
Последнее время я очень пристально слежу за рынком Mini PC. (присматриваю себе домашний веб сервер для своих проектов)
И удивительное дело - в коробочки размером с роутер (а то и меньше) запихивают внушительные мощности,
Конкуренция бешеная, beelink, minisforum, gmktec предлагают на выбор варианты от $100 до $2000.
Па паре вариантов есть у Lenovo, Nvidia, Corsair
Ну вот например Ryzen R7 (4.7GHz) 24GB RAM, 500GB за $299. Ноутбук за 300$ - это будет какой-нибудь chromойбук с 8GB RAM, 64 GB SSD и телепающимся всем.
И скажем честно, клавиатуры, мониторы и аккумуляторы последнее время качественно не продвинулись, их не нужно так часто апгрейдить как процессор, память и мать.
И я подумал - блин дайте мне скелет ноута в котором есть только батарейка, клавиатура тачпад да монитор, порт по которому все это можно подключить к внешнему пк (в первую очередь к микро пк) и получится бесконечно обновляемый на любую хрень девайс.
Конечно остается челедж как случайного размера коробочку, пусть и маленькую, к нему прицепить...
Кстати, в него можно было б подключить и мой смартфон, (который едва ли уступает типичному офисному ноуту).
А если у вас уже есть steam deck... на него же можно деалбут поставить!
Вообщем я пошел мучить интернет и внезапно (для меня) такой девайс есть
- nexdock-xl
- uperfect-x
- EVICIV
Последнее время я очень пристально слежу за рынком Mini PC. (присматриваю себе домашний веб сервер для своих проектов)
И удивительное дело - в коробочки размером с роутер (а то и меньше) запихивают внушительные мощности,
Конкуренция бешеная, beelink, minisforum, gmktec предлагают на выбор варианты от $100 до $2000.
Па паре вариантов есть у Lenovo, Nvidia, Corsair
Ну вот например Ryzen R7 (4.7GHz) 24GB RAM, 500GB за $299. Ноутбук за 300$ - это будет какой-нибудь chromойбук с 8GB RAM, 64 GB SSD и телепающимся всем.
И скажем честно, клавиатуры, мониторы и аккумуляторы последнее время качественно не продвинулись, их не нужно так часто апгрейдить как процессор, память и мать.
И я подумал - блин дайте мне скелет ноута в котором есть только батарейка, клавиатура тачпад да монитор, порт по которому все это можно подключить к внешнему пк (в первую очередь к микро пк) и получится бесконечно обновляемый на любую хрень девайс.
Конечно остается челедж как случайного размера коробочку, пусть и маленькую, к нему прицепить...
Кстати, в него можно было б подключить и мой смартфон, (который едва ли уступает типичному офисному ноуту).
А если у вас уже есть steam deck... на него же можно деалбут поставить!
Вообщем я пошел мучить интернет и внезапно (для меня) такой девайс есть
- nexdock-xl
- uperfect-x
- EVICIV
❤7⚡2👍1🔥1
Что не так с этим кодом?
В парадигме JavaScript все хорошо, а вот для Typescript тут есть подляна - мы потеряли вывод возвращаемого типа из
К сожалению typescript на такое не ругается, и найти это место бывает сложно, так что лучше иметь ввиду и фолбечиться на
Живой пример
#typescript
const data = await (id ? getData(id) : {})В парадигме JavaScript все хорошо, а вот для Typescript тут есть подляна - мы потеряли вывод возвращаемого типа из
getData, отвалились подсказки, и хуже того дальше оно "растекается по коду" превращая все в тип `{}`с чем пересекается.К сожалению typescript на такое не ругается, и найти это место бывает сложно, так что лучше иметь ввиду и фолбечиться на
null или undefined. Живой пример
#typescript
www.typescriptlang.org
TS Playground - An online editor for exploring TypeScript and JavaScript
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
👍9
США запретили в Китай продавать мощные железки, так что они начали делать свои.
Теперь у них даже своя китайская NVidia есть - называется Lisuan.
Запомните это название, они уже выпустили свой аналог RTX 4060, только с 24 GB DDR6 памяти. Цена пока не известна, но что то мне подсказывает, что с субсидиями государства она должна быть ощутимо дешевле конкурентов на внутреннем рынке
Теперь у них даже своя китайская NVidia есть - называется Lisuan.
Запомните это название, они уже выпустили свой аналог RTX 4060, только с 24 GB DDR6 памяти. Цена пока не известна, но что то мне подсказывает, что с субсидиями государства она должна быть ощутимо дешевле конкурентов на внутреннем рынке
👍6
Пока все встраивают AI в свои инструменты wallaby решил сделать новые инструменты чтобы было проще дебажить сгенерированный говнокод.
По ссылочке есть видео и больше информации
https://wallabyjs.com/blog/diagrams.html
По ссылочке есть видео и больше информации
https://wallabyjs.com/blog/diagrams.html
👍8
Наконец-то в Linux появился реально классный графический редактор которого так не хватало!
Он только только вышел, а уже очень меня радует.
Во первых все интуитивно понятно, во вторых - работает очень быстро. При этом он умеет в вектор, растр, пиксель арт, анимацию, процедурную генерацию, подготовку спрайтов, генерацию на нодах
С горой документации, и видео туториалами.
и все это FOSS, , и судя по родмапу это они только начали.
(Заставка сделана в нем через минуту после установки)
https://pixieditor.net/download/
Он только только вышел, а уже очень меня радует.
Во первых все интуитивно понятно, во вторых - работает очень быстро. При этом он умеет в вектор, растр, пиксель арт, анимацию, процедурную генерацию, подготовку спрайтов, генерацию на нодах
С горой документации, и видео туториалами.
и все это FOSS, , и судя по родмапу это они только начали.
(Заставка сделана в нем через минуту после установки)
https://pixieditor.net/download/
🔥8👍4⚡2
Опрос - вы знаете в чем разница между **мега**байтами и **меби**байтами?
Anonymous Poll
12%
Да, я знаю, и мне нравится когда указывают в единицах Mib
33%
Да, я знаю, но мне привычнее Mb
39%
Нет, мне нужно гуглить что это
16%
Хочу посмотреть результаты
В Typescript что вышел пять дней назад (5.9) завезли фичу - разворачивающихся подсказок с типами
https://devblogs.microsoft.com/typescript/wp-content/uploads/sites/11/2025/06/expandable-quick-info-1.mp4
Что еще там:
-
-
- кэширование которое значительно улучило перф ts-a при работе с такими либами как как Zod и tRPC
-
Брейкинг Ченжи в lib.d.ts:
- ArrayBuffer это больше не супертип для всех TypedArray
Миграция выглядит вот так:
https://devblogs.microsoft.com/typescript/wp-content/uploads/sites/11/2025/06/expandable-quick-info-1.mp4
Что еще там:
-
import defer - импорт модулей которые будут инициализированы лениво -
--module node20 - флаг с которым можно рекваерить (require) esm модули- кэширование которое значительно улучило перф ts-a при работе с такими либами как как Zod и tRPC
-
fileOrDirectoryExistsUsingSource - убирает лишние обертки над функциями из анализа улучшая время старта tsserver на 11% Брейкинг Ченжи в lib.d.ts:
- ArrayBuffer это больше не супертип для всех TypedArray
Миграция выглядит вот так:
let data = new Uint8Array([0, 1, 2, 3, 4]);
- someFunc(data)
+ someFunc(data.buffer)
👍9❤1🔥1
Work & Beer Balance
В Typescript что вышел пять дней назад (5.9) завезли фичу - разворачивающихся подсказок с типами https://devblogs.microsoft.com/typescript/wp-content/uploads/sites/11/2025/06/expandable-quick-info-1.mp4 Что еще там: - import defer - импорт модулей которые…
Странная история с этой фичей - сначала она была добавлена
Потом ее ревертнули
Потом снова замержили
и сейчас она как бы есть но почему-то ни у кого не работает
Потом ее ревертнули
Потом снова замержили
и сейчас она как бы есть но почему-то ни у кого не работает
Visualstudio
November 2024 (version 1.96)
Learn what is new in the Visual Studio Code November 2024 Release (1.96)
😁4🤔1
Мне всегда было интересно а что там будет если превысить MAX_SAFE_INTEGER.
Понятно что ничего хорошего, но все же, что именно?
Произойдет "квантование", или по простому - снижение точности.
Сначала JS перестает "видеть" разницу между числами которая 2 и меньше. И чем дальше тем точность больше будет "загрубляться"
Чтобы легко было запомнить, я представил себе что это такой динамический LOD - когда текстуры и модели в игре начинают терять детализацию по мере отдаления от камеры игрока.
Немного душноты для тех кому интересна техническая часть
Понятно что ничего хорошего, но все же, что именно?
const x = Number.MAX_SAFE_INTEGER + 1;
const y = Number.MAX_SAFE_INTEGER + 2;
console.log(x === y); // true
// YES. BUT
const a = Number.MAX_SAFE_INTEGER + 111
const b = Number.MAX_SAFE_INTEGER + 112
console.log(a === b) // false
Произойдет "квантование", или по простому - снижение точности.
Сначала JS перестает "видеть" разницу между числами которая 2 и меньше. И чем дальше тем точность больше будет "загрубляться"
Чтобы легко было запомнить, я представил себе что это такой динамический LOD - когда текстуры и модели в игре начинают терять детализацию по мере отдаления от камеры игрока.
Немного душноты для тех кому интересна техническая часть
Это связано с тем, как IEEE 754 представляет числа. После MAX_SAFE_INTEGER шаг между представимыми числами становится 2, затем 4, затем 8 и т.д. +1 и +2 попадают в один "слот", а +111 и +112 — в разные.
Мантисса: 52 бита + 1 скрытый бит = 53 значащих бита, и при превышении 2^53 младший бит мантиссы представляет 2 единицы, не 1
🔥5👍2
Только что у узнал что у fedora есть atomic версия - это иммутабельная система где все графические приложения устанавливаются только через flatpack, а cli и либы через Toolbx/Distrobox
❓Почему это круто и почему я сейчас же это попробую:
Я часто что-то билжу у себя локально. Ну например - вчера я собирал демку для моего ESP32 устройства в новом для себя фреймворке Espressif IDF.
Для того чтобы она собралась надо поставить зависимости в систему. МНОГО зависимостей.
В последствии я вероятно перелезу на что-то еще, а весь этот хлам так и останется в системе.
А на прошлой неделе я собирал кастом прошивку на мой принтер - и там была аналогичная ситуация.
В итоге:
🔻 Cистема обрастает хламом который нужен одному конкретному проекту
🔻 Вероятность словить конфликты зависимостей каждый раз возрастает
🔻 dnf обрастает кучей лишних репозиториев которые замедляют обновление.
Я думаю вы теперь понимаете почему что-то во мне каждый раз кричит о том что это все не правильно, и все равно что зависимости каждого js проекта ставить с флагом
Как я пытался это решать:
🔸Docker.
Для некоторых проектов я собирал докер образ внутрь которого создавалось окружение и происходил билд . В целом схема рабочая, но это потеря времени на написание докер файла. К тому же если билд таким образом получится сделать, то вот подебажить или поработать из иде внутри контейнера уже проблематично.
🔸 Dev Containers
В целом это тоже самое что первый пункт но без минуса - теперь можно работать внутри него.
Цена - нормально поддерживается только в vscode (в zed вроде тоже можно но я не осилил), и писать конфиг dev контейнера на практике оказалось ничуть не проще, а порой даже сложнее чем докер файл
🔸 Devbox
Решение на базе Nix. Иногда это работает, особенно в популярными экосистемами такими как у rust, go, js или python. Что-то более редкое, различные репы на C++ / C или Zig оказалось запускать в этом окружении
Во многом оно просто работает только в том случае, если до вас кто-то уже отстрадал и потом еще обновляет и поддерживает результат своих страданий.
Самому менеджить никс и создавать в нем пакеты оказалось в 10 раз сложнее чем дев контйенеры! К тому же изоляция не "настоящая" и ограниченна переменными окружения - C пакеты с makefile клали на них большой болт
🧩А вот что предлагает atomic.
🔹 GUI приложения → Flatpak
🔹 CLI инструменты → Toolbx/Distrobox
🔹 Системные компоненты → rpm-ostree layering
rpm-ostree layering работает похоже на git - можно легко откатиться на любой состояние системы с снова вернуться к нему (полезно например для определения что вызвало баг)
Кроме того любой системный пакет можно восстановить на "родное состояние"
❓Почему это круто и почему я сейчас же это попробую:
Я часто что-то билжу у себя локально. Ну например - вчера я собирал демку для моего ESP32 устройства в новом для себя фреймворке Espressif IDF.
Для того чтобы она собралась надо поставить зависимости в систему. МНОГО зависимостей.
sudo dnf install flex bison gperf cmake ninja-build ccache libffi-devel openssl-devel dfu-util libusb1-devel
В последствии я вероятно перелезу на что-то еще, а весь этот хлам так и останется в системе.
А на прошлой неделе я собирал кастом прошивку на мой принтер - и там была аналогичная ситуация.
В итоге:
🔻 Cистема обрастает хламом который нужен одному конкретному проекту
🔻 Вероятность словить конфликты зависимостей каждый раз возрастает
🔻 dnf обрастает кучей лишних репозиториев которые замедляют обновление.
Я думаю вы теперь понимаете почему что-то во мне каждый раз кричит о том что это все не правильно, и все равно что зависимости каждого js проекта ставить с флагом
--globalКак я пытался это решать:
🔸Docker.
Для некоторых проектов я собирал докер образ внутрь которого создавалось окружение и происходил билд . В целом схема рабочая, но это потеря времени на написание докер файла. К тому же если билд таким образом получится сделать, то вот подебажить или поработать из иде внутри контейнера уже проблематично.
🔸 Dev Containers
В целом это тоже самое что первый пункт но без минуса - теперь можно работать внутри него.
Цена - нормально поддерживается только в vscode (в zed вроде тоже можно но я не осилил), и писать конфиг dev контейнера на практике оказалось ничуть не проще, а порой даже сложнее чем докер файл
🔸 Devbox
Решение на базе Nix. Иногда это работает, особенно в популярными экосистемами такими как у rust, go, js или python. Что-то более редкое, различные репы на C++ / C или Zig оказалось запускать в этом окружении
Во многом оно просто работает только в том случае, если до вас кто-то уже отстрадал и потом еще обновляет и поддерживает результат своих страданий.
Самому менеджить никс и создавать в нем пакеты оказалось в 10 раз сложнее чем дев контйенеры! К тому же изоляция не "настоящая" и ограниченна переменными окружения - C пакеты с makefile клали на них большой болт
🧩А вот что предлагает atomic.
🔹 GUI приложения → Flatpak
flatpak install org.mozilla.firefox
flatpak install com.visualstudio.code
🔹 CLI инструменты → Toolbx/Distrobox
# Создание изолированного контейнера
toolbox create my-container
# Работа внутри контейнера
toolbox enter my-container
# Внутри контейнера - обычная Fedora!
sudo dnf install nodejs python3-pip docker vim
pip install poetry
npm install -g typescript
code .
# Выходим из контейнера и удаляем когда не нужен вместе со всеми зависимостями
exit
toolbox rm my-container
🔹 Системные компоненты → rpm-ostree layering
# Только для критичных системных пакетов
rpm-ostree install zsh fish
# Требует перезагрузки!
systemctl reboot
rpm-ostree layering работает похоже на git - можно легко откатиться на любой состояние системы с снова вернуться к нему (полезно например для определения что вызвало баг)
Кроме того любой системный пакет можно восстановить на "родное состояние"
# Заменить системный пакет на другую версию
rpm-ostree override replace /path/to/custom-kernel.rpm
# Откатить замену
rpm-ostree override reset kernel
❤9👍2🔥2