Миша пишет код
Не знал, что такие технологии существуют: https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064838 Зум умеет добавлять к аудиодорожке специальную аудиоподпись. Эта подпись уникальна для каждого участника встречи и добавляется в воспроизводимую…
Вынесу из комментов.
Есть амазоновская статья с описанием алгоритма:
https://www.amazon.science/blog/audio-watermarking-algorithm-is-first-to-solve-second-screen-problem-in-real-time
Которая ссылается на статью с доказательством:
https://arxiv.org/pdf/1903.08238.pdf
Посмотрел, как выглдядит волна с подписью и без (приложил скрины). Если хотите поиграться, то я вот сделал:
https://colab.research.google.com/drive/1cs-aQeaYkWr2-2z--76harQPyKg2W8NB?usp=sharing
Было бы круто найти статью об устойчивости алгоритма к атакам, но я чет не нашел(
Есть амазоновская статья с описанием алгоритма:
https://www.amazon.science/blog/audio-watermarking-algorithm-is-first-to-solve-second-screen-problem-in-real-time
Которая ссылается на статью с доказательством:
https://arxiv.org/pdf/1903.08238.pdf
Посмотрел, как выглдядит волна с подписью и без (приложил скрины). Если хотите поиграться, то я вот сделал:
https://colab.research.google.com/drive/1cs-aQeaYkWr2-2z--76harQPyKg2W8NB?usp=sharing
Было бы круто найти статью об устойчивости алгоритма к атакам, но я чет не нашел(
Не любите, когда код кидают скриншотом? А как вам такое? Есть какой-то шарм, конечно, в старом стаковерфлоу)
(это шутка, но все же)
https://stackoverflow.com/questions/5508110/why-is-this-program-erroneously-rejected-by-three-c-compilers
Там, кстати, в комментах еще очень крутой ответ есть:
https://www.reddit.com/r/programming/comments/ggh3d/coding_in_ms_paint/
чел в paint проставляет пиксели в специальном порядке, сохраняет как bmp, а потом открывает файл, как текстовый и получает код hello world. Интересно проверить, правда ли так можно) Мб займусь чуть позже
upd. реально так можно:
https://github.com/KaitoHH/AnyCodeToBmp
upd. upd. там еще круче есть даже:
http://blog.dreasgrech.com/2011/04/writing-brainfuck-in-bitmap-format.html
(это шутка, но все же)
https://stackoverflow.com/questions/5508110/why-is-this-program-erroneously-rejected-by-three-c-compilers
Там, кстати, в комментах еще очень крутой ответ есть:
https://www.reddit.com/r/programming/comments/ggh3d/coding_in_ms_paint/
чел в paint проставляет пиксели в специальном порядке, сохраняет как bmp, а потом открывает файл, как текстовый и получает код hello world. Интересно проверить, правда ли так можно) Мб займусь чуть позже
upd. реально так можно:
https://github.com/KaitoHH/AnyCodeToBmp
upd. upd. там еще круче есть даже:
http://blog.dreasgrech.com/2011/04/writing-brainfuck-in-bitmap-format.html
Узнал сегодня, что в виме можно работать с бинарными файлами.
Можно применить консольную команду
Конечно, это не суперудобно - нужно помнить, что надо вернуть файл обратно + RO файлы придется редактировать, так что для большинства задач все-таки лучше подходит старый дедовский hexdump. Но прикольно знать, что так можно.
https://vi.stackexchange.com/questions/2232/how-can-i-use-vim-as-a-hex-editor
Можно применить консольную команду
xxd
и перенаправлять её ввод и вывод.:%!xxd
- переведет текущий файл в hex представление.:%!xxd -r
- вернет обратно в бинарный.Конечно, это не суперудобно - нужно помнить, что надо вернуть файл обратно + RO файлы придется редактировать, так что для большинства задач все-таки лучше подходит старый дедовский hexdump. Но прикольно знать, что так можно.
https://vi.stackexchange.com/questions/2232/how-can-i-use-vim-as-a-hex-editor
Там на днях что-то важное произошло:
https://deepmind.google/discover/blog/funsearch-making-new-discoveries-in-mathematical-sciences-using-large-language-models/
Говорят, что гугл представили LLM - FunSearch, который не просто выдал какую-то существующую в интернете информацию, а создал что-то новое, при этом новое даже оказалось чем-то полезным и является открытием в математике.
Насколько я понял, смогли продвинуться в нерешенной задаче cap set. Для размерности пространства 8 смогли найти пример, состоящий из большего количества точек, чем было известно до этого (см приложеную картинку).
Причем LLM генерирует не ответ, а код, который умеет находить ответ. (у меня есть что-то лучше - рисунок ключа).
> FunSearch favors finding solutions represented by highly compact programs - solutions with a low Kolmogorov complexity.
Пока не знаю, как к этому относиться. С одной стороны звучит как прорыв, а с другой есть подозрения что это читерство, особенно в свете недавней фейковой рекламы Gemini.
Заметка написана как-то странно - в ней куча воды и тяжело понимать, что именно было сделано (хотя мб это я тупой просто и не понимаю ничего). А саму статью я только выборочно прочитать успел. Так что глубокой аналитики у меня для вас нет(
Код можно тут посмотреть:
https://github.com/google-deepmind/funsearch
Статья вот:
https://www.nature.com/articles/s41586-023-06924-6
https://deepmind.google/discover/blog/funsearch-making-new-discoveries-in-mathematical-sciences-using-large-language-models/
Говорят, что гугл представили LLM - FunSearch, который не просто выдал какую-то существующую в интернете информацию, а создал что-то новое, при этом новое даже оказалось чем-то полезным и является открытием в математике.
Насколько я понял, смогли продвинуться в нерешенной задаче cap set. Для размерности пространства 8 смогли найти пример, состоящий из большего количества точек, чем было известно до этого (см приложеную картинку).
Причем LLM генерирует не ответ, а код, который умеет находить ответ. (у меня есть что-то лучше - рисунок ключа).
> FunSearch favors finding solutions represented by highly compact programs - solutions with a low Kolmogorov complexity.
Пока не знаю, как к этому относиться. С одной стороны звучит как прорыв, а с другой есть подозрения что это читерство, особенно в свете недавней фейковой рекламы Gemini.
Заметка написана как-то странно - в ней куча воды и тяжело понимать, что именно было сделано (хотя мб это я тупой просто и не понимаю ничего). А саму статью я только выборочно прочитать успел. Так что глубокой аналитики у меня для вас нет(
Код можно тут посмотреть:
https://github.com/google-deepmind/funsearch
Статья вот:
https://www.nature.com/articles/s41586-023-06924-6
Миша пишет код
Забавно, как гитхаб потихоньку превращается в социальную сеть. Оформление профиля и подписчики уже давно есть. Теперь вот на главной странице появился фид с рекомендациями вместо последних действий подписок. Появились trending repositories, trending developers.…
К слову про соцсеть)
Там вышел github unwrapped:
https://githubunwrapped.com
Можно посмотреть свою статистику по 23 году в гитхабе.
С таким пафосом на отсутствие достижений я еще ни разу не смотрел))
P.S. Там, кстати, можно не только свою стату смотреть, но и других людей
https://githubunwrapped.com/torvalds
Там вышел github unwrapped:
https://githubunwrapped.com
Можно посмотреть свою статистику по 23 году в гитхабе.
С таким пафосом на отсутствие достижений я еще ни разу не смотрел))
P.S. Там, кстати, можно не только свою стату смотреть, но и других людей
https://githubunwrapped.com/torvalds
Работа по помидорам - какой-то скам.
Целый день сегодня сажал ёлки в forest и совсем не понял, как это должно поднять мою эффективность.
То помидор закончится посередине задачи и перерыв выбивает из потока, то наоборот чувствуешь, что надо пройтись и отвлечься, но до конца таймера еще далеко и приходится сидеть и заставлять себя пялиться в экран.
Вот в чем помидор действительно помогает, так это сфокусироваться на задаче в самом начале. Поэтому если и есть смысл его ставить, то только на первые 10 минут, а дальше выключать и просто сидеть работать.
Ну или включать сразу на 2 часа, но разрешать себе отвлекаться (но какой тогда смысл в приложении?)
Целый день сегодня сажал ёлки в forest и совсем не понял, как это должно поднять мою эффективность.
То помидор закончится посередине задачи и перерыв выбивает из потока, то наоборот чувствуешь, что надо пройтись и отвлечься, но до конца таймера еще далеко и приходится сидеть и заставлять себя пялиться в экран.
Вот в чем помидор действительно помогает, так это сфокусироваться на задаче в самом начале. Поэтому если и есть смысл его ставить, то только на первые 10 минут, а дальше выключать и просто сидеть работать.
Ну или включать сразу на 2 часа, но разрешать себе отвлекаться (но какой тогда смысл в приложении?)
Да, я читаю научные статьи, а почему ты спрашиваешь?
Links:
https://isotropic.org/papers/chicken.pdf
https://youtu.be/yL_-1d9OSdk?si=1o0HM3QgD9joZbP2
Links:
https://isotropic.org/papers/chicken.pdf
https://youtu.be/yL_-1d9OSdk?si=1o0HM3QgD9joZbP2
This media is not supported in your browser
VIEW IN TELEGRAM
Зацените:
https://github.com/p-e-w/ternimal
Первый раз вижу анимацию в терминале, хотя казалось бы идея лежит на поверхности.
Анимация работает на блочных элементах юникода:
▁▂▃▄▅▆▇█▇▆▅▄▃▂▁
Поигрался с параметрами, погенерировал разные анимации и получил кучу радости. Надеюсь, вы тоже получите)
btw там код на расте
https://github.com/p-e-w/ternimal
Первый раз вижу анимацию в терминале, хотя казалось бы идея лежит на поверхности.
Анимация работает на блочных элементах юникода:
▁▂▃▄▅▆▇█▇▆▅▄▃▂▁
Поигрался с параметрами, погенерировал разные анимации и получил кучу радости. Надеюсь, вы тоже получите)
btw там код на расте
Очень крутой вводный туториал по расту для людей, кто до этого программировал на плюсах:
https://github.com/nrc/r4cppp
Если вам особо не интересны ни раст, ни плюсы, то загляните на страничку про графы:
https://github.com/nrc/r4cppp/blob/master/graphs/README.md
Оказывается, сделать честный граф в расте это вообще нетривиальная задача. Из-за особенностей работы с памятью, обусловленных погоней за безопасностью, просто так выделить себе ноды и сформировать граф не получится. Автор предлагает практически писать свой аллокатор, чтобы не залезать в unsafe зону.
https://github.com/nrc/r4cppp
Если вам особо не интересны ни раст, ни плюсы, то загляните на страничку про графы:
https://github.com/nrc/r4cppp/blob/master/graphs/README.md
Оказывается, сделать честный граф в расте это вообще нетривиальная задача. Из-за особенностей работы с памятью, обусловленных погоней за безопасностью, просто так выделить себе ноды и сформировать граф не получится. Автор предлагает практически писать свой аллокатор, чтобы не залезать в unsafe зону.
GitHub
GitHub - nrc/r4cppp: Rust for C++ programmers
Rust for C++ programmers. Contribute to nrc/r4cppp development by creating an account on GitHub.
Замотивировался вчера и сделал студентам ачивки.
JS, конечно, магия какая-то. Удивительно, как небольшими усилиями можно получить что-то красивое.
Нейронки, конечно, магия какая-то. Небольшими усилиями можно делать PoC проекты даже не владея технологиями.
И с сайтом ChatGPT помог и картинки ачивок Firefly нарисовал. Благодать!
JS, конечно, магия какая-то. Удивительно, как небольшими усилиями можно получить что-то красивое.
Нейронки, конечно, магия какая-то. Небольшими усилиями можно делать PoC проекты даже не владея технологиями.
И с сайтом ChatGPT помог и картинки ачивок Firefly нарисовал. Благодать!
В 2014 году браузер Google Chrome перешел с 32-битной архитектуры на 64-битную. Это улучшило скорость работы и безопасность, но в то же время увеличило потребляемую память, поскольку внутри движка V8 объекты JS представляют из себя объекты C++. А плюсовые объекты в свою очередь аллоцированы на куче, что означает, что с каждым JS объектом связан хотя бы один указатель, а размер указателя вырос с 4 байт до 8 при переходе на 64-битную архитектуру. Таким образом каждый (ну или почти каждый) объект JS стал больше на 4 байта просто на ровном месте.
В блоге разработчиков V8 есть очень подробная статья про то, как они боролись с возросшим потреблением памяти и к каким хитростям прибегали:
https://v8.dev/blog/pointer-compression
TLDR; Используется сжатие указателей. То есть вместо самого указателя хранится смещение относительно некоторого базового сегмента памяти, из-за чего образуется кусок памяти, для доступа к которому можно использовать более маленькие указатели (32 бита).
Кстати, там еще есть интересный момент с оптимизацией. Smi или Small Integer - специальный тип, унаследованный от указателя.
Smi представляет собой 31-битное целое число в 32-битной системе и 63-битное целое число в 64-битной системе, где оставшийся бит используется для хранения информации о том, что это Smi, а не указатель на объект. Для работы с небольшими числами (в циклах или индексах массивов) используются как раз Smi - это позволяет сильно сэкономить память на создании полноценных объектов.
В блоге разработчиков V8 есть очень подробная статья про то, как они боролись с возросшим потреблением памяти и к каким хитростям прибегали:
https://v8.dev/blog/pointer-compression
TLDR; Используется сжатие указателей. То есть вместо самого указателя хранится смещение относительно некоторого базового сегмента памяти, из-за чего образуется кусок памяти, для доступа к которому можно использовать более маленькие указатели (32 бита).
Кстати, там еще есть интересный момент с оптимизацией. Smi или Small Integer - специальный тип, унаследованный от указателя.
Smi представляет собой 31-битное целое число в 32-битной системе и 63-битное целое число в 64-битной системе, где оставшийся бит используется для хранения информации о том, что это Smi, а не указатель на объект. Для работы с небольшими числами (в циклах или индексах массивов) используются как раз Smi - это позволяет сильно сэкономить память на создании полноценных объектов.
v8.dev
Pointer Compression in V8 · V8
V8 reduced its heap size up to 43%! Learn how in “Pointer Compression in V8”!
Когда готовился к собесам, очень страдал от литкодовского представления деревьев. Поди поищи ошибки в таком дереве:
Сильно спас визуализатор:
https://eniac00.github.io/btv/
Делюсь вот, может быть кому-то тоже поможет)
[1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
Сильно спас визуализатор:
https://eniac00.github.io/btv/
Делюсь вот, может быть кому-то тоже поможет)
Прикольная идея, как бесплатно хранить данные. Можно кодировать их в изображение и заливать получившуюся последовательность изображений на ютуб:
https://github.com/DvorakDwarf/Infinite-Storage-Glitch
В таком способе хранения данных интересна не сама идея, а защита данных от ютубовского сжатия и смены частоты кадров. Однако автор решил эту проблему просто увеличением размера пикселей, не использовал всякие корректирующие коды.
https://github.com/DvorakDwarf/Infinite-Storage-Glitch
В таком способе хранения данных интересна не сама идея, а защита данных от ютубовского сжатия и смены частоты кадров. Однако автор решил эту проблему просто увеличением размера пикселей, не использовал всякие корректирующие коды.
Миша пишет код
Опа, там стартовал Advent Of Code сегодня) https://adventofcode.com/ Если хотите, присоединяйтесь к приватному лидерборду: 3189534-65e36d72 Не уверен, что буду прям каждый день решать, но хотя бы один раз решу задачу каким-то over-complicated способом)
Advent of Code закончился.
Решил 5 полных задач (по 2 версии каждой). Одну даже решил прикольным способом. Все ждал, что вот-вот интересное начнется.
Очень сильно расстроен. Ждал месяц адвента, но в итоге совершенно не понял, в чем смысл.
Задачи какие-то не челленджовые, писать хороший или быстрый код мотивации никакой нет. Наоборот, это типичные неприятные задачи с работы, которые недостаточно сложные, чтобы писать код, но в то же время запарные и рукми ответ тоже не получишь. Поэтому сидишь пишешь какой-то кривой полуработающий скрипт, за который даже перед бабушкой стыдно.
Прекрасно понимаю, что AoC делал один человек на протяжении всего года и вложил кучу сил. Гигантский ему респек за это. Но ажиотаж вокруг мероприятия слишом сильный. Я большего ожидал.
Решил 5 полных задач (по 2 версии каждой). Одну даже решил прикольным способом. Все ждал, что вот-вот интересное начнется.
Очень сильно расстроен. Ждал месяц адвента, но в итоге совершенно не понял, в чем смысл.
Задачи какие-то не челленджовые, писать хороший или быстрый код мотивации никакой нет. Наоборот, это типичные неприятные задачи с работы, которые недостаточно сложные, чтобы писать код, но в то же время запарные и рукми ответ тоже не получишь. Поэтому сидишь пишешь какой-то кривой полуработающий скрипт, за который даже перед бабушкой стыдно.
Прекрасно понимаю, что AoC делал один человек на протяжении всего года и вложил кучу сил. Гигантский ему респек за это. Но ажиотаж вокруг мероприятия слишом сильный. Я большего ожидал.
Миша пишет код
Мой рабочий сетап - vim + tmux, причем я очень сильно люблю tmux - все через него делаю. Поэтому у меня всегда на компе открыто штук 10-15 tmux сессий. И меня все время раздражало, что во всех панелях (окнах) одна и та же общая история команд. Хочется, чтобы…
У вас бывало, что в терминале ввод разбивается? Вместо нажатий мышки какие-то буквы и форматирование едет?
У меня вот тоже бывает. Сегодня первый раз решил загуглить, как это решать без перезагрузки терминала (перезагружать мне теперь совсем больно из-за уникальной истории в каждой панели тмукса).
Так вот, можно делать просто ‘reset’:
https://www.unix.com/man-page/linux/1/reset/
У меня вот тоже бывает. Сегодня первый раз решил загуглить, как это решать без перезагрузки терминала (перезагружать мне теперь совсем больно из-за уникальной истории в каждой панели тмукса).
Так вот, можно делать просто ‘reset’:
https://www.unix.com/man-page/linux/1/reset/
Unix
reset(1) [linux man page]
tset - initialization This program initializes terminals. First, tset retrieves the current terminal mode settings for your terminal. It does this by successively testing o the standard error, o standard output, o standard input a
В твиторе завирусилось, что правильная ориентация монитора - наклон на 22°.
Шутка шуткой, а я так и не привык к широкому монитору, даже пользоваться им перестал. 2 обычных в 10000 раз удобнее. На широком как ни раскладывай окна, все равно пустота постоянная.
Оригинал поста:
https://sprocketfox.io/xssfox/2021/12/02/xrandr/
Шутка шуткой, а я так и не привык к широкому монитору, даже пользоваться им перестал. 2 обычных в 10000 раз удобнее. На широком как ни раскладывай окна, все равно пустота постоянная.
Оригинал поста:
https://sprocketfox.io/xssfox/2021/12/02/xrandr/
Вместо подведения итогов напишу самую худшую и самую лучшую покупку в этом году. Призываю вас тоже делиться)
Худшая:
Подписка на adobe creative cloud на год за 42€ в месяц. Каждое приложение в этой подписке ужасное и работают не так как я хотел бы. Final Cut >> adobe premiere, VSCO >> Lightroom, midjourney >> firefly. Photoshop только норм, но не за 42€.
Лучшая:
Очевидного много: mbp на m2, зельда, moonlander.
Из неочевидного и приятно удивившего меня - monodraw. Приложуха для форматирования маркдаунa. Через интерфейс рисуешь всякие блок схемы или таблички, а на выходе получаешь красивый md файлик.
P.S. Спасибо всем, кто тут собрался, за то, что читаете меня и мотивируете своими лукасами. После того, как у меня появилась работа, стало сложнее вести канал и находить что-то интересное. Хотелось бы в идеале делать прикольные проекты и делиться прогрессом по ним, но пока все застопилось(
В наступающем году поработаю над расписанием и улучшу содержимое канала. Идей много - сил не очень)
Всех с наступающим!
Худшая:
Подписка на adobe creative cloud на год за 42€ в месяц. Каждое приложение в этой подписке ужасное и работают не так как я хотел бы. Final Cut >> adobe premiere, VSCO >> Lightroom, midjourney >> firefly. Photoshop только норм, но не за 42€.
Лучшая:
Очевидного много: mbp на m2, зельда, moonlander.
Из неочевидного и приятно удивившего меня - monodraw. Приложуха для форматирования маркдаунa. Через интерфейс рисуешь всякие блок схемы или таблички, а на выходе получаешь красивый md файлик.
P.S. Спасибо всем, кто тут собрался, за то, что читаете меня и мотивируете своими лукасами. После того, как у меня появилась работа, стало сложнее вести канал и находить что-то интересное. Хотелось бы в идеале делать прикольные проекты и делиться прогрессом по ним, но пока все застопилось(
В наступающем году поработаю над расписанием и улучшу содержимое канала. Идей много - сил не очень)
Всех с наступающим!
Совершенно случайно узнал сегодня 3 факта:
1.
2.
3.141592653
3.
1.
Tex
и Latex
- это две разные вещи. Tex
- движок и небольшой набор инструментов для форматирования текста, Latex
- большой набор макросов, работающих поверх Tex
.2.
Tex
очень необычно версионируется. Начиная с версии 3 каждый следующий релиз добавляет еще одну цифру из числа пи. Актуальная версия на данный момент - 3.141592653
3.
Tex
существует уже 45 лет! Наверное, это самая старая технология, которую я использую.Оказывается повальный <NAME> unwrapped есть даже терминале.
https://github.com/atuinsh/atuin
Все используемые команды сохраняются в базу данных и можно по ним потом стату посмотреть и еще что-то делать. Но меня только статистика интересует. + есть интеграция с zsh.
Попробую недельку поработать с ним, может что-то интересное выйдет. Правда придется побороть как-то эту фичу: "the same history across terminals, across sessions, and across machines", потому что такое поведение мне как раз не нужно.
P.S. скрин не мой
https://github.com/atuinsh/atuin
Все используемые команды сохраняются в базу данных и можно по ним потом стату посмотреть и еще что-то делать. Но меня только статистика интересует. + есть интеграция с zsh.
Попробую недельку поработать с ним, может что-то интересное выйдет. Правда придется побороть как-то эту фичу: "the same history across terminals, across sessions, and across machines", потому что такое поведение мне как раз не нужно.
P.S. скрин не мой