среда, 26 декабря 2007 г.

Вышел новый номер The Python Papers

Вышел новый номер бесплатного журнала The Python Papers

В номере:
  • Letter from the editor: Page 4
  • GrrlCamp: Page 6
  • News from the Python Software Foundation: Page 9
  • Interview with Michael Foord: Page 16
  • Screen Scraping Web Pages: Page 22
  • Interview with Resolver Systems: Page 24
  • Eight Tips for Starting with Python: Page 30
  • Python Events: Page 80
  • Acknowledgment of Reviewers: Page 34
  • pypk - A Python extension module to handle chemical kinetics in plasma physics modeling: Page 35
  • The Why and How for Design Patterns: Page 48
  • Python Switch Statement: Page 58
  • An Introduction to Test Driven Generation: Page 64.
Скачать...

воскресенье, 23 декабря 2007 г.

PHP и MySQL на смартфонах с Symbian уже в 2008 году

Интересная новость...
По данным symbianone.com на конференции CCNC в Лас-Вегасе в январе 2008 года будет представлено решение PAMP (Personal Apache, MySQL, PHP) для S60 смартфонов. В дополнение к самому PHP будут так же представлены расширения для доступа к функциональному ядру телефона!

Изначально, новость появилась в форуме компании NOKIA. Некоторые обозреватели полагают, что приход локальных веб-приложений на аппаратную платформу мобильных телефонов несёт за собой новую эру веба даже не смотря на то, что сейчас лидером в области ОС для мобильных устройств является Microsoft.

Источник...

вторник, 18 декабря 2007 г.

SAMBA (Domain controller) Server For Small Workgroups With Ubuntu 7.10

Вольный перевод статьи из HowtoForge.
Оригинал...

В статье описывается один из вариантов установки file- и print-сервера для малого и среднего предприятия до 250 пользователей. Для хранения паролей и информации об аккаунтах пользователей используется Samba с поддержкой tdb.

Что будем ставить:
1. Samba как доменконтроллер

Войдем в режим root командой:
sudo -s -H

Настройка сети.

(K)ubuntu 7.10 при установке настраивает сеть на использование DHCP, т.е присваивает компьютеру динамический адрес. Серверу нужно иметь постоянный (static) адрес, поэтому нам нужно исправить сетевые настройки. Допустим, что наш сервер будет иметь адрес 192.168.0.100. Редактируем файл /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
mapping hotplug
script grep
map eth0

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

Чтобы изменения вступили в силу необходимо перегрузить сетевую подсистему:
/etc/init.d/networking restart

Теперь нужно изменить /etc/hosts, чтобы имя сервера соответствовало реальному IP, т.е. добавляем строчку типа:
192.168.0.100    server1.example.com    server1

Настраиваем Hostname:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh
echo '192.168.0.100 server1.example.com' >> /etc/hosts

Для ограничения дискового пространства пользователей установим пакет quota:
aptitude install quita
Добавим в /etc/fstab параметры usrquota и grpquota в описание нужного раздела, например:

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sda1
UUID=226d9304-88ca-44c0-a3e3-d1ad26cfc084 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1
# /dev/sda5
UUID=d824ce36-04b8-4870-83f4-f1a5037c2de4 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/ /media/floppy0 auto rw,user,noauto 0 0

Теперь нужно создать файлы quota.user и quota.group
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Команда quotacheck выведет ошибку:
quotacheck: WARNING - Quotafile //quota.user was probably truncated. Cannot save quota settings...
quotacheck: WARNING - Quotafile //quota.group was probably truncated. Cannot save quota settings...
Это нормально для первого запуска, не обращайте внимания.

Установка Samba.
aptitude install libcupsys2 samba samba-common samba-doc smbclient winbind cupsys-common
Отредактируем файл /etc/samba/smb.conf. Должно получиться что-то вроде этого:

[global]
workgroup = MYWORKGROUP
netbios name = SERVER1
server string = %h server (Samba, Ubuntu)


passdb backend = tdbsam
security = user
username map = /etc/samba/smbusers
name resolve order = wins bcast hosts
domain logons = yes
preferred master = yes
wins support = yes

# Set CUPS for printing
load printers = yes
printcap name = CUPS
printing = CUPS

# Default logon
logon drive = H:
logon script = scripts/logon.bat
logon path = \\server1\profile\%U


# Useradd scripts
# add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
add user script = /usr/sbin/useradd -m '%u' -g users -G users
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usernod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
template shell = /bin/bash


# sync smb passwords woth linux passwords
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd chat debug = yes
unix password sync = yes

# set the loglevel
log level = 3

[public]
browseable = yes
public = yes


[homes]
comment = Home
valid users = %S
read only = no
browsable = no


[printers]
comment = All Printers
path = /var/spool/samba
printable = yes
public = no
writable = no
create mode = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
write list = root, @smbadmin


[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
guest ok = yes
writable = no
share modes = no


[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
guest ok = no


Создадим директории для domain logons и profiles:
mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
chmod 777 /var/spool/samba/
chown -R root:users /home/samba/
chmod -R 771 /home/samba/

Перезапустим сервис Samba:
/etc/init.d/samba restart
В файле /etc/nsswitch.conf нужно изменить строку:
hosts: files dns
на
hosts: files wins dns
Добавить все компьютеры группы в /etc/hosts:
192.168.0.100 server1 server1.example.com
192.168.0.110 workstation1
192.168.0.111 workstation2
192.168.0.112 workstation3
192.168.0.113 workstation4
Теперь добавим пользователя root (alias: Administrator), он будет domain-адиминистратором для добавления новых машин в Samba domain.
smbpasswd -a root
Создадим файл /etc/samba/smbusers и добавим в него такую запись:
echo "root = Administrator" > /etc/samba/smbusers
Создадим дефолтные доменные группы для виндов:
net groupmap add ntgroup="Domain Admins" unixgroup="root" type=domain -U root
net groupmap add ntgroup="Domain Users" unixgroup="users" type=domain -U root
net groupmap add ntgroup="Domain Guests" unixgroup="nogroup" type=domain -U root
Для примера добавим в наш домен пользователя tom с паролем secret:
net rpc user add tom -U root
net rpc user password tom "secret" -U root
smbpasswd -e tom
Создадим общий для всех пользователей домена каталог:
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Добавим его в конфигурационный файл Samba /etc/samba/smb.conf:
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
Перезапустим сервис Samba:
/etc/init.d/samba restart

суббота, 15 декабря 2007 г.

Основы работы с потоками в Python

Если вы желаете, чтобы ваше приложение выполняло несколько задач в одно и то же время, то можете воспользоваться потоками (threads). Python может работать с потоками, но много разработчиков находят программирование потоков очень сложным. Среди прочего Peyton McCullough объяснит как порождать и уничтожать потоки в этом популярном языке.

Читать...

четверг, 13 декабря 2007 г.

(K)ubuntu 7.10 и /var/run в tmpfs

Ну чего людям неймется? А потом появляются в сети страшные истории про Линукс.
Вот наткнулся на такое:
Боролся с Ubuntu 7.10 в VE. Полдня. Всё потому, что я дотошный и упорный.

Благодаря своим таковым качествам выяснил, что эти, ммм, граждане, например, не стопают networking, полагаясь на то, что /var/run лежит на tmpfs и при загрузке девственно чист. При этом, блин, если /var/run НЕ на tmpfs, то ничего не работает, конечно, потому что ifup думает, что всё уже поднято.
Отсюда...

Ну и соответственно вопрос, а зачем самому делать раздел под /var/run?
Чем не устраивает разбивка, предлагаемая дистрибутивом и здравым смыслом?
Я понимаю желание вынести на отдельный раздел весь /var, но один из его подкаталогов, а потом плясать с бубном.... Разработчикам из Каноникал наверно и в страшном сне такое не приснится. Они вынесли каталог /var/run в оперативную память с целью не писать скрипт очистки оного при перезагрузке или старте системы, и правильно сделали.

3D-программирование с Vpython

Vpython позволяет создавать 3D объекты и размещать их на 3D сцене. Vpython запускается в отдельном процессе (thread) и контролирует 3D сцену, программисту остается только писать логику программы. Пользователь, работая с такой программой, может перемещаться по сцене и масштабировать, поворачивать и перемещать объекты, используя мыша.
Модуль можно скачать с официального сайта http://vpython.org. В зависимостях у модуля: Numpy, gtkglarea и boost. Для пользователей Debian и Ubuntu в репозиториях уже есть пакет python-visual, который ставится стандартными средствами, например:

sudo aptitude install python-visual

Можно также поставить и модуль gamepy для музыкального оформления программы

sudo aptitude install gamepy

Теперь, по традиции, напишем программу, выводящую 3D "Hellow World"

from visual.text import *

# At present, VPython supports only numbers and uppercase characters. Other characters will be displayed as *
# Specifying the Title of the window
scene.title = "Hello World"
# Here goes the hello world text
text(pos=(0,3,0), string='HELLO WORLD', color=color.orange, depth=0.3, justify='center')

Вот как это должно выглядеть.



Теперь нарисуем синусоиду, естественно объемную

from visual import *

"""
This will print the sin curve
"""
scene.title = "Sin Curve"
scene.center = vector(0,0,0)

# using a suitable 'box' as x- axis
xaxis = box(length= 20, height=0.2, width= 0.5, color=color.blue)

#creating the sine curve object
sinecurve = curve( color = color.red, radius=0.2)
dt = 0.1

for t in arange(0,10,dt):
dydt = vector( t,sin(t), 0 );
sinecurve.append( pos=dydt, color=(1,0,0) )
rate( 500 )

Смотрим что получилось


Ее можно двигать мышкой.

Ну и более "живой" пример - 3D часы.

from visual.text import *
import time

scene.title = "3D Clock"
while 1:
rate(100)
cur_time = time.localtime()
time_string = str(cur_time[3]) +": "+ str(cur_time[4]) + ": "+ str(cur_time[5])
timer = text(pos=(-3,0,-2), string=time_string, color= color.red, depth=0.5 )
time.sleep(1)
timer.makeinvisible()




С помощью Vpython можно создавать RedBlue стерео-объекты, которые нужно смотреть в красно-синих очках (прямо как в "Дети шпионов 3"). Для включения стерео режима служит команда:

scene.stero='redblue'

Для примера, выведем анимированную стерео 3D-строку

from visual.text import *
import time

#importing pygame to play the background music :)
#import pygame
#Uncomment it if you have the redblue goggles
scene.stereo='redblue'

scene.title = "Renaissance"
#scene.fullscreen = 1
scene.fov = 0.001
scene.range = 0
rate(100)

# Uncomment this if you need to play the background music
#pygame.mixer.init()
#intromusic=pygame.mixer.Sound("/usr/share/sounds/KDE_Startup.wav")
#pygame.mixer.Sound.play(intromusic)

def intro():
Title= text(pos=(0,3,0), string='MCA PROUDLY PRESENTS', color=color.red, depth=0.3, justify='center')
for i in range(20):
rate(10)
scene.range = i
Title.makeinvisible()
scene.range = 0
Header= text(pos=(0,3,0), string='RENAISSANCE 2005', color=color.yellow, depth=0.3, justify='center')
for i in range(20):
rate(10)
scene.fov = 3
scene.range = i
# Now play with colors
Header.reshape(color= color.cyan)
time.sleep(1)
Header.reshape(color= color.blue)
time.sleep(1)
Header.reshape(color= color.green)
time.sleep(1)
Header.reshape(color=color.orange)
time.sleep(1)
Header.reshape(color= color.red)
# Now let's delete the Header
Header.makeinvisible()
scene.range = 10
scene.fov = 0.2
Body= text(pos=(0,3,0), string='A CELEBRATION OF LINUX ', color=color.red, depth=0.3, justify='center')
Body.reshape(color=color.orange)
#Here I am not adding the rest of the code as it just shows the schedule of that days programs
# Invoking intro()
if __name__ == '__main__':
intro()




Удачного программирования.
При написании данного поста использовалась статья в Linux Gazette #144

среда, 12 декабря 2007 г.

Kubuntu 7.10 на слабом компьютере

Достался моей матушке древний компьютер в такой конфигурации:
  1. Процессор - Celeron 466Mg или 433, не помню
  2. Память - 256Mb
  3. Жесткий диск - 10Gb
  4. Видео - какая-то древняя ATI-шка
  5. Монитор - 14 дюймов
Решил поставить на него Kubuntu 7.10. Таки она на этого старика встала, да еще и довольно не тормозно работает. OpenOffice открывается долго, но работает нормально.
Дай, думаю, поставлю мультимедию. Mp3 тормозить не будут :) А вот видео... пусть хоть не в полном экране, но может будет показывать без тормозров...
Я не знаю с какими оптимизациями собирается kubuntu, но видео (avi, mpeg, mov, dvd) mplayer и kaffeine показывают в полно-экранном режиме и без пропусков и скачков, и звук синхронизирован с изображением.
Так что (k)ubuntu вполне может работать как мультимедиа центр, даже на старых железяках.

четверг, 6 декабря 2007 г.

Сделайте свой код совместимым с PHP6

С выходом PHP6 некоторые скрипты, разработчики которых используют устаревшие конструкции PHP, перестанут работать. Чтобы избежать такой ситуации нужно придерживаться некоторых новых правил.
  1. register_globals. В PHP6 больше не будет поддержки register_globals. Уже в 5-ой версии разработчики PHP рекомендовали отключать эту переменную в php.ini, да и по умолчанию она была в off. Так вот, в 6-й версии от register_globals полностью отказались. Пользуйтесь суперглобальными массивами: $_GET, $_POST, $_SERVER, $_REQUEST и т.д.
  2. magic_quotes. При включенной данной переменной, PHP автоматом экранировал символы: одинарной кавычки, двойной кавычки, обратного слэша и NULL. Часто имела место быть ситуация повторной экранировки, когда у разработчика скрипта и пользователя magic_quotes в php.ini принимала разные значения (on/off). Разработчики PHP в 6-й версии наконец решили совсем избавиться от этой переменной.
  3. register_long_arrays. Вместо длинных массивов типа $HTTP_POST_VARS (их больше не будет), пользуйтесь суперглобальными $_GET, $_POST, $_SERVER, $_REQUEST и т.д.
  4. preg вместо ereg. Для работы с регулярными выражениями вместо функции ereg нужно использовать preg. ereg уходит из языка.
  5. Классы. Не создавайте экземпляр класса при помощи оператора ссылки (&).
    $a = & new object(); // Не будет работать в PHP6
    $a = new object(); // Будет работать в PHP 6
Источник...

Вышел новый номер PHP Inside - #20

После огромного промежутка, почти в год (прошлый номер выходил в январе 2007) состоялся релиз нового номера PHP Inside. На этот раз двадцатый! Прекращать выпуски мы не будем и далее.
Как я и обещал на майской конференции PHPConf, до конца года мы обязательно выпустим новый номер. И вот выпустили!
Скачать!
В номере:
  • Новости, обзоры, работа
  • Интервью: Athlon Sports об использовании PHP и Flash
  • Интервью: UMI.CMS обещает производительность и красивый код
  • Вся правда о поисковых системах, написанных на PHP
  • Реализация загрузки по требованию
  • Ассамблея программистов. Ведение проектов он-лайн
  • Грамотная конфигурация проекта
  • Командная строка в PHP? Это возможно!
  • Секреты предметной области. Автоматизация преобразования состояния объектов предметной области в XML
  • 10 с лишним способов обвалить работу MySQL

среда, 5 декабря 2007 г.

Конвертирование видео в формат 3gp

Попросила меня дочка закинуть ей на мобильник очень прикольный мультик - Буревестник.
Труба, Моторола рейзр V3i, поддерживает видео в формате 3gp. Помятуя, что под Kubuntu 7.04 я это делал без проблем, ввел в консоле строку для конвертации avi-шника:
ffmpeg -i in.avi -acodec amr_nb -ar 8000 -ac 1 -ab 32 -vcodec h263 -s qcif -r 12 out.3gp
Но ffmpeg выдал ошибку и сообщение, что он не в курсе звукового кодека amr_nb. Т.е. получается что в (K)ubuntu 7.10 что-то поломали. Поиски в на форумах и Гугле в основном предлагали собирать ffmpeg с поддержкой amr_nb самостоятельно... Я был уверен, что кто-то это "самостоятельно" уже проделал. Погуглил более тщательно, и нашел правильный ответ.
Нужно в список репозиториев добавить ссылку на http://packages.medibuntu.org/:

deb http://packages.medibuntu.org/ gutsy free non-free

и скачать ключ командой:

wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - && sudo apt-get update

Далее обновиться:

sudo aptitude update
sudo aptitude safe-upgrade

ffmpeg и сопутствующие библиотеки обновятся до нужной версии. Теперь конвертирование в 3gp проходит без проблем.
В этом же репозитории есть еще интересные пакеты: hot-babe, mencoder, mplayer, acroread, googleearth, skype, w32codecs.

пятница, 30 ноября 2007 г.

Анекдот

Не понимаю, как люди, видевшие Лолиту Милявскую, могут называть Ксению Собчак лошадью!
Ну самое большее - пони!

Задумался, почему емкость, в которую проголосовавшие складывают свои бюллетени после голосования называется "урна"? Может в этом кроется глубокий смысл организаторов выборов?

Кто нибудь знает, где можно скачать план Путина в формате Microsoft Project?

Программирование метаклассов в Python

Большинство читателей уже знакомо с концепциями объектно-ориентированного программирования: наследованием, инкапсуляцией, полиморфизмом. Однако обычно при этом подразумевается создание объектов заданного класса с определенными родителями. С другой стороны, выясняется, что ряд новых программных конструкций оказывается легче или вообще возможно создавать, только если мы можем настраивать сам процесс создания объектов. Метаклассы открывают возможность определенных типов "аспект-ориентированного программирования", например, вы можете расширять классы новыми возможностями трассировки, сохранения объектов, протоколирования ошибок и т.д.
читать...

среда, 28 ноября 2007 г.

Еще один наладонник с Linux на борту. MTube.

Тайваньские разработчики представили новое устройство - сверхминиатюрный наладонный компьютер MTube. Несмотря на малые габариты и вес (всего 150 грамм), он построен на базе процессора Via с тактовой частотой 1 ГГц, оборудован WiFi-адаптером и может хранить в себе до 8 ГБ музыки и фильмов. Экран - 2.8 дюйма. Управляется данное устройство операционной системой на базе Linux.

Новость с ЛинуксЦентра.

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

Найдена критическая уязвимость всех версий Windows

Я просто не мог пройти мимо. Вот выдержка из текста новости CNews: «Теоретически, один человек мог взять под контроль ПК по всему миру - украсть данные, пароли, управлять интернет-траффиком, распространять спам или вирусы. Уязвимость демонстрировалась Бо Батлером (Beau Butler) на конференции по ИБ Kiwicon в Новой Зеландии на прошлой неделе...»
Только подозреваю что нашли «не баг, а фичу» - универсальный черный ход для САМИЗНАЕТЕКОГО. Подозрение особенно сильно после августовских событий с несанкционированным обновлением Windows. После признания этого факта потом Microsoft отмазывалась тем, что в скрытых обновлениях Windows виновата Live OneCare. Но чуть ранее пела совсем другое, что-то про обновления для самой Windows Update, без которых эта служба не могла жить.
И видимо программисты-стахановцы из M$ трудятся над маскировкой выявленного черного хода или вообще роют другой :)
отсюда...

четверг, 22 ноября 2007 г.

Инересная интерпретация старой фразы. :)

xxx: я нечайно отцу систему гробанул думал убьёт
xxx: а он мне пока толко смску прислал
xxx: с текстом
xxx: f=fork(); if (f) kill (SIGKILL, f);
xxx: что это значит??
yyy: сочувствую тебе чувак
xxx: ???
yyy: тараса бульбу читал?
xxx: да
yyy: так вот это можно перевести как
yyy: “я тебя породил, я тебя и убью”)))

отсюда...

Россия не готова к информационной войне?

Интересный доклад Виктора Алксниса на CNews Форум 2007 "Информационные технологии завтра". Много здравых идей.
После 24 августа 2007 года стало ясно, что сегодня США имеют техническую возможность несанкционированного доступа в любой компьютер, на котором установлена операционная системы Windows и который подключен к Интернету. Тем самым они продемонстрировали:
1. возможность дистанционного съема любой информации, имеющейся в таких компьютерах;
2. возможность удаленного управления таким компьютером;
3. возможность вывода из строя такого компьютера, по крайней мере, уничтожение, как операционной системы, так и информации, имеющейся в таком компьютере.
читать...

суббота, 17 ноября 2007 г.

Как правильно отделять подпись в E-mail

Знаете ли вы, что существует стандарт на то, как отделять подпись в электронной почте от текста письма?

RFC 2646 говорит о том, что последовательность DASH, DASH, SP, NEWLINE, иными словами два тире и пробел должны отделять подпись от текста.

Я вот не знал. Охренеть. Век живи, всего не выучишь.
отсюда...

вторник, 13 ноября 2007 г.

Ubuntu 7.10 (Gutsy Gibbon) Samba Standalone Server With tdbsam Backend

Вольный перевод статьи из HowtoForge.

источник...

В этой статье объясняется как установить Samba файл-сервер на Ubuntu 7.10, как настроить раздачу файлов по SMB протоколу и как добавить пользователей.

Для установки я буду использовать дистрибутив Ubuntu Server,
но все те же действия можно выполнить и в обычном (K)ubuntu desktop дистрибутиве.
По окончании установки каждый пользователь будет иметь свой домашний каталог, доступный через SMB протокол и все пользователи будут имет доступ на чтение/запись в общий каталог.

Установка Самбы.

Откройте консоль, введите команду:
sudo su
и введите пароль пользователя, созданного в процессе установки Ubuntu.

Установите пакеты для Samba:
apt-get install libcupsys2 samba samba-common

Отредактируйте файл конфигурации smb.config:
vi /etc/samba/smb.conf

В секции [Global] уберите символ комментария перед строкой
security = user
чтобы пользователи системы могли логинится к Samba серверу.

Сохраните файл и перегрузите Samba:
/etc/init.d/samba restart

Добавляем общий каталог в Samba.

Теперь добавим расшаренный каталог, доступный всем пользователям.
Создадим директорию для общих файлов и дадим ей нужные права:

mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers
chmod -R ug+rwx,o+rx-w /home/shares/allusers

В конец файла конфигурации Samba /etc/samba/smb.conf добавим секцию для этого каталога:

[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes

Чтобы все пользователи могли читать и писать в свои домашние каталоги через самбу, нужно изменить секцию [homes]:

[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700

Рестартуем самбу:
/etc/init.d/samba restart

Добавление пользователей.

Для примера, добавим пользователя tom. Вы можете добавить еще пользователей, просто изменив имя tom, на нужное в следующей комманде:

useradd tom -m -G users


Установим пароль для пользователя tom. Если пользователь не должен логинится в Linux, этот шаг можно пропустить:

passwd tom

(введите пароль)

Добавим пользователя в самбу:

smbpasswd -a tom

(введите пароль пользователя)

Теперь Вы можете зайти на Linux машину через SMB со своей Windows машины, используя имя пользователя tom и работать с файлами как в домашнем каталоге пользователя tom, так и в общем каталоге.

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

Веб-садовник

В последнее время наблюдается появление новых профессий:
веб-садовник
Человек, который поддерживает в порядке некоторое количество сайтов: присматривает, выпалывает мертвые ссылки, меняет внешний вид сайта в зависимости от текущих потребностей. В его обязанности не входит генерировать контент — он ухаживает за уже существующим: подчищает и обновляет старые страницы, удаляет ненужные. Термин web gardener все чаще употребляется в IT-индустрии, хотя специализированных факультетов пока нет
читать дальше...

вторник, 30 октября 2007 г.

Python Magazine — October 2007

В начале Октября вышел очередной выпуск журнала для программистов на Python.
Этот выпуск интересен тем, что стал полностью бесплатным. Для закачки предлагается сам журнал в формате pdf и исходные коды примеров.

Список устройств не поддерживаемых Linux

На сайте http://linuxdriverproject.org/ опубликован список устройств пока еще не поддерживаемых ядром Linux. Пользователи могут пополнять этот список. Ну и при планировании какого либо апгрейда, можно узнать о поддержке ядром приобретаемых устройств. В свою очередь, для разработчиков, это фронт работ ;)

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

Full Circle Magazine. Issue 6.

Вышел 6-й номер бесплатного журнала Full Circle для сообщества Ubuntu.

В номере:
News
Flavor of the Month
Ubuntu Upgrade
How-To
Photoshop > GIMP
Samba Setup
Learning Scribus - Pt.6
Interview - John Philips
Poll - Window Managers
My Story - My Transition
Ubuntu Youth
Letters
Q&A
Website of the Month
My Desktop
The Top 5 Racing Games
How to Contribute

пятница, 26 октября 2007 г.

Kubuntu 7.10 настройка LAMP.

Мне, как web-разработчику, нужна стандартная связка: Apache2, PHP, MySQL.
Естественно дектопный дистрибутив эти программы не ставит, т.к. это серверные заморочки.
Для установки программ я использую Synaptic. Вот что я обычно ставлю для LAMP:
  • mysql-server-5.0, mysql-client-5.0
  • apache2, apache2.2-common, apache2-mpm-prefork, apache2-utils, libapache-mod-php5
  • php5, php5-common, php5-curl, php5-gd, php5-imagick, php5-mcrypt, php5-mysql и при необходимости другие модули.
MySQL, как обычно, имеет дефолтной кодировкой буржуинскую. Мне нужна cp1251. Для этого нужно в файл конфигурации /etc/mysql/my.cnf внести нужные изменения. Я уже писал про настрройку MySQL, поэтому здесь приведу тоько нужные строки в конфиге:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = cp1251

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
default-character-set = cp1251
character_set_server = cp1251
collation_server = cp1251_general_ci
skip-character-set-client-handshake

Настройка Apache2 сводится к активизации модулей ssl и rewrite и нужных виртуальных сайтов командами:

a2enmod ssl
a2enmod rewrite
a2ensite <виртуальный сайт>

PHP я обычно не настраивал - хватало дефолтной настройки дистрибутива. Но в Kubuntu 7.10 чего-то наворотили лишнего, поэтому пришлось править файл /etc/php5/apache2/php.ini. В нем я изменил значения двух переменных. Не знаю с какого будуна разработчики из Canonical решили включить magic_quotes? В любой литературе по PHP как раз советуют ее отключить и, при необходимости, контролировать из скрипта. Опять же, не понятно зачем включены register_long_arrays? Все вменяемые программисты пользуются глобальными массивами ($_SERVER, $_GET, $_PUT и т.д.). Я эти переменные отключаю:

magic_quotes_gpc = Off
register_long_arrays = Off

На этом основная настройка закончена.

четверг, 25 октября 2007 г.

Почему богачи не берут замуж красивых и умных?

На сайте kp.ru прочитал забавную статью на эту тему. Там одна 25-летняя девица на одном из сайтов задает прямой вопрос богачам...
«О’кей, мне надоело ходить вокруг да около. Я потрясающе красивая девушка 25 лет. Я элегантна и умею излагать свои мысли. Я хотела бы выйти замуж за человека, зарабатывающего не меньше $500 000 в год. Я знаю, как это звучит, но имейте в виду, что миллион в Нью-Йорке - это средний класс, так что я не думаю, что прошу слишком многого. Есть на этом сайте мужчины, зарабатывающие 500 тысяч и больше? Жены таких мужчин? Можете вы мне дать дельный совет? Я встречалась с бизнесменом, который зарабатывал 200 - 250 тысяч, но с этим доходом нельзя поселиться на Central Park West (престижная улица в Нью-Йорке). Я занимаюсь йогой с женщиной, которая вышла замуж за банкира. Так вот, она выглядит хуже меня и умом не блещет. Как ей это удалось?
И получает развернутые ответы толстосумов...
Ваше предложение можно охарактеризовать так - «дерьмовая сделка». Вы предлагаете обмен: вашу красоту на мои деньги. Просто прекрасно. Но вот закавыка: ваша красота увянет, а мои деньги вечны... Мои доходы со временем будут расти, тогда как вы не будете становиться краше!
Интересные точки зрения на эту проблему ;)

читать полностью...

среда, 24 октября 2007 г.

Kubuntu 7.10, VirtualBox, usbfs.

Если я правильно помню, виртуалные машины типа Vmware и VirtualBox работают с usb-устройствами через /proc/bus/usb, а все последние дистрибутивы Linux используют библиотеку libusb. Поэтому VirtualBox, поставленная на свежую инсталляцию kubuntu 7.10, отказалась видеть не только usb-устройства, но и вообще подсистему usb.
Но, как говорится: что один человек сломал, другой завсегда починить сможет. Или наоборот :)

Начинаем чинить.

Правим файл /etc/init.d/mountdevsubfs.sh
Находим закоментированный блок:

#
# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount --rbind /dev/bus/usb /proc/bus/usb
И раскоментируем нужные строки:

#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb

После перезагрузки у нас появится информация о usb подсистеме в /proc/bus/usb.
Теперь VirtualBox видит наши usb-устройства, но не может их подключить - прав мало, мы же не под рутом работаем.
За подключение всяких устройств отвечает udev, он же определяет и права доступа к ним.
Правим файл пермишенов /etc/udev/rule.d/40-permissions.rules. Находим строку, отвечающую за монтирование usb devices:

# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device", MODE="0664"
И меняем с mode="0664" на mode="0666".
Перегружаем udev
sudo /etc/init.d/udev restart

После этих манипуляций VirtualBox видит все usb-устройства и может с ними работать.

вторник, 23 октября 2007 г.

Йоги, блин...

Сейчас на НТВ, в новостях, показали мужика, который весит над землей (около метра).
Все удивляются. Я тоже...

Kubuntu 7.10. После инсталляции.

Встала хорошо. Сейчас режим пост инсталляции и тестирования. Есть некоторые баги, уже описанные в конференциях. Работает вроде шустрее чем 7.04.

пятница, 19 октября 2007 г.

Ubuntu 7.10 на сервер.

Завтра буду переводить один из своих серверов с Novell SuSe 10.0 на Ubuntu 7.10 server. Сюзя прослужила 2 года. Теперь хочу поставить Ubuntu. Сервер боевой, достаточно нагруженный. На нем крутится корпоративный веб-сайт и база MySQL. MySQL обслуживает все веб-сервера банка: внутренний, www.russlavbank.com, www.contact-sys.com и несколько мелких сервисов.
Количество запросов к базе не менее 10 тыс. в день, базы большие (несколько млн. записей). Надеюсь Ubuntu справится с такой нагрузкой.

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

Блоггер в законе

Вот такая "загогулина" (c) БНЕ

В середине мая нижняя палата Конгресса США внесла поправки в законопроект Free Flow of Information Act of 2007, включив в него положения о защите блоггеров. Теперь закон приравнивает авторов онлайновых дневников к журналистам и освобождает их от обязанности по требованию раскрывать источники, из которых они получили информацию.
подробнее...

Ubuntu 7.10 server

Скачал вчера релиз Ubuntu 7.10 Server. Решил поставить на VirtualBox.
Инсталляция прошла без ошибок, все что нужно поставилось. Перегружаю...
И вижу классное сообщение что в VirtualBox-е старый процессор и ядро его не поддерживает :0 У ubuntu два ядра? Одно для инсталляции, а другое для работы?

суббота, 13 октября 2007 г.

пятница, 12 октября 2007 г.

Сравнение 9 программ для построения графиков

Как известно, среди пользователей GNU/Linux довольно много людей из академической среды, то есть тех людей, которые наблюдают, измеряют, вычисляют, сравнивают и пишут в конечном итоге научные статьи. Эта работа обычно сопряжена с графическим представлением информации или визуализацией. В простонародье — построением графиков. Именно о программах, для этого предназначенных, и пойдёт речь.
читать дальше...

В тексте самое интересное - таблица сравнения программ по многим критериям.

четверг, 11 октября 2007 г.

Забавная очепятка ;)



Интересно, кто с первого прочтения найдёт опечатку?

среда, 10 октября 2007 г.

Шпаргалки. PHP.

Шпаргалка по языку программирования PHP.

вторник, 9 октября 2007 г.

Корреспондент:
- За кого вы будете голосовать на выборах?
Mужик:
- Да зае...
Корреспондент, перебивая:
- Правильно! За "Единую Россию"!

Интересный вопрос.

Как-то раз Конфуцию задали вопрос: учитель, почему осуждают женщину, у которой несколько любовников, и не осуждают мужчину, у которого несколько любовниц?

Конфуций пояснил, что гораздо правильнее разливать чай из одного чайника по шести чашкам, чем сливать шесть чайников в одну чашку.

Подсмотрел у Goblina

Да, Конфуций объснил очень наглядно, не прикопаешься :)

Шпаргалки. MS SQL Server.

Шпаргалка по Microsoft SQL Server.

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

Юмор в картинках


Linux vs Windows


Корридоры власти

Шпаргалки. Ruby on Rails.

Шпаргалка по фреймворку Ruby-On-Rails.

суббота, 6 октября 2007 г.

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

Налоги от "А" до "Я": За что их придумывали брать.

Как писал американский исследователь Чарльз Адамс, "сходство между сборщиками налогов и грабителями проистекает из самого смысла слова "налог", которое означает изъятие силой. Налоги -- не долги, хотя мы часто и употребляем выражение "налоговая задолженность". В долговых спорах речь идет о возврате в полном объеме взятой взаймы суммы. В налоговых спорах ничего подобного нет. Налогоплательщик должен государству просто потому, что оно так приказало. Суть налогов, следовательно, в отъеме государством денег или собственности без уплаты за такой отъем. Люди во все времена инстинктивно называли сборщиков налогов грабителями, потому что они действуют путем угроз и унижений и ни за что не платят.
читать дальше...

Шпаргалки. MySQL.

Шпаргалка по командам, переменным и функциям MySQL.

четверг, 4 октября 2007 г.

К 50-ти летию первого спутника.

Доктор Ливси (писатель Сергей Лукьяненко) выдал по поводу юбилея запуска первого спутника в космос отличную зарисовку :) Приведу текст полностью.

Юбилейное.

- Первый, - сказал командующий верхним крылом резервного фронта. – Первый спутник…
На экране плыл маленький серебристый шарик с четырьмя антеннами-рожками. Неприятное, резкое «бип-бип-бип» стучало в слуховые мембраны. Командующий поморщился и легким движением щупальца ослабил звук. Повторил, сопровождая свои слова эмоциональными переливами поясничного гребня.
- Первый спутник. Что дальше по прогнозам?
- Через три-четыре года они запустят в космос живого человека, - печально произнес футуролог.
- Живой организм?
- Нет, организм они запустят куда быстрее. А вот через три-четыре года – человека.
- Неудачно? Безвозвратно?
- Как ни странно – нет. Скорее всего, человек вернется.
- Дальше, - командующий собрал гребень в складки.
- Через десять-двенадцать лет они достигнут Луны, - продолжал футуролог. – Через двадцать-двадцать пять – на Луне будут их поселения. Нам необходимо уже сейчас начать эвакуацию станции. Через пятьдесят лет на Луне будут долговременные поселения, на Марсе – научный поселок, а первая экспедиция землян достигнет Юпитера.
- Значит, и атмосферные заводы пора сворачивать, - сказал командующий.
- Выхода нет, - вздохнул футуролог. – Мы не можем их атаковать… вы же знаете, Кваны высказались однозначно… никакого насилия, никакого замедления технологий… Отдать приказ о сворачивании заводов?

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

- Мы не будем ничего замедлять, - командующий позволил себе улыбнуться. – Как можно… Напротив, мы им поможем. Футуролог, откройте красный сейф в хранилище артефактов погибших цивилизаций. Вот ключи… - он бросил футурологу несколько причудливо изогнутых стержней. – В сейфе найдите описание персональных компьютеров и электронных сетей. И передайте – дозировано, постепенно, информацию по компьютерам и сетям людям. Пусть развивают!

Футуролог вздрогнул и в ужасе осел на громоздкий шкаф арифметического вычислителя. На его шее вздулся дыхательный мешок.

- Тогда… тогда я не буду отдавать приказа о сворачивании заводов… - прошептал футуролог.
- Конечно же, - командующий кивнул. – И не надо так на меня смотреть! Да, я понимаю, что это жестоко. Но иного выхода у нас нет.

А первый спутник плыл над планетой Земля и своим бодрым «бип-бип» возвещал зарю короткой космической эры человечества…

Шпаргалки. Regular expressions.

Шпаргалка по регулярным выражениям.

среда, 3 октября 2007 г.

Материалы PHPCONF 2007.

Видео материалы конференции для разработчиков на PHP PHPConf 2007.
смотреть

вторник, 2 октября 2007 г.

nginx - зачем он вообще нужен, текущие и будущие возможности.

Доклад автора nginx, Сысоева, на конференции РИТ-2007.



Apache, lighttpd, nginx...

Брожу по Инету, читаю всякое и вижу, что похоже я безнадежно отстал от жизни :)
По-старинке ставлю apache2+mod_php, а народ давно перешел на какие-то lighttpd и nginx и вовсю хают apache, дескать он тормознутый.
Да к тому-же мне хочется начать использовать python в своих web-разработках.
Я глубоко задумался...
Может кто просветит, чем хороши все эти light и nginx сервера vs apache2?

Novell благодарит Microsoft за рост Linux-продаж.

Компания Novell сообщила, что за последние 3 квартала ее Linux-бизнес вырос на 243 процента. Этому в значительной степени способствовала заключенная в конце прошлого года сделка с Microsoft.
«В первые три квартала финансового года Linux-бизнес Novell вырос на 243 процента», — заявил Джастин Штейнман (Justin Steinman), директор маркетинга Novell. «Это публичное подтверждение того, что наши совместные усилия уже приносят дивиденды клиентам, работающим со смешанными окружениями, коими, к слову, являются почти все современные Linux-пользователи», — добавил Стив Харрис (Steve Harris), старший директор по продажам Open Source в Novell.
По словам Харриса, на сегоднящний день интероперабельность (взаимодействие) между Linux и Windows вызывает по-настоящему высокую потребительскую заинтересованность.

отсюда

Куда мы катимся? Народ, по совету Microsoft, переходит на Linux.

Шпаргалки. RGB Hex Colour Chart

Шпаргалка по RGB кодам для web-дезайна.

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

Восстановление данных под Linux.

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

Лучшие игры под Linux за 2007 год.

Под Linux-ом тоже можно играть :)
Далее приведен перевод отчета о лучших играх под Linux за 2007 год, опубликованном на сайте http://linuxgames07.blogspot.com/. В топ вошла 21 игра, большинство из них распространяются под GPL и являются кросплатформенными. А некоторые даже обладают наградами в своей области. Итак начнем:

воскресенье, 30 сентября 2007 г.

Шпаргалки. HTML Character Entities.

Шпаргалка по HTML Character Entities.

суббота, 29 сентября 2007 г.

Шпаргалки. mod_rewrite.

Шпаргалка по mod_rewrite.

пятница, 28 сентября 2007 г.

Шпаргалки. Javascript.

Шпаргалка по Javascript.

четверг, 27 сентября 2007 г.

Шпаргалки. Микроформаты.

Шпаргалка по микроформатам.

Я понимаю что уже куча народа читала приведенный ниже пост. Но такие шедевры появляются редко и достойны хранения на многих сайтах.
Журнал «Cosmopolitan» редко радует нас потрясающими образчиками человеческой мысли. Но команда старается изо всех сил. В этот раз они превзошли даже наш любимый гомеопатический лепрозорий. Итак, как же разнообразить захиревшую интимную жизнь? Советы из «Cosmo». Нервных просим удалиться. (примечания курсивом мои)
1. Займитесь любовью в лодке, посреди цветов лотоса.
В средней полосе лотоса нет, так что сойдут и камыши в болоте. Опасайтесь рыбнадзора.
читать дальше

среда, 26 сентября 2007 г.

Шпаргалки. CSS

Шпаргалка по каскадным стилям CSS.

Шпаргалки. HTML.

Начал собирать шпаргалки (Cheats). По мере нахождения буду выкладывать.
Шпаргалка по HTML.

вторник, 25 сентября 2007 г.

Теперь у меня есть персональная страница на Я.ру — klek!

Это новый сервис Яндекса, который сейчас проходит ограниченное тестирование и регистрация в нём пока доступна только по приглашениям.

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

Ловушка для мух.

The Electronic Venus Fly Trap.
Ловушка для мух оформлена ввиде хищного цветка. Внутрь кладется нетоксичная приманка. Когда муха залетает внутрь "рот" цветка закрывается. Уничтожение мухи, по словам производителя, производится гуманным способом. Интересно каким? И куда деваются остатки насекомого?
Устройство питается от трех пальчиковых батареек типа ААА.
Стоит этот гаджет 40 американских рублей.
Я думаю, что на волне всеобщей usb-низации, к нему нужно приделать usb-кабель и запитывать от компа. Даже можно управлять закрытием "челюстей" программно, развивая реакцию игрока :)

Взято отсюда

9-ти вольтовый мини фонарик.

Собственно на картинке видна вся идея.



3 светодиода повышенной яркости подключаются к обычной "кроне".
Только вопрос в том, как соединины сами светодиоды?
Если паралельно, то нужно использовать 12-ти вольтовые автомобильные. Тогда они будут светить не в полную мощность.
Если обычные 1.5 вольтовые соединить последовательно, то 9 вольт для них многовато, нужно ставить гасящее сопротивление.

Взято отсюда.

четверг, 20 сентября 2007 г.

Яндекс поднял jabber.

Пока неофициально, но работает :)
Настройки такие:
JID: <ваш_почтовый_аккаунт>@ya.ru
Password: для почты
Server: xmpp.yandex.ru
Port: 5223
Использовать SSL encryption и Plaintext Login.

Обнаружилась интересная фича. Яндекс.Jabber присылает уведомление при появлении нового письма в почтовом ящике на ya.ru. Яндекс.Информер в действии.

вторник, 18 сентября 2007 г.

Работа с usb в VirtualBox.

Как известно, VirtualBox и Vmware работают с usb устройствами через usbfs. Но в (k)ubuntu 7.04 usbfs принадлежит root-у. Т.е. если VirtualBox запускается от простого пользователя, он показывает предупреждение, что для работы с usbfs не хватает прав. Значит нужно настроить эти права.
На форумах предлагаются разные решения этой проблемы - от изменения /etc/fstab, до создания группы usbfs, все они зависят от дистрибутива Linux.
Для (k)ubuntu 7.04 отлично работает такое решение проблемы.
В файле /etc/udev/rules.d/40-permissions.rules найти строку
SUBSYSTEM=="usb_device", MODE="0664"
и поменять MODE на "0666.
Т.е. строка должна быть такой:
SUBSYSTEM=="usb_device", MODE="0666"
Таким образом usb устройства будут монтироваться с режимом чтения-записи для всех.
После перезагрузки системы VirtualBox подхватит все usb-устройства.

четверг, 13 сентября 2007 г.

Работа в FireFox без мышки.

Иногда нужно и полезно работать в браузере без мышки. Для этого существуют определенные клавишные комбинации.

<Ctrl>T - открыть новую вкладку.
<Ctrl>W - закрыть вкладку.
<Ctrl><Tab> - перейти на вкладку справа.
<Ctrl><Shift><Tab> - перейти на вкладку слева.
<Ctrl><Shift>T - открыть случайно закрытые вкладки.
<Ctrl>L или <Alt>D - ввести URL в адресной строке.
<Ctrl>K - поставит курсор в поле поиска.
<Ctrl>стрелка вверх, <Ctrl>стрелка вниз - выбрать поисковый сервер из списка.
<Ctrl>F или / - поиск на текущей странице. <F3> - продолжить поиск.
<F11> - переключение полноэкранного режима.
<Ctrl>D - добавить закладку на текущую страницу.
<Ctrl>B - открыть/закрыть панель закладок.

Эмо и Готы

Рассказывать про них не буду ;)
Просто понравилось меткое сравнение Гоблина.
"Эмо - это готы, которых мама не пускает на кладбище."

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

Наглядно о rss.

Немного шутливое объяснение технологии подписки на RSS.
Как говорится, лучше один раз увидеть...

четверг, 30 августа 2007 г.

MySQL and cp1251

У меня в базе MySQL все записи хранятся в кодировке cp1251. Сделано это по причине того что все клиенты, работающие с базой, сидят под виндами, да и наши сайты выдают страницы в cp1251.
Все это нормально работало до момента установки Kubuntu 7.04 на мой рабочий комп. При работе с базой с этой машины я получал строки в виде '?????', хотя остальные сервера с установленной SuSE 10.0 выдавали нормальный результат...
Начались "танцы с бубном"... Первым делом я вспомнил, что имел привычку самому собирать rpm-ку MySQL для своих серверов с жестко зашитой опцией --with-charset=cp1251, поэтому и клиенты и сервера работали с этой кодировкой по умолчанию.
При переходе на Kubuntu я решил не мучится и поставить пакет MySQL, входящий в дистрибутив. Вот здесь и была засада... Наверно во всех дистрибутивах Linux MySQL собирается с дефолтной кодировкой Latin1.
Системные переменные MySQL с дефолтной кодировкой:
  • character set client: latin1
  • character set connection: latin1
  • character set database: latin1
  • character set results: latin1
  • character set server: latin1
  • collation connection: latin1_swedish_ci
  • collation database: latin1_swedish_ci
  • collation server: latin1_swedish_ci
Вобщем полная... latin1.
Начал копать в документации на сайте www.mysql.com, много узнал нового, особо помогли комментарии пользователей. После суммирования всех полученных знаний, был выведен рецепт перевода базы с latin1 на cp1251 без пересборки пакета. Нужно править файл настроек /etc/mysql/my.cnf. В секции client и mysqld нужно внести дополнения. Привожу эти секции поностью:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = cp1251

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
default-character-set = cp1251
character_set_server = cp1251
collation_server = cp1251_general_ci
skip-character-set-client-handshake

После рестарта сервера изменились системные переменные:
  • character set client: cp1251
  • character set connection: cp1251
  • character set database: cp1251
  • character set results: cp1251
  • character set server: cp1251
  • collation connection: cp1251_general_ci
  • collation database: cp1251_general_ci
  • collation server: cp1251_general_ci
Теперь клиенты и сервера (k)ubuntu работают с базой правильно, т.е. в кодировке cp1251.

вторник, 7 августа 2007 г.

Внимание! Новый развод с кредитками.

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

пятница, 3 августа 2007 г.

Сила питьевой воды

Имидж - ничто, жажда - все, как говорилось в известной рекламе. Испытывая жажду, человечество на протяжении многих столетий утоляло ее при помощи обыкновенной питьевой воды. Но не все так просто в современном мире, которым правят газированные напитки, алкоголь и кофеин. «Запивая» ими свою жажду, мы забываем о том, что обычная питьевая вода не только полезна, но и жизненно необходима организму. Многие даже не подозревают, насколько важна вода для здоровья, красоты и фигуры. Представленные ниже причины, по которым стоит увеличить ежедневное количество выпиваемой простой воды - лишь самые очевидные. Итак, обычная питьевая вода:

1. Улучшает и омолаживает кожу.
Современные модницы тратят целые состояния на косметику для ухода за кожей лица и тела, при этом совершенно игнорируя наиболее дешевое и эффективное средство - воду. Ежедневное употребление питьевой воды приводит к улучшению жизнедеятельности клеток, увлажняет кожу изнутри, повышает ее эластичность, предотвращает сухость.

2. Выводит токсины из организма.
Вода помогает выводу токсинов из пищеварительного тракта. Как известно, почки являются естественным «фильтром» организма и эта их способность напрямую зависит от количества выпиваемой воды.

3. Снижает риск сердечного приступа.
Недавно проведенное исследование показало, что у людей, выпивающих как минимум 5 стаканов простой воды в день, снижается риск сердечных приступов по сравнению с теми, кто выпивал 2 стакана воды в день.

4. Является «смазкой» для суставов и мышц.
Вода - основной материал для образования специальной жидкости, которая является своеобразным «смазочным материалом» для суставов и мышц. Спортсмены (особенно те, кто посвятил себя силовым видам спорта) давно знают, что недостаток воды в организме приводит к мышечным спазмам. Даже если ваше знакомство со спортом сводится к ежедневной утренней гимнастике, помните, что для предотвращения мышечных спазмов следует пить воду до, во время и после занятий спортом.

5. Восстанавливает энергию.
В среднем в течение дня человек теряет около 10-ти (!) стаканов жидкости (во время процессов потоотделения, дыхания, мочеиспускания и дефекации). Даже малейшее обезвоживание может обернуться потерей концентрации, головными болями, раздражительностью и усталостью.
Вода необходима организму для правильного функционирования. Уровень кислорода в кровеносной системе напрямую зависит от количества выпиваемой нами воды. Чем больше кислорода содержится в организме, тем больше жира будет сжигаться для образования энергии. При малом количестве кислорода организм не может «утилизировать» жир и превратить его в энергию.
Исследователи подтвердили, что вода необходима так же для правильного функционирования мозга.

6. Поддерживает пищеварительную систему.
Вода не только предотвращает образование запоров, но и участвует в процессе пищеварения и образования химических реакций этого процесса. Углеводы и протеины, которые наш организм использует в качестве питания, усваиваются и переносятся в кровеносную систему с помощью воды. При помощи той же воды отходы жизнедеятельности выводятся из организма (процесс мочеиспускания).

7. Уменьшает риск заболеваний и инфекций.
Недостаток воды в организме может привести к опасному заболеванию - хроническому обезвоживанию клеток. Клетки тела постоянно недополучают нужное количество воды, что ведет к снижению их жизненной активности и открывает путь к возникновению различных заболеваний из-за общего снижения иммунитета.

8. Регулирует температуру тела.
Вода регулирует «систему охлаждения» организма. После активных занятий спортом распаренные и потные спортсмены часто набрасываются на так называемые «спортивные» напитки. Однако многие эксперты сходятся на том, что вода в качестве терморегулятора «работает» лучше широко разрекламированных газировок с сахаром.
Вы удивитесь, но вода - это то питательное вещество, которое требуется организму в наибольшем объеме. От 55% до 75% веса среднестатистического взрослого человека составляет именно вода, которая участвует в процессе терморегуляции.

9. Сжигает жир и «лепит» новые мышцы.
Как уже говорилось выше, обезвоживание приводит к замедлению синтеза протеинов, который крайне важен для процесса образования мышц. Процесс образования новых мышечных тканей - энергозатратный. Чем меньше калорий сгорит и превратится в энергию для создания новых мышц, тем больше калорий «отложатся» в организме в виде лишнего жира.

10. Улучшает общее самочувствие.
К традиционной формулировке участкового врача, произнесенной у постели больного ОРЗ или гриппом, - «и пейте побольше жидкости» - нужно относиться со всей серьезностью. Вода помогает контролировать жар, восполняя потерянную организмом жидкость и выводя слизь.

Вода - важная часть нашей жизни. Старайтесь пить больше воды до, во время и после физических нагрузок, в жаркие дни, при низкой влажности, находясь на большой высоте над уровнем моря, испытывая приступ тошноты, диареи, при повышении температуры тела.
Однако важно помнить, что организм способен усваивать примерно 120 миллилитров воды каждые 10 минут, так что не перестарайтесь.

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

взято отсюда

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

Внимание! Развод на Яндекс.Деньги.

Мне по почте свалилось несколько писем такого содержания:

Уважаемый пользователь,

Согласно пункту 4.6.2.5. Соглашения об использовании Системы "Яндекс.Деньги", Ваш счет заблокирован.
Необходима реактивация счета в системе.

Для реакцивации проследуйте по линку:

https://money.yandex.ru/login.html

Либо свяжитесь с одним из наших операторов:

ООО "ПС Яндекс.Деньги". 101000, г. Москва, ул. Вавилова, дом 40
тел.: +7 (495) 739-23-25

ООО "ПС Яндекс.Деньги", Петербургский филиал. 191123, г. Санкт-Петербург, ул. Радищева, д. 39,
тел.: +7 (812) 334-7750

Письмо сгенерировано автоматически, не отвечайте на него

С уважение, ООО "ПС Яндекс.Деньги"

Так как на Яндекс.Деньги у меня ничего нет, то и особого желания заходить на предлагаемую ссылку нет. Но самое интересное скрывается именно под ней - она ведет на сайт мошенников! Так что всегда проверяйте ссылки в письмах, а еще лучше выделить ее мышью и Copy-Paste в браузер.
А вообще я ссылки в незнакомых письмах (читай спам) игнонрирую.

вторник, 19 июня 2007 г.

Перехожу на Kubuntu!

Вот уже полтора месяца работаю под kubuntu. Что сказать - нравится :)
Вообще мой путь в Linux начался в 2000 году с дистрибутива Red Hat (версию уже не помню, 1.х). С этой компанией прошел долгий путь до номера 6.х. Потом мне на глаза попался дистрибутив украинских хлопцев Леонида Кантера и Александра Каневского, Black Cat 6.0.2, на котором и остановился вплоть до версии 7.х. Это был классный дистрибутив, ребята не только русифицировали RH но и сами собирали ядро с патчами Алана Кокса. К сожалению, московская компания ASPLinux прикупила их со всеми потрохами... Black Cat становился все хуже и хуже.... Потом, после 7-й версии, его переименовали в ASPLinux 7.2.
Я честно покупал этот ASP вплоть до 10-й версии... не выдержал, когда он отказался понимать RAID-контроллеры, на каких предыдущие версии работали на ура. Посмотрел в сторону Novell SuSE LInux 10.0. Купил, поставил... вроде все хорошо... На форумах орут что тормознутая вся эта Сюзи. Особо не верил, мало ли у кого совсем кривые руки. Тем более, по привычке Linux ставлю на ext3. Сюзи, в принципе, нравилась. Работал с ней до версии OpenSuSE 10.2. Но что-то меня дернуло попробовать ubuntu, тем более вышел свежий дистр. 7.04. Скачал kubuntu 7.04. Почему ее? Я работаю под KDE с самых первых версий, когда Gnome и рядом не лежал, т.е. привычка ;)
Как это не странно, но ubuntu работает быстрее чем OpenSuSE 10.2. Для меня это загадка... Да и система пакетов dpkg оказалась мощнее rpm. Впечатления от kubuntu положительные, тем более, что это первый дистрибутив, который не создал мне в системе винигред из kde-шных и gnome-вских библиотек. Выбрал KDE - стоит только KDE, плюс библиотеки gtk для Gimp-a и других gtk-шных программ. Правда нет контрол центра, как в SuSE - удобная весчь. С другой стороны, пришлось вспомнить как настраивать сервисы без гуи... Теперь буду на работе переводить серверы на ubuntu.
Да, все что нужно есть на DVD.
Таки да, kubuntu работает быстрее и жрет меньше памяти при прочих равных условиях. Там где OpenSuSE 10.2 входила в жестокий своп у kubuntu еще остается свободная память.

пятница, 1 июня 2007 г.

Jabber в роли on-line переводчика

Оказывается с помощью клиента Jabber можно переводить слова и предложения, т.е. использовать в качестве переводчика. Сервис находится на translate.jrudevels.org. Не имеет значения на каком сервере зарегистрирован ваш аккаунт. Просто в ростер добавляем контакт: direction@translate.jrudevels.org, где direction определяет направление перевода, которое может быть:
  • er English-Russian
  • re Russian-English
  • gr German-Russian
  • rg Russian-German
  • fr French-Russian
  • rf Russian-French
  • sr Spanish-Russian
  • rs Russian-Spanish
  • ir Italian-Russian
  • eg English-German
  • ge German-English
  • es English-Spanish
  • se Spanish-English
  • ef English-French
  • fe French-English
  • ep English-Portugues

Таким образом, для перевода с Английского на Русский, нужно добавить контакт: er@translate.jrudevels.org.
Я попробовал. Мне понравилось.
Интересно, какие еще сервисы есть у Jabber...

пятница, 18 мая 2007 г.

...они решили вооружить учителей.

Вот такую интересную мысль нашел у Goblin-a.

Из Соединительных Штатов сообщают:
Власти американского штата Южная Каролина весьма своеобразно собираются решить проблему применения огнестрельного оружия в образовательных учреждениях. Вместо того чтобы ограничить его продажу, они решили вооружить учителей.

Правильное решение!
Но тут возникает проблема стрелковой подготовки педагогов.
Ибо, как говорил известный европейский мыслитель Адольф Гитлер:
Любой фельдфебель может стать учителем, но не каждый учитель может стать фельдфебелем!
Поэтому все учителя обязаны пройти курс специальной подготовки:

- грамотный уход с линии огня "маятником"
- стрельба в закрытых помещениях
- стрельба в прыжке
- стрельба в толпе детей
- стрельба с двух рук
- стрельба от бедра
- стрельба на звук

И если, допустим, ботаничка не может сдать зачёт по стрельбе - ботанику в школе надо отменить.

Конечно, нужна дифференциация вооружения.
Простой учитель может носить пистолет Макарова, заслуженный учитель - два пистолета Макарова.
Классному руководителю следует выдать ручной пулемёт.
Завучу разрешить пользование крупнокалиберным пулемётом Утёс, директору школы - станковым гранатомётом.
Ну а директор РОНО смело может применять гаубицу Д-30 - на случай, если дети совсем не слушаются.

Очень, очень верное направление.
Министерству образования России следует срочно его перенять.
Конечно, дополнив преподавательский арсенал наручниками, плётками, дубинками и бесплатными патронами.

Улыбнулся, представив такую школу :)

среда, 16 мая 2007 г.

Linutop - новый гаджет с Linux на борту

Linux все чаще стали использовать в качестве операционной системы в различного рода гаджетах. Вот еще одна новинка от начинающей (startup) компании Linutop - компьютер форм-фактора PocketPC. Размеры устройства - 9.3 x 2.7 x 15 cm. Процессор - 433MHz AMD Geode LX 700@0.8W, RAM - 256Mb, 1Gb карта в качестве основного диска. Из портов имеет - 4 USB 2.0, audio, 10/100 Ethernet, VGA и опционально Wi-Fi. По заявлению разработчиков, гаджет потребляет около 6 ватт. Вес составляет 280 грамм.
Устройство работает под Xubuntu - версия Ubuntu для встраиваемых устройств. В комплекте ПО: Firefox, AbiWord, Evince, Gaim, Totem, XDMCP (клиент терминал-сервера) и Etherboot.
По мнению разработчиков, Linutop можно использовать в качестве Pocket PC или "тонкого клиента" в школах, библиотеках, гостиницах, ресторанах, интернет-кафе и т.д.
Linutop можно купить в Европе за $380.

понедельник, 14 мая 2007 г.

Motorola. Телефон должен пахнуть!

Компания Motorola в этом году получила уже 2 патента для своих мобильных телефонов.
Патент за номером 7,206,044, выданный 17 апреля, на дисплей телефона, который является по совместительству солнечной батареей.
Патень за номером 7,200,363 от 3 апреля... телефон начинает источать запахи. В теле находится резервуар с концентратом аромата, который при подогреве специальным нагревателем, распространяет в воздухе аромат. Резервуар сменный. Наверно будут ароматы продавать как "шкурки" к трубкам.

Фотки на Яндекс.Ру

Идея создать сервис для он-лайн фотоальбомов уже имеет реализацию ввиде нескольких порталов. Вот и на yandex.ru появился такой сервис - fotki.yandex.ru. Я не мог пройти мимо зарегистрировался и создал фото-альбом. Сервис находится в стадии бета-тестирования, но основные функции выполняет хорошо. Фотки можно заливать через браузер или скачать программу для управления своими альбомами. Так как программа под винды я ее не тестировал. В браузере работать с фотографиями достаточно удобно, даже есть некоторые функции редактирования, т.е можно изменить яркость, контраст, поворот и др. Фотографиям можно присваивать метки и небольшое описание. Метки используются при поиске. Еще есть режим доступа: для всех, для друзей, для себя.
На первой странице fotki.yandex.ru выставляется фото дня, самые популярные и лента новых поступлений. Очень удобно пользоваться блоком "Популярные метки".
Фотографий много (на момент написания: 243 754). К фоткам можно писать комментарии и ставить рейтинг, правда для этого нужно зарегистрироваться.

рыжий.JPG
Фотка выложена с разрешения автора jkmufa.
После просмотра многих фоток моя дочка тоже зарегистрировала себе альбом и хочет чтобы ее фотки имели высокий рейтинг. Хорошее желание... Думаю этот сайт поможет ей понять как нужно снимать красивые фотографии с хорошим сюжетом.

четверг, 10 мая 2007 г.

Доступное объяснение некоторых сетевых технологий

DHCP
Вы проснулись после дикой пьянки. Первые ваши слова - «кто я?» и «где я?». Сосед, который не запивал водку пивом, сообщает вам ваши параметры - кто вы и где. Этот сосед выступает в роли DHCP-сервера. Учтите, что в сети могут быть так называемые «ложные DHCP-сервера», например жена – на ваш вопрос «кто я?» она выдаст неверную информацию - «алкоголик ты проклятый». Так что не всегда динамическая выдача параметров безопасна, рекомендуется записывать свои параметры (как зовут, ваш адрес и т.д.) на бумажке.

Маршрут по умолчанию
Подойтите к прохожему и спросите - «не подскажите ли вы как пройти к моргу имени Немировича-Данченко?». С большой долей вероятности вас пошлют нахрен. Так вот это и есть маршрут по умолчанию, другими словами если адрес назначения не известен, то пакеты посылаются на маршрут по умолчанию (синонимы: шлюз по умолчанию, default gateway).

Понятие TTL
Представьте себе, что вам 5 лет и вы хотите кушать. Вы идете к папе и говорите: «Папа, я хочу кушать». Ваш папа смотрит телевизор, согласно таблице маршрутизации он посылает вас к маме. Вы идете к ней и просите: «Мамааа, я хочу кушать». Мама болтает с подругой по телефону и согласно своей таблице маршрутизации посылает вас к папе. И так вы ходите как дурак от папы к маме и обратно, туда-сюда, туда-сюда, а все потому что криворукие админы (родители: папы и мамы) неправильно настроили таблицу маршрутизации. Чтобы защититься от таких ситуаций придумали понятие TTL (Time To Live), что применительно к нашей ситуации означает количество терпения у мальчика, пока он не скажет «задолбало» и не упадет перед ногами мамы или папы в беспомощном состоянии. Последний, по правилам (стандарты – это «так заведено в семье»), обязан послать короткий нелестный отзыв в адрес того, кто послал мальчика кушать. Это так называемый icmp-пакет «мальчик издох»

Ping
Вы конечно бывали в ситуации «сам дурак». Вы кричите: «Петя ты, даун», а в ответ слышите: «Вася, сам даун». Это простеший пинг. Вы только что пропинговали Васю. Не все отвечают на пинги, особо культурные, например Microsoft.com не утруждают себя реагированием на ваши запросы. С такими переругиваться бесполезно, мы знаем, что они слышат и злятся, но реакции добиться не можем. Тем не менее, пинг – неплохой способ узнать жив ли хост, ведь пиная труп ногами не добьешься реакции «сам дурак».

Traceroute
Представь себе, что ты живешь на 9 этаже и хочешь узнать всех жильцов которые живут от тебя до Клавки с 3-го. Ты берешь взрывпакет и, исходя из формулы свободного падения, рассчитываешь время взрыва пакета над 8 этажом. Это TTL=1.
После того как пакет долбанет - выглянет озверевшая рожа соседа с 8-го этажа. Время реакции зависит от загруженности сервера, т.е. от занятости соседа и от шейпов, т.е. в воздухе ли ваша система или ты живешь на планете, где атмосфера - жидкий азот. Так вот, если вообще не дождешься ответа (твой сосед глухой) - у него запрещены icmp ответы, либо он запретил их только для тебя, если его уже достали твои финты и он научился тебя игнорировать. Дальше выставляешь TTL=2 и т.д. Не забывай, что если Клавка живет выше тебя – это No route to host :(.

Честно содрал отсюда :)

Легализация ПО в школах

"Коммерсант" пишет, что Минфин отказывается выделять средства из бюджета на программу легализации программного обеспечения для Российских школ. Он также обвиняет Мининформсвязи "в намерениях укрепить зависимость бюджетных структур от продуктов Microsoft" и предлагает доработать программу.
Похоже министры не поделили "откат"
, отсюда и весь сыр-бор. Чем это грозит школам? Они снова с 1 Сентября будут пользоваться "пиратскими" копиями виндов и сопутствующих пакетов. У меня только один вопрос - чему учат в школе на уроках информатики? Посмотрим на рекомендованный пакет программ: "Этот пакет включает в себя операционную систему, офисные приложения, антивирус, архиватор, редакторы растровой и векторной графики и другое."
Если в школы ставить Linux, что изменится?
  1. Операционная система: Linux.
  2. Офисные приложения: OpenOffice.org.
  3. Антивирус: не нужен.
  4. Архиватор: gzip, bzip2, 7-zip, rar.
  5. Редакторы растровой и векторной графики: есть Draw в OpenOffice.org, Gimp, Inkscape.
  6. и другое: думаю что "и другое" есть в дистрибутивах Linux.
Более того, в Сети можно найти статьи об успешном внедрении Linux в отдельно взятых школах. Мой опыт работы в Linux (с 2000 г) показывает, что можно найти замену почти всем виндовым программам.
Моя дочка заканчивает 4-й класс, уроки информатики есть (естественно под виндами). Дома уменя стоит openSuSE 10.2. Проблем никаких. Тексты набирает в OpenOffice.org, рисует в ColourPaint. Небольшие различия в интерфейсе виндовых и линуксовых программ не являются камнем преткновения.
Я не знаю, может есть специальные программы для уроков информатики, разработанные под windows? Если и есть, то можно сделать аналоги на кроссплатформенных языках типа Python или Ruby. Сам Python можно уверенно рекомендовать для изучения в школе, т.к это легкий для изучения и мощный для разработки разного рода приложений язык.
Резюме: я думаю что Linux вполне может заменить M$ Windows в Российских школах.