kloop.kg

Страница блогов

Регистрация

Регистрация

«««

Блог СимПу

Do your work! Don't be stupid!

Массовое изменение изображений

without comments

Иногда нужно поменять всем изображениям в директории размер. Или качество.
С этим нам поможет справиться ImageMagick  http://www.imagemagick.org)
Утилита командной строки называется convert.
Документация к этой утилите на сайте ImageMagick достаточно обширна и проста в понимании. Если проблемы с английским, то даже Google Translate переведет их на ура!
convert -resize 750×500 *.jpg
Либо
convert -scale 80% *.jpg
Уменьшаем качество:
convert -quality 80% *.jpg
Таким образом в цикле перебираются все файлы и конвертируются:
for i in ls -C1 *.jpg
do
convert -verbose -resize 600×900 $i optional_preffix_$i_optional_suffix
done

Written by СимПу

июня 7, 2010 at 11:01 дп

Posted in Я Linux

Tagged with , ,

Свободные альтернативы

without comments

Представляю новый блог: http://alts.kloop.kg, которому я дал название “Свободные альтернативы”. Блог будет коллекцией проприетарного программного обеспечения(точнее, их описанием) и списка альтернатив к нему.
Сейчас там пусто, но уже сегодня я планирую наполнить этот сайт несколькими статейками. Идея вокруг такого проекта витала давно, и я даже разработал платформу для ведения этого сайта, но, в последний момент решил, что попробую запустить все это дело на Клоопе. Посмотрим, что из этого получится. Конечно, интерес к подобному сайту будет не велик среди пользователей ПК из Кыргызстана, но думаю он будет посещаем из заграницы.

Written by СимПу

мая 24, 2010 at 2:57 пп

Posted in Я IT

Tagged with , , ,

Немножко о code jeek

with 3 comments

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

  • Автоматически созданное пространство для сайтов. Любой желающий может загрузить веб-сайт для своего проекта
  • Автоматически созданный SVN репозиторий
  • Страница проекта
  • Новостная лента
  • Баг-трекер
  • Таймлайн с задачами
  • Форумы
  • Браузер SVN
  • Списки рассылок на базе Mailman

Кажется все, хотя не покидает чувство, что что-то забыл. Тем не менее, я очень рад, что этот проект зародился в моей голове и был реализован с помощью хорошего человека — Бедиева Марата.


радио в sony ericsson XPERIA X2
мир программ для nokia
продажа светодиодов, источников питания, светодиодных драйверов

Written by СимПу

апреля 23, 2010 at 5:24 пп

Обработка субдоменов в Apache

with 8 comments

Сейчас часто можно встретить сайты с множеством поддоменов. Например, вспомните livejournal.com или blogger.com (ну и конечно сам Kloop). Вы же не думаете, что при регистрации нового блога запускается скрипт, который добавляет виртуальные хосты в конфигурацию Apache?

Чтобы получить на своем сайте возможность обрабатывать любые субдомены — нам необходимо выполнить три шага:

1. В настройках своего DNS сервера, в A-запись необходимо вписать *.example.com.

example.com — естесственно Ваше доменное имя.

2. Теперь, в настройках Apache к нашему хосту, который будет обрабатывать субдомены нужно добавить псевдонимы. Это делает ServerAlias.

ServerAlias www.example.com example.com *.example.com

3. А теперь, нам предстоит разобраться с .htaccess файлом. Важно, чтобы был включен модуль mod_rewrite для Apache. В противном случае — ничего работать не будет.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).example.com [NC]
RewriteRule (.*) %2/$1 [L]
<
/IfModule>

Разберем то, что мы добавили в .htaccess файл.

IfModule – проверяем, включен ли mod_rewrite. Если не включен, то код, между директивами IfModule выполняться не будет.

Первый RewriteCond заверяет о том, что мы не находимся на главном домене. Второй — обрабатывает субдомен.

RewriteRule выполняет всю магию: При запросе sub.example.com/page.html запрос перенаправится на example.com/sub/page.html.

Written by СимПу

февраля 10, 2010 at 3:10 пп

Posted in Хинты

Tagged with ,

— (длинное тире) и другие прикольные символы в Ubuntu

with one comment

— В моем предыдущем посте меня спросили о том, как ставить длинное тире в Ubuntu Linux. Это просто и не требует больших усилий (Если у Вас Ubuntu :) ).

Идем в System -> Preferences -> Keyboard. Переходим на вкладку Layouts (Раскладки) и жмем на кнопочку Layout Options (Опции Раскладки).

Находим в длинном списке Compose Key Position и выбираем клавишу для композита. Лично я себе настроил ее на клавишу Menu (чаще всего между Правым Win-кеем и контролом). До этого я использовал правый win-key.

Выбирайте то, что Вам угодно и сохраняйте настройки. Теперь можете зажать Compose key и три раза нажать на тире. Вуаля, мы получаем —.

Также можете побаловаться с прочими символами по тому же принципу: åŭ°ß×č¸˙

Written by СимПу

февраля 1, 2010 at 1:11 пп

Про офисные пакеты

with 6 comments

Источник: http://www.linux.kg/opensource/pravitels…

Вкратце (для тех, кто не желает переходить по ссылке), там говорится о том, что аппарат правительства Дании переходит с Microsoft Office на OpenOffice.org

OpenOffice.org

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

Тот факт, что OOo отсасывает по юзабилити и производительности у MSO имеет место быть и с этим спорить бесполезно. Многие используют OOo только потому что он бесплатен. Если бы и MSO был бесплатен — OOo быстро бы умер. Почему? OOo не обладает теми качествами, которыми должно обладать открытое ПО. Открытое ПО должно быть заведомо лучше своего проприетарного родственника лишь потому, что его разработчики (тысячи их!) должны собирать только лучшее в один проект. Но этого не происходит: при большом объеме открытого документа этот самый OOo тормозит, будто я его запустил на машине 92-го года. Также хромает юзабилити и несколько других раздражающих факторов.

Я пользуюсь OOo, но только потому что мне максимум приходится два-три раза в месяц набрать служебную записку и раз в месяц — отчет. Но всяким секретаршам приходится набирать весьма большие объемы информации и я собственными глазами видел с какими трудностями приходится им иногда справляться.

По моему мнению исправить ситуацию на данный момент может либо а) полная деградация MSO (чего само собой не случится), б) Oracle немного изменит подход к разработке офисного пакета от Sun. Второй вариант весьма вероятен, но до него идти очень долго.

Какими приложениями из офисного пакета пользуетесь Вы? Устраивает ли Вас качество работы OOo? (Вопрос для пользователей OpenOffice.org)

Друзья, пользуйтесь открытым и свободным программным обеспечением и оставляйте свои отзывы на сайтах разработчиков, чтобы они могли улучшать их работу!

Written by СимПу

января 30, 2010 at 10:53 пп

Apache: http аутентификация в связке с MySQL

without comments

http-аутентификация весьма популярная штука и многие прибегают к ее использованию. Если у Вас два-три пользователя, которые будут иметь доступ к запрещенным страницам, то в принципе, Вы можете и не прибегать к дополнительным манипуляциям и настроить все так, как советует документация Apache: http://httpd.apache.org/docs/2.0/howto/a…

Если же, у Вас планируется большое количество пользователей, то следует прибегнуть к другим способам. Один из них – аутентификация с пользовательскими данными хранимыми в базе данных MySQL. Для осуществления всего этого, Вам необходимо иметь веб-сервер (Apache в данном случае), базу данных MySQL и модуль для Apache – mod_auth_mysql.
Вот так я сделал это на своей Debian-машине:
1. Устанавливаем модуль mod_auth_mysql
apt-get install libapache2-mod-auth-mysql
2. Прописываем в директивы к нашему хосту следующие строки:

<Directory /path/to/restricted/directory>
AuthType Basic
AuthName "Message for users"
# Хост и порт, на котором крутиться MySQL
Auth_MySQL_Host localhost
Auth_MySQL_Port 3306
# Пользователь базы данных
Auth_MySQL_User db_user
# Пароль к базе данных
Auth_MySQL_Password db_password
# Имя БД, в которой хранятся учетные данные
Auth_MySQL_DB database_name_used_for_authentication
# Название таблицы, в которой хранятся данные о группах пользователей
Auth_MySQL_Group_Table db_group_table
# Таблица, в которой хранятся данные
Auth_Mysql_Password_Table  http_auth
# Имя поля, в котором хранятся логины
Auth_MySQL_Name_Field name_field
# Имя поля, в котором хранятся пароли
Auth_MySQL_Password_Field
# Имя поля, в котором хранятся группы
Auth_MySQL_Group_Field
# Если On, то будут приниматься также и пустые пароли
AuthMySQLNoPasswd Off
# Метод шифрования паролей
# Доступные методы: none, crypt, scrambled (нативное MySQL шифрование),
# md5, aes, sha
AuthMySQLPwEncryption none
# "Соль" :) Ключ, который будет использоваться для шифрования
AuthMySQLSaltField salt
# Если off, то MySQL аутентификация будет пропущена
AuthMySQLEnable on
require valid-user
</Directory>

Written by СимПу

января 17, 2010 at 5:04 пп

PHP5 + Oracle (OCI8)

with 5 comments

Для того, чтобы установить разрешение oci8 Вам понадобится:
php5, Oracle Instant Client Basic, Oracle Instant Client SDK, PECL

Порядок действий таков:

1. Идем на сайт Oracle и качаем instantclient. Вам понадобятся пакеты со словами basic и sdk в своих названиях. Важно знать, что для подключения к Oracle 7 – Вам нужен instantclient 9.x, а для подключения к Oracle 8 – 10.x. Для более высших версий используйте соответствующие им обозначения. Создайте каталог в домашней директории и скачайте туда необходимые файлы. После того, как вы скачали файлы – их надо распаковать.

В следующем примере /home/user/oracle следует заменить на путь к каталогу, куда Вы скачали файлы.

sudo -i
mkdir /opt/oracle
cd /opt/oracle
mv /home/user/oracle/*.zip .
unzip *.zip

2. Появился каталог с длинным названием. В моем случае – это instantclient_10_1. Давайте для удобства сократим путь:
mv instantclient_10_1 instantclient

3. Теперь нам нужно кое-что исправить! При установке PECL будет просить систему о файлах libclntsh.so и libocci.so, но ls -l покажет, что таких файлов у нас нет, но есть такие же, с окончанием версии на конце: libclntsh.so.10.1 и libocci.so.10.1. Просто создадим ссылки
ln -s /opt/oracle/instantclient/libclntsh.so.10.1 /opt/oracle/instantclient/libclntsh.so
ln -s /opt/oracle/instantclient/libocci.so.10.1 /opt/oracle/instantclient/libocci.so
ln -s /opt/oracle/instantclient/lib /opt/oracle/instantclient

4. Теперь, самое интересное: качаем oci8 и указываем ему, где расологается instantclient
pecl install oci8
На вопрос о расположении клиента пишем ему путь в таком виде:
instantclient,/opr/oracle/instantclient/lib
Первая запись (до запятой) не меняется ни в коем случае. После запятой – может меняться в зависимости от того, как Вы называли каталоги проходя пункт 1.

Теперь, единственное, что осталось сделать – это сказать PHP, что у нас есть oci8.
Для этого в файлы /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini вносим строки
extension=oci8.so

5. Перезапускаем apache
/etc/init.d/apache2 restart
Выполняем в файле phpinfo(); и видим, что у нас появился модуль oci8

Внимание!
Если apache не перезапустился, а в /var/log/apache2/error.log виднеется что-то вроде

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/oci8.so’ – libaio.so.1: cannot open shared object file: No such fil e or directory in Unknown on line 0

то незамедлительно выполняем
apt-get install libaio1
и возвращаемся к пункту 5

Written by СимПу

декабря 15, 2009 at 12:41 пп

Posted in Я Linux

Tagged with ,

Установка сервера Bazaar

without comments

Компания Launchpad предоставляет бесплатную услугу по размещению Ваших проектов с открытым исходным кодом используя систему управления версиями – Bazaar. Они же активно продвигают эту систему в массы и далеко не безоснавательно. Но эта статья не о плюсах/минусах Bazaar по сравнению с другими системами контроля версий (хотя я почти полностью мигрировал с Subversion на Bazaar), а о том, как установить сервер Bazaar, если Вы хотите вести совместный проект.

Этот туториал расчитан на пользователей GNU/Linux (проверено на Ubuntu, Debian, Gentoo), умеющих пользоваться командной строкой. Вам понадобится непосредственно Bazaar (Bzr), который можно достать на официальном сайте.

Первым делом необходимо создать пользователя. Я выбрал имя bzrsrv
sudo useradd -m bzrsrv

Теперь необходимо от имени этого пользователя создать структуру каталогов
sudo su bzrsrv
mkdir -p /home/bzrsrv/rep/prj/trunk
Вы вольны использовать любые названия для каталогов. Я решил использовать rep для всего репозитория и prj для нашего экспериментального проекта.

Теперь необходимо инициализировать trunk как одну из ветвей и запустить сервер:
cd /home/bzrsrv/rep/prj/trunk
bzr init
bzr server --directory=/home/bzrsrv/rep --port=4155
Обратите внимание, что Вы можете указать желаемый порт.

Теперь можете вернуться в своего пользователя и выполнить чек:
bzr check bzr://localhost/prj/trunk

Written by СимПу

декабря 11, 2009 at 4:55 пп

Posted in Я Linux

Tagged with ,

GNU/Linux и реалии его возможностей.

with 5 comments

Может ли Linux заменить ОС Windows офисному работнику? Ребенку-игроману? Веб-дизайнеру? Программисту?
Сменив свою пресловутую “винду” на “линух” (Б-же, накажи того, кто придумал это каверканье) многие видят то, чего не ожидали (при первом взгляде конечно). Весьма крутой интерфейс со всякими свистоперделками, на настройку которых и уходит первые два-три дня: подобрать темку, обои на рабочий стол, настроить compiz и прочие вкусности. А что делать дальше?

Кто-то ставит Linux целенаправленно – с целью изучить что-то новое, а кого-то вынудили – пришел почетный носитель свитера, бороды и очков и наглым образом установил сие чудо. А что получается в итоге? Кто доволен больше, а кто меньше?

Я хочу разобраться в том, насколько Linux адаптирован для разных нужд пользователей.
Read the rest of this entry »

Written by СимПу

ноября 17, 2009 at 11:03 дп

Posted in Я Linux