Рубрика «linux» - 162

Введение

В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

Что такое профайлинг и оптимизация? Если ваша программа работает недостаточно быстро, использует слишком много памяти, неоптимально использует процессор, вы хотите понять, в чем дело, и исправить — это и есть профайлинг и оптимизация.

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.

Профилирование и оптимизация программ на Go - 1

Читать полностью »

Фонд информационной демократии (ФИД) разработал готовые пакетные предложения с набором отечественного ПО для региональных и муниципальных органов государственной власти. Заказчиком проекта пакетных предложений выступал Институт развития интернета.

Муниципальным органам предлагается шесть вариантов базовых модельных комплектов отечественного ПО. Все включенные в пакет программы работают под управлением двух ОС — «Альт Линукс» и Astra Linux.

Читать полностью »

Сравнительно недавно я решил перевести домашний компьютер с Windows на Linux. То есть идея такая бродила уже некоторое время, подогреваемая новостями с фронтов борьбы с добровольно-принудительной установкой Windows 10 и размышлениями о неизбежном устаревании «семерки» следом за XP, а вот поводом взяться за дело стал выход очередного LTS-релиза Ubuntu. При этом основным мотивом такого перехода я назову простое любопытство: домашний компьютер используется в основном для развлечений, ну а знакомство с новой ОС — развлечение не хуже прочих. Причем развлечение, как мне кажется, полезное в плане расширения кругозора. Дистрибутив же от Canonical был выбран просто как наиболее популярный: считаю при первом знакомстве с системой это немаловажным подспорьем.

Довольно быстро я на собственном опыте убедился, что для котиков и кино Ubuntu вполне подходит. Но, поскольку компьютер используется еще и для удаленной работы, для отказа от Windows не хватало настроенного подключения к Cisco VPN c авторизацией по eToken.

Набор программ

Было ясно, что для подключения понадобятся по меньшей мере драйвер токена и некий VPN-клиент. В результате поисков в сети получился такой список:

  1. OpenConnect — VPN-клиент, «совершенно случайно» совместимый с серверами Cisco «AnyConnect»
  2. GnuTLS — свободная реализация протоколов TLS и SSL. Что важно, в состав этой библиотеки входит утилита p11tool для работы со смарт-картами
  3. SafeNet Authentication Client — набор драйверов и дополнительных утилит, обеспечивающий работу с электронными ключами eToken

Поскольку для установки соединения OpenConnect-у требуется URL сертификата клиента, который можно узнать с помощью утилиты p11tool, и обеим программам требуется драйвер для работы со смарт-картой — с установки этого драйвера и начнем.
Читать полностью »

Исходный код CryEngine 5.1 опубликован на Github - 1

Немецкая компания Crytek решила опубликовать на Github исходный код игрового движка CryEngine (последняя версия 5.1). Перенести репозиторий на Github решили недавно. Разработчики говорят, что с помощью системы контроля версий Git гораздо удобнее сравнивать ревизии и отслеживать изменения.

CryEngine написан на языке C++. Раньше новые версии движка с исходниками выпускались в zip-архивах. Чтобы определить, какие сделаны изменения, нужно было распаковать архивы предыдущей и новой версий и сравнить файлы. В системе Git всё делается проще. К тому же, публикация на Github, по мнению некоторых экспертов, мотивирует сообщество open-source разработчиков оптимизировать движок под Linux/OpenGL/Vulkan.
Читать полностью »

Первые слова крупных проектов - 1

Большое дело начинается с малого шага. Какой-то студент из Питера смастерил веб-сайт на коленке. Никому не известный энтузиаст из Финляндии прислал анонс в тематическую эхо-конференцию по Minix. Кто может предположить, к чему это приведёт?

Спустя много лет интересно взглянуть, как начинались некоторые популярные ИТ-проекты.
Читать полностью »

IPSec VPN для OS X и iOS. Без боли - 1VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
© Wikipedia

VPN используется для удаленного подключения к рабочему месту, для защиты данных, для обхода фильтров и блокировок, для выдачи себя за гражданина другой страны и вообще — штука незаменимая. Практически повсеместно в качестве простого средства для организации пользовательского VPN используется всем известный OpenVPN, который использовал и я. Ровно до тех пор, пока у меня не появился Macbook и OS X в придачу. Из-за того, что подход Apple к конфигурации DNS сильно отличается от подхода других *nix-систем, проброс DNS через VPN нормально не работал.

После некоторых исследований у меня получилось два варианта:
— Использование DNS «мимо» VPN, что сильно небезопасно, но решает проблему.
— Использование нативных для OS X VPN-протоколов: PPTP и семейства IPSec.
Разумеется, я выбрал второе и разумеется — IPSec, а не устаревший PPTP.
Читать полностью »

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)

Для устранения некоторых недостатков сервера, собранного из бытовых комплектующих, разработал недавно устройство, которым хочу поделиться. Его подробное описание, со схемой и исходными кодами, доступно на Geektimes в первой части.

WRN устройство

Устройство получило наименование WRN от составляющих его подсистем:

  • Аппаратный сторожевой таймер, работающий с watchdog демоном;
  • Генератор истинно случайных чисел;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

В этой части статьи будет рассмотрено как взаимодействовать с последовательным портом из пространства ядра (kernel space) и как организовать работу с несколькими подсистемами устройства через RS232 в Linux.

Читать полностью »

Сегодня очередной День всеобщей осведомлённости о доступности (GAAD), в который принято популяризировать вспомогательные технологии и доступность IT-продуктов для пользователей с ограниченными возможностями. Тем не менее, во время GAAD о доступности (или accessibility) в большинстве случаев говорят как о свойстве какого-либо программного обеспечения или web-сервиса, что безусловно важно и заслуживает всяческого внимания, но является не единственно возможным направлением приложения сил разработчиков. Помимо обеспечения доступности интерфейсов для вспомогательных технологий существует и такое направление, как разработка самих этих вспомогательных технологий: экранных увеличителей, программ чтения экрана, специализированных рабочих сред и других. Именно об одном подобном проекте, занимающемся разработкой специализированного рабочего окружения для незрячих и слабовидящих под названием LUWRAIN, и пойдёт речь в данной статье.

Год назад, на GAAD-2015, уже публиковался подробный материал о LUWRAIN, в котором была изложена общая концепция этой рабочей среды, а также рассмотрена задача создания приложений на её базе, адаптированных для людей с нарушениями зрения, поэтому, все, кто боится потерять контекст, может предварительно ознакомиться с публикацией "Luwrain — рабочее окружение для людей с нарушениями зрения". В этот же раз речь пойдёт о тех технических задачах, которые решались в рамках LUWRAIN на протяжении прошедшего года, и о перспективах дальнейшего развития, а также читателей ждёт рассказ о том, как команда LUWRAIN угощала армянским коньяком и русской водкой своих коллег из Canonical.

Михаил у офиса Canonical
Читать полностью »

Чуть меньше года назад я познакомился с моим верным помощником – WiFi роутером MikroTik hAP lite, который, не привлекая к себе внимания, раздавал интернет в моей квартире. Самое главное в подобного типа устройствах, на мой взгляд, чтобы ты не вспоминал об их существовании. Ты работаешь, они работают – гармония. Единственное, что мне мешало – периодические перебои со скоростью, связанные с загрузкой WiFi сети на частоте 2,4 GHz. Менять роутер я не хотел, т.к. он мне нравился и временным решением стало пробрасывание кабеля до важного стационарного компьютера. Повлиять на зашумленный радиоэфир в больших домах не получится, можно только перейти на менее загруженные частоты, а их небыло.

Переходим на 5 GHz домашнего интернета вместе с MikroTik hAP AC - 1

И наконец-то свершилось! Мой hAP lite обзавёлся старшими братьями: MikroTik hAP AC lite и MikroTik hAP AC, о которых я и хочу рассказать.

Читать полностью »

Бэкдор в Linux-ядре китайского производителя ARM открывает доступ к смартфону одной командой - 1

Китайская компания Allwinner занимается производством комплектующих для многих моделей недорогих Android-устройств, персональных компьютеров на платформе ARM и других устройств. Исследователи информационной безопасности обнаружили бэкдор в ядре Linux, которое со своей продукцией поставляет компания: он позволяет получить доступ к любому устройству с помощью одной простой команды.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js