понедельник, 10 декабря 2012 г.

[STAT] Collectd - Установка, настройка, использование.

Что это такое?

Collectd - это небольшой демон, который каждые 10 секунд собирает статистку об использовании ресурсов системы. Есть возможность сбора статистики для нескольких хостов и отсылка её на сервер, который занимается отрисовкой красивых графиков.
Основное отличие этого сборщика в том, что он работает по принципу push, а не poll/pull. Т.е. он "висит" и слушает, а сервера ему сами статистику присылают. :)

Что мы будем делать?

Что я хочу описать в этом посте:
  • Установка.
  • Настройка общая.
  • Настройка отдельных плагинов.
  • Настройка slave серверов, которые будут слать нам на главный сервер свою статистику работы.
  • Настройка нотификаций по email.
По поводу последнего пункта -- это будет только то, что мне подходит и интересно, все представленные интерфейсы я рассматривать не буду.

вторник, 27 ноября 2012 г.

[apache] Изменяем маску созаваемых файлов и директорий под апачем

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


emerge www-apache/mod_umask

Ну и потом в /etc/apache2/modules.d/mod_umask.conf раскомментируем нужную строчку. И конечно же перезапустим апач.

Вот и все.

четверг, 8 ноября 2012 г.

Как отобразить на сайте содержимое DOC, RTF, PDF или ODT файла

Google Docs оказывается позволяет встраивать свой вьювер на любую страницу вашего сайта в качестве iframe
Пример просмотра файла http://example.com/file.pdf
<iframe 
  src="http://docs.google.com/gview?url=http://example.com/file.pdf&embedded=true"
  style="width:600px; height:500px;" 
  frameborder="0" >
</iframe>
Поддерживаются форматы PDF, DOC, RTF и PDF

среда, 7 ноября 2012 г.

[JAVA] Аналог PHP функции implode для String collection

Такая полезная функция как implode отсутствует в java.
Исправим:

import org.apache.commons.lang.StringUtils;

public static String implodeArray(String[] inputArray, String glueString) {

    /** Output variable */
    String output = "";
    output = StringUtils.join( inputArray, glueString );
    return output;
} 

четверг, 18 октября 2012 г.

Конфигурим Jenkins: добавляем Slave в Master

Предположим, что у нас есть 2 машины, на одной из них (Master) установлен и запущен Jenkins. Задача добавить вторую машину в Master.

Ставим Jenkins на CentOS 6

Нашел 2 варианта через tomcat5 и через yum.

Вариант установки через YUM

Качаем репу с сайта Jenkins'a
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

Либо пишем репу вручную:
# vi  /etc/yum.repos.d/jenkins.repo
Then paste the following and save (ESC+w+q)
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins-ci.org/redhat/
gpgcheck=1
Далее добавляем GPG ключ:
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

Обновляем YUM и ставим:
yum install jenkins

Если все ок, то jenkins будет доступен по адресу http://yourhost:8080/jenkins

Вариант установки через Tomcat 5

 Ставим Java, Ant и Tomcat5
yum install -y java ant
yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps

Then we need to add Tomcat to our server startup
chkconfig --add tomcat5
Now edit Tomcat configuration file to add Hudson home directory (We will use /data/hudson/)
vi /etc/tomcat5/tomcat5.conf
Add at the bottom of the file
# If you wish to further customize your tomcat environment,
# put your own definitions here
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
# Just do not forget to export them :)
HUDSON_HOME=/data/hudson/
CATALINA_OPTS="-DHUDSON_HOME=/data/hudson/ -Xmx512m"

Ставим Hudson (Jenkins) 2.0.0

Идем в директорию WebApps
cd /var/lib/tomcat5/webapps/
Качаем последнюю версию Hudson с сайта http://hudson-ci.org/ или Jenkins с сайта http://jenkins-ci.org/
wget http://java.net/projects/hudson/downloads/download/war/hudson-2.0.0.war
mv hudson-2.0.0.war hudson.war
Теперь создадим рабочую директорию для Hudson и дадим права на нее Tomcat'у
mkdir /data/hudson
chown tomcat.tomcat /data/hudson/
Ну и перезапустим Tomcat
 /etc/init.d/tomcat5 restart
Если все хорошо, то у Вас успешно откроется Hudson/Jenkins по адресу http://yourhost:8080/hudson/

Важное дополнение при установке на CentOS

При установке java поставится версия GCJ, которая НЕ работает с Jenkins'ом!

Чтобы в этом убедиться, вы можете выполнить команду
java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)

Эта версия не совместима в Jenkins, необходимо поставить OpenJDK версию Java. Делается это следующим образом.
yum remove java
yum install java-1.6.0-openjdk

Теперь у Вас установлена правильная версия:
java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Client VM (build 20.0-b11, mixed mode)
OpenJDK Client VM (build 20.0-b11, mixed mode)

среда, 17 октября 2012 г.

Ставим Jenkins на Gentoo

Introduction

For now this Gentoo Repository is just a copy of my local overlay/repository.

Disclaimer

You can use it on your own risk without any warranty.

Paludis

I use Paludis instead of Portage, so here is instructions for Paludis. You can read more about Paludis from official site.

Add repository

Create file /etc/paludis/repositories/godin.conf :
importance = 20
location = ${ROOT}/var/paludis/repositories/godin
sync = svn+http://godin-gentoo-repository.googlecode.com/svn/trunk/repository/
format = ebuild
names_cache = ${location}/.cache/names
write_cache = ${location}/.cache/metadata
Sync : mkdir -p /var/paludis/repositories/godin/.cache/{metadata,names}
paludis --sync x-godin

Optionally you can unmask everything from this repository by adding following line to /etc/paludis/keywords.conf :
*/*::godin ~x86

Useful stuff

Layman

Since I don't use Layman, it wasn't tested.
layman -f -o http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml -a godin
or edit your /etc/layman/layman.cfg and add new overlay list :
overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
            http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml
Add to sync list :
layman -S
layman -L
layman -a godin

понедельник, 8 октября 2012 г.

Ставим Jenkins на VirtualBox

A Jenkins build server (LTS release) can now be easily installed on the minimalistic Debian VM:
  1. Download and install Virtualbox
  2. Download debian-stable-amd64-minimal.ova and import it into Virtualbox
  3. Start the “debian-stable-amd64-minimal” VM in Virtualbox
  4. If you are outside Nova Scotia, please review debian-stable-amd64-minimal.txt and adjust locale, timezone and Debian mirror based on your location
  5. Start an ssh session to localhost, port 1111 (using PuTTY, for example)
  6. Log in as user (default password is “user”)
  7. Issue “sudo install.sh jenkins” (default root password is “root”)
  8. Press enter for any questions during installation
  9. Open http://localhost:8888/ in a browser on the host OS for Jenkins web ui
You can go to “Manage Jenkins” – “Configure System” and see that JDK, Ant and Maven entries are already configured for you.
Important: Make sure to change root and user passwords to something secure, as mentioned in debian-stable-amd64-minimal.txt.

пятница, 5 октября 2012 г.

[PHP] Перевод текста налету с Google.Translate

Полезная и удобная штука для перевода текста для вашего сайта.
<?php
function gtranslate($s_text, $s_lang, $d_lang){
//определяем переменную, которая содержит api url Google Translate
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".urlencode($s_text)."&langpair=".urlencode($s_lang.'|'.$d_lang);

$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_REFERER, "http://www.example.com");
$b = curl_exec($c);
curl_close($c);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}  
?>
Использовать просто:
$text=gtranslate($text, "ru", "uk");

пятница, 21 сентября 2012 г.

Чехлы для THL W3 (2 штуки)

После покупки телефона THL W3 White захотелось докупить к нему какой-нить красивый чехольчик. Поползал по форумам, но так и не нашел никого, кто бы заморочился этим вопросом. Поиск в интернете так же ничего хорошего не дал.
Но через некоторое время все же нашел ссылки на чехлы для моего телефона. Они привели меня на TaoBao, а точнее на посредника MisterTao.

w3 Army Edition

w3 Green


По выше приведенной ссылке, можно так же выбрать чехлы для W1 и W2

Фотки и остальное под катом...

пятница, 14 сентября 2012 г.

среда, 12 сентября 2012 г.

Запущен сервис Wargaming.net OpenID

Уважаемые игроки, компания Wargaming предлагает вам новый сервис — OpenID. Теперь игроки World of Tanks, бета-тестеры World of Warplanes и будущие игроки World of Warships могут безопасно авторизоваться на сторонних ресурсах с помощью личного Wargaming.net ID.

Wargaming.net ID — это единый аккаунт, который до этого момента использовался только для логина в игру и доступа к ресурсам компании Wargaming.

При использовании Wargaming.net OpenID-сервиса стороннему сайту передается игровое имя (никнейм) и ссылка на профиль игрока (в настоящий момент на игровой профиль на сайт World of Tanks). Никакая другая информация, включая адрес электронной почты и пароль, НЕ ПЕРЕДАЕТСЯ!

Как использовать Wargaming.net OpenID:

1. Найти сайт, где доступна функция авторизации с использованием OpenID (например, livejournal.com).
2. Выбрать способ авторизации через OpenID.
3. В предложенное поле ввести http://ru.wargaming.net/id/. В отдельных случаях может понадобиться ввести ru.wargaming.net/id/.
4. После этого следует редирект на http://ru.wargaming.net/id/signin/, где надо ввести свой логин и пароль.
5. После авторизации надо согласиться с тем, что запрашивающему сайту будет передана информация (никнейм).
6. После подтверждения вы будете авторизованы на livejournal.com как внешний пользователь. Вы можете отредактировать профиль (сменить никнейм, задать email, добавить userpic) по своему усмотрению.

С иллюстрированной инструкцией по использованию сервиса Вы можете ознакомиться здесь: https://support.worldoftanks.ru/index.php?/Knowledgebase/Article/View/236/0/kk-ispolzovt-wargamingnet-openid

Напоминаем, что эксплуатация тестовая. Сам протокол довольно гибкий, что позволяет различным сайтам использовать его по-разному: после логина с OpenID какие-то сайты предлагают создать аккаунт, какие-то — создают автоматически.

Более подробно про OpenID можно прочитать в Википедии - http://ru.wikipedia.org/wiki/OpenID.

пятница, 7 сентября 2012 г.

[WOT] Мод показывающий на карте ТТ10 отдельно.


Наткнулся на интересный мод, показывающий ТТ10 отдельным значком.
Ищем файл GuiSetting.xml, ищем в нем строку <showMinimapSuperHeavy>False</showMinimapSuperHeavy> и меняем ее на true




четверг, 6 сентября 2012 г.

[GENTOO] Установка и настройка DropBox 1.2.x в Gentoo Linux

Сам DropBox есть в дереве портажей, однако он какойто урезаный.
Например нет возможности выбрать директории для синка либо исключить директории из синхронизации. Есть альтернативный вариант, написанный на python но о нем не в этом посте.

пятница, 24 августа 2012 г.

[PHP] Не работает получение данных с веба через cURL, file_get_contents

Вот столкнулся с такой проблемой как сабж.
Любые запросы типа file_get_contents("http://ya.ru/") возвращают пустой результат. Запрос через cURL так же пусто. Перерыл кучу сайтов -- везде совет в php.ini проверить параметры:
allow_url_fopen = On
allow_url_include = Off
user_agent="Mozilla/5.0"
default_socket_timeout = 60
но это мне не помогло...

На гентушном форуме нашел в одном из постов нашел простое и правильное решение: пересобрать php с отключенным флагом USE= -curlwrappers либо если из исходников собираем, то с ключом --without-curlwrappers

[PHP] Отправляем POST запрос через file_get_contens

Чтобы получить содержимое веб-страницы все с удовольствием используют file_get_contents(), например file_get_contents('http://www.habrahabr.ru/'). Но я уже давно наблюдаю, что, как дело доходит до того, чтобы отправить POST, разработчики используют либо CURL, либо открывают сокеты. Я не считаю, что это плохо или что не надо так делать, просто для решения простых задач можно использовать простые решения.

среда, 1 августа 2012 г.

.htaccess -- записки-коротыши

Время от времени встречаются полезные примеры записей для .htaccess, но поскольку зачастую они находятся на разных сайтах, то через некоторое время линк теряется/забывается/забивается :) Вот для таких целей я и хочу завести такой пост, чтобы полезности не затерялись на бездонных просторах жесткого диска :)

Далее под катом

четверг, 26 июля 2012 г.

Как организовать LiveHelp для посетителей Вашего сайта?

Как организовать LiveHelp для посетителей Вашего сайта?
Случайно озадачился этим вопросом и наткнулся на очень неплохой скрипт: мибью мессенджер
Мибью Веб Мессенджер (ранее Open Веб Мессенджер) это бесплатное open-source приложение для онлайн-консультирования. Оно позволяет добавить на сайт кнопку прямой связи с вашими операторами, при этом все общение происходит прямо в браузере.

Плюсы очевидны:
  • Бесплатно!
  • Удобная админка
  • Ставится на СВОЙ сайт полностью
  • Удобная админка
  • Удобный вывод ожидающих клиентов
Минусы:
  • Ставится на СВОЙ сайт полностью
  • Других пока не нашел :)
Тут необходимо сделать небольшую ремарку почему пункт  "Ставится на СВОЙ сайт полностью" и в плюсах и в минусах. В плюсах оно потому что мы имеем полный контроль над работой скрипта, поскольку такие сервисы обычно предоставляются за деньги и основной скрипт лежит у "кого-то" на сервере, что для некоторых админов будет немного не удобно как по тюнингу, так и по безопасности. В минусах -- потому что если на сайте будет много посетителей будет создаваться дополнительная нагрузка на сервер, что может замедлить работу сайта. А если сервер (хостинг) будет заказан в каком-нить датацентре, то за доп ресурсы сервера придется еще и доплачивать. Однако если сервер стоит локально в компании, то тут уж будет зависеть от мощностей сервера и возможностей компании, к тому же LiveHelp можно вообще на отдельный сервер повесить, благо Linux много не кушает :)

Собственно адрес где это можно все потыкать и скачать:  http://mibew.org/ru/demo.php

среда, 25 июля 2012 г.

Обзоры СТ10 и ПТ10 с тест сервера World of Tanks (3 части)

Делюсь с вами первыми впечатлениями от новых СТ10 и ПТ10, появившихся на тестовом сервере. Показываю примеры боев на каждой из них с моими комментариями о свойствах этих машин. Сами бои не представляют ничего выдающегося, однако дают возможность посмотреть на новые танки в действии.
isoPanzer @ youtube.com 

вторник, 24 июля 2012 г.

Телефон за $1195 -- Четыре ядра + 12 GPU ядер :)

Наткнулся в сети на телефон от Fujitsu за $1195: http://www.kyoex.com/docomo-fujitsu-f-10d-arrows-x-nvidia-tegra-3-phone/


Вот его спецификации:

Product Description

Main Specifications 1
  • Docomo Fujitsu F-10D Arrows X Tegra 3 Japanese Android Smartphone
  • Just released ! Part of Docomo's Summer 2012
  • This is the Powerhouse "Made in Japan" phone that everyone has been waiting for !
  • Powered by Nvidia's Tegra 3 Processor !  This phone is a  Quad-Core + 5th Shadow Core CPU Phone !
  • Also has 12 GPU Cores to process the high end graphics for Gaming
  • When Running graphic intense Games / Apps, the phone uses all 4 Cores, but when just doing simple phone tasks, it only uses the 5th shadow core to save on Battery life !
  • Download and play Tegra powered Games / Apps from the Tegrazone to experience the full power of this phone
  • Also has Fujitsu's Human Centric Engine.  This phone is the all in one High-Spec smartphone !
  • The Human Centric Engine allows the phone to tune itself specifically to each user using the front sensor
  • Will automatically sense and adjust brightness of the phone based on your surroundings.
  • If you are in a dark room, it will sense this and increase brightness, if you are in a sunny or bright area, it will decrease brightness to save battery
  • If you are in a noisy surroundings, it will sense and automatically adjust audio / voice to match your situation.
Main Specifications 2
  • Incredible Dual Camera Engine : Exmor® R for mobile × Milbeaut® Mobile (Combination dual engine for increased photo quality)
  • 13.1 Megapixel CMOS Camera (3096 × 4128 pixels max picture taking resolution)
  • Full HD video Recording (1920 × 1080 video recording size. True 1080p video recording in HD)
  • Camera supports HDR (High Dynamic Range) and has multiple picture taking modes
  • True HD Gorilla Glass screen for androids. The phone not only can take photos / videos in HD, but the screen runs in HD the entire time!
  • Main Display : Amazing 4.6 Inch HD Touchscreen ( 720 x 1280 pixels ! )
  • Scratch resistent Corning Gorilla Glass Screen + Scratch resistent mirror tough coating along the sides and body 
  • AuthenTec’s AES1750 smart biometric fingerprint security sensor (Quickly and securely lock and unlock the phone with the simple swipe of a finger)
  • Also has Privacy viewing mode, so others viewing from the side cannot clearly see your screen
  • Sound is powered by : Dolby Digital Mobile 5.1 Ver 3
  • Android 4.0 Ice Cream Sandwich
  • This Japanese Phone is Waterproof / Dustproof and meets IPX5/IPX8 standards. 
  • Wireless charging phone ! Just put the phone on the wireless charging pad and it will recharge the battery
  • You can even shake the phone to rotate the screen back to upright view
  • Also uses Fujitsu F-Link wireless technology to link with other Fujitsu products
  • Bilingual Japanese phone (can be changed from Japanese to English and vice versa) (We set all phones to ENGLISH before shipping)
  • Please Note : This phone uses a Micro-Simcard (the smaller size simcard, like on the iphone4). If you do not have a micro-simcard, you will need to contact your cellular company and exchange your simcard for a Micro-Simcard
Other Specifications 
  • 1.5 GHz Quad-Core Tegra3 AP33 Max Processor
  • Memory : 16GB ROM / 1GB RAM
  • 2G Network : GSM GPRS EDGE 850, 900, 1800, 1900 MHz 
  • 3G Network : UMTS HSDPA 800, 850, 2100 MHz
  • 4G Network : LTE 2000 Mhz
  • Micro SDHC memory card supports up to 32 GB
  • Battery Size : 1800mAh
  • Bluetooth version 4.0
  • Wi-Fi 802.11 b/g/n
  • DLNA/DTCP-IP
  • 3.5mm stereo headset jack
  • HDMI output via Micro USB MHL Adapter Cable (Sold separately)
  • Music Format : MP3, WMA, AAC, AAC+, eAAC+, AMR, QCELP, WAV
  • Facebook, YouTube, Twitter integration / support
  • Size : 135 × 67 × 11.7 mm
 Contents
  • Fujitsu F-10D Tegra 3 Smartphone x 1
  • Battery x 1
  • Wall Socket Charger x 1
  • Micro USB PC connection cable x 1
  • Micro SD memory card (2GB) x 1
  • Wireless Charger Pad x 1
  • Wireless Charger AC Adapter plug x 1
  • Box & Manual x 1 

Ускорение определения спутников GPS на Андроиде

ускорения подключения к спутникам GPS:

1. Создаем вайл gps.conf в директории system/etc
2. Прописываем в нем

NTP_SERVER=2.ua.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=3.by.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

SUPL_HOST=supl.google.com
SUPL_PORT=7276

3. Сохраняем изменения и назначаем нужные права
4. Перезагрузка

Спутники подключаются в течении 10-50 сек (у меня так получилось).
P.S. Сервера NTP_SERVER берем здесь: NTP_SERVER

Дождался THL W3 White :)

Вот такой вот телефончик)
Текущее состояние посылки:

Найдите 10 отличий :)

Это НАСТОЯЩИЙ китайский бренд, как бы это странно не звучало конечно :)


Краткое описание:

Thl W3 это брендовый двухсимочный китайский смартфон с отличными техническими характеристиками. Процессор MT6575 ARM Cortex A9, 1.0 GHz, наличие GPS, отличный4.5"  дисплей (720x1280 pixels), две камеры, задняя камера 8 mpx с автофокусом и вспышкой из двух светодиодов, а так же аккумулятор ёмкостью 2000mAh.
Официальная страница: http://www.thl168.com/w3.html
Китайский обзор: http://mobile.zol.com.cn/300/3009206_all.html#p3009206
Обзор и сравнения на русском: http://china-review.com.ua/reviews/smartphones-reviews/242-obzor-thl-w3-smartfon-s-samym-vysokim-razresheniem-displeya.html

Русские прошивки для THL W3 на:
Android 4.0.3 ICS
Android 2.3.6 GB

Под катом характеристики и описание...

1ый нах.

Первая записка в блог.