В разделах фотография и окружение
Андрей Баксаляр  :: 21 фев, в 00:53

Максим Майоров и его путешествия по заброшенным объектам

Движение сталкеров или «городских исследователей» (от urban explorers) — сообщество людей, исследующих заброшенные и не очень объекты. Одним из таких «исследователей» является Максим Майоров, посещающий всяческие заброшенные заводы, бункеры и прочие интересные места с эстетикой, часто, больше присущей мирам Doom и Dead Space.

Максим Майоров и его путешествия по заброшенным объектам

Собственно, на фотографии Максима случайно наткнулся и рекомендую подписаться на него (если, конечно, такое интересует) — он есть на VK и в Инстаграмчике. Более 4 тысяч смачных фотографий ржавых и разлагающихся советских противоядерных бункеров, высокотехнологичных заводов прошлого и всего такого!

Приведу несколько примеров. Один джпег стоит тысячи слов:

Максим Майоров и его путешествия по заброшенным объектам

Максим Майоров и его путешествия по заброшенным объектам

Максим Майоров и его путешествия по заброшенным объектам

Читать далее »


В разделах языковое и общество
Андрей Баксаляр  :: 19 фев, в 09:00

Нижний, конечно, не Екатеринбург (с его Plov Project-ом), но здесь тоже выражен большой спрос на надписи «на английском». Выглядит нелепо, но зато, наверное, модно и молодежно!

Cooleebeen


В разделах общество и жизнь
Андрей Баксаляр  :: 18 фев, в 09:14

Простое такое объявление у подъезда простого нижегородского дома 8, что на улице Рокоссовского.

Объявление в одном из нижегородских дворов

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


В разделе фотография
Андрей Баксаляр  :: 8 фев, в 06:32

Давно у нас не было годных фотографов с их фотографиями. На этот раз они прямиком из китайских мегаполисов, холодные, ламповые, светящиеся, неоновые! Поехали.

Дженнифер Бин, Шанхай

Дженнифер Бин, Китай, Шанхай

Читать далее »


В разделах программирование и софт
Андрей Баксаляр  :: 25 янв, в 20:19

Как правильно сравнить содержимое вывода какой-то команды с содержимым текстового файла? Например, у нас есть requirements.txt, в котором содержится информация о зависимостях проекта. По сути, содержимое этого файла является записанным выводом команды pip freeze. И вот, по прошествии какого то времени, нам надо сравнить содержимое этого файла с актуальным выводом все той же команды.

Для этого достаточно просто воспользоваться конвейерным механизмом (unix pipes):

$ pip freeze | diff requirements.txt -
3c3
< django-extensions==1.7.1
---
> django-extensions==1.7.4

Что здесь происходит? Во-первых, сначала выполняется pip freeze, вывод которого подается дальше по конвейеру, передача обозначается символом |. Во второй части команды diff принимает первым аргументом файл requirements.txt, а вторым аргументом, обозначенным дефисом -, принимает стандартный ввод, в котором содержится переданная по конвейеру информация из левой части команды (т.е. вывод pip freeze). Программа diff сравнивает два текста и выдает найденную разницу.

Любопытно, что в Linux-е файл тоже может иметь название "-", и тут есть вероятность небольшой путаницы. Из этой ситуации можно выйти элегантным образом, явно указывая bash-у, что это файл, а не stdin:

$ cat ./-
Wow, very strange! Such pipy!

Где вместо точки интерпретатор подставляет текущую директорию. Естественно, можно просто указать полный путь — например, cat /home/andrey/-.

Та же самая техника применяется в тех случаях, когда bash должен отличить название файла от опций, например, ./-e будет рассматриваться именно как название файла -e, а не как опция -e.

К слову, первый пример с конвейером можно реализовать немного по-другому:

$ diff requirements.txt <(pip freeze)
3c3
< django-extensions==1.7.1
---
> django-extensions==1.7.4

Здесь при выполнении интерпретатором сначала «раскрываются скобки», а потом вывод передается по конвейеру в левую часть команды.

Кстати, через конвейеры удобно сравнивать вывод команд и/или файлы не только локальные, но и удаленные. Например, сравнить два файла (локальный и удаленный) можно примерно так:

$ diff requirements.txt <(ssh -A user@host.com "cat /www/project/requirements.txt")

Здесь мы подключаемся к удаленному серверу (естественно, все это должно быть настроено заранее), там выводим содержимое requirements.txt и через конвейер сравниваем это с аналогичным локальным файлом.

Пока комментариев нет, будь первым!


В разделах интернет, кулинария и искусство
Андрей Баксаляр  :: 29 авг 2016, в 03:21

Все, что я хочу сказать по поводу этого видео:

  1. Японцы все еще ненормальные!
  2. Я хочу иметь столько свободного времени!
  3. Какого хрена я смотрю это видео в 3 ночи и где я его вообще откопал?

Пока комментариев нет, будь первым!


В разделах юмор и жизнь
Андрей Баксаляр  :: 11 авг 2016, в 03:46

Немного освежим память классикой баяностроения:

Don't work hard, work intelligent

Ну… или если выйти за рамки еще немного дальше, то:

Don't work hard, work intelligent

Пока комментариев нет, будь первым!


В разделах окружение и будущее
Андрей Баксаляр  :: 31 июл 2016, в 22:24

Здесь даже описывать ничего не нужно. Нужно просто листать и наслаждаться:

Бетонные клетки

Бетонные клетки

Величие и ужас человеческих термитников/ульев/муравейников.

Читать далее »


В разделах программирование и софт
Андрей Баксаляр  :: 20 июл 2016, в 04:58

Порой случается такое, что нужно проверить вывод какого-то API в консоли. Запрашиваешь у сервера информацию (возьмем для примера API OpenWeather) и тебе вываливается что-то подобное:

Нечитаемый JSON

И это еще в лучшем случае, т.к. здесь иерархия не такая ветвистая и мало узлов. Бывают случаи, где вывод совершенно нечитаем человеком. И вот в таких случаях можно использовать какой-то инструмент для того, чтобы «причесать JSON» (еще это называют термином pretty print).

Один из нескольких вариантов — замечательная утилита jq, делающая JSON вполне удобочитаемым и визуально структурированным:

Легко читаемый JSON в консоли

Как видно, запрос curl-лом мы отправили по конвейеру в jq ., в данном случае точка после команды является аргументом, означающим, что от jq требуется выдать все узлы, находящиеся в корне иерархии. Вместо точки можно указывать конкретный путь, состоящий из ключей, разделяемых точками — например:

Вывод отдельной ветки иерархии JSON при помощи jq

В данном примере мы попросили вывести jq лишь необходимую часть JSON, а именно — раздел weather со всем содержимым. Можно фильтровать и дальше по дереву. Например, jq .person.name.surname.

Информация об установке (например, в Ubuntu jq уже есть в репозитариях — sudo apt install jq) и примеры фильтров доступны на официальном сайте jq.


В разделах технологии, наука и общество
Андрей Баксаляр  :: 26 июн 2016, в 13:32

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

Сим играет в шахматы со смертью

Так к чему это я все? Жду не дождусь, когда нейронки доберутся до «симуляторов жизни», например, до Sims! Конечно, перед этим в Sims было бы неплохо добавить взятки, несовершенство законов, коррупцию, семейные кланы, религии и секты, человеческую глупость, отмывание денег, воровство, фальшивые диссертации и прочие документы, доработать такую составляющую, как понты, добавить проституцию и сутенерство, возможность собирать компромат и продавать/принимать наркоту, а также надо бы увеличить цену добычи новых знаний (там все слишком уж легко сделано — потусовался у книжного шкафчика, и поднял скилл за вечер). Чтобы больше приблизить идеализированный мир к настоящему. Ну, к счастью, такие немаловажные факторы, как неугомонная социализация и неуемное спаривание уже есть.

И вот, когда нейронка прогонит пару миллиардов игровых итераций, партий под названием «жизнь», было бы очень интересно посмотреть на добытые дуболомной машинной рутиной рецепты достижения топовых показателей в виртуальной жизни. Думаю, они нас слегка шокируют своей необычностью (или, может, как раз наоборот, одиозной обыденностью?). В любом случае, челюсть у нас гарантированно отвиснет.

Войти через...


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

Популярное


Соациализируемся


Также найти меня можно в других злачных местах:

Все еще использую электронную почту:
andreybaksalyar@ya.ru