Wednesday, May 23, 2012


Saturday, February 25, 2012

Google Cloud Print и принт-сервер CUPS

Чтобы сделать свой домашний принтер видимым для Google Cloud Print, нужно выполнить всего несколько простых шагов на домашнем Linux-сервере со службой печати CUPS.

Зачем это вообще нужно? 
В целом, Cloud Print -- это не очень полезная, но интересная штука.
- Можно напечатать на домашний принтер с работы или с произвольного компьютера, на котором есть браузер Chrome.
- Можно печатать со смартфона или планшета.
- Можно мгновенно дать доступ к принтеру гостям, не тратя время на установку драйвера (но тратя время на установку Chrome).

Tuesday, August 30, 2011

Installing Linux driver for AirLink101 AWLL5088

AirLink101 AWLL5088 Wireless N 150 Ultra Mini USB Adapter is detected by lsusb as
0bda:8176 Realtek Semiconductor Corp

1. Download the file called rtl8192CU_linux_v2.0.939.20100726.tar.gz from the folder "driverhere
2. Unpack it.
3. Patch os_dep/osdep_service.c file by replacing function init_MUTEX at line 291 with sema_init like this:
remove init_MUTEX(pwrlock); line
add sema_init(pwrlock,1);
4. make and sudo make install

Add 8192cu driver to /etc/modules, reboot.



Tuesday, December 7, 2010

Убрать пустое место в выпадающих списках в Gnome

Чтобы не видеть вот этого пустого места в списках, нужно добавить следующую конструкцию в ~/.gtkrc-2.0


style "default-style"
{
  GtkComboBox::appears-as-list = 1
}

class "GtkWidget" style "default-style"
Было: 

Стало: 



Friday, October 29, 2010

Wednesday, October 27, 2010

Tuesday, October 12, 2010

Небоскреб с Кинг-Конгом

Вот такую замечательную башенку построили наши инженеры.


Saturday, October 9, 2010

Дворик, украшенный чайникамм

Не людьми, а предметами.

Wednesday, October 6, 2010

Saturday, October 2, 2010

Собачки с воротником

Оказывается, они бывают не только в фильмах :-)

Monday, September 13, 2010

Ошибка

"Вставляйте карточку в банкомат не так, как на картинке, а наоборот!"


Saturday, September 11, 2010

Джентльменский набор

Вот такие автоматы висят в мужских туалетах Монреаля: духи СК, презервативы и наклейка-тату. Или вот: освежитель и таблетки от головной боли. А в другом я видел набор из презервативов, жвачки и салфеток для рук.


Sunday, March 28, 2010

Thursday, February 25, 2010

Wednesday, February 17, 2010

Полезный Compiz

Оконный менеджер Compiz известен своей уникальной быстротой работы на старом железе и зрелищными видеоэффектами при работе с окнами. Тем не менее, он не просто зрелищен, он ещё и очень удобен для повседневной работы. Естественно, задача оконного менеджера -- помочь пользователю быстро и легко управляться с окнами, не стоит ждать от него чего-то большего.

Ниже описаны горячие клавиши и опции плагинов Compiz, которые помогают эффективно управлять окнами.

Многие опции из перечисленных ниже включены по умолчанию, некоторые требуют вручную назначить им удобную комбинацию клавиш. Все настройки производятся из меню Preferences > Advanced Desktop Effects Settings.

Edge Detection - Как перетаскивать окна?

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



 

Удобно, когда окна приклеиваются к сторонам экрана и других окон при перетаскивании. Я рекомендую включить обе опции, Edge Resistance и Edge Attraction.

Place Windows - Где откроется новое окно?

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



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

Put Window - Куда передвинуть окно?

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



Можно очень быстро отправить окно в любой угол или бок экрана, центрировать, или переслать на другой рабочий стол (Put within Viewport). Проще всего настроить этот плагин на 9 клавиш цифровой клавиатуры:
Соответственно, клавиша 5 центрирует окно, 7 и 9 помещают его в верхний левый и правый углы, и так далее.


UPD: Долгие годы практики показали, что куда удобнее настроить Win+Z, Win+X и Win+C для перемещения окна соответственно влево, по центру и вправо. Удобно нажимается одной рукой, и в остальные углы обычно нет необходимости гонять окно. 

Maximumize - Заполнить окном свободную область экрана

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





Если на большом мониторе хочется открыть новое окно так, чтобы оно заняло всё свободное от других окон пространство, Maximumize делает как раз это. Удобно, например, открыть браузер на половину экрана, и PDF-Viewer на другую половину экрана, одной кнопкой заставив его занять ровно столько места, сколько осталось от браузера.

Show Desktop - Показать рабочий стол!




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

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




Show Window Previews - Показать предпросмотр свернутых окон



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

Make Screenshots - Снимок экрана в одно касание

На этой демонстрации я снимаю кусочки экрана, они сразу же сохраняются в открытую папку и открываются в просмотрщике. 




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

Desktop Wall -- Что там, на других столах? 

Если у вас всего два-три рабочих стола, включать Desktop Cube нет необходимости, Desktop Wall выглядит нагляднее. Мгновенно переместиться на следующий стол обычно помогают горячие клавиши, селектор рабочих столов или комбинация клавиш и мыши.


Увидеть все столы сразу, как на картинке выше, позволяет плагин Expo. В режиме Expo можно перетаскивать окна между столами и закрывать лишние.


Toggle On Top - Закрепить окно поверх других


Чтобы закрепить окно поверх других, то есть включить режим Always On Top, достаточно нажать заранее определенную комбинацию клавиш. Это быстрее и эргономичнее, чем вызывать оконное меню и ставить галочку Always On Top.

Wednesday, September 30, 2009

Sunday, September 6, 2009

Customs?

Забавно. Чтобы послать международную посылку в США, Канаду, Францию, Великобританию, Ирландию, Италию - нужно приложить 2 накладных. В Украину, Казахстан -- 3. В Таджикистан, Кыргызстан, Узбекистан, и подобные -- 4.

Занимательная арифметика.

Tuesday, May 5, 2009

Как настроить поддержку Билайн MMS на Android

Отправка MMS на андроиде HTC G1 с моего номера Beeline не работала, пока я не догадался сделать так, как делают на Водафоне.

Делаем две APN, одна для GPRS, вторая для MMS. Это делается в меню Settings > Wireless controls > Mobile networks > Access Point Names:

Первая APN:

Name: Beeline
APN: internet.beeline.ru
MCC: 250
MNC: 99
APN type: default
Остальные параметры не устанаваливать

(MCC и MNC должны подцепиться автоматически)

Вторая APN:

Name: BeeMMS
APN: mms.beeline.ru
User ID: beeline
Password: beeline
MMSC: http://mms/
MMS Proxy: 192.168.94.23
MMS Port: 8080
MCC: 250
MNC: 99
APN type: mms

После этого телефон перезагрузить (Airplane mode не достаточно).

Monday, May 4, 2009

Сборка браузера Chromium на Athlon XP

На моём компьютере с процессором Athlon XP 1600+ не запускается bleeding edge браузер Chromium, потому что бинарная сборка оптимизирована под Pentium4 и SSE2. SSE2 мой Атлон не поддерживает, вестимо.

$ chromium-browser
[28898:28898:32389465322:ERROR:/build/buildd/chromium-browser-2.0.178.0~svn20090430r14953/build-tree/src/chrome/common/temp_scaffolding_stubs.cc(132)] Not implemented reached in static bool FirstRun::IsChromeFirstRun()
Illegal instruction
$


Как в Ubuntu перекомпилировать Chromium под Athlon XP и прочие не-SSE2 процессоры? Можно либо последовать совету разработчиков и собрать его просто из исходников, либо пересобрать сам пакет по-дебиановски вот так:

1. Точно так же, как ночные бинарники, скачиваем пакет свежего исходного кода:

$ apt-get source chromium-browser

2. Скачиваем и устанавливаем зависимости:

$ sudo apt-get build-dep chromium-browser

3. В текущем каталоге появится исходный код (метров триста) и папка chromium-browser-3.0* c правилами сборки и пакетом того же самого исходного кода chromium-browser-2.0.178.0~svn20090502r15142-source.tar.bz2.

4. Однако, в файле build-tree/src/build/common.gypi прописаны те самые параметры оптимизации под P4 и SSE2 для профиля Debug (для Release их нет):

      'cflags': [
'-m32',
'-pthread',
'-march=pentium4',
'-fno-exceptions',
'-mfpmath=sse',
'-msse2',
'-Wall',
Мы можем либо заменить их, например, на
      'cflags': [
'-m32',
'-pthread',
'-mtune=athlon-xp',
'-fno-exceptions',
'-mfpmath=sse',
'-msse',
'-Wall',
Для этого пишем патч:


Index: src/build/common.gypi
===================================================================
--- src.orig/build/common.gypi 2009-05-29 19:01:23.000000000 +0200
+++ src/build/common.gypi 2009-05-30 19:02:27.000000000 +0200
@@ -285,7 +285,7 @@
# Some utility binaries need to be build with the host's native
# config (i.e. no 32-bit override).
'Tool': {
- 'cflags!': ['-m32', '-march=pentium4', '-msse2', '-mfpmath=sse'],
+ 'cflags!': ['-m32', '-mtune=athlon-xp', '-msse', '-mfpmath=sse'],
'ldflags!': ['-m32'],
'cflags': [ '-O2' ],
},
@@ -343,8 +343,8 @@
'conditions': [
['branding=="Chromium"', {
'cflags': [
- '-march=pentium4',
- '-msse2',
+ '-mtune=athlon-xp',
+ '-msse',
'-mfpmath=sse',
],
}],


и кладем его в файл chromium-browser-3.0*/debian/patches/drop_sse2.patch

5. Теперь этот пакет можно собрать, как обычно,

$ debuild -uc -us

7. Всё. На моём несчастном Athlon XP 1600+ сборка пакета занимает 6 часов, зато браузер
потом работает.

Update: Быстрый какой, как настоящий! Супер! Жаль только, что рамка окна видна и настройки пока не все можно менять. Ну и ещё много багов наверняка найдётся.

Thursday, April 23, 2009

Простой I/O-планировщик для виртуальных машин

Мэтти с prefetch.net обратил внимание на интересную мысль: на виртуальных машинах нужно использовать планировщик Noop, который формирует самую простую очередь запросов, а не всякие там изощренные CFQ и Anticipatory. 

Идея в том, что запросы со всех виртуальных машин всё равно поступают к хост-машине, которая лучше знает, как их сортировать. Лишняя сортировка запросов самой гостевой машиной только снизит производительность, потому что гостевая всё равно не знает, чем там заняты остальные виртуальные машины, и просто зря напрягается. 

Итого: при установке виртуального сервера на хост-машине ставим CFQ или Anticipatory/Deadline, а на виртуалках -- Noop.