Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
233 - Telegram Web
Telegram Web
Пропустил, что вчера было ровно 33 года с первого релиза vim.

В честь этого 3+3 прикола в лучшем текстовом редакторе Microsoft Word:

1. :smile - нарисовать смайл (🤯). nvim, кстати, на это выдает NOPE и рисует grumpy cat.
2. :TOhtml - сохранить текущий файл в виде HTML с подсветкой синтаксиса (скриншот по-дедовски)
3. vim -y - запустить вим в детском режиме. Копировать/вставить/отменить на ctrl+c/ctrl+v/ctrl+z, включена мышь и все такое. Из insert режима выйти становится невозможно. Из вима, кстати, тоже.
4. ggg?G - закодировать весь файл в rot13. Полезно, когда пишешь на php и в комнату резко заходит мама.
5. vim <url> - редактировать файл по урлу, который вим сам скачает.
6. :earlier 3m - откатить файл к состоянию, которое было 3 минуты назад. Также есть :later. Пришел на работу, набрал :later 8h и идешь пить кофе.
18👍4❤‍🔥1
Неплохая пара получилась сегодня. 

По плану было поговорить про функции для работы с файлами в си: readdir, stat, access и все такое. Решил, что будет более наглядно показывать не просто абстрактное использование функций, а напрогать что-то целостное и по ходу обсуждать новый материал, если понадобится.

В итоге написали собственный ls -l. Он хорошо покрыл материал: и про биты прав поговорили и по директориям походили, обсудили inode и symlink. Цвета всякие разные поиспользовали в зависимости от типа файла.

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

Конспект вот скрафтил по тому, как работают права:

https://github.com/lll-phill-lll/hse_caos_practice/blob/master/12-fs/README.md

Ну и запись пары:

https://youtu.be/eMnMRuf1lNc

https://vkvideo.ru/video-221776054_456239046
14👍4🔥4🫡2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥3111🤯4👍2
В субботу прошла первая в этом году пара по акосу. 

В этом полугодии мы не используем ejudge, все домашки будут в гитлабе. Поэтому первая же пара у нас про гит, чтобы потом нельзя было отмазаться, что что-то там не получилось закоммитить.

Да и вообще к нам в курс все пытается вклиниться ИПР (инструменты промышленной разработки), поэтому в плане на полгода есть не только системные вызовы и всякие приколы с ОС, но также гит, докер, CI и остальные челики.

На пару пришло достаточно много для меня людей, ну оно и понятно, все решили с нового года начать новую жизнь - ходить на пары, делать домашки, бегать по утрам, перестать фейлить стрики в дуалинго. Посмотрим, на сколько их хватит.

Вот и сама пара: 
yt: https://youtu.be/lJugblvqpKY
vk: https://vkvideo.ru/video-221776054_456239047

Также я решил написать САМЫЙ ЛУЧШИЙ В МИРЕ КОНСПЕКТ (тоже с нового года начал новую жизнь), но почти сразу устал, поэтому написал только около четверти 🙁

Тем не менее конспект вот: https://github.com/lll-phill-lll/hse_caos_practice/tree/master/13-git

Не уверен, что в таком формате конспект вообще нужен, может быть полезнее было бы просто перечислить команды. Но у меня есть два любимых туториала, которые я с кайфом прочитал и которые написаны в похожем стиле:

https://github.com/cfenollosa/os-tutorial
https://optozorax.github.io/p/my-keyboard-layout/

Так что надеюсь однажды все-таки его дописать, если пользу не принесу, то хотя бы сам доволен буду.
🔥156👍5❤‍🔥1😁1
📌 Рубрика "Надо было знать, но я не знал"

Всегда писал:

grep ... | less

и грустил, потому что grep выводит цветной текст, а в less всё становится монохромным.

Думал, что это less тупой. Оказалось, что не он, а я.

Но почему?

grep, как и многие другие Unix-утилиты (ls, diff, ripgrep и т. д.), проверяет, является ли стандартный вывод (stdout) терминалом и в зависимости от этого включает или выключает цвета.

Это логично: чтобы выделить слово цветом, в терминале нужно добавить специальные управляющие последовательности в начало и в конец. Эти символы интерпретируются терминалом, но не нужны в файле или пайпе.

Такая проверка выполняется с помощью isatty(3):

isatty(STDOUT_FILENO)

Этот функция возвращает 1, если вывод идёт в терминал, и 0, если в файл или пайп. Если isatty возвращает 0, утилита отключает цвет.

Нашёл даже коммит, в котором этот функционал добавили в grep:
🔗 Коммит в grep

Как спастись?

Чтобы grep, ripgrep, ls, diff и другие челы не отключали цвета при передаче вывода в less, нужно явно указать, что цвет всегда должен быть включен:

grep --color=always ... | less

(Вроде как надо еще -R добавлять к less, но у меня и без этого работает 🤔)

При этом опасно добавлять --color=always в алиасы, потому что это может поломать разные скрипты, которые используют grep.
(спасибо @asokol123, теперь я еще знаю, что алиасы не пролезают в скрипты)

Надеюсь, кому-то теперь тоже станет проще жить)

🔗 Обсуждение на SuperUser
🔥16👍54
Наткнулся на статью Даниэля Стенберга (чел, который сделал curl), где он сравнивает curl и wget.

Одна из отличительных особенностей wget, которую он подмечает:

Wget can be typed in using only the left hand on a qwerty keyboard!


И ведь реально, левая рука прямо хорошо ложится на эти буквы!

Попробовал машинально попечатать wget, но поймал себя на том, что жму "g" правой рукой (кринж, простите).
А curl, как и положено, чередуется: левая, правая, левая, правая 🚶‍♂️

Кроме этого, он вообще интересные штуки там пишет, так что ссылку прикладываю:
🔗Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5😍2
Миша пишет код
В субботу прошла первая в этом году пара по акосу.  В этом полугодии мы не используем ejudge, все домашки будут в гитлабе. Поэтому первая же пара у нас про гит, чтобы потом нельзя было отмазаться, что что-то там не получилось закоммитить. Да и вообще к нам…
К слову про гит:

https://git-man-page-generator.lokaltog.net

Сайт, который генерирует несуществующие гит команды и документацию к ним

Если интересно, как это работает, то по ссылке находятся правила грамматики, на основе которых генерируется документация:

https://github.com/Lokaltog/baba-core/blob/71ca4a2957eb899145f41055c1288231b9dcea3f/src/grammar/git-manual.js

Не удивлюсь, если тут как с панорамой - какие-то выдуманные команды с этого сайта уже могут быть невыдуманными 🤷‍♀️
😁8👍2🥴2
Уже пару недель балуюсь и использую сдвг шрифт

В художке отлично работает - в кои-то веки начало получаться пробежать глазами по странице и уловить общий смысл прочитанного (могу пережить длинные описания и не скатиться в скролл какой-нибудь ленты).

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

Оригинальная идея принадлежит вот этим ребятам:
https://bionic-reading.com/
НО!
Чел придумал половину слова писать жирным и хочет за это $50! ПАЛТОС!

Я такую цену вообще никак обосновать не могу, поэтому просто отсюда поставил шрифт:
https://github.com/Born2Root/Fast-Font

Текст и на руссом, и на английском выглядят хорошо (1 и 2 фотки)

Удивительно, но в некоторые книги шрифт зашит и его нельзя изменить. Поэтому, к сожалению, в TLPI (3 фотка) не получится глазами пробежаться и освежить в памяти главу. Придется прикладывать усилия и по-старинке концентрироваться(((

А еще удивительно, как это вообще работает. Я раньше думал, что шрифт - это какой-то маппинг из символа в изображение. А тут получается, что есть еще какая-то дополнительная логика, связанная с длиной слова

(специально для вас, кстати, переписал текст поста в такой шрифт и не прошу за это ПЯТЬДЕСЯТ БАКСОВ!)

p.s. телега не дает так много выделений жирным сделать((((((
👍13🔥93🤯2🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера была пара по акосу, говорили на ней про процессы и fork(2).

Кроме самого обсуждения процессов делали всякие приколы:
1. С помощью длинной колбасы из форков вычисляли лимит на процессы
2. Форк-бомбой пытались убить виртуалку.

Второе вообще не так просто сделать оказывается (специально, разумеется, случайно-то у меня регулярно хост откисает). На 100% ядра загрузить - легко, а вот добиться, чтобы все зафризилось так и не вышло. Если честно, надеялся, что хотя бы ssh отвалится.

В итоге на полчаса пара задержалась - с помощью активных студентов всякие конфиги меняли, но безуспешно. На записи сжал эти полчаса в 40 секунд и наложил музыку, получилось прикольно (приложил отрезок).

Но даже несмотря на свое получасовое фиаско, я остался доволен парой. Какое-то хорошее настроение было и говорилось легко. Думаю, что тема интересная, да и выспаться смог - в этот раз не готовился полночи. Ну и активность студентов + вопросы тоже сильно повышают настрой на пару. Все-таки приятно понимать, что с живыми людьми говоришь. Кстати, надеюсь тему с квизами как-то посильнее развить, есть некоторая надежда, что это может повысить активность на занятии.

Короче, приятно стараться, когда получается, неприятно, когда не получается

Ну и сами записи пары (считаю, что лучшую обложку в жизни сделал): ютуб, вк
🔥21👍53😁3
Блин блинский какой кайф:
https://habr.com/ru/articles/883342/

TLDR;
Из-за всяких неотображаемых символов юникода становится возможно закодировать произвольные данные в обычный смайлик (да и вообще в любой юникод символ). При этом закодированная часть не теряется даже при пересылке эмодзи!

Декодер/энкодер для поиграться вот тут:
https://emoji.paulbutler.org

Интересно, какой максимальной длины сообщение можно так передать? Можно ли так передать целый файл? 👀󠇀󠆒󠇁󠅻󠄐󠇁󠅷󠇁󠅲󠇀󠆮󠄐󠇁󠅲󠇁󠅳󠇁󠅲󠄐󠇁󠅱󠇀󠆠󠇀󠆬󠇁󠅻󠇀󠆩󠄐󠇀󠆫󠇁󠅾󠇀󠆡󠇀󠆮󠇀󠆯󠇁󠅻󠇁󠅲󠇀󠆭󠇁󠅻󠇀󠆩󠄯
🔥7👍61🤔1
Через пару недель будет пара по акосу, где будем проходить, как работает сеть.

Появилась мега-омега идея рассказать про сеть (OSI) через майнкрафт.

+ так как сегодня праздник и пар нет, а привычка вести пары осталась, то попробую на стриме готовиться к паре:
https://www.youtube.com/live/pRxFFXSO6Xo?si=N1BhARNoe1T9owV8

Если интересно поучаствовать, то присоединяйтесь.

Цель - скрафтить механизмы в майнкрафте, переходя от самого нижнего слоя к верхнему. И попытаться сделать это наглядно.

(основной вопрос, переживет ли мой компутер obs + minecraft + стрим)

upd компутер вообще норм справился
🔥84👍4
Забайтился на твит, что по-настоящему умный указатель должен использовать LLM для подсчета ссылок.

В итоге вот скрафтил: https://github.com/lll-phill-lll/actually_smart_pointer

Все выходные ковырялся, но в итоге получилось что-то терпимое.

Сначала пытался ходить по api в deepseek или в chatgpt, но там есть 0 (НОЛЬ!) бесплатных запросов через api. Поэтому второй попыткой я попробовал заюзать модели с huggingface через их api (там есть бесплатные 10$). Но там что-то все очень плохо работало и нормальных моделей доступных по api я не нашел.

Поэтому в итоге остановился на локальной модели. Заюзал llama.cpp и в него запихал deepseek-coder в формате gguf (RIP) вот отсюда. Прикол, что получилось даже просто залинковаться с llama и не использовать cli или сервер.

В результате даже небольшая (4гб диск, 300мб ram) моделька какие-то результаты показывает (хоть и не всегда корректно управляет памятью указателя).

ЗАТО! Я добавил метод ask. И в отличие от других "умных" указателей с моим указателем можно даже пообщаться.

Smart pointer получился на 100% smart и на 0% pointer.

Забавно, кстати, что на запрос написать симфолнию со скрина он вернул код на питоне, который проигрывает аккорд. Так что написал не симфонию, а что-то получше - код симфонии.
😁13🔥8👍3
Ну вот и все...

Исследование про нативную поддержку проигрывания вертикальных видео в clang21
👍6😁6😢2🤓1
И больше он никогда не был онлайн ....

Купил iPod Classic. Прямиком из 2008. И ему уже 17 (СЕМНАДЦАТЬ) лет.

С ноября думал купить это чудо, но все никак не мог найти. Мониторил все барахолки, но именно classic никто не продавал. Уже даже собрался заказывать откуда-то восстановленный, но они стоят как крыло самолета - на амазоне, например, цена где-то 300-400 евро

И вот вчера появился продавец, который мало того, что находился в 15 минутах от меня, так еще и продавал iPod ровно за столько, сколько у меня было прямо тогда в кармане - 70 евро (чистая правда, ни больше ни меньше).

Видел, что люди покупают прям убитые айподы: с разбитым экраном, не включающиеся, а потом ковыряются и что-то бесконечно чинят. А тут и состояние хорошее (небольшие царапки только), и аккумулятор новый. В общем, сорвался и через полчаса айпод уже был у меня.

Уже готов был страдать, перекидывая музыку, но нет!
Я просто подключил iPod к компу и он распознался. Открылось приложение Music (iTunes же похоронили) и предложило мне настроить айпод. За два клика я откатил его к заводским настройкам и поставил новую OS (из 2014). А после этого просто перетянул папку с музыкой и она просто появилась в медиатеке! Единственное, обложки почему-то не отображались, но оказалось, что они должны быть не больше 300x300, и после ресайза все заработало.

Самое приятное, что мне не пришлось нигде логиниться. Вы представляете себе? Покупаешь электронное устройство, настраиваешь и пользуешься. ВСЕ. Не нужно создавать никакой аккаунт, ничего никуда привязывать (к слову про посудомойку и подключение к облаку). А еще музыку скачиваешь и она твоя: у нее не будет меняться обложка, она не станет недоступной из-за того, что кто-то отозвал права. Просто скачал и просто слушаешь.

Модифицировать особо не буду. Знаю, что в iPod добавляют блютуз, type-c, ставят прозрачные корпусы, но это все от лукавого. Думаю, просто шлифануть его и крутилку поменять. Наверное, еще rockbox поставлю - все-таки очень хочется заценить doom. На конкретно мою модель вроде нельзя докинуть памяти из-за всяких приколов с адресацией, но я слабо представляю, как я могу 120гб на музыку израсходовать.

Кстати, про 120 гб. Это всего на 8гб меньше, чем в базовом айфоне 16!
НО! iOS весит 10гб+, а вот прошивка айпода всего 62Мб. Так что свободной памяти в айподе из 2008 больше, чем в айфоне из 2025. Многое говорит о нашем обществе

В общем, доволен на 1000. Ощущения прям такие же, как от покупки киндла. Как будто купил устройство, у которого мало функций, но которое выполняет их ровно так, как бы ты и хотел.
Буду теперь заниматься осознанным потреблением контента. А то, кажется, что музыку в наушниках выбираю вовсе и не я.
🔥192👻2🎉1
Читал всякие мануалы, пока готовился к паре про время и вот на что наткнулся --^

Немного приятно стало, что даже в манах написано, что MM/DD/YYYY - дурацкий формат

man 3 strptime
link
👍9😁71💯1
2025/07/08 18:28:53
Back to Top
HTML Embed Code: