es
Feedback
Panic! At the 0xC0D3

Panic! At the 0xC0D3

Ir al canal en Telegram

Пишу что-то про разработку

Mostrar más
El país no está especificadoLa categoría no está especificada
205
Suscriptores
Sin datos24 horas
-17 días
-130 días

Carga de datos en curso...

Canales Similares
Sin datos
¿Algún problema? Por favor, actualice la página o contacte a nuestro gerente de soporte.
Nube de Etiquetas
Sin datos
¿Algún problema? Por favor, actualice la página o contacte a nuestro gerente de soporte.
Menciones Entrantes y Salientes
---
---
---
---
---
---
Atraer Suscriptores
junio '26
junio '260
en 0 canales
mayo '26
+1
en 0 canales
Get PRO
abril '26
+9
en 0 canales
Get PRO
marzo '260
en 0 canales
Get PRO
febrero '26
+1
en 0 canales
Get PRO
enero '260
en 0 canales
Get PRO
diciembre '25
+14
en 0 canales
Get PRO
noviembre '25
+3
en 1 canales
Get PRO
octubre '25
+40
en 0 canales
Get PRO
septiembre '250
en 0 canales
Get PRO
agosto '25
+3
en 1 canales
Get PRO
julio '250
en 0 canales
Get PRO
junio '25
+56
en 0 canales
Get PRO
mayo '250
en 0 canales
Get PRO
abril '25
+1
en 2 canales
Get PRO
marzo '250
en 0 canales
Get PRO
febrero '250
en 0 canales
Get PRO
enero '25
+1
en 0 canales
Get PRO
diciembre '240
en 0 canales
Get PRO
noviembre '24
+3
en 0 canales
Get PRO
octubre '240
en 0 canales
Get PRO
septiembre '240
en 0 canales
Get PRO
agosto '24
+6
en 0 canales
Get PRO
julio '240
en 0 canales
Get PRO
junio '24
+69
en 0 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
08 junio0
07 junio0
06 junio0
05 junio0
04 junio0
03 junio0
02 junio0
01 junio0
Publicaciones del Canal
photo content
+1

2
I use arch btw В годы бреинрота и клодов, казалось бы, терминал должен умирать, и заменяться красивыми гуишками. Но мне кажется (тут чистая спекуляция по вайбам 2х часов ночи), что в последнее время терминал наоборот приобрел популярности. И мне кажется, что немалая заслуга в этом у Go и Rust. Потому что для меня использование терминальной утилиты 5 лет назад выглядело как "загуглить тулзу, открыть man pages, пострадать, пойти в стаковерфлоу, скопировать что там написали", в то время как сейчас я очень часто просто нахожу ответ из --help. Потому что UX стал лучше. Просто сравните аутпут pip install --help и uv pip install --help на скриншотах. Мало того, часто он мне просто не нужен: потому что fdfind json просто работает, а find . -name "*.json" надо запомнить А заслуга Go и Rust тут в том, что у обоих есть отличные и мощные библиотеки для парсинга аргументов, поддерживающие примерно одинаковый стиль, современные фичи типа цветов и автогенерации из кода. Помимо этого, я не один раз видел комментарии вида "я хотел написать gui, но попробовал ratatui (terminal ui библиотека на расте), и теперь это моя любимая библиотека!" Людям нравится писать терминальные утилиты с помощью библиотек, которые упрощают скучную часть, и создают приятный UX из коробки. А сами языки не мешаются под ногами, и делают эти инструменты быстрыми (кхм кхм питон кхм) Но все эти утилиты часто надо искать самому. И тут возвращаемся к арчу. Для незнающих, арч это такой bare minimum линукс с приятным пакетным менеджером, в котором есть около все; поэтому когда вы ставите арч, у вас ничего нет, но все ставится одной командой. Потому что когда я написал tree в терминал и мне выдало "не найдено", у меня промелькнула мысль в голове "ачевсмысле это не встроено в линукс?" и сразу следом "хмм а может быть поставить не самый дефолтный tree, а помоднее?". И теперь у меня есть alias tree=broot. А потом я задумался, а какие новомодные команды есть еще? И теперь у меня есть alias vim=helix alias find=fdfind alias cat=bat alias tree=broot alias grep=ripgrep alias ls=exa alias tmux=zellij И со временем для меня терминал перестал быть страданием и чтением man pages, а реально удобным инструментом, в котором я могу сделать вещи быстрее, чем тыкать кнопочки в gui. Забавно, что для того, чтобы получить нормальный UX, надо было чтобы не за меня все решали, а чтобы мне стало удобно решать самому.
214
3
Зачем вам типы если вы их игнорируете Я устал поэтому просто побугурчу Сколько ворнингов/ошибок должен выдать такой код? constexpr std::array<int64_t, 3> a{1, 2}; std::cout << a[3]; Тут будет 0 ошибок и ворнингов с -Wall -Wextra -Wpedantic А если так? constexpr int64_t a[3] = {1, 2}; std::cout << a[3]; Тут компилятор догадается, что a[3] это какая-то лажа, но вот что ты массив из 3х элементов двумя инициализируешь ему норм ууу сссука У вас вся информация в системе типов есть, почему нельзя быть как раст: (у раста при этом эти переменные не constexpr даже!) let a: [u32; 3] = [1, 2]; dbg!(a[3]); error[E0308]: mismatched types --> <source>:2:23 | 2 | let a: [u32; 3] = [1, 2]; | -------- ^^^^^^ expected an array with a size of 3, found one with a size of 2 | | | | | help: consider specifying the actual array length: 2 | expected due to this error: this operation will panic at runtime --> <source>:3:10 | 3 | dbg!(a[3]); | ^^^^ index out of bounds: the length is 3 but the index is 3 | = note: #[deny(unconditional_panic)] on by default Ну даже если причины это легаси, почему ворнинг то показать нельзя аааа Че бугуртить то Для меня главный юзкейс типов это то, что код легко рефакторить. Ты чето поменял, у тебя компиляция упала везде, где сломалось А тут мы видим, что если у тебя был код вида constexpr std::array<int64_t, SOME_CONST> a{1, 2}; И ты поменял константу на +1, то плюсы сожрут и ничего не скажут.
2 037
4
jj log Тут больше всего подходит фраза "с большой силой приходит большая ответственность". В гите есть большой плюс - в простом воркфлоу ты работаешь с понятными тебе вещами - названиями веток. Коммит хэш ты используешь довольно редко, обычно, когда что-то сломалось. В jj, log - это твоя самая популярная команда (в том числе потому что нет интеграций с ide), и самый большой вопрос в интерфейсе у меня к ней. Все команды ты делаешь с ревизиями, где ревизия - это либо коммит хэш, либо что-то на их языке запросов (например @- - предыдущий коммит). И блин, я привык использовать человеческий текст а не случайный набор из 4х букв для хождения по репозиторию. Т.е. если я хочу потестить другой эксперимент, мне нужно: 1. Открыть jj log 2. Найти в нем интересующую ревизию 3. Запомнить(!!!) четыре случайных буквы 4. Выполнить jj new abcd А если я хочу сделать мердж, то нужно запомнить 2 набора из четырех букв. И вот тут уже "ux сделанный для людей" превращается в "ux сделанный для людей с хорошей памятью на рандомные наборы букв" Имхо это главная вещь, с которой я бы попробовал что-то сделать (но я тоже слабо понимаю как) Прежде чем эксперты jj (лол) начнут писать комментарии, стоит сказать: 1. jj пытается тебе помочь с коммит хешами - он показывает минимальный префикс, который тебе нужен чтобы указать на эту ревизию (например, по началу надо будет запоминать 1-2 буквы, но с ростом коммитов буковок становится больше...) 2. Справедливости ради, тут скорее jj открыл мне возможность свободно ходить по ревизиям, и в гите была бы +- такая же проблема - запоминать названия веток или тех же коммит хешей 3. В jj можно указать коммит по дескрипшену: jj new "description(some text)". И это в целом помогает (меня только бесит слишком длинное название функции) 4. В jj все еще можно так же юзать "ветки" (bookmarks). Но прикол в том, что в гите ты зафоршен юзать их, а в jj они опциональны, и поэтому естественно ты в какой-то момент забудешь тегнуть коммит букмарком, и из-за этого воркфлоу не супер стабильный 5. Есть jjui - интерактивная тулза, в которой запоминать нужно сильно меньше. Но у нее опять свои кнопочки и опять чему-то учиться и я пока не успел. В итоге, я доволен. Потому что я не страдаю, а если и страдаю, то с понятными проблемами типа "блин я потерял старый коммит в большом логе", а не "епт какую тут команду вообще использовать". Но learning curve у jj я бы сказал довольно высокий. Порекомендовать я могу это только людям, которых бесит гит и они готовы потратить время на изучение новой тулзы. К сожалению, за 5 минут ты на нее не пересядешь.
773
5
jj крута Посидел я на jj где-то месяц, и... это офигенно. Сначала опишу мой основной юзкейс для VCS: * Делать много изменений на основе базового коммита, свитчится между ними и сравнивать * Делать "снепшоты" in-development версий - т.е. условная фича еще полностью не готова, но хочется какой-то стейт аля "оно хотя бы билдится" зафиксировать * Делать "снепшоты" экспериментов - т.е. тут вообще любой стейт от "изменил константу в конфиге" до "переписал половину кода", на котором был запущен эксперимент, и хочется этот стейт сохранить на будущее Т.е. у меня по большей части не обычный "гит воркфлоу", где делаешь фичу, мержишь, делаешь новую, а эдакий стейт "тещу 20 фичей какая заработает" И jj для этого идеален Почему: * WORKING COPY IS A PART OF A COMMIT ХОСПАДЕ НИКАКИХ СТЕШЕЙ ВСЁ ВСЕГДА СОХРАНЕНО АААА * Свитч между двумя версиями буквально jj new -r "version" * Коммиты не привязаны к веткам, поэтому можно их откреплять и прикреплять к друг другу как тебе вздумается. Можно фикс из рандомного места засунуть в другое рандомное место * Интеграция с гитом - это по сути deal breaker, т.к. переводить всех на jj нет ни желания, ни смысла * Сделать снепшот это буквально jj duplicate - ВСЕ (это отличается от коммита, т.к. working copy остается в том же стейте) Я скажу сразу, изначально было тяжело и не так радостно: * Спустя месяц все концепты действительно становятся логичными и простыми, но по началу твой git brain отказывается собирать их в общую картинку, и в моменте возникает ощущение что ты заменил гит на другой гит - делаешь рандомные команды и надеешься, что будет хорошо * Интеграций почти ни с чем нет. Очень рад был, что working copy diff все еще работает в ide, т.е. ты хотя бы в своем редакторе можешь нормально дифф твоего текущего коммита посмотреть * Интерфейс хоть и понятный, но все еще терминальный, и все еще новый. Надо было привыкать и чутка выучить новый для меня "язык" для запросов по ревизиям * Туториалы есть, но местами разбирали вообще не мои юзкейсы. Некоторые вещи приходилось самому понимать методом научного тыка * jj log...
666
6
(📽 Камера дрожит, кусты шевелятся, кто-то осторожно пробирается вперёд) — Тсс... Смотрите, вон он. Прямо перед нами — редчайший экземпляр. Вайбкодер маниграбер, решивший... завайбкодить библиотеку для терминального UI на Rust. — Он не использует реактивность. Вообще. Никаких состояний, никаких подписок, ничего живого. Просто... текст. Выплюнутый один раз и навсегда. Как надпись на камне. *пример рисует кнопку "Click me" и завершает выполнение, не дождавшись действия от юзера* — Это всё. Он считает, что UI — это просто вывод текста. Кажется, для него “интерфейс” заканчивается после println!. *перелистывает LICENSE* — А вот и лицензия. Своя, уникальная. Если ты начнёшь зарабатывать деньги с проектом, использующим эту библиотеку... ты должен платить ему. Серьёзно. — Мы были здесь. Мы это видели. Никто не поверит. this post was generated with chatgpt due to it being fucking hilarious
1 558