Pull to refresh
0
0
Send message

Устанавливаем Linux-программы на смартфон под управлением Android

Reading time11 min
Views177K


Многие владельцы Android-фонов испытывают трудности с запуском настоящего Linux-софта на своих девайсах. По всем законам он вроде должен здесь работать, да вот только для его установки почему-то нужны права root, сам он распространяется в каких-то самодельных инсталляторах, а выбор программ сильно ограничен. Эта статья предложит ответ на вопрос, почему так получилось, и подскажет решение — удобный способ установки и запуска почти любого Linux-софта в Android.
Подробности
Total votes 110: ↑93 and ↓17+76
Comments41

Искусственный рассвет

Reading time9 min
Views233K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?
Total votes 187: ↑185 and ↓2+183
Comments87

Большая подборка функций хеширования на Github

Reading time1 min
Views30K
image

Maciej Czyzewski собрал на Github коллекцию исходных кодов различных алгоритмов хеширования: для вычисления контрольных сумм, некриптографических и криптографических.

В репозитории можно найти, к примеру, реализации CRC/MD5/ГОСТ 34.311-95/SHA-3. Каждая хеш-функция представлена исходником на языке С и make-файлом для его сборки. Алгоритмы предполагается использовать в целях обучения — в реальных проектах рекомендуется в целях безопасности использовать существующие библиотеки (например, Crypto++ для C++, BouncyCastle для Java и т.д.), список которых есть в репозитории.

Над репозиторием продолжается активная работа, поэтому в перспективе стоит ждать пополнения коллекции.

Github
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments13

Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 1]

Reading time8 min
Views168K

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color...


Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.



Разбором драйвера я занимался уже около полутора лет назад, в то время интернет на эту тему был совершенно пуст. Сейчас быстро погуглил по теперь уже известным мне ключевым словам утилит и нашел немного разрозненной информации. Несмотря на это, я решил. что собранная в одно место информация все равно не помешает, при том, что в этом посте она более полная.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments35

Использование анонимных методов в Delphi

Reading time8 min
Views33K
Поводом для написания статьи стал интерес к возможностям анонимных функций в Delphi. В разных источниках можно найти их теоретические основы, информацию о внутреннем устройстве, а вот примеры использования везде даются какие-то тривиальные. И многие задают вопросы: а для чего вообще нужны эти reference, какая может быть польза от их применения? Поэтому предлагаю некоторые варианты использования анонимных методов, применяемые в других языках, возможно, более ориентированных на функциональный стиль программирования.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments108

Разработка кроссплатформенных мобильных приложений в Delphi #6

Reading time3 min
Views11K
Часть #1
Часть #2
Часть #3
Часть #4
Часть #5

После слегка затянувшейся паузы мы продолжаем рассказ о создании мобильного приложения в Delphi с помощью Платформы FM. Напомню, что в качестве задачи мы выбрали реализацию кулинарной книги, снабженной «калькулятором пропорций продуктов» и таймером. Разработку мы начали с создания «настольного приложения». Поэтапно также реализовали и мобильный аналог для платформы Android. В качестве СУБД была выбрана SQLite.

Прежде чем продолжить процесс разработки, хотелось бы сделать два небольших отступления. Во-первых, в начале января были подведены итоги конкурса, объявленного компанией Embarcadero. Среди конкурсных работ много достаточно интересных, а главное реально работающих решений. Описания некоторых работ из списка победителей уже опубликованы.

И второй момент, на который следует обратить внимание, прежде чем перейти непосредственно к описанию процесса дальнейшего развития наших приложений. В средине декабря был выпущен Update 2 для Delphi и RAD Studio. Если вы экспериментировали со сторонними компонентами в проекте, вам следует использовать новые версии, совместимые с Update 2. Возможно, также придется заново пересоздать отдельные формы.

Теперь, приступим к построению мобильного приложения. На мой взгляд, термин «построение» здесь наиболее уместен. Ведь вся бизнес логика, по сути, уже создана в настольном приложении, и нам остается только перенести ее в приложение мобильное.

На предыдущих этапах мы уже создали проект мобильного приложения, модуль данных и заготовку главной формы приложения. Сделаем активной вкладку «Ингредиенты» и разместим на ней необходимые компоненты. В принципе, и в мобильном приложении мы могли бы использовать компонент табличного отображения данных (Grid). Концепция интерфейса для платформы Android, хотя и предполагает возможность использования Grid'а. Однако, как уже отмечалось ранее, Grid для Android несколько отличается от обычного Grid’а для настольных приложений. Поэтому для отображения данных лучше использовать компонент TListBox. Естественно, данные, отображаемые в нём, не будут редактироваться.

В строке списка необходимо показать продукт, его количество и единицу измерения. Эти данные содержатся в трёх различных полях.

Список отображает информацию из набора данных посредством LiveBindings автоматически. Формирование же представления целесообразно делать на уровне набора данных, оставляя компоненту TListBox роль декорирования. Поэтому, думая об отображении информации в списке на интерфейсе, мы тем не менее начнём работу с набором данных.
Читать дальше →
Total votes 25: ↑13 and ↓12+1
Comments0

Генератор отчетов ActivityManager. Очередной велосипед, но в профиль

Reading time46 min
Views9.6K
ActivityManager — это менеджер формирования отчетов, базирующийся на замене шаблонных строк.
Основными особенностями ActivityManager являются:

  • Независимость от источника данных: поддерживаются все СУБД, для которых существуют провайдеры .Net, и не только;
  • Формирование шаблонов без использования COM: все отчеты формируются непосредственно в XML;
  • Поддержка форматов отчетов ods, odt, docx, xlsx. Независимость от наличия текстового процессора на конечном компьютере пользователя: эта особенность вытекает из предыдущей;
  • Наличие механизмов пред-обработки данных: изменение формата представления ФИО, денежных сумм, целых, вещественных чисел и дат, в том числе и возможность изменения падежа, в котором должны быть представлены конечные данные;
  • Наличие механизмов пост-форматирования данных;
  • Простота использования и расширения благодаря наличию редактора конфигурации отчетов и простой плагинной архитектуре.

Конфигурацию отчета при помощи ActivityManager можно условно разделить на 3 части: выборка данных, их обработка и непосредственно формирование отчета. Подробную информацию по каждому из этапов смотри в соответствующих разделах.
Много текста
Total votes 9: ↑8 and ↓1+7
Comments6

Поднимаем упрощенную провайдерскую сеть дома

Reading time23 min
Views70K
Изначально эта статья была дневником по лабораторной работе, которую я придумал сам для себя. Постепенно мне начало казаться, что данная информация может быть полезна кому-то еще. Поэтому я постарался преобразовать заметку в более-менее приличный вид, добавить описание некоторых команд и технологий.

В статье рассматривается построение простейшей сети с несколькими провайдерами и клиентами, в частности, такие технологии, как NAT, OSPF, BGP, MPLS VPN. Многое, естественно, будет не учтено. Например в статье почти нет описания проблем безопасности, т.к. на эту тему можно говорить бесконечно, а текст и так получается довольно объемным. QoS тоже оставлен в стороне, т.к. в лабораторных условиях его особо не проверишь.

По поводу целевой аудитории. Совсем новичкам в сетях статья, боюсь, будет непонятна. Людям, обладающим знаниями хотя бы на уровне CCNP – неинтересна. Поэтому я примерно ориентируюсь на сертификацию CCNA R&S.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments11

Запуск приложений в Android Virtual Device на удаленном Linux-сервере

Reading time6 min
Views14K
В процессе работы над одним проектов возникла ситуация, когда необходимо проводить в автоматическом режиме ряд операций из мобильного приложения. Поскольку набор входных данных, которые вводит пользователь для работы приложения меняется, была необходима реализация, которая позволила бы имитировать действия пользователя. Более того, необходимо было, чтобы приложение запускалось автоматически на удаленном linux-сервере, выполняло действия и сохраняло результаты. О том, как решал данную задачу, я и хочу рассказать читателям.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments6

Настройка виртуальной инфраструктуры: оптимизация кластера VDI

Reading time8 min
Views16K
Ну как оптимизация. Креативные усилия по выравниванию кренящейся и шатающейся инфраструктуры, которую изо всех сил пытались удержать способом «ничего не трогайте, всё может поломаться». Опасная фраза, быстро превращающаяся в жизненную философию ИТ специалиста, остановившегося в развитии. Источник «ошаманивания» ИТ.

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



Итак, дано:
Инфраструктура виртуализации VMware Enterprise Plus. Включает продуктив, тестовую зону и VDI. Последний реализован на базе продукта fujitsu Pano Logic, который уже 2 года как не обновляется и, судя по всему, не поддерживается.
Основной модернизируемый кластер — VDI, как самый объёмный критичный сервис и самый плотный по утилизации ресурсов. Реализован на базе полных клонов, ибо связанные клоны pano manager сам по себе не понимает, а покупать ещё и View бизнес не хочет.

В качестве СХД используется набор массивов EMC — несколько CX4-240 и пара VNX. А также есть такой изыск как IBM SVC. Используется для консолидации и виртуализации хранения (то есть lun монтируются со стораджей на SVC, там объединяются в пулы, а на этих пулах уже создаются новые LUN, отдаваемые серверам). Все хранилища подключены по FC SAN.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments7

Ненадёжный Ethernet

Reading time7 min
Views48K
В продолжение предыдущей статьи "Ethernet & FC", хотел бы дать конкретные рекомендации по оптимизации Ethernet сети для работы с СХД NetApp FAS. Хотя, полагаю, многие вещи описанные здесь могут быть полезны и для других решений.

Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments24

Software renderer — 1: матчасть

Reading time29 min
Views84K
Программный рендеринг (software rendering) — это процесс построения изображения без помощи GPU. Этот процесс может идти в одном из двух режимов: в реальном времени (вычисление большого числа кадров в секунду — необходимо для интерактивных приложений, например, игр) и в «оффлайн» режиме (при котором время, которое может быть потрачено на вычисление одного кадра, не ограничено настолько строго — вычисления могут длиться часы или даже дни). Я буду рассматривать только режим рендеринга в реальном времени.

У этого подхода существуют как недостатки так и достоинства. Очевидным недостатком является производительность — CPU не в состоянии конкурировать с современными видеокартами в этой области. К достоинствам стоит причислить независимость от видеокарты — именно поэтому он используется как замена аппаратного рендеринга в случаях, когда видеокарта не поддерживает ту или иную возможность (так называемый software fallback). Существуют и проекты, цель которых — полностью заменить аппаратный рендеринг программным, например, WARP, входящий в состав Direct3D 11.

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

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

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

В конце статьи будет ссылка на гитхаб проекта, который можно рассматривать как пример реализации.
Читать дальше →
Total votes 95: ↑90 and ↓5+85
Comments51

IT-чаты или Выжимаем из Skype все соки

Reading time6 min
Views65K
image Часто у новичков в той или иной IT области ощущается острый дефицит знаний и знакомых, у которых можно что-либо «спросить» по теме. Да, StackOverflow, Google и другие подобные ресурсы — просто кладезь полезной информации, однако, согласитесь, бывают и ситуации, когда вопрос настолько общий, что ответ на него может дать только опытный человек работающий в этой сфере не первый год.

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

И вот тут пролетела мысль — а почему бы не сделать IT-чаты и разбить их на определённые темы/технологии? Ок, попробуем. И Skype нам тут поможет.

Если вы хотите узнать, почему был выбран Skype, каким образом можно «обойти» лимит в 300 человек на один чат или у вас просто спряталась альтруистичная IT-нотка и вы любите помогать коллегам — берите печеньки и добро пожаловать под кат.

Читать дальше →
Total votes 57: ↑37 and ↓20+17
Comments55

Поддержка MultiTouch + Gestures в Delphi XE4

Reading time38 min
Views16K


Как-то незаметно для меня прошли все эти новые веяния в виде активных мониторов, на которые пользователь может тыкать пальцами. И знать бы о них не знал, кабы месяца три назад начальство не приобрело себе ноутбук, который можно порвать на две части (экран отдельно, клавиатура отдельно), причем не Surface какой-то, пропиаренный MS, а уже самый проходной у пользователей – от ASUS, за гораздо меньшие деньги (относительно).
Да и закуплен был данный девайс не просто так – задача выросла оттуда, откуда и не ждали.

Де юре: мы проводим огромное количество семинаров в месяц, и вот именно на них, нашим лекторам начали демонстрировать несовместимость нашего ПО с этим пресловутым тачем.

Де факто: на почту саппорта начали сыпаться гневные письма пользователей плана – «я два раза тапнула, а оно не тапнулось, может не так тапнула?»
А начальство все это скрупулезно отслеживало на своем «порватом» ноутбуке и готовило ТЗ.

И вот настал тот день. Мне на рабочий стол был воздвигнут третий монитор, 23 дюйма от LG (с поддержкой Touch ввода аж 10 пальцами) и поставлена задача – это должно заработать в течении трех дней!

А работаю то я в XE4 – беда.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments18

Open vSwitch как ядро виртуальной сети

Reading time8 min
Views103K
В данной статье для виртуализации используется KVM/libvirt, но сразу отмечу, статья не столько о KVM, сколько именно об особенностях преимуществах использования Open vSwitch для объединения виртуальных и физических сетевых устройств посредством технологии VLAN (802.1q). В былинные времена для проброса тегированного трафика в гипервизор использовались всевозможные костыли и подпорки различной степени неожиданности (tuntap, brctl, vconfig, ebtables и прочее), что приводило к захламлению операционной системы, хостящей гипервизор, большим количеством ненужных виртуальных сетевых интерфейсов, мозолящих глаза в выводе ifconfig и вообще огорчало администраторов необходимостью строить стандартное сетевое устройство (коммутатор) из отдельных частей как какой-то велосипед. Помимо поддержки 802.1q от коммутатора на самом деле сегодня требуется еще много функций. Так необходимость в виртуальном устройстве максимально соответствующем по функционалу стандартному современному управляемому коммутатору привела к появлению проекта Open vSwitch (далее — OVS).

image
Рисунок 1: Проект песочницы
Подробности
Total votes 34: ↑30 and ↓4+26
Comments15

Автоматизация управления коммутаторами

Reading time3 min
Views14K

Мы уже много писали о возможностях, которые предоставляют современные коммутаторы с загрузочной средой ONIE и открытые ОС на базе Linux для них. Построение L3-фабрик, оверлейные виртуальные сети L2, — все это уже было. Но осталась нераскрытой одна важная тема, о которой много упоминалось — возможности по автоматизации.

Командная строка — это, конечно, здорово и вообще классика, но в 2014 году хочется уже большего. Особенно если работать приходится с десятками и сотнями устройств в одной сети.

Так что же мы получаем при использовании коммутатора c ОС на основе Linux, такой как Cumulus?
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments5

Шпаргалка по управлению сервисами CentOS 7 с systemd

Reading time7 min
Views338K
Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.

В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.

CentOS 7 Systemd Infobox

В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7.
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments10

MindStream. Как мы пишем ПО под FireMonkey. Часть 3. DUnit + FireMonkey

Reading time10 min
Views9.3K
Часть 1.
Часть 2.

Здравствуйте.

В этой статье я хочу познакомить читателей с процессом переноса VCL кода в FireMonkey. В стандартной поставке Delphi, начиная по-моему с версии 2009, проект DUnit идёт из коробки.

Однако писался он в далекие времена VCL. И хотя и позволяет тестировать код написанный для FireMonkey (Благодаря консольному выводу), но у него нет «няшного» GUIRunner'a, к которому многие из нас привыкли, ведь в нём очень быстро и легко можно «убрать» те тесты которые мы не хотим запускать «именно сейчас».

image


Поехали
Total votes 18: ↑15 and ↓3+12
Comments0

Установка Lync 2013 в ресурсном лесе

Reading time6 min
Views32K
Иногда развертывание Microsoft Lync 2013 требует наличие ресурсного домена. Ресурсный домен — это такое место, где живет только непосредственно сам сервер Lync 2013. Пользователи живут в другом домене – пользовательском. Как их подружить между собой, будет рассказано ниже. Кому интересно, добро пожаловать под кат. Будет интересно (и много всяких картинок).
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments20

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time9 min
Views96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

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

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Total votes 131: ↑81 and ↓50+31
Comments85

Information

Rating
Does not participate
Location
Ревда (Мурманская обл.), Мурманская обл., Россия
Date of birth
Registered
Activity