- PVSM.RU - https://www.pvsm.ru -

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения

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

Обсудим, чем все-таки они привлекают внимание. Подсказка: среда — это маленькая пятница.

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 1 [1]
Фото — Pineapple Supply Co. [2] — Unsplash

Когда не хочется работать

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

Одно из таких приложений – HackerTyper [3]. Оно превращает любой введенный набор символов в подобие программного кода. Пример работы утилиты есть на сайте проекта [4]. Также у HackerTyper есть альтернатива — GeekTyper [5]. Резидент Reddit использовал этот инструмент [6], когда местный телеканал в его городе снимал сюжет о его работе [7] в компании, разрабатывающей игры:

На GitHub можно найти инструменты, которые не смогут растянуть рабочее время, но, наоборот, помогут его сократить — например приложение Volkswagen [8]. Когда код попадает на проверку серверу непрерывной интеграции [9] (CI), Volkswagen сокращает количество ошибок, чтобы тесты прошли успешно. Так, вы можете не беспокоиться о тестировании и уделять больше внимания другим, «более важным», задачам. Утилита носит имя немецкого автопроизводителя, поскольку его разработали сразу после скандала [10], развернувшегося вокруг автоконцерна. Четыре года назад в дизельных автомобилях компании обнаружили ПО, которое в десятки раз занижало количество вредных газов в выхлопе при проведении тестов.

Также стоит отметить утилиту No Code [11]. К ней можно обратиться, если вам совсем не хочется прикасаться к клавиатуре. Хотя назвать её утилитой довольно сложно — в репозитории вы не найдете ни одной строчки кода. Чтобы начать работать с No Code, достаточно ничего не делать. По словам автора, это — лучший способ писать надежные и безопасные приложения.

Когда нужно сохранить данные

В репозиториях GitHub можно найти файловую систему πfs [12], которая предлагает сэкономить место на диске, сохранив данные в числе Пи. Работа файловой системы основывается на утверждении, что в π можно встретить любую последовательность цифр. Сохранить данные можно с помощью команды:

πfs -o mdd=<metadata directory> <mountpoint>

Первый параметр в скобках — это директория, где πfs хранит метаданные сохраняемых файлов, а второй — точка монтирования стандартной файловой системы. Если вы знаете смещение файла и его длину в π, то можете извлечь его, используя формулу Бэйли — Боруэйна — Плаффа [13] для поиска необходимой последовательности цифр в числе Пи.

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 2
Фото — ozz314 [14] — CC BY / Фото изменено

Есть популярное мнение, что число Пи можно использовать не только как хранилище известных, но и как хранилище неизвестных данных. Теоретически из πfs можно извлечь ненаписанные книги, несделанные фотографии и неснятые фильмы — главное, добраться до их метаданных.

Когда нужен необычный сервис

В ИТ-индустрии есть такой термин, как XaaS (Everything as a Service) — «все как сервис». Он описывает все сервисы, которые используют облачные вычисления. В сети можно найти утилиты, которые выводят это определение на новый уровень. Например, сервис booleans.io [15], который предоставляет «булевы выражения как услугу». Это — набор API, с помощью которого можно создавать, удалять и обновлять булевы объекты. Например, на запрос:

curl -X POST https://api.booleans.io --header "Content-Type: application/json" --data '{"value": true, "label": "Hello world!"}' --header "Authorization: Token [token]

Сервис сгенерирует следующий ответ:

{
  "id": "4ee4b8f7-8d31-4ae2-93b0-554e19af740d",
  "created_at": "2018-11-24 14:56:26",
  "updated_at": "2018-11-24 14:57:43",
  "value": true,
  "label": "Hello world!"
}

Другой пример — shoutcloud.io [16]. Это — ALL CAPS AS A SERVICE, который автоматически трансформирует строчные буквы в прописные. Достаточно воспользоваться специальным API:

curl -X POST 
    -d '{"INPUT": "hello world"}' 
    -H 'Content-Type: application/json' 
    HTTP://API.SHOUTCLOUD.IO/V1/SHOUT

    { "INPUT":"hello world",
      "OUTPUT":"HELLO WORLD" }

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

О чем мы пишем в наших блогах и социальных сетях:

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 3 Спасет ли облако ультра-бюджетные смартфоны [17]
«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 4 Бенчмарки для серверов на Linux: подборка открытых инструментов [18]

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 5 Как облако помогло сделать снимок черной дыры [19]
«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 6 DevOps в облачном сервисе на примере 1cloud.ru [20]

«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 7 Подборка книг для тех, кто уже занимается системным администрированием или планирует начать [21]
«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 8 Как работает техподдержка 1cloud [22]


«Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боевого» применения - 9
Пулы ресурсов 1cloud [23] — какое оборудование мы используем для обеспечения работы облака – его типы, производительность и другие характеристики.


Автор: 1cloud

Источник [24]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/330394

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/1cloud/blog/467797/

[2] Pineapple Supply Co.: https://unsplash.com/photos/qWlkCwBnwOE/

[3] HackerTyper: https://github.com/fgaz/hackertyper

[4] на сайте проекта: http://hackertyper.com/

[5] GeekTyper: http://geektyper.com/

[6] использовал этот инструмент: https://www.reddit.com/r/gifs/comments/1w862f/they_wanted_to_shoot_me_making_games_on_local_tv/

[7] снимал сюжет о его работе: https://imgur.com/lz7hOlC

[8] Volkswagen: https://github.com/auchenberg/volkswagen

[9] непрерывной интеграции: https://habr.com/ru/company/1cloud/blog/447090/

[10] сразу после скандала: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BB%D0%BE_Volkswagen

[11] No Code: https://github.com/kelseyhightower/nocode

[12] файловую систему πfs: https://github.com/philipl/pifs

[13] формулу Бэйли — Боруэйна — Плаффа: https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0_%D0%91%D1%8D%D0%B9%D0%BB%D0%B8_%E2%80%94_%D0%91%D0%BE%D1%80%D1%83%D1%8D%D0%B9%D0%BD%D0%B0_%E2%80%94_%D0%9F%D0%BB%D0%B0%D1%84%D1%84%D0%B0

[14] ozz314: https://www.flickr.com/photos/ozz314/2476849029/

[15] booleans.io: https://booleans.io/

[16] shoutcloud.io: http://shoutcloud.io/

[17] Спасет ли облако ультра-бюджетные смартфоны: https://habr.com/ru/company/1cloud/blog/467465/

[18] Бенчмарки для серверов на Linux: подборка открытых инструментов: https://habr.com/ru/company/1cloud/blog/464763/

[19] Как облако помогло сделать снимок черной дыры: https://1cloud.ru/blog/snimok-chernoy-diri-v-kontekste-virtualizacii?utm_source=habrahabr&utm_medium=cpm&utm_campaign=fun&utm_content=blog

[20] DevOps в облачном сервисе на примере 1cloud.ru: https://1cloud.ru/blog/devops-v-razrabotke-oblaka-1cloud?utm_source=habrahabr&utm_medium=cpm&utm_campaign=fun&utm_content=blog

[21] Подборка книг для тех, кто уже занимается системным администрированием или планирует начать: https://www.facebook.com/1cloudru/photos/a.1526614574327724/2382871935368646/

[22] Как работает техподдержка 1cloud: https://www.facebook.com/1cloudru/posts/2334655376856969

[23] Пулы ресурсов 1cloud: https://1cloud.ru/infrastructure/puly-resursov?utm_source=habrahabr&utm_medium=cpm&utm_campaign=fun&utm_content=site

[24] Источник: https://habr.com/ru/post/467797/?utm_campaign=467797&utm_source=habrahabr&utm_medium=rss