Tuesday, July 5, 2011

Лінь

Маю в колекції ше один імпрувмент, який може комусь тай згодиться. В мене дома є стаціонарний комп'ютер і нетбук і вони з'єднані у wifi мережі. На стаціонарному я дивлюсь фільми, і стандартна фішка, коли треба поставити на паузу, чи перемотати якийсь епізод, чи відрегулювати звук, треба вставати з дивану йти до комп'ютера... Ключова фраза тут "вставати з дивана":) Короче, мені бракувало пульта до комп'ютера і я знайшов, як завжди, геніально-лаконічний вихід. Інсталював на стаціонарному компі ssh-server а на нетбуці (який завжди під рукою) ssh-client.
Команда

ssh <ip adress>

відкриває консоль на стаціонарному компі з нетбука. Залишилось правильно запустити mplayer

export DISPLAY=:0.0 mplayer /home/video/Ranetki_S03E11.avi

і насолоджуємось улюбленим кінофільмом на великому екрані.

В чому зручність? mplayer має багато hotkeys для управління і всі вони працюють з нетбука через відкриту ssh-консоль. Для прикладу:
space - пауза/анпауза
f - fullscreen
# - переключення звукових доріжок
o - час фільму
* - volume up
/ - volume down
m - mute sound
b and j - переключає субтитри
і т. д.

Ну і коли вже ніч - sudo pm-hibernate і в люлю

Monday, July 4, 2011

WTF does that mean?

Недавно згадав ше одну свою геніальну програмулю. Такий собі онлайновий словник. User story такий: мені не підходив жоден оффлайновий англійський словник, бо одні тре було крякати, інші були атстойні, тому я постійно користувався Лонгменом-онлайн. Але для того, шоб відкрити там тлумачення того чи іншого слова, тре було відкрити нову вкладку, потім зайти на Лонгмен, потім набрати то слово... Я вирішив то автоматизувати і наваяв програмулю, знову ж таки на С і під лінукс з використанням gtk-clipboard. Програмуля вийшла на диво мініатюрна. Код:

/* файл назвем для прикладу main.c */

#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <string.h>

#define MAX_BUFFER 300

int main (int argc, char **argv) {
char command[MAX_BUFFER];

/* initialize GTK */
gtk_init (&argc, &argv);

memset(command, 0, MAX_BUFFER);

/* compose text of the command */
sprintf(command, "firefox http://www.ldoceonline.com/search/?q=%s", gtk_clipboard_wait_for_text (gtk_clipboard_get(GDK_SELECTION_CLIPBOARD)));

/* run command */
system(command);

return 0;
}

компілюється то всьо таким рядком:

cc `pkg-config --cflags --libs gtk+-2.0` main.c -o longman

На виході маємо бінарник longman, який тре покласти в /usr/local/bin

В чому суть?
Коли я бачу десь англійське слово, яке не розумію, я його копіюю, себто кладу в буфер і тисну win+t. Запускаєтсья моя програмуля, дістає з буфера то слово, і відкриває у firefox таб з лінком на longman з запитом на пояснення невідомого слова.

Лонгмен і firefox можна замінити на то, шо вам більше подобається )

That's all.

Sunday, July 3, 2011

"ы" і "э"

В мене часто так буває, що треба знайти шось в неті російською мовою. Більшість букв можна замінити українськими аналогами, але найбільші проблеми з "ы" і "э". Тримати заради них ше одну розкладку не хочетсья, тому я завжди шукав в інтернеті десь в тексті ці букви і копіював їх. Але то схарило і я вирішив написати мінімальну програмулю, яка буде сама копіювати в буфер то шо мені треба. Програмуля використовує gtk-clipboard - очевидно буде працювати тільки в лінуксі, хоча хтось може взяти ідею і наваяти шось подібне і під MacOS :)