Categories: Без рубрики

mini-notes-issue-10/

Темы выпуска: сборка Pastexen из исходников, процедурное представление данных в Haskell, автоматическая загрузка картинок на radikal.ru, установка Adobe Air под Ubuntu x64 и не только. Предыдущие выпуски: девятый , восьмой , седьмой , шестой .

1. Собираем Pastexen под Linux и FreeBSD

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

Важно! Кажется, эта инструкция уже устарела.

Сборка и установка в Linux:

sudo aptitude install g++ libqt4-dev

Из ветки sid:

sudo aptitude install libqxt-dev

Далее:

git clone git: // github.com / bakwc / Pastexen.git
cd Pastexen
make
sudo checkinstall

Установка и сборка во FreeBSD:

sudo portmaster -d devel / qt4 devel / qmake4
ln -s / usr / local / bin / qmake-qt4 / usr / local / bin / qmake
wget http: // dev.libqxt.org / libqxt / get / v0.6.2.tar.gz
-O libqxt-0.6.2.tar.gz
tar -xvzf libqxt-0.6.2.tar.gz
cd libqxt-libqxt-dadc327c2a6a

Заменяем в configure /bin/bash на /usr/bin/env bash , после чего говорим:

. / configure
gmake
sudo gmake install

Затем собираем Pastexen по аналогии с тем, как это делается в Linux, только вместо make используем gmake.

2. Скрипт-уведомлялка о разрядке батареи

После того, как однажды мой Toshiba Portege Z930-DKS вырубился, даже на намекнув на то, что его батарея разряжается, я набросал вот такой скрипт:

#!/usr/bin/env perl

use strict ;
use warnings ;

my $warnings = 0 ;

while ( 1 ) {
my $acpi_info = `acpi -b` ;
if ( $acpi_info =~ /, (d+)%, (S+) remaining/ ) {
my $percent = $1 ;
my $time = $2 ;
if ( $percent < 100 && $warnings <= 0 ) {
show_warning ( $percent , $time ) ;
$warnings = 1 ;
} elsif ( $percent < 50 && $warnings <= 1 ) {
show_warning ( $percent , $time ) ;
$warnings = 2 ;
} elsif ( $percent < 25 && $warnings <= 2 ) {
show_warning ( $percent , $time ) ;
$warnings = 3 ;
} elsif ( $percent < 10 && $warnings <= 3 ) {
show_warning ( $percent , $time ) ;
$warnings = 4 ;
}
} else {
$warnings = 0 ;
}
sleep 60 ;
}

sub show_warning {
my ( $percent , $time ) = @_ ;
my $msg = «Battery discharging, $percent % , $time remaining» ;
$msg =~ s/’/’/g ;
system ( «zenity —notification —text=’$msg’ —window-icon=warning —timeout=1 &» ) ;
}

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

3. Установка Adobe Air под Ubuntu 12.10 x64

Не спрашивайте, зачем мне это понадобилось.

wget http: // dl.dropbox.com / u / 19923518 / eaxme / 2013 / getlibs-all.deb
sudo dpkg -i getlibs-all.deb
sudo aptitude install libhal-storage1 libgnome-keyring0 lib32nss-mdns
sudo getlibs -l libhal-storage.so.1
sudo getlibs -l libgnome-keyring.so.0.2.0

На вопрос об установке 100500 библиотек для i386 отвечаем утвердительно.

Затем говорим:

sudo ln -s / usr / lib / i386-linux-gnu / libgnome-keyring.so.0
/ usr / lib / libgnome-keyring.so.0
wget airdownload.adobe.com / air / lin / download / 2.6 / AdobeAIRInstaller.bin
chmod u+x AdobeAIRInstaller.bin
sudo . / AdobeAIRInstaller.bin

Сами приложения устанавливаются через /usr/bin/Adobe AIR Application Installer . А вот так: /opt/Prog/bin/Prog запускаются установленные приложения. На самом деле, как мне кажется, куда более простой и правильный способ использования Adobe Air в Ubuntu — это поставить винду под VirtualBox.

4. Простой способ сделать port forwarding

На CPAN для этого есть специальный скрипт:

sudo cpanm tcpforward
tcpforward -l localhost: 1080 -c remontka.com: 80

Можно использовать его, например, при тестировании программы для симуляции разрыва соединения с сервером. Также скрипт имеет флаг -v, включающий логирование трафика, что позволяет использовать его в качестве снифера.

5. Скрипт для прогрева кэша WordPress

В плагине WP-SuperCache есть кнопка для прогрева кэша, но она аффектит только посты. В отличие от следующего скрипта:

#!/usr/bin/env perl

use strict ;
use warnings ;
use LWP :: UserAgent ;

my $home_url = shift ;

die «Usage: $0 http://example.ru n »
unless $home_url && $home_url =~ m { ^ http ://.* [ ^/ ] $ } i ;

my $ua = LWP :: UserAgent -> new (
max_redirect => 0 ,
agent => ‘update-cache.pl’
) ;

my @queue = ( ‘/’ ) ;
my %from ;
my %errors ;
my $parsed_urls = 0 ;
my $total_urls = 1 ;
while ( @queue ) {
my $url = shift @queue ;
$parsed_urls ++;
print «[$parsed_urls/$total_urls] $url… » ;
my $res = $ua -> get ( $home_url . $url ) ;
if ( $res -> is_success ) {
my $content = $res -> decoded_content ;
my $urls_count = ‘0’ ;
while ( $content =~ m #href=[‘»]$home_url(/[w/-]+)[‘»]#gio) {
if ( defined $from { $1 } ) {
push @ { $from { $1 } } $url if @ { $from { $1 } } < 16 ;
next ;
} else {
push @queue $1 ;
$from { $1 } = [ $url ] ;
}
$urls_count ++;
$total_urls ++;
}
print «»OK$urls_count new url(s) n «» ;
} else {
print «»ERROR: «» . $res -> status_line . «» n «» ;
$errors { $url } = $res -> status_line ;
}
}

if ( keys %errors ) {
print «»— ERRORS — n «» ;
while ( my ( $url

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

6 дней ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

3 недели ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

3 недели ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

3 недели ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

3 недели ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

3 недели ago