Рубрика «open source» - 331

Во второй части попробуем написать минимального POP3 клиента. Он будет уметь подключаться к серверу, логиниться в почтовый ящик, узнавать сколько там писем и скачивать последнее. Для иллюстрации этого будет достаточно.
Читать полностью »

Автор: Борис Павлович

Компания Mirantis с радостью анонсирует предстоящий выход нового инструмента для эталонного тестирования в составе OpenStack – Rally. Данный проект отвечает за развертывание OpenStack в конкретной конфигурации облака, тестирование его корректности, а также измерение различных параметров производительности.Читать полностью »

Здравствуйте. Меня зовут Вадим. И я — меломан. Это как наркотик. Постоянно нужна новая музыка. И инструменты для ее поиска и прослушивания. Эта болезнь длится уже много лет. Все началось с написания скриптов, которые распарсивали, базы данных vk.com и last.fm. Потом были многопоточные парсеры музыки liveinternet через сеть прокси серверов и парсер поиcковой выдачи google и p2p сети wuala + рекомендательные сервисы на базе last.fm (w3z.ru — проект закрыт). Затем появилась социальная сеть для меломанов интегрированная с last.fm и vk (wharrgarbl.ru — проект закрыт). И наконец десктопное приложение для меломанов, в котором можно было и слушать и искать музыку в едином интерфейсе (mielophone.com — проект закрыт). Все эти проекты объединяет одно — они не были opensource проектами, и по разным причинам умерли. Мне помогало много людей yamalight, Kaaboeld и вдвойне печально, что их пришлось закрыть. Какие то по требованию правообладателей, а какие то — не «потянул». Так может быть пора перестать искать «выгоду»? — подумал я, и решил написать еще один бесплатный, свободный, кроссплатформенный аудиоплеер.
image
Читать полностью »

Некоторое время назад я начал рассказывать на Хабре про Elliptics — наше отказоустойчивое распределенное key-value хранилище (к слову, свободное и распространяемое под GPL-лицензией). Тогда я в общем описал устройство Elliptics: про архитектуру и основные принципы работы, за счет чего достигается надежность системы, как систему можно расширять, и как она ведет себя при сбоях.

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

image

Сегодня — про сетевую и программную архитектуру Elliptics и некоторые из его особенностей. Также я подробно расскажу про кэш и нашу низкоуровневую библиотеку для локального хранения данных — Eblob.
Читать полностью »

Думаю, многие из нас писали код вида:

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        final float x = event.getX();
        final float y = event.getY();
        // использование x и y...
        return false;
    }

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

Год назад я с друзьями разрабатывал приложение, где очень многое упиралось в обработку касаний. Однажды, загрузив новые исходники из репозитория и собрав приложение, я обнаружил, что вертикальная координата касания определяется неверно. Просматривая последние коммиты команды, я наткнулся на интересную строку, где внезапно от y-координаты отнималось 100. То есть, что-то вроде «y -= 100;», причем, это число не было вынесено как константа и вообще было непонятно почему именно 100. На мой очевидный вопрос я получил ответ «Ну, мы опытным путем определили, что в этом месте y-координата всегда на 100 (пикселей) больше, чем должна быть». Здесь, конечно, стоило бы перечитать документацию по обработке касаний и, просмотрев код проекта, найти ошибку, но я решил пойти более интересным путем – проследить по исходникам Android за MotionEvent от его получения до утилизации.

Если я смог кого-то заинтриговать историей в стиле «По следам полосатого бага» — добро пожаловать под кат.
Читать полностью »

Пришло время рассказать о еще одной стороне применения замечательного языка Форт.
Этим циклом статей я покажу, как с его помощью можно создавать крошечные клиент-серверные приложения. Каждое из которых можно использовать как исследовательский и обучающий инструмент.
Для развлечения нам понадобится Windows вплоть до семерки и пакет SP-Forth. Андрей Черезов декларировал возможность запуска его форт-системы под Линуксом, но я это не проверял.

Для начала попробуем создать простейшую серверную программку, которая будет отдавать присоединившемуся клиенту ну… скажем текущую дату и время на сервере.

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

mcdiff

В составе Midnight Commander, помимо всем известного редактора mcedit, есть не менее замечательная утилита для сравнения файлов «бок о бок» (side-by-side) — mcdiff. В ней можно сравнивать и при необходимости производить полное или частичное слияние в обе стороны.

GIT — Использование mcdiff в качестве внешней DIFF утилиты

Историю появления утилиты mcdif когда-то уже рассказывал тут но ближе к делу…

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

Румынский биткоин миллионер оплатил долги OpenBSD

Несколько дней назад в СМИ сообщалось, что свободному проекту OpenBSD катастрофически не хватает средств на существование. Дошло даже до того, что нет денег на оплату электричества. Всё железо, на котором собирается и тестируется операционная система OpenBSD, установлено в доме ведущего программиста Тео де Раадта и его невозможно перевезти в другое место. В Канаде электричество очень дорогое: приходится платить почти $2000 в месяц. Есть и другие статьи расходов, при этом OpenBSD существует исключительно за счёт частных пожертвований.

Ссылку на новость о нехватке средств OpenBSD кто-то опубликовал в IRC-канале #bitcoin-assets — и уже через несколько часов проект OpenBSD нашёл спонсора.
Читать полностью »

Здравствуйте, Хабровчане!
Первым постом здесь размещу свой перевод статьи постоянного обозревателя Techrepublic и Linux.com Джека Уоллена. Она мне показалась любопытной и содержащей довольно много пищи для обсуждения.

Буду рад конструктивным комментариям профессионалов и энтузиастов по тем пунктам, которые описаны ниже: почему согласны или не согласны с утверждениями. В том числе в разрезе российской специфики, особенно по пунктам 9 и 10.

2013 год был знаменателен для open-source'а — он пережил много взлетов и совсем мало падений. Однако я верю, что для Linux, получившего крепкий фундамент в 2013-м, этот год станет еще лучше.

Многие из вас, возможно, уже потирают руки, ожидая очередного предсказания о всеобщем господстве Linux от его адепта. Но у меня на самом деле накопилось довольно много причин для такого громкого предсказания. Ниже я опишу 10 причин, почему я верю, что 2014-й будет знаковым для open-source'а вообще и для Linux'а в частности:

1. Open-source будет доминировать в корпоративном сегменте
Катализатором этого станет продолжающееся распространение мощной ОС Red Hat Enterprise Linux 6.5, но перспективы лежат гораздо дальше. Поскольку большие корпорации имеют высокие запросы к безопасности и гибкости своих данных, для их удовлетворения они будут переходить на open-source (особенно Linux). Большие компании также более требовательны в плане представления своих данных и совместного доступа к ним, поэтому open-source, по сути, остается единственным вариантом, который они могут избрать.
Читать полностью »

Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.

Диагностика «тормозящего» процесса

Вот хороший пример часто возникающей проблемы, которую я воспроизвёл на своём лаптопе: пользователь жалуется, что команда find работает «значительно медленнее», при этом не возвращая никаких результатов. Зная, в чём дело, мы решили проблему. Однако меня попросили изложить систематический подход к решению подобных задач.

К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)

Итак, приступим к диагностике.
Читать полностью »


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