Эвакуация сервера из России
Перед самым переездом в Германию я собрал у себя в кладовочке небольшой серверок который верой и правдой мне служит уже более трех лет. На сервере стоит Linux который поддерживает программный RAID5. Его я использую для хранения фотоархива, фильмов, запускаю на нем тестовые проекты и т.д. Не знаю как долго еще он будет доступен - за это время стоимость интернета выросла вдвое, из России ушли уже все основные поставщики сетевого оборудования и все чаще звучит угроза активировать великий русский Чебурнет.
Встала задача - куда перенести данные с сервера, чтобы к ним можно было легко обращаться? Я уже скопировал фотографии на Amazon Glacier но это холодное хранилище и процесс распаковывания занимает несколько часов. Арендовать выделенный сервер сопоставимого объема будет стоить сотни евро в месяц.
Решил скопировать пока данные физически. Купил внешний диск на 5TB. Уже четвертый день перекачиваю данные - не знаю удасться ли перекачать все.
Из чисто технических задач была такая - как обеспечить копирование нескольких терабайт данных по сети. Я использую OpenVPN центральный узел которого размещен во Франкфурте. Однако, месячный лимит у меня всего 4 TB, поэтому прокачивать трафик через него оказалось не вариант.
В настройках своего берлинского модема обнаружил, что ip v6 адреса внутренних устройств можно делать доступными глобально. Проверил - оказывается, действительно можно! Просто добавляешь устройство в список и на удаленном сервере к устройству можно подключиться по ssh используя, не классический ip v4 адрес, состоящий из четырех чисел, а используя ip v6, имеющий формат ssh username@2a02:0000:0000:3360:cd9a:f765:ecde:bbbc
Однако, радость оказалась преждевременной - ip v6 оказался деактивированным у российского интернет провайдера а его активация была связана с риском того, что я останусь без связи с сервером в России. Поэтому, я просто настроил переадресацию портов с внутреннего устройства на внешний IP адрес модема. К счастью, на стороне провайдера, маршрутизация на динамический IP адрес позволяла к нему подключиться, поэтому, просто запустил виртуальную сессию командой screen и просто копирую папки командой rsync.
Команда копирования выглядит вот так:
rsync -avzh remoteuser@111.222.333.4444:/remte/address/path /local/folder/path
За это время модем один раз сменил внешний IP адрес и DHCP сменил внутренний адрес компьютера - похоже оборудование не любит когда через него перекачивают много информации, однако процесс идет и за четыре дня я перекачал уже около двух терабайт, что дает мне надежду что все данные будут успешно спасены.
Kotlin
Чтобы отвлечься от депрессивных мыслей погрузился с головой в новые технологии. Заметил, что когда начинаешь разбираться с какой нибудь сложной задачей вся тревожность по поводу текущих проблем отходит на второй план.
Давно хотел поглядеть что это за зверь такой Kotlin - для андроида мне вполне хватает Java но вижу все больше проектов которые переходят на Kotlin и мне интересно почему.
Покопался немного на выходных делая небольшой проект и мне этот Kotlin даже понравился.
Понравилось то, что Kotlin, оказывается, может компилироваться не только в Java но также в JavaScript и в нативный код. Это делает его отличным языком для кроссплатформенной разработки и даже для фронтенда. Как следствие можно использовать в программе как библиотеки из мира Java так и библиотеки и мира JavaScript.
Kotlin имеет свой собственный подход к конкурентному программированию на базе так называемых Coroutines. Выглядит неплохо, хотя их недостатки или достоинства я пока как следует не прочувствовал.
Синтаксис языка очень лаконичный, из него убрали все лишнее, я бы сказал убрали даже больше чем нужно, например в нем нет статических методов, что затрудняет, например создание синглтонов. С другой стороны, и не нужно использовать синглтоны, это не самый лучший паттерн.
Вобщем, буду изучать дальше, может быть следующий проект сделаю на Kotlin.
Только для своих
Коллега вчера показал - если зайти на сайт издания Нью-Йорк Таймс и открыть консоль разработчика, то в консоли появится секретная ссылка о найме программистов.
По-моему - очень креативное решение.
Стрелка осциллографа
"Она металась, как стрелка осциллографа..." - цитата принадлежит Юлии Латыниной, за что та и получила такое прозвище.
Оказывается, подобные косяки, вообще, свойственны даже известным писателям, так у Алексея Толстого:
"Мадам Ламоль стремительно села к столу, включила рубильник: мягко завыло динамо , лилово засветились грушевидные лампы. Застучал ключ, посылая сигналы. — Гарин, мы погибли… Гарин, мы погибли… — заговорила она, нагнувшись над сеткой микрофона."
Забавно, что первые осциллографы действительно было стрелочные, а первые электронные лампы были ртутными и, действительно, светились не теплым оранжевым а холодным лиловым светом, но про это уже мало кто помнит.