Рассылки о разработке и тестировании

Прислали мне список почтовых рассылок и я не нашел в них те рассылки, на которые подписан сам.

Вот какие рассылки читаю я:

Все новости, которые сыпятся в соцсетях, я обычно читать не успеваю. Чтобы оставаться оставаться в курсе того, что происходят в opensource я читаю рассылку Changelog Weekly.

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

Дайджест портала Software-Testing.RU о тестировании ПО. Чтобы понять информативна ли она будет для вас посмотрите архив выпусков.

А вы какими-то интересными рассылками о разработке или тестировании можете поделиться?

10.08.2017

Обратная связь для разработчиков PostgreSQL

Когда я тестировал PostgreSQL, то у меня было много вопросов к тому, в каких условиях используют DBA эти СУБД: на какой файловой системе, сколько RAM и CPU на сервере, какие дополнительные расширения они устанавливают и т.д. Время ресурс не бесконечный, а тестирование ПО вещь дорогая, поэтому хотелось знать ответы на эти вопросы, чтобы правильно спланировать тестирование и фокусироваться на тех конфигурациях тестовых окружений, которые бы покрывали нужды большинства пользователей СУБД PostgresPro.

Чтобы получить ответы на такие вопросы есть два способа:

  1. общение с представителями компаний, у которых больше все установок СУБД и которые приносят больше всего дохода компании-производителю. Такое общение обычно происходит со стороны отдела продаж или со стороны менеджера продукта. С таким способом как минимум два недостатка: вероятность искажения информации пока она дойдет от пользователей до отдела разработки и тестирования и отсутствие оперативности в предоставлении информации.
  2. автоматический сбор нужных метрик средствами самого продукта и отправка их разработчикам.

Второй способ широко используется и для коммерческих продуктов и для открытых проектов. Но для PostgreSQL я не нашёл расширения, которое бы собирало параметры СУБД и отправляло на удаленный сервер. Поэтому решил сделать его сам.

В первую очередь я посмотрел на расширение для MariaDB. Их расширение для сбора статистики по умолчанию установлено и выключено. После включения с заданной периодичностью расширение собирает значения 850 параметров и отправляет их на сервер компании MariaDB. Статистику некоторых параметров можно посмотреть на специальной страничке.

Для своего расширения я решил вместо данных в формате списка key=value использовать JSON. Просто потому что это будет удобнее и в PostgreSQL хорошая поддержка JSON (операторы и тип данных). Отправка отчёта с данными с помощью самого расширения мне показалась излишним. Для отправки проще использовать curl, а периодичность настроить в crontab(1).

Составил список того, что интересно было бы знать при разработке: версия СУБД, список расширений, настройки СУБД из postgresql.conf, размер БД на диске, файловая система диска, на котором находится $PGDATA, информация о CPU и RAM, информация об операционной системе и идентификатор СУБД. Для части параметров можно составить SQL запросы и на выходе получить JSON структуру. А некоторых параметров в БД нет. Для таких параметров сделал отдельные SQL функции на C, вывод которых уже добавлял в отчёт. Так получилось расширение pg_feedback. Было бы здорово сделать ещё сервис с web-ui, чтобы смотреть статистику по полученным отчётам, но пока получилось их только собирать и складывать в СУБД - pg_feedback-webui. Да и не уверен я, что нужно писать специальный сервис, когда есть Logstash и Kibana.

22.07.2017

Переносимый интерфейс операционных систем

Читаю документацию по функции statfs(2), а там такое:

Nobody knows what f_fsid is supposed to contain (but see below).

Дальше идёт объяснение того, как f_fsid используется в разных ОС, но суть в том, что нет единого мнения как значение из этого поля использовать. Это несмотря на то, что поле присутствует в описании struct statvfs в POSIX 1003.1-2001.

19.07.2017

Where is the OpenBSD community?

Yesterday I decided to determine where the OpenBSD community should have its interactive communication. Options included were Google Plus, Reddit and other social networks. The results were not surprising, with community prefer old-style communication - mailing lists maintained by project people. Less popular community resources see below:

03.07.2017

Обратно на OpenBSD

Поскольку мой основной ноутбук стал совсем старым (шутка ли MBP Mid 2010), то я стал раздумывать над его заменой. После исследования наиболее актуальных моделей на Яндекс.Маркете в финал вышли: MacBook Air, Dell Latitude, Lenovo X1 Carbon. MBA у меня был пару лет во время работы в Virtuozzo и вцелом показался очень удобным за исключением того, что у него был глянцевый экран и не было трекпойнта, который мне после ThinkPadов очень полюбился. Серия Dell Latitude понравилась своей такой же строгостью стиля как старые ThinkPadы. И выбирая между Latitude и X1 Carbon я всё-таки остановил свой выбор на X1.

С операционной системой долго выбирать не пришлось - я знал, что раз уж прийдется переезжать с одного ноутбука на другой, то это мой шанс опять вернуться на OpenBSD, по которой я успел сильно соскучиться за несколько лет использования Mac OS. У одного из разработчиков OpenBSD Reyk Floeter тоже X1 и он описал проблемы OpenBSD на X1. Поэтому я заранее знал к чему нужно быть готовым. Но после покупки мне всё равно пришлось повозиться с установкой.

Во-первых, на ноутбуке стояла чистая лицензионная Windows и перед форматированием диска хотелось её сохранить. Я знаю про CloneZilla, g4u, SystemRescueCD и другие инструменты, с помощью которых можно загрузиться и сделать полный бэкап диска. Но для g4u нужен CDROM, которого нет в X1, для SystemRescueCD не получилось сделать загрузочную флешку, а c CloneZilla что-то тоже не получилось. И тут выяснилось, что кроме установочной флешки OpenBSD мне больше ничего не надо - в установочном образе есть dd и ядро прекрасно определяет мой внешний USB HDD.

Во-вторых сразу после начала загрузки в EFI режиме гас экран :) Проблема решилась включением опции CSM в BIOS.

И в третьих были проблемы с настройкой сети во время установки. Дело в том, что установочный образ содержит только ядро и скрипты для установки, а необходимые архивы с установочными файлами загружаются перед самой установкой с ближайшего зеркала. Проблема заключалась в том, что беспроводной сетевой адаптер требует загрузки несвободной прошивки, которую можно загрузить только после установки, а встроенный проводной адаптер не работал с настройками BIOS по умолчанию:

em0 at pci0 dev 31 function 6 “Intel I219-V” rev 0x21: msi em0: Hardware Initialization Failed em0: Unable to initialize the hardware

Потом я конечно разобрался, что проблема была из-за включенной опции ‘Wake on Lan’ в BIOS и позже нашел обсуждение этого бага в рассылке.

Кстати пока выбирал себе ноутбук я собрал с них dmesg. Если выбираете Latitude, то можно заранее посмотреть что из железа не работает.

02.07.2017

Крепёж для велосипеда на стену

Когда я купил велосипед, то сразу начал думать как и где я буду его хранить. Выбирать где именно хранить особенно не приходилось - в квартире места для велосипеда не было, поэтому вариант только один - балкон. Оставалось выбрать крепеж на стену. В магазинах очень популярны разного рода металлические крюки для крепления на стену и на которые уже вешается велосипед. Мне они все казались массивными и не эстетичными для квартиры. Больше всего зацепил крепеж от канадцев - пластмассовый крепеж в виде буквы П, в который предполагалось вставлять колесо байка. Но при все своей простоте цена крепежа просто зашкаливала - около двух тысяч рублей. Я тогда нашел себе более дешёвый аналог - Cycle Snap, но слишком уж понравился канадский Clug. Производитель Clug ещё примечателен тем, что одно время на сайте выкладывал STL модель крепежа для самостоятельной печати на 3D принтере. Но потом они ее убрали объяснив это тем, что 3D печать не гарантирует вам такого же качества, как крепеж в их онлайн магазине.

Сегодня друзья прислали ссылку на блог, в котором автор описывает как он по найденным в интернете фотографиям Clug сделал STL модель и выложил её для всех желающих. Качество печати у 3D принтера действительно не такое как у оригинального Clug, но если для вас это не имеет значения, то сгодится и так.

24.06.2017

Лайфхак с TeX

Изредка пользуюсь LaTeX и каждый раз меня удручает его установка - весь дистрибутив занимает около 2 Гб. Если вам не нужны все расширения, которые есть в полном дистрибутиве, то лучше и быстрее установить базовый пакет BasicTeX. Его установщик занимает 64 Мб и после установки всего 110 Мб. Недостающие расширения можно поставить с помощью tlmgr. Например: tlmgr install collection-fontsrecommended.

09.05.2017

Свежие новости об OpenBSD

Внезапно осознал, что не писал в блоге про Планету OpenBSD.

В мире не так много основных источников новостей о проекте: почтовые рассылки misc@ и tech@ и немного блогов разработчиков, в которых попадаются интересные статьи. Я для удобства собрал все источники новостей с помощью RSS на одной странице - openbsdnow.org. Там можно посмотреть новости за последние несколько суток, подписаться новости по почте или RSS. Изначально делал для себя, но ещё 65 человек нашли это для себя полезным. Может быть будет полезным и для тебя.

28.04.2017