2022-12-28

Дополнительные мониторы к ноутбуку

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

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

Второй монитор прикрутил себе на рабочее место:

Теперь я могу работать с дополнительным монитором. Очень круто получилось!

 

Оставить комментарий

 
  2022-12-25

Над костром пролетает снежинка

Сегодня в голове весь день играет "Над костром пролетает снежинка" из спектакля "День радио".

Хорошая ведь песня:

 

Оставить комментарий

 
  2022-12-24

Цвет крови

"– Сун-Цзы пишет, что вступать в сражение следует, только имея значительный перевес в военной силе.
– Сун-Цзы писал о войне! А захват пансионата, в котором нет никого, кроме десятка охранников, – это спецоперация! Понимаете разницу?"

Очень понравилась серия книг Алексея Калугина "Цвет крови".

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

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

Закончил персонаж не очень хорошо — собственное окружение помогло ему уйти на покой при помощи платка и шкатулки.

Интересно, кто мог быть реальным прототипом этого персонажа? Разделит ли этот прототип судьбу своего книжного двойника?

 

Оставить комментарий

 
  2022-12-18

Bad Apple!!

Видеоклип на песню «Bad Apple!!» группы Alstroemeria Records был создан в 2009 году и с тех пор стал одним из наиболее известных произведений подобного рода среди Тохо-сообщества, а также прославился и за его пределами. Отсюда

На сегодня этот ролик просмотрели почти 38 миллионов раз! Если текст под роликом верен, а не верить ему оснований нет, то автору ролика на момент его создания было пятнадцать лет. Впечатляет.

Так как ролик чёрно-белый он занимает очень мало места в памяти компьютера. Благодаря маленькому размеру его можно запустить даже на Arduino. Умельцы запускают его на самых разных дисплеях. Я нашел примеры для OLED и для газоразрядного дисплея. Есть пример даже на овечках в Майнкрафте.

 

Оставить комментарий

 
  2022-12-16

В Берлине лопнул гиганский аквариум

"Прозрачный цилиндр высотой 16 и шириной 12 метров является крупнейшим в мире отдельно расположенным аквариумом. Миллион литров морской воды, общий вес 2000 тонн."

Являлся. Сегодня в шесть утра аквариум лопнул и затопил близлежащую округу. Хорошо, что все это случилось рано утром когда вокруг не было людей. В дневное время там полно туристов. Пострадало два человека. Обитателям аквариума повезло меньше — почти вся рыба погибла.

 

Оставить комментарий

 
  2022-12-15

Дофаминовая аффирмация

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

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

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

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

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

 

Оставить комментарий

 
  2022-12-11

Что такое кошельки TON?

Описание Telegram Open Network если его внимательно читать со временем начинает затягивать все сильнее и сильнее.

Еще только вчера задавал себе вопросы - как же так получается, что адрес смарт-контракта оказывается известен до его публикации? Как на свежеопубликованном контракте уже есть транзакции недельной давности? Если кошелек пользователя и смарт-контракт это одно и тоже, а за хранения смарт-контракта сеть берет комиссию, то кто платит комиссию если я только что создал кошелек баланс на котором ноль?

Оказывается, кошелек в сети TON это действительно смарт-контракт, причем довольно простой.

Чтобы понять как адресуются данные в блочейне TON нужно знать как они хранятся. Для хранения всех данных TON использует дерево ячеек. Каждая ячейка может хранить до 1023 бит информации и до четырех ссылок на другие ячейки. Адресом ячейки является ее sha256 хеш. То есть для содержимого ячейки, находится sha256 хеш, этот хеш и является адресом ячейки. Если две ячейки содержат одинаковые данные, то они имеют одинаковый адрес. Это позволяет экономить место не сохраняя дублирующиеся данные. Такой способ хранения информации называется направленным ациклическим графом.

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

Адрес смарт-контракта это sha256 хеш от кода смарт-контракта и его исходных данных. Когда пользователь устанавливает приложение кошелька, при первом запуске приложение предлагает создать пользователю пару ключей - закрытый и открытый. В этот момент смарт контракт кошелька еще не опубликован в сети TON. Однако, адрес будущего смарт контракта приложение уже знает - поскольку код смарт контракта и публичный ключ уже известны. Этот адрес пользователь может использовать, чтобы послать не него криптовалюту.

Когда на адрес, который еще не был инициализирован в блокчейне приходит перевод, то создается пустой смарт контракт, который и хранит баланс адреса. Код смарт контракта нужен только для совершения перевода, для хранения баланса он не обязателен. Пользователь может сколько угодно долго использовать "пустой" кошелек для получения платежей не инициализируя код смарт контракта в блокчейне.

Как только приложение кошелька видит, что баланс адреса ненулевой оно посылает в сеть сообщение с кодом смарт контракта вместе с публичным адресом пользователя. Только в этот момент в блокчейне сохраняется публичный ключ пользователя с привязанным к нему кодом смарт-контракта.

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

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

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

 

Оставить комментарий

 
  2022-12-11

Третий Конкурс Смарт-Контрактов от TON

Ребята из TON Foundation опять устраивают конкурс в денежными призами и ценными подарками. На этот раз это соревнование по написанию смарт контрактов на языке Func. 

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

Например в задании 4 нужно реализовать операцию по сложению двух эллиптических кривых Curve25519.

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

Ловлю себя на мысли, что мне нравится в этом копаться. Николай Дуров проделал колоссальную работу собирая вместе эту систему. Некоторые называют TON следующим Биткойном.

Пока у меня больше вопросов чем ответов. Например, Смарт Контракты TON можно модифицировать после публикации, как при этом можно защититься от скама? Или, например кошельки в сети TON это смарт контракты, при этом часть кошельков написана на Func а часть на Fift. На сайте утверждается, что они практически идентичны, тогда почему у кошельков второй версии нет кода на Func? Это все равно как привести две программы - одну на Си а вторую на Ассемблере и сказать что они практически идентичны...

Для того чтобы понять как это работает нужно прочитать сотни страниц спецификации. Документация вроде есть, но ее нужно прочитать, а это сотни страниц. Уже есть первые Step-by-step руководства, но они, как правило поломаны из-за изменений в коде системы, и чтобы понять как их пройти, все равно приходиться читать документацию.

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

 

Оставить комментарий

 
  2022-12-05

Рассказ о себе

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

Ситуации, когда нужно рассказать о себе возникают спонтанно и неожиданно. Как гласит старая армейская пословица: “В критической ситуации ты не поднимешься до уровня своих ожиданий, а упадешь до уровня своей подготовки.”

Падать до уровня своей подготовки мне не очень нравится, а ожидания у меня довольно высокие, поэтому, после очередного провала, я набросал короткий текст из десятка предложений на русском, перевел их на немецкий и прочитал вслух. Места которые звучали не очень хорошо, переписал более простыми словами и перечитал ещё. После примерно десяти итерации получился достаточно простой текст, который я смог произнести более или менее без запинок.

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

Умение рассказать о себе является одним из требований на знание языка на уровне A1. Если вы потратите один вечер и выучите рассказ о себе на языке который вы изучаете, можно обоснованно утверждать, что вы знаете этот язык на уровне A1!

Самый лучший экспромт - это заранее заготовленный экспромт.

 

Оставить комментарий

 
  2022-12-02

Запускаем приложение на Go в Kubernetes

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

Kubernetes -- это набор утилит позволяющих разворачивать облачные сервисы состоящии из множества контейнеров. Контейнеры это маленькие виртуальные машины в которых живут отдельные приложения. Эти приложения могут быть написаны на любом языке программирования в том числе и на Go.

Minikube это маленький Kubernetes кластер для изучения возможностей этой системы который можно запустить на локальном компьютере.

Записал небольшую видеоинструкцию о том как запустить свое веб приложение написанное на Go в Minikube. 

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

Код приложения и инструкции для повторения можно найти в моем github.

 

 

 

Оставить комментарий