Клавиша Compose
Клавиша compose позволяет вводить специальные символы в Linux типа ä или á.
Для этого нужно сначала коротко нажать compose затем клавишу модификатор, например ', затем модифицируемую клавишу, например e.
compose . e | ė |
compose ' e | é |
compose " e | ë |
compose _ e | ē |
compose - e | ē |
compose ? e | ẻ |
compose # e | ♪ |
compose s s | ß |
Еще больше сочетаний можно найти на страничке в википедии посвященной клавише Compose.
Физически на клавиатуре нет клавиши Compose. В качестве клавиши Compose можно назначить любую клавишу по выбору. По умолчания в Linux в качестве Compose настроен правый ctrl.
Получается, с клавишей Compose для набора текстов на немецком или испанском языках специальные национальные клавиатуры становятся не нужны.
Однако, с этой клавишей есть одна существенная проблема - клавиша Compose не поддерживается из коробки в Windows но есть большое разнообразие программ для ее емуляции например WinCompose. Для Macos все сложнее, на маке используются собственные сочетания клавиш для набора специальных символов и диакритики, поэтому проектов для поддержки клавиши Compose не так много но они тоже есть.
Третий Конкурс Смарт-Контрактов от TON
Ребята из TON Foundation опять устраивают конкурс в денежными призами и ценными подарками. На этот раз это соревнование по написанию смарт контрактов на языке Func.
Хотя конкурс рассчитан на новичков, хочу честно признаться - я не могу даже приблизительно понять ЧТО нужно сделать, не говоря уже о том КАК.
Например в задании 4 нужно реализовать операцию по сложению двух эллиптических кривых Curve25519.
Наверно, среди тех, кто читает эти строки найдутся те, кто складывает каждый день перед завтраком пару десятков эллиптических кривых в уме, но, лично я, совершенно не знаю пока как это делается.
Ловлю себя на мысли, что мне нравится в этом копаться. Николай Дуров проделал колоссальную работу собирая вместе эту систему. Некоторые называют TON следующим Биткойном.
Пока у меня больше вопросов чем ответов. Например, Смарт Контракты TON можно модифицировать после публикации, как при этом можно защититься от скама? Или, например кошельки в сети TON это смарт контракты, при этом часть кошельков написана на Func а часть на Fift. На сайте утверждается, что они практически идентичны, тогда почему у кошельков второй версии нет кода на Func? Это все равно как привести две программы - одну на Си а вторую на Ассемблере и сказать что они практически идентичны...
Для того чтобы понять как это работает нужно прочитать сотни страниц спецификации. Документация вроде есть, но ее нужно прочитать, а это сотни страниц. Уже есть первые Step-by-step руководства, но они, как правило поломаны из-за изменений в коде системы, и чтобы понять как их пройти, все равно приходиться читать документацию.
Если кому-то нравятся головоломки, то смело могу порекомендовать этот конкурс. Первая фаза уже прошла, для тех кого это не смущает еще есть время до 23 декабря, чтобы разобраться в теме.
Запускаем приложение на Go в Kubernetes
Go -- это популярный и очень простой язык программирования, позволяющий быстро созвавать быстре и надежные приложения на стороне сервера.
Kubernetes -- это набор утилит позволяющих разворачивать облачные сервисы состоящии из множества контейнеров. Контейнеры это маленькие виртуальные машины в которых живут отдельные приложения. Эти приложения могут быть написаны на любом языке программирования в том числе и на Go.
Minikube это маленький Kubernetes кластер для изучения возможностей этой системы который можно запустить на локальном компьютере.
Записал небольшую видеоинструкцию о том как запустить свое веб приложение написанное на Go в Minikube.
Писал ночью, поэтому не удивляйтесь если видео больше похоже на ASRM ролик -- я говорю тихо и громко дышу. Надеюсь это не помешает восприятию.
Код приложения и инструкции для повторения можно найти в моем github.
Программирование на телефоне с Vim
Обнаружил, что vim прекрасно подходит для программирования на телефоне.
Этот редактор был создан во времена когда терминалы имели маленькие экраны и примитивные клавиатуры. Код выполнялся на больших компьютерах, соединенных с терминалами медленными каналами связи. Сейчас ситуация очень похожая - дурацкая андроид клавиатура, крошечный экран телефона и код исполняемый где-то в облаке.
Запилил небольшое видео как выглядит мой процесс программирования: