суббота, 21 июля 2012 г.

Ubuntu: плюс Nikon CoolPix S2600

Пару часов назад прикупил вышеозначенный прибор. Сразу же появилась проблема: убунта отказалась монтировать это устройство. Полез гуглить. На первом же форуме кто-то радостно рассказал, что он перезагрузился - и всё заработало. Ну, перезагрузился. Не помогло. Команда dmesg дает следующее:
[ 1995.995577] usb 1-5: USB disconnect, device number 14
[ 1996.268085] usb 1-5: new high-speed USB device number 15 using ehci_hcd
[ 1996.416299] hub 1-0:1.0: unable to enumerate USB device on port 5
[ 1996.872072] usb 3-5: new full-speed USB device number 5 using ohci_hcd
[ 1997.072085] usb 3-5: not running at top speed; connect to a high speed hub
Что-то ни одного слова Nikon или Camera не наблюдается. libgphoto2 установлен, но на их сайте в списке поддерживаемых камер мой девайс не значится.

Решение можно было бы назвать неожиданным, если бы я какое-то решение всё же ожидал. Оказывается, есть gphoto2 - специальный клиент для цифровых камер.

Посмотреть содержимое фотика можно командой:
gphoto2 -L

Скачать все файлы на компьютер:
gphoto2 -P

Скачать выбранные файлы на компьютер:
gphoto2 -p N1-N2
(номера файлов можно подсмотреть в первой из вышеперечисленных команд)

Удалить все файлы:
gphoto2 -D

Удалить выбранные файлы:
gphoto2 -d N1-N2
(номера файлов можно подсмотреть в первой из вышеперечисленных команд)

А сам фотоаппарат оказался средненьким. Фотографии какие-то нечеткие. Может, брак, а может - "что вы хотели за эту цену"...

воскресенье, 8 июля 2012 г.

Вспомнил и нагуглил тут матрицу профессиональной квалификации программиста. За прошедшие несколько лет (м-м, пять, что ли) немножко сдвинулся вправо. С нулевого уровня на первый. И, боюсь, это - уже предел.

суббота, 30 июня 2012 г.

bash - автозавершение команды из истории

Оказывается, это делается довольно просто. Нужно в файл ~/.inputrc вписать следующее:
"\e0A": history-search-backward
"\e[A": history-search-backward
"\e0B": history-search-forward
"\e[B": history-search-forward
"\e0C": forward-char
"\e[C": forward-char
"\e0D": backward-char
"\e[D": backward-char
После этого в командной строке можно набрать несколько символов, нажать стрелку "вверх" и получить автозавершение команды из истории.

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

Debian: осваиваю git

Решил давеча приобщиться к прекрасному. Ну в самом деле, кругом XXI век, а я до сих пор как школьник все свои проекты храню в папочках и раз в неделю архивирую. Захотелось по-взрослому, чтобы была система контроля версий, доступ к репозиторию по http и прочее - в общем, сам пока не знаю толком, чего мне доселе не хватало.

Первый же заплыв привел на github.com, а от него - к git. Командная строка, всё такое черно-серое, юниксоидное, бесплатное - словом, понравилось. Единственная проблема: как поднять репозиторий, доступный по http (у гитхаба какие-то ограничения, да и вообще прикольно же).

К счастью, нашлась толковая инструкция. Вкратце последовательность действий такова:

1. Конфигурируем apache2. Добавляем в /etc/apache2/sites-available/default следующие строки:
SetEnv GIT_PROJECT_ROOT /путь-до-репозитория
SetEnv GIT_HTTP_EXPORT_ALL

ScriptAliasMatch \
 "(?x)^/git/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | \
                    pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
                    git-(upload|receive)-pack))$" \
                    "/usr/lib/git-core/git-http-backend/$1"

<Directory /usr/lib/git-core/>
    Options +ExecCGI
    Order Allow,Deny      
    Allow from all
</Directory>

<Location /git>
    AuthType Basic
    AuthName "Private Git Access"
    AuthUserFile /etc/apache2/authusers
    Require valid-user
</Location>

2. Добавляем в файл с разрешенными пользователями нового пользователя по имени username командой:
htpasswd -c /etc/apache2/authusers username

3. Перезапускаем апач командой:
sudo /etc/init.d/apache2 restart

4. Настраиваем репозиторий. Создаем внутри каталога /путь-до-репозитория очередную папочку для проекта myProject, переходим в неё и выполняем волшебную команду:
git init --bare

5. Раздаем на каталог myProject права для учетной записи, под которой работает апач:
sudo chown -R www-data myProject
sudo chgrp -R www-data myProject

После этого репозиторий должен быть доступен для использования. Пользоваться всем этим можно так:

1. Устанавливаем и настраиваем git на клиентской машине. Вводим имя пользователя (username), его e-mail (это будет отображаться при просмотре истории коммитов) и, если нужно, прокси:
git config --global user.name username
git config --global user.email mymail@mymail.ru
git config --global http.proxy http://myproxy:8888

2. Можно еще указать, чтобы git кэшировал на какое-то время пароли:
git config --global credential.helper 'cache --timeout=3600'
(честно говоря, у меня не сработало; приходится каждый раз при выполнении команд git push, git pull вводить пароль)

3. Клонируем нужный проект в локальный каталог командой:
git clone http://username@host/git/myProject

4. Меняем в проекте всё, что нам надо, и скармливаем изменения git-у:
git add мой-измененный-файл

5. Коммитим изменения в проекте:
git commit -m "описание изменений"

6. Заливаем измененный проект обратно на сервер:
git push origin master

Кстати, вот тут лежит хороший учебник.

пятница, 11 мая 2012 г.

Windows XP: Не удалось выполнить действие из-за неправильной установки клиента почты по умолчанию

Две машины. На одной всё хорошо (ну как всё...), на другой при попытке в excel-е кликнуть на гиперссылку, содержащую e-mail, получаем вышеуказанную ошибку.

Оказалось, в реестре почему-то испортился раздел HKLM\Software\Classes\mailto.
На здоровой машине, у которой почтовым клиентом числится OE, этот раздел должен выглядеть так:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto]
@="URL:Протокол MailTo"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\DefaultIcon]
@=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,\
  00,73,00,25,00,5c,00,4f,00,75,00,74,00,6c,00,6f,00,6f,00,6b,00,20,00,45,00,\
  78,00,70,00,72,00,65,00,73,00,73,00,5c,00,6d,00,73,00,69,00,6d,00,6e,00,2e,\
  00,65,00,78,00,65,00,2c,00,2d,00,32,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
  00,65,00,73,00,25,00,5c,00,4f,00,75,00,74,00,6c,00,6f,00,6f,00,6b,00,20,00,\
  45,00,78,00,70,00,72,00,65,00,73,00,73,00,5c,00,6d,00,73,00,69,00,6d,00,6e,\
  00,2e,00,65,00,78,00,65,00,22,00,20,00,2f,00,6d,00,61,00,69,00,6c,00,75,00,\
  72,00,6c,00,3a,00,25,00,31,00,00,00

среда, 9 мая 2012 г.

SQL Server 2005 + Win2008: Login failed (Error: 18456, State: 11)

После установки SQL Server 2005 на Windows 2008 со смешанным режимом аутентификации выяснилось, что подцепиться с доменной, даже самой крутой учеткой не удается. Решение помогло такое:
create login [domain\user] from windows
go
sp_addsrvrolemember [domain\user], 'sysadmin'
go

вторник, 8 мая 2012 г.

Ubuntu 12.04: Skype magic

Команда запуска выглядит так:
LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype
Иначе видео не работает. Причем, даже на 64-битной версии - всё равно i386.

UPD 2013-08-15: Давно не пользовался скайпом, а тут понадобился - и обнаружилась неприятность: звук с какой-то реверберацией, микрофон не работает... В общем, оказывается, его даво пора было обновить. Под ubuntu 13.04 этот процесс выглядит так:
1. Подключаем репозиторий:
# add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
# apt-get update
2. Устанавливаем Skype:
# apt-get install skype && sudo apt-get -f install