3ED Blog

Optymalizacja baz danych sqlite3 dla firefoxa podnosi wydajność i przyśpiesza start przeglądarki.. Poniższy skrypt jest wyposażony w detekcję na obecność sqlite3 w systemie i sprawdzi czy firefox jest już uruchomiony. Skrypt wyszuka wszystkie pliki baz danych w katalogu użytkownika i je zoptymalizuje..

#!/bin/bash

#detekcja firefoxa
if pgrep -u "`id -un`" -x "firefox" &> /dev/null
then
  echo "Wpierw zamknij firefoxa.."
  exit 1
fi

#detekcja sqlite3
if ! BIN="`which sqlite3 2> /dev/null`"
then
  echo "Brakuje programu sqlite3.."
  exit 1
fi

#optymalizacja
find ~/.mozilla/ -type f -name "*.sqlite" -exec $BIN {} VACUUM \;
find ~/.mozilla/ -type f -name "*.sqlite" -exec $BIN {} REINDEX \;

Pastebinowy mirror..

13 października, 2009

Nowy, nowy GDM w Archu..

Napisane w: Arch Linux, Oprogramowanie (1)

Autorzy środowiska GNOME przepisali na nowo GDM, myślę sobie fajnie, czemu by nie? (poprzedni gdm w Achu był w wersji 2.20.10-2) Po aktualizacji okazało się, że GDM wygląda okropnie i nie posiada konfiguratora. Poszukałem w sieci rozwiązania i znalazłem namiastkę. (Może to przez te zero w numerze wersji? Mam nadzieję..)

1. Konfiguracja wyglądu nowego GDM:
Za pomocą tego polecenia można skonfigurować między innymi tapete i motyw gtk: gksudo -u gdm dbus-launch gnome-appearance-properties. (Nie musisz dalej czytać). Tymczasowe rozwiązanie to user ALL=(gdm:gdm) /usr/bin/dbus-launch gnome-appearance-properties w konfiguracji sudo (chociaż sam nie wiem czy to aby pożądane). Kompleksowe tymczasowe rozwiązanie to skrypt np. basha nazwany gdm-setup z tym poleceniem, można użyć na ten skrypt sudo albo su do podbijania uprawnień do roota aby ten mógł swobodnie obniżyć uprawnienia do użytkownika gdm (zablokowane logowanie i shell nologin!). To jednak nie załatwia tego: cannot open display: :0.0. Więc do skryptu trzeba jeszcze dorzucić xhost przykładowo przed linię uruchamiającą konfigurator: xhost +localhost i po xhost -localhost (dodatkową opcje jak np. autologowanie ustawia się z poziomu gconf-editor, użyj fantazji). Mamy namiastkę konfiguratora, mam nadzieję że szybko się uwiną z tworzeniem gdm-setup i będzie miało opcje ustawiania motywów napisanych dla starego gdm.

2. Zaktualizowanie do starej wersji:
Możesz zbudować paczkę z aur lub pobrać binarny pakiet z repozytorium archrepo.net. Pakiet nosi nazwę: gdm-old.

06 września, 2009

Grub2-GfxMenu

Napisane w: Arch Linux, Linux, Oprogramowanie (1)

Słowem wstępu: Grub2 to nowszy Grub, boot loader czyli coś co siedzi w MBR i ładuje wybrany przez nas system, kropka.

Nowa wersja programu ma znacznie większe możliwości konfiguracyjne choć niektórych opcji z poprzedniej wersji mu brakuje, jest modularny i potrafi lepiej używać karty wideo. Poprzednia wersja z przystawką jaką był gfx stanowczo ustępuje tej z obecną gfxmenu (w linkach zrzutki). Do kompletu dobrze pasuje kernel z fbcondecor np. kernel26-ice i wystrój boot splasha o nazwie arch-black, gdy użyjesz mojego wystroju gruba - będzie w sam raz.. Niestety nie wiem jak zrobić screenshot z gruba więc opiszę jak to wygląda, a jest to skrzyżowanie themesu ubuntu tego z kułeczkiem po lewej (screeny w linku do gfxmenu), a tłem verbose, logo i ikonką z arch-black. Pobrać można tutaj. Do rzeczy.

Po instalacji paczek grub2-gfxmenu i grub2-gfxmenu-overlay z aur lub archfox:

[archfox]
Server = http://hateanthem.dreamhosters.com/arch/i686
#lub
[archfox]
Server = http://hateanthem.dreamhosters.com/arch/x86_64

Przyszedł czas na konfigurację, co trzeba wiedzieć?

  1. Zmieniła się nazwa pliku konfiguracyjnego z menu.lst na grub.cfg.
  2. Zmieniły się komendy gruba.
  3. Od teraz (hd0,0) jest (hd0,1)

Tak było w starym grubie:

title Arch Linux
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26.img

A tak jest w nowym:

menuentry "Arch Linux" --class "arch" {
set root=(hd0,1)
linux /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26.img
}

Opcja class wczytuje ikonki w formacie png z /boot/grub/themes/icons/.
Instalacja gruba (robisz na własne ryzyko, zabezpiecz się w livecd) wygląda tak:

grub-install /dev/sda

Wystrój graficzny..

# Jako ciekawostka, hiddenmenu dla grub2, odkomentuj
# linię zakomentowane podwójnym komentarzem..
##echo -n "Przycisnij [ESC] aby przejsc do menu... "
##if sleep --verbose --interruptible 1; then
## set menuviewer="terminal"
## set timeout=0
##else
# gfxmode = rozdzielczości themesu, inaczej będzie dziwnie
# wyglądać gdy się nie zmieści na ekranie bądź będzie mikrych
# wymiarów.. 640x480 lub 800x600 to kompromis między
# wydajnością, a pięknem niekwadratowej grafiki..
set gfxmode=640x480
insmod biosdisk
insmod pc
insmod font
insmod vbe
insmod gfxterm
insmod videotest
insmod tga
insmod png
insmod gfxmenu
set menuviewer="gfxmenu"
set theme="/boot/grub/themes/arch-black/theme.txt"
set timeout=15
##fi
# [..] #

Gotowe, restart i ku naszym oczom widnieje piękny bootloader (mam nadzieję). ;)

17 sierpnia, 2009

Napi-bash (napi-project)

Napisane w: Linux, Oprogramowanie, Skrypty (1)

Napi-bash (strona domowa) daje nam możliwość szybkiego pobrania napisów do filmów, które mamy na dysku. Nie umie ich wysyłać ale nie miałem takiego zamiaru. Skrypt ma wersję gui i cli, a także specjalną procedurę integracyjną z nautilusem. Są cztery sposoby użycia:

  1. Tryb cli, wszystko na konsoli:
    napi-bash -c <plik> [kolejne pliki]
  2. Tryb gui, informacja w libnotify (powiadomienia systemowe):
    napi-bash -g <plik> [kolejne pliki]
  3. Jako "skrypt nautilusa", wystarczy podlinkować napi-bash do folderu ~/.gnome2/nautilus-scripts/ (będzie działał jak wywołany z opcją "-g").
  4. Zrobić albo plik .desktop umieszczający ikonkę w menu programy albo skrót klawiszowy w twoim środowisku graficznym (wymagany zenity dla okna wyboru pliku): napi-bash -g

Nautilus, skróty klawiszowe: Jeżeli mamy uaktywnione dynamiczne skróty klawiszowe, wystarczy wejść do menu "Plik → Skrypty", zaznaczyć podlinkowany wcześniej skrypt i nacisnąć swoją kombinację klawiszy.

Na stronie domowej można obejrzeć przykładowe zrzuty ekranu, changelog oraz pobrać program.

Jeżeli zawsze zastanawialiście się o co chodzi w tym dziwnym programie.. Jeżeli nie macie jeszcze skonfigurowanego tego lub innego firewalla, a chcecie coś co jest dość konfigurowalne i klikane.. Może ten firewall spełni wasze oczekiwania? Jest to zaawansowana aplikacja do edytowania reguł mi. iptables/netfilter napisana przy użyciu biblioteki QT4, dostępna na różne platformy i systemy jak Linux/BSD/Mac OS X/Windows.. Ja jednak wolę ferm niż fwbuilder więc tylko odsyłam do opisu (język angielski).

URxvt to minimalistyczny ale funkcjonalny emulator terminala pod X. Opiszę tu podstawową konfigurację tego termiala jako komentarze do konfiguracji..

Najpierw wspomnę może o sposobie jego konfiguracji. Jest to plik ~/.Xdefaults i aby go przeładować po wprowadzeniu zmian trzeba jeszcze uruchomić polecenie: xrdb -load ~/.Xdefaults. Plik ten jest plikiem globalnym, mogą w nim znajdować się opcje konfiguracyjne innych programów.

! Ustawienia biblioteki libxft - czcionka
Xft.antialias:   true
Xft.hinting:     true
Xft.hintstyle:   0
Xft.dpi:         81

! mój konfig URxvt
URxvt.termName: rxvt
! ma być przezroczysty?
URxvt.transparent: true
! procentowo przezroczystość..
URxvt.shading: 40
! twoje locale
URxvt.imLocale: pl_PL.UTF-8
! styl suwaka
URxvt.scrollstyle: plain
URxvt.secondaryScroll: true
! ma być suwak?
URxvt.scrollBar: true
! po prawej stronie?
URxvt.scrollBar_right: true
! kolor suwaka
URxvt.scrollColor: white
! ile ma pamiętać linijek?
URxvt.saveLines: 5000
! jakich wymiarów ma wyświetlać okno?
URxvt*geometry: 80×40
! zwykła czcionka
URxvt*font: xft:Monospace:pixelsize=12:antialias=true:hinting=true
! czcionka pogrubiona
URxvt*boldFont: xft:Monospace:pixelsize=12:antialias=true:bold:hinting=true
! czcionka pochyła
URxvt*italicFont: xft:Monospace:pixelsize=12:antialias=true:italic:autohint=true:hinting=true
! pogrubiona i pochyła
URxvt*bolditalicFont: xft:Monospace:pixelsize=12:antialias=true:bold:italic:autohint=true:hinting=true
URxvt.scrollTtyOutput: false
URxvt.scrollWithBuffer: false
! czy przesunąć na dół gdy piszesz?
URxvt.scrollTtyKeypress: false
! scroll reaguje na lewy myszki?
URxvt*jumpScroll: true
! rozszerzenia perlowe, (1) taby tekstowe, (2, 3) podmienianie
URxvt*perl-ext-common: tabbed,selection-autotransform,matcher
! podmienianie dla linków, uruchom fx
URxvt*urlLauncher: firefox
! ^^ uruchamianie lewym myszy
URxvt*matcher.button: 1
! kolor paska fg - napisy, bg - tło
URxvt*tabbed.tabbar-fg: 79
URxvt*tabbed.tabbar-bg: 0
! aktywowane przyciski
URxvt*tabbed.tab-fg: 0
URxvt*tabbed.tab-bg: 79
! kolory dla konsoli
URxvt*background: #222222
URxvt*foreground: #ffffff
URxvt*color0:     #000000
URxvt*color1:     #9e1828
URxvt*color2:     #aece92
URxvt*color3:     #968a38
URxvt*color4:     #414171
URxvt*color5:     #963c59
URxvt*color6:     #418179
URxvt*color7:     #bebebe
URxvt*color8:     #666666
URxvt*color9:     #cf6171
URxvt*color10:    #c5f779
URxvt*color11:    #fff796
URxvt*color12:    #4186be
URxvt*color13:    #cf9ebe
URxvt*color14:    #71bebe
URxvt*color15:    #ffffff

15 lutego, 2009

aurpac

Napisane w: Arch Linux, Linux, Oprogramowanie, Skrypty (1)

First public released aurpac. This is Light'n'fast manager aur and pacman repository. Now pacman is used only for search and remove packages, but this is verion 0.1. ;)

Features in this verion: coloring outputs, very fast searching tool looks like pacman (-Ss and -Ssp), installing (with deps) from aur (-S), upgrading (-Su), printing information about package (-Si), all from pacman -R*.


Pierwsze publiczne wydanie aurpac. Jest to lekki i szybki menadżer repozytoriów aur i pacmana. Obecnie pacman jest używany tylko do wyszukiwania i usuwania paczek, ale to dopiero wersja 0.1.

Nowości w tej wersji: koloruje output, bardzo szybkie narzędzie do wyszukiwania w aur wyglądające jak pacman (-Ss i -Ssp), instalowanie (z zaleźnościami) z aur (-S), aktualizowanie (-Su), wyświetlanie informacji o pakiecie (-Si), wszystko z pacman -R*.


Get source/żródła from aur site.

14 października, 2008

Gimp 2.6 i moje trzy grosze

Napisane w: Oprogramowanie (1)

Obrazek, GIMP: wizualne streszczenie.

To co zrobili z nowym GIMPem według mnie jest makabryczne, dla kogo te zmiany?

Interface Photoshopa nie jest aż taki wygodny, nie przesadzajmy, obrazek zakrywany przez jakieś elementy, itp. Poza tym to co zrobili w nowej wersji GIMPa w mojej opinii nawet nie jest podobne, do tego co w Photoshopie, głównie z tego co zrozumiałem ludzie domagają się zmniejszenia ilości pozycji na ich paskach zadań. Można było to załatwić robiąc panele doklejone do lewej i prawej części okna, tak aby nie zasłaniały obrazka. Można ale wtedy też chyba odpada trzeci panel? A co jak ktoś chce tylko jeden panel (duży monitor). Oba rozwiązania, zarówno nowego GIMPa jak i przyklejonych paneli nie nadają się przy pracy z większymi obrazami czy na mniejszej rozdzielczości pulpitu (nie uciekając pod spód, panele zakrywają obraz utrudniając edycję). Dla mnie najlepszym rozwiązaniem byłoby po prostu zrobienie tych okien/okna paneli jako jedna pozycja na pasku zadań o nazwie np. "Panel GIMP", tak aby na pustym pulpicie, (ew. z przeglądarką plików) można było łatwiej przechodzić panele<->obraz (np. alt+tab czy myszka<->belka).

Menu było dobre. Nie wiem czemu ktoś to musiał spi*lić popsuć. Do menu w dzisiejszym wyglądzie jest potrzebne puste okno które nie pełni żadnej konkretnej funkcji, jest oknem zbędnym i zabierającym moje cenne miejsce. Po co ono w ogóle jest? Wcześniej po prostu główny panel (ten z menu) był zarazem głównym oknem, które logicznie myślącemu człowiekowi służyło do wczytywania obrazków, tworzenia nowych, edycji paneli, itd, a okno z obrazem tylko i wyłącznie do edycji obrazu. Teraz jakimś cudem jest to wymieszane, przy tym menu się rozrosło w poziomie tak by dla większej ilości użytkowników nie mieścić się na ekranie. Brawo!

Tego obrazka w głównym panelu to ja już w ogóle nie kapuje.

Okna na szczęście da się zmusić do tego by nie zakrywały na chama obrazków: "Preferencje" → "Zarządzanie oknami" → "Podpowiedzi do narzędziówki" i "Podpowiedzi do innych okien" na "Zwykłe okno". To tyle w kategorii "mały workaround".
Btw. dziwne te spolszczenie GIMPA ^^.

Openbox od wersji 3.4.7 posiada program gdm-control, który potrafi skonfigurować tak GDM, że gdy zakończymy sesje, wykona on ustawioną mu akcję. Oczywiście jak na news przystało, ciekawe, ciekawe, ale jak u licha tego używać? Można zrobić wpisy w menu, coś na podobieństwo tego:

<item label="Wyłącz komputer">
	<action name="Execute">
		<execute>
			gdm-control --shutdown && openbox --exit
		</execute>
	</action>
</item>

Szczerze? Nie podoba mnie się to! Postanowiłem napisać małą aplikacyjkę (o ile można to tak nazwać).. Moim wyborem padł gtkdialog i glade. Tak wygląda chwilka klikania (lub "mlaskania urządzeniem wskazującym" - wyborne jabłko) w glade:
openbox-shutdowner by 3ED
a tak wygląda wygenerowany przez niego kod xml:

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">

<glade-interface>

<widget class="GtkWindow" id="MAIN_WINDOW">
  <property name="width_request">620</property>
  <property name="title">Wy&#x142;&#x105;cznik openbox</property>
  <property name="icon_name">application-exit</property>
  <property name="type">GTK_WINDOW_TOPLEVEL</property>
  <property name="window_position">GTK_WIN_POS_CENTER</property>
  <property name="modal">False</property>
  <property name="resizable">False</property>
  <property name="destroy_with_parent">False</property>
  <property name="decorated">True</property>
  <property name="skip_taskbar_hint">False</property>
  <property name="skip_pager_hint">False</property>
  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
  <property name="focus_on_map">True</property>
	<property name="urgency_hint">True</property>
	    <child>
      <widget class="GtkVBox" id="vbox1">
        <property name="visible">True</property>
        <child>
          <widget class="GtkHButtonBox" id="hbuttonbox1">
            <property name="visible">True</property>
            <property name="border_width">6</property>
            <child>
              <widget class="GtkButton" id="button1">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="response_id">0</property>
                <signal name="clicked" handler="gdm-control --none"/>
                <signal name="clicked" handler="openbox --exit"/>
                <signal name="clicked" handler="exit:Normal"/>
                <child>
                  <widget class="GtkImage" id="image1">
                    <property name="visible">True</property>
                    <property name="icon_size">6</property>
                    <property name="pixel_size">128</property>
                    <property name="icon_name">system-log-out</property>
                  </widget>
                </child>
              </widget>
            </child>
            <child>
              <widget class="GtkButton" id="button2">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="response_id">0</property>
                <signal name="clicked" handler="gnome-screensaver-command -l"/>
                <signal name="clicked" handler="exit:system-lock-screen"/>
                <child>
                  <widget class="GtkImage" id="image2">
                    <property name="visible">True</property>
                    <property name="pixel_size">128</property>
                    <property name="icon_name">system-lock-screen</property>
                  </widget>
                </child>
              </widget>
              <packing>
                <property name="position">1</property>
              </packing>
            </child>
            <child>
              <widget class="GtkButton" id="button3">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="response_id">0</property>
                <signal name="clicked" handler="gdm-control --reboot"/>
                <signal name="clicked" handler="openbox --exit"/>
                <signal name="clicked" handler="exit:Normal"/>
                <child>
                  <widget class="GtkImage" id="image3">
                    <property name="visible">True</property>
                    <property name="icon_size">0</property>
                    <property name="pixel_size">128</property>
                    <property name="icon_name">view-refresh</property>
                  </widget>
                </child>
              </widget>
              <packing>
                <property name="position">2</property>
              </packing>
            </child>
            <child>
              <widget class="GtkButton" id="button4">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
                <property name="response_id">0</property>
                <signal name="clicked" handler="gdm-control --shutdown"/>
               <signal name="clicked" handler="openbox --exit" />
              <signal name="clicked" handler="exit:Shutdown"/>
                <child>
                  <widget class="GtkImage" id="image4">
                    <property name="visible">True</property>
                    <property name="icon_size">0</property>
                    <property name="pixel_size">128</property>
                    <property name="icon_name">system-shutdown</property>
                  </widget>
                </child>
              </widget>
              <packing>
                <property name="position">3</property>
              </packing>
            </child>
          </widget>
        </child>
        <child>
          <widget class="GtkHBox" id="hbox1">
            <property name="visible">True</property>
            <child>
              <widget class="GtkLabel" id="Akcja">
                <property name="visible">True</property>
              </widget>
              <packing>
                <property name="padding">6</property>
              </packing>
            </child>
            <child>
              <widget class="GtkButton" id="Anuluj">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="has_default">True</property>
                <property name="receives_default">True</property>
                <property name="response_id">0</property>
                <signal name="clicked" handler="exit:Anuluj" />
                <child>
                  <widget class="GtkHBox" id="hbox2">
                    <property name="visible">True</property>
                    <child>
                      <widget class="GtkImage" id="Anuluj_image">
                        <property name="visible">True</property>
                        <property name="stock">gtk-cancel</property>
                      </widget>
                      <packing>
                        <property name="expand">False</property>
                        <property name="fill">False</property>
                        <property name="padding">3</property>
                      </packing>
                    </child>
                    <child>
                      <widget class="GtkLabel" id="Anuluj_label">
                        <property name="visible">True</property>
                        <property name="label" translatable="yes">Anuluj</property>
                        <property name="justify">GTK_JUSTIFY_CENTER</property>
                      </widget>
                      <packing>
                        <property name="fill">False</property>
                        <property name="padding">3</property>
                        <property name="position">1</property>
                      </packing>
                    </child>
                  </widget>
                </child>
              </widget>
              <packing>
                <property name="expand">False</property>
                <property name="fill">False</property>
                <property name="padding">6</property>
                <property name="position">1</property>
              </packing>
            </child>
          </widget>
          <packing>
            <property name="expand">False</property>
            <property name="padding">6</property>
            <property name="position">1</property>
          </packing>
        </child>
      </widget>
    </child>

</widget>

</glade-interface>

Tak to się uruchamia:

gtkdialog --glade-xml=PATHTOFILE/shutdowner.glade \
--program=MAIN_WINDOW

Prawda, że bułeczka z masłem?

Opiszę tutaj moją konfigurację niezależną od WM/DE. Można to sobie dowolnie zmodyfikować.

Scroll_Lock: Należy do pliku '~/.xmodmaprc' dopisać taką linijkę:

add mod3 = Scroll_Lock

Nazwy klawiszy multimedialnych: Programem xev uruchomionym na konsoli należy sprawdzić 'keycode' przycisków (te białe okienko musi być aktywne, wyniki na konsoli). Później wrzucić keykode do '~/.xmodmaprc' wraz z nową nazwą. Ja mam tak:

keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPause
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext

Wydaje mi się, że keycode są w każdej klawiaturze takie same, klawiatury różnią się tylko ilością przycisków, oto niektóre z nich:

keycode 234 = XF86Back
keycode 233 = XF86Forward
keycode 232 = XF86Stop
keycode 231 = XF86Refresh
keycode 229 = XF86Search
keycode 230 = XF86Favorites
keycode 178 = XF86HomePage
keycode 236 = XF86Mail
keycode 164 = XF86AudioStop

Akcje klawiszy: Program xbindkeys posłuży do podczepienia pod klawisze dowolnych poleceń. Można to oczywiście też zrobić w swoim WM ale oczywiście to tylko dodatkowa robota, za każdą zmianą trzeba przypisywać od nowa, a tu "raz ciach i koniec".

#Ustaw klawisz jako rozpoznawalny modyfikator dla xbindkeys
#keystate_numlock = enable
#keystate_capslock = enable
keystate_scrolllock= enable
#
# /-----------------------\
# | Klawisze    | Nazwa   |
# |-------------|---------|
# | CTRL        | Control |
# | Shift       | Shift   |
# | ALT (Lewy)  | Alt     |
# | ALT (Prawy) | Mod5    |
# | WIN         | Mod4    |
# | Scroll Lock | Mod3    |
# | Num Lock    | Mod2    |
# \-----------------------/
#
# Multimedialne na mojej klawiaturze:
# XF86AudioLowerVolume, XF86AudioRaiseVolume, XF86AudioMute,
# XF86AudioPause, XF86AudioPrev, XF86AudioNext
# ---------------------------------------------------------
# "Tutaj polecenie. "
#   XF86AudioLowerVolume + Control
#   Jeśli nie chcesz to olej plus i wszystko po prawej..

Gotowe skrypty bash: Dwa mojego autorstwa skrypciki na licencji GPL3:

#!/bin/bash
# Klient MPD
shownotify() {
	notify-send "${sinf[1]}" "${sinf[0]}"
}

xselcopy() {
	echo "${sinf[0]}"|xsel
}

for i in $@; do
	if [ "$i" = "-s" ]; then
		shift
		opts[0]="shownotify"
	elif [ "$i" = "-c" ]; then
		shift
		opts[1]="xselcopy"
	fi
done

eval $(echo "sinf=(\\"; mpc $@|sed '1,2!d; s/\(^.*$\)/"\1"/g; s/$/ \\/g'; echo ")")

for i in ${opts[*]}; do	$i; done

# Sposób użycia:
# 	nazwa_tego_skryptu [-s] [-c] [mpc_opts]
#
# Opcje:
# 	-c   Kopiuje tytuł do schowka
# 	-s   Wyświetla chmurkę z nazwą piosenki i postępem
#!/bin/bash
# sterowanie głośnością.. (trochę stary skrypt ;))
volmove="4" # procentowy przeskok
MUTEFILE="/tmp/xbindkeys.mute.tmp" # zapisuje poziom przez wyciszeniem
OSDFILE="/tmp/xbindkeys.osd.tmp" # zapisuje pid skryptu
OSDSLEEP=(3 3)     # ('czas do chmurki' 'czas jej wyświetlania')
MIXER="Master Playback Volume" # nazwa kontrolera, patrz amixer controls

if [ -f $OSDFILE ]; then
	kill `cat $OSDFILE`
	rm $OSDFILE
fi

printvol() {
if [ ! -f $OSDFILE ]; then
	echo $$ > $OSDFILE
	sleep ${OSDSLEEP[0]}s
	rm $OSDFILE
	notify-send -t ${OSDSLEEP[1]}000 $"$1"
fi
}

GETVOL() {
amixer cget name="$MIXER"|sed '/:[[:space:]]values=/!d; s/.*values=\(.*\)/\1/g'
}

SETVOL() {
amixer cset name="$MIXER" $1|sed '/:[[:space:]]values=/!d; s/.*values=\(.*\)/\1/g'
}
function mute {
if [ "$(GETVOL)" = "0" ]; then 
  if [ -e "$MUTEFILE" ]; then 
		local -i VOL
    VOL="$(SETVOL $(cat $MUTEFILE))"
		printvol "Anulowanie wyciszenia: ${VOL}%"
    rm $MUTEFILE
  fi
else
  GETVOL > $MUTEFILE 
  SETVOL 0
	printvol "Wyciszenie.."
fi
}
function vol {
	local -i VOL
	VOL="$(SETVOL $[$(GETVOL)${1}volmove])"
	printvol "Sila dzwieku: ${VOL}%"
}

if   [ "$1" = "+" ]; then vol +
elif [ "$1" = "-" ]; then vol -
elif [ "$1" = "mute" ]; then mute
fi
# Sposób użycia:
# 	nazwa_tego_skryptu [[-] albo [+] albo [mute]]

Edytowany: 10 grudnia 2008

Nowości w alsa-tools-emu10k1:

  • lshwd zamieniony regexpem: Od teraz lshwd nie będzie wymagany jako zależność, tym samym proszę o informację na temat niewykrywanego sprzętu, info podczas uruchamiania daemona. Uwaga dla mało rozgarniętych użytkowników: "INIT_NAME=(your)" ustawia się w '/etc/conf.d/alsa-emu10k1d'
  • Zautomatyzowany pierwszy raz: Jeżeli startujesz z deamonem "alsa" od teraz masz automatyczne przejście na "alsa-emu10k1d".

Nowości w alsa-tools-emu10k1-gui to ikonka w menu twojego DE. ;)

Oba zostały zaktualizowane z wersji 1.0.15 do 1.0.16 (wersja odpowiadająca wersji w kernelu).

31 sie, 08:37 - Aktualizacja: Release 1.2 usuwa problem zapętlania się przy stopowaniu, radzę szybką aktualizację. (Jakimś cudem w skrypcie napisałem '$0 stop' zamiast 'ld10k1d stop'.)

Openbox to funkcjonalny menadżer okien, choć nie ma co pokazywać zrzutek ekranu bo całością steruje się za pomocą myszki bądź klawiatury i zrzut byłby tylko tapetą. Pokaże za to moją konfigurację..

Na początek będzie to plik ~/.config/openbox/autostart.sh:

# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.

# D-bus
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
       eval `dbus-launch --sh-syntax --exit-with-session`
fi

# Make GTK apps look and behave how they were set up
export GTK_RC_FILES="$HOME/.gtkrc-1.2-openbox"
export GTK2_RC_FILES="$HOME/.gtkrc-2.0-openbox"
declare -x GTK_RC_FILES GTK2_RC_FILES

# Preload stuff for KDE apps
if which start_kdeinit >/dev/null; then
  LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
fi

#Set wallpaper
hsetroot -fill $HOME/openbox.jpg #zmień to

#Startup trayer
trayer --align right --edge bottom --widthtype request --transparent true --alpha 255 --SetDockType false &

Od razu wspomnę o ~/.gtkrc-2.0-openbox:

# Motyw
gtk-theme-name = "Cillop"

# Ikonki
gtk-icon-theme-name = "Tango"
gtk-icon-sizes = "panel-menu=16,16"
gtk-toolbar-style = 3

# Czcionka
gtk-font-name="Sans 10"

Tak można ustawiać themesy dla różnych WM/DE..

A oto przykładowy plik menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
	<menu id="apps-menu" label="Ulubione">
		<item label="Terminal">
			<action name="Execute">
				<execute>
					gnome-terminal
				</execute>
			</action>
		</item>
		<item label="Firefox">
			<action name="Execute">
				<execute>
					firefox
				</execute>
			</action>
		</item>
		<item label="Gajim">
			<action name="Execute">
				<execute>
					gajim
				</execute>
			</action>
		</item>
	</menu>
	<menu id="root-menu" label="Openbox 3">
		<separator label="Openbox"/>
		<item label="Aplikacje">
			<action name="Execute">
				<execute>
					/usr/lib/gnome-main-menu/application-browser
				</execute>
			</action>
		</item>
		<item label="Pliczki">
			<action name="Execute">
				<execute>
					thunar
				</execute>
			</action>
		</item>
		<menu id="apps-menu"/>
		<separator/>
		<menu id="client-list-menu"/>
		<menu id="root-menu-783347" label="Configure">
			<item label="ObMenu">
				<action name="Execute">
					<execute>
						obmenu
					</execute>
				</action>
			</item>
			<separator/>
			<item label="ObConf">
				<action name="Execute">
					<execute>
						obconf
					</execute>
				</action>
			</item>
			<item label="Reconfigure">
				<action name="Reconfigure"/>
			</item>
		</menu>
		<separator/>
		<item label="Exit">
			<action name="Exit"/>
		</item>
	</menu>
</openbox_menu>

"application-browser" to nic innego jak okienko od "gnome-main-menu", można sobie tu wstawić coś innego, zastępuje mi menu w razie gdybym nie pamiętał nazwy programu czy coś..

Oczywiście plik rc.xml ustawcie wedle własnego uznania, ja dla wygody ustawiłem sobie margines pulpitu na 1px z każdej strony. Skróty klawiszowe robi się tak:

    <keybind key="A-Return">
      <action name="ToggleFullscreen"/>
    </keybind>

Jak widać, konfiguracja to xml, a nazwa przycisku enter to "Return", Win to "W", Alt to "A"..

Oczywiście wszystko można ładnie edytować za pomocą dwóch narzędzi: "obconf" i "obmenu" (niestety oprócz skrótów klawiszowych)..

17 lipca, 2008

Firefox i szybkie stylowanie

Napisane w: Oprogramowanie (1)

Stylish to rozszerzenie do zarządzania stylami stron i przeglądarki, działa podobnie jak userchrome.css z tym że ten akurat potrafi zastosować style bez konieczności restartu, no i ma fajną stronkę z dostępnymi stylami. Za pomocą jednego guziczka można dodać ciekawe modyfikacje, potrafi je automatycznie aktualizować, w łatwy sposób można napisać swoje..

Polecane przeze mnie style:

  • Ściśnie ikonki na paskach narzędziowych tak by zajmowały mniej miejsca, nie pomniejszając ich, super efekt.. [Instaluj]
  • Sklei przyciski odśwież/stop tak by zajmowały mniej miejsca. [Instaluj]
  • Jeżeli nie wyświetla Ci się poprawnie okinko z opcjami przeglądarki (jest np. za wąskie), styl ten naprawia to. [Instaluj]
  • Jeżeli nie oglądałeś jeszcze nowo otwartej karty, teraz będziesz widział na niej tekst pochylony. [Instaluj]
  • Jeżeli brakuje Ci w nowym firefoxie żółtego tła na pasku adresu gdy odwiedzasz szyfrowaną stronę, ten styl to naprawia. [Instaluj]
Jest jeszcze mnóstwo innych dobrodziejstw, które na pewno Ci się spodobają, chociażby nowe skórki na ulubione strony internetowe.. Style te można również wkomponować na stałe w userChrome.css, nic nie stoi na przeszkodzie.

Cinelerra jest to prosty i potężny, program do obróbki wideo. Może ma trochę spartański wygląd ale nie to tu się liczy, prawda?

Zrzut okna

Najpierw trzeba to zainstalować.. W Arch Linuksie sprawa jest KISS ponieważ program znajduje się w repo [community]. Dla ubuntu będzie trzeba dodać dodatkowe repozytorium z programem.

sudo wget http://akirad.cinelerra.org/dists/hardy.list -O /etc/apt/sources.list.d/akirad.list
wget -q http://akirad.cinelerra.org/dists/akirad.key -O- | sudo apt-key add - && sudo apt-get update

Oprócz tego zainstalujemy jeszcze jeden program, będzie nim avidemux, który posłuży do zapisania wyniku cinelerri do satysfakcjonującego nas formatu.

Zanim przejdziemy do tworzenia slideshow, przydałoby się przygotować obrazki, a następnie skonfigurować program. Obrazki powinny mieć zbliżone lub większe wymiary niż filmik wynikowy. Prostą metodą przeskalowania zdjęć jest użycie programu convert z pakietu imagemagick, można również skorzystać z programu gimp do retuszu zdjęć przed dodaniem. Zajmę się jednak tylko skalowaniem obrazków. Przykładowo mamy obrazki o wymiarach 1024x768, a film ma mieć 512x384 (4:3). Należy wybrać obrazki, które chcemy dodać do prezentacji kopiując je do nowego katalogu (można użyć funkcji "sort manager" w programie gqview) i utworzyć dodatkowy pusty katalog. Zakładając, że nasze obrazki mają być takiej samej szerokości wykonujemy pętle w terminalu będąc w katalogu ze zdjęciami: 'find -type f -exec convert -resize 512x {} ../pustykatalog/{} \;'. Zdjęcia są przygotowane, jesteś pewien że nie chcesz dodać jakichś plansz witalnych czy napisów końcowych wykonanych w gimpie?

Teraz zajmiemy się konfiguracją cinelerri. W okienku ze ścieżkami wybierz z menu głównego pozycje view i zaznacz jak na obrazku:

Zrzut okna

Przejdź do ustawień czyli "Settings → Preferences" i ustaw tak jak na obrazku pierwszym i drugim oraz wejdź do "Format" w tym samym menu i ustaw jak na obrazku trzecim.

Zrzut okna Zrzut okna Zrzut okna

Zwróć uwagę na opcję: "Import images with a duration of 8.0000 seconds." - czas wyświetlania zdjęcia. Uwaga, szerokość musi być wielokrotnością dodawania 8 do 8. Pozaznaczaj tak na głównym oknie (paski ikonek na okienkach: podgląd i ścieżki) jak w zrzucie okna głównego.

Czas na sklejenie naszych obrazków. Zacznijmy od wczytywania czyli "File → Load files..". Proszę zwrócić uwagę na opcje dodawania nazwaną strategią (insertion strategy). Można tam zaznaczyć: "Replace current project and concatenate tracks" (ustawiałeś już czas wyświetlania zdjęcia, zdjęcia poukładają się jedno za drugim usuwając poprzedni projekt), "Concatenate to existing tracks" (tym razem zdjęcia dodadzą się do już istniejącego projektu), "Create new resources only" (bez automatu układającego zdjęcia, które i tak możesz ręcznie poukładać wybierając z okienka efektów kartę "Media"). Wstaw teraz między obrazki efekty przejścia "Video Transitions" lub zaznacz i prawym przyciskiem nad zaznaczeniem dodaj efekt, lupka służy do edycji, można również prawym myszki..

Ścieżka audio, załaduj plik ze strategią: "Append in new tracks" (dodaj do nowej ścieżki). Możesz ucinać, skracać, wstawiać efekty, itp.

Czas zapisać, aby tego dokonać kliknij: "File → Render", ustaw załóżmy tak by kontener był "Microsoft AVI", dźwięk "MP3 128 kbps" i obraz w "sekwencyjnym jpegu A".

Następnie przy pomocy avidemux przekonwertuj plik na dowolny format, może być xvid i mp3 w kontenerze avi.

Inspiracją do napisania tego tekstu był artykuł Cinelerra is very easy.

20 czerwca, 2008

Psst, tnij Xrl..

Napisane w: Internet, Oprogramowanie (1)

Ostatnio natrafiłem na fajne rozszerzenie kompatybilne z nowym Firefoxem. Jak na razie nie odnotowałem żadnych problemów w jego (lub przeglądarki) działaniu. Rozszerzeniem tym jest Xrl.In Tiny Links. Po zainstalowaniu ukaże nam się mała ikonka w pasku adresu. Po jej kliknięciu zostanie utworzony krótki url dla oglądanej strony oraz wyświetlone menu z opcjami: "Zapisz do schowka", "Wyślij link w e-mailu" i "Opcje linku" (można aktywować tryb podglądu dla osoby klikającej w taki link). To wszystko, nawet nie ma konfiguracji więcej.. ;-)

Na fotel można usiąść tylko między godz. 20, a 8. Nikt oprócz osób posiadających wykupiony abonament nie ma do tego prawa inaczej może przyjść pozew do sądu za złamanie umowy. Gdy abonent usiądzie w innych niż dozwolone godzinach, zostanie porażony prądem. O ile jeszcze żyje, w ten sposób już wie że złamał umowę. Gdy jest zmęczony lub chory i fotel ma wątpliwości, robi się niewygodny i zaczyna popiskiwać. [..]

Oczywiście istnieje możliwość naprawienia tych niedogodności ale jest to niezgodne z prawem. Każdy kto pozbędzie się tego zabezpieczenia jest uważany za złodzieja. Zabezpieczenie jest skomplikowane tylko dla zwykłego Kowalskiego, a przede wszystkim bardzo drogie. Sprzedawanie bez niego foteli jest zabronione i słono karane w imię wolności. Osoby posiadające trochę więcej wiedzy na temat usuwania tego typu zabezpieczeń, są uciszane, ścigane, a nawet więzione.

W ten oto sposób w roku 2022 został wprowadzony DRM w fotelach.

Gnome Launch Box to program podobny do launchy, gnome-do, itp. Jest lekki i za jego pomocą można uruchomić programy, strony internetowe z zakładek np. firefoxa, itp. Okienko jest podzielone na trzy części, dwie funkcyjne, a trzecia kontekstowa. Pierwsze funkcyjne służy do wyszukiwania różnych rzeczy na naszym komputerze (ciekawe czemu nie integruje się z trackerem?), wyniki wyświetlają się w trzeciej części (strzałkami się wybiera). Do drugiej funkcji przechodzi się tabulatorem i można wybrać z trzeciej "części" np. opcję uruchom (bym dodał tam jeszcze opcje np. wyszukaj w google..). Ciekawy program ale trzeba przyznać, że brakuje mu paru rzeczy..

"Załóżmy, masz trzy dyski twarde o wielkościach: 80, 40 i 60 GB. I 150 GB plików muzycznych, które należy przechowywać na tych dyskach. Jak to zrobić?

    Znane mi były dwa rozwiązania:
  • trzy oddzielne katalogi "Muzyka", po jednym na każdym systemie plików
  • utworzyć pewnego rodzaju RAID, łącząc wszystkie dyski w macierz.

Pierwszy metoda jest dosyć męcząca, po pierwsze musisz zdecydować w jaki sposób podzielisz dane między dyski i śledzić co jest gdzie przechowywane. Na przykład, możesz zdecydować się na przechowywanie całej kolekcji muzyki klasycznej na pierwszym dysku, a rocka trzymać na drugim. Wtedy może się okazać że na pierwszym brakuje Ci miejsca, a na drugim masz go w nadmiarze. Co wtedy? Linki symboliczne?

Metoda z RAIDem jest wygodniejszym rozwiązaniem ale zawsze ponosisz jakąś stratę (zawodność, mniej miejsca na dysku).

Niedawno znalazłem lepsze rozwiązanie tego problemu: mhddfs. Jest to moduł FUSE, który pozwala łączyć kilka mniejszych plików w jeden wielki, wirtualny, który będzie zawierał wszystkie pliki ze wszystkich partycji. Nawet lepiej, w odróżnieniu od innych podobnych modułów (unionfs?), ten nie ogranicza możliwości dodawania nowych plików do połączonych plików i inteligentnie zarządza tym gdzie te pliki zostaną umieszczone."

Czytaj więcej..

18 maja, 2008

Firefox3 RC1 już dostępny..

Napisane w: Oprogramowanie (1)

Wczoraj wieczorem Marcoos poinformował o tym na swoim blogu..
Link do Firefox3 RC1..

Skopiuj ten skrypt do jakiegoś katalogu, nadaj mu prawo do wykonywania i uruchom. Wymagany jest checkinstall i unzip, ponadto skrypt musi nazywać się "w32codecs-all.b4d". Instalacja odbywa się poprzez dpkg..

#!/bin/bash
# Sample and simple build4deborah
# 3ED 2008 GPL3

pkgname=w32codecs-all
_pkgname=windows-all
pkgver=20071007
pkgrel=1
arch=i386
license=nonfree
source=("ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/windows-all-$pkgver.zip")
group=checkinstall
maintainer=aftomat
#deps=not_in_checkinstall

if [ "$1" = "chkinst" ]; then

	#---------INSTALL--------#
	# only instalation command
	mkdir -p /usr/lib/win32/
	mv Readme.txt doc-pak/
	cp -r * /usr/lib/win32/
	#----------END-----------#

else 
for i in ${source[@]}; do wget -c "$i"; done

	#---------PREPARE--------#
	# 1. uncompress, get in..
	# 2. configure, build
	unzip $_pkgname-$pkgver.zip
	cd $_pkgname-$pkgver/
	#----------END-----------#

checkinstall --pkgname=$pkgname --pkgversion=$pkgver --pkgarch=$arch --pkgrelease=$pkgrel --pkglicense=$license --pkggroup=$group --pkgsource=${source[0]} --maintainer=$maintainer -y $PWD/../$pkgname.b4d chkinst
fi

Nota 1: Plik ten można przerobić tak by tworzył pakiet do "czego innego TM".
Nota 2: Proste aż miłe.. Kto zna tak samo prosty odpowiednik dla debiana? ;p
Nota 3: Gdybyś tworzył w oparciu o to i nie chciałbyś ustawiać wszystkich zmiennych: ${parametr:-słowo} (patrz man bash)..

14 kwietnia, 2008

Rzeczpospolita windowsowa

Napisane w: Linux, MiniWykop, Oprogramowanie (1)

"Co by się działo, gdyby rząd zadekretował, że jedynym autem dopuszczonym na polskie drogi jest fiat albo citroën? A jednak pozwalamy, by państwo zmuszało nas do używania systemu operacyjnego Microsoftu"

Gazeta wyborcza [LINK]

01 marca, 2008

Ekran wielodotykowy, CNN.

Napisane w: Oprogramowanie (1)

Na blogu Krzysztofa Urbanowicza można przeczytać:

W prasie amerykańskiej ukazało się kilka artykułów o najnowszych gadżetach używanych przez CNN i inne kanały telewizyjne. „The Washington Post" pisze o „nocy ekranów dotykowych", „The Washington Post" informuje, że CNN „dotyka ściany na wybory".

Zaraz, zaraz! Przecież ja to już kiedyś widziałem, a przynajmniej coś bardzo podobnego. Filmik poniżej był nakręcony w marcu 2006 roku, technologia jak widać nie jest już nowa. Niemniej jednak idea wielodotykowego ekranu jest świetna..

A oto nagrany materiał z CNN:

Czyżby to ta sama technologia?

18 lutego, 2008

Wolność komputerów

Napisane w: MiniWykop, Oprogramowanie (1)

Czy programy pisane przez hobbistów mogą być równie dobre jak te tworzone przez wielkie koncerny? Ile rzeczywiście płacą za oprogramowanie zwykli użytkownicy i firmy? I czy w ogóle muszą za nie płacić?

Rzeczpospolita [LINK]

Google od jakiegoś czasu robi przekierowanie z "http://fusion.google.com/add?feedurl=URL" do "http://www.google.com/ig/adde?moduleurl=URL" co według mnie jest popsuciem tej funkcji.. Denerwuje mnie to że nie mogę dodać sobie do readera kanału RSS. Nie wiem czy tak jest tylko w moim przypadku czy może u was też? Postanowiłem to naprawić.. Nie wiem jak u was ale u mnie klucz: "browser.contentHandlers.types.3.uri", zawiera wpis "http://fusion.google.com/add?feedurl=%s", który wystarczy zmienić na: "http://www.google.com/reader/view/feed/%s" i po restarcie możemy cieszyć się z powrotem tą fajną funkcją..

08 września, 2007

Xfce, Firefox i autofocus

Napisane w: Arch Linux, Oprogramowanie (1)

Tak ku pamięci, wrzucam tu link: http://hadret.com/2007/07/26/firefox-i-autofocus/.

Krótko i na temat..

Format OpenDocument jest otwartym standardem (ISO/IEC 26300) zapisu dokumentów. (Tak samo ISO 9660 jest standard zapisu plików na nośnikach CD i DVD).

Czym odczytać?

Czym odczytać/zapisać?

  • ODF Translator - MS Office 2007 (rozszerzenie/plugin dodające obsługę tego formatu)
  • OpenOffice - Windows, Linux, Mac OS X, FreeBSD, IRIS, Solaris
  • NeoOffice - Mac OS X
  • KOffice - Linux, Mac OS X
  • AbiWord - Windows, Linux, Mac OS X
  • StarOffice - Windows, Linux, Solaris (płatny)
  • Lotus Notes - Windows, Linux (płatny)

W sumie pakietów biórowych obsługujących format Open Document jest ponad 60 z czego te powyżej są mi najbardziej znane.
Zobacz: [dlaczego warto używać otwartych standardów].

Wielu ma z tym problem więc postanowiłem napisać co i jak.

Na początek należy zainstalować sterowniki i sane: pacman -S hplip sane xsane, a później.. W zasadzie wystarczy samo dopisanie hpaio do /etc/sane.d/dll.conf (w tym pliku każda nie-za-komentowana linijka jest uważana za nazwę sterownika do załadowania). Można dodać alias dla skrócenia nazwy w xsane: alias [nasza_nazwa_bez_spacji] [całe_uri_skanera] - (bez nawiasów) do pliku /etc/sane.d/dll.aliases. Poleceniem: hp-info|grep "scan-uri", wydrukujesz URI (to te po prawej). To wszystko, teraz można spokojnie uruchomić xsane.

UWAGA: Gdyby okazało się że twój skaner nadal nie działa, zajrzyj tutaj: /usr/share/hplip/hpaio.desc.

Linus Torvalds: Pokażcie o które patenty chodzi! (czytaj więcej)
„Linus Torvalds odpowiedział na patentowe zarzuty Microsoftu i skrytykował sposób w jaki firma informuje o swoich roszczeniach. Wyliczanie przez Microsoft rzekomo naruszanych patentów wywołało też reakcję CEO firmy Sun Jonathana Schwartza, który stwierdził, że open source i tak nie da się powstrzymać. [..]” (di)

To FUD, nie fakty? (czytaj więcej)
„Dan Ravicher, który jest autorem raportu o możliwości naruszania przez oprogramowanie Open Source patentów należących do Microsoft ogłosił, że Steve Ballmer źle zrozumiał jego raport. Doprowadziło to do zastraszania społeczności open source. [..]” (jakilinux)

Jako potwierdzenie tego co wcześniej napisałem?

ps. Akurat, źle zrozumiał.. Nie wierzę, to był celowy FUD.

Microsoft ostatnio przedstawił zarzuty złamania przez wolne oprogramowanie 235 patentów należących do giganta gdzie jądro Linuksa łamie 42 patenty Microsoftu, interfejsy graficzne 65, OpenOffice 45, programy e-mail 15, zaś 68 złamanych patentów należy do reszty wolnych programów. (Szczegóły nie są znane). Wcześniej Steve Bellmer zastraszał użytkowników zaraz po podpisaniu umowy z Novellem gdyż firma ta należy do organizacji Open Invention Network (zbierającej zabezpieczenia w postaci patentów) razem z firmami: Red Hat, IBM, Sony, Philips i NEC. Novel od momentu podpisania umowy nie może atakować Microsoftu i na odwrót. Inne firmy nie wpadły w tą pułapkę, weźmy przykład: IBM posiada 40.000 patentów z czego na pewno jest sporo łamanych przez Microsoft. Gigant jednak obrał drogę zastraszania ponieważ nie może kupić jak również zniszczyć rosnącej mu konkurencji w tradycyjny dla tej firmy sposób. Miało to już nie raz miejsce w przeszłości (link - en) ale dopiero od 2003 roku Microsoft straszy swoich użytkowników nielegalnością.

Swego czasu gdy SCO walczyło ze swoimi użytkownikami na patenty podcięło gałąź na której siedziało aby spaść. Przegrało, a list MS do SCO który wyciekł do internetu zapisał się w naszych pamięciach na ich szkodę. (Kod miał być skopiowany, a nie był).

Linux Foundation jest doskonale przygotowane na wszelkie ewentualne kroki prawne ze strony firmy Microsoft! "Jeżeli używasz Windows, Solarisa, AIX lub innego podobnego systemu operacyjnego, istnieje takie samo prawdopodobieństwo łamania patentów jak w przypadku Linuksa. Microsoft powinien uważać na to co zaczyna ponieważ nie wie jak to może się skończyć." - powiedział Zemlin (przewodniczy organizacji Linux Foundation) - "Kogo oni chcą pozwać? Firmy nie będą kontynuować współpracy z kimś kto pozywa ich do sądu".

To jest naturalne że gdy MS zatrzyma przy sobie jak największą ilość użytkowników to wtedy zarabia dużo (1,5 mld $ dziennie - jak twierdzi Zemlin). Już nie raz osoby bacznie obserwujące zachowanie MS wobec Linuksa widzą jak gigant kłamie i atakuje wszelkimi dostępnymi, bezpiecznymi środkami szybko rosnącą mu konkurencję. Trzeba podkreślić że dzięki filozofii wolnego oprogramowania - nie złamało się i nie złamie pod uciskiem MS, a duże firmy wciąż będą rozwijać lub dołączać się do rozwoju tego typu oprogramowania ponieważ to jest przyszłość.

Źródła (w akapitach): linux.pl(1), wikipedia(1), lxer.com(1), linux.pl(3)

Jak dla mnie - [LinuxMCE] wygrywa.. [Zobacz więcej..]

  • Zapowiedź świata post-nielegalnej kopii

    "Do napisania tego tekstu zainspirowała mnie duża liczba dyskusji przeprowadzonych na forach internetowych z różnymi ludźmi na temat oblicza piractwa komputerowego nielegalnego kopiowania oraz natury własności intelektualnej. Przy okazji tych dyskusji wypłynęła masa nieścisłości i dziur w obrazie rzeczywistości prezentowanym ludzkości przez organizacje takie jak ZAIKS, RIAA, MPAA, MAFIAA i różnorakich korporacyjnych lobbystów. Ponieważ nie znoszę kłamstw i niesprawiedliwości, postanowiłem, że nie będę dłużej tolerował panoszenia się fałszywej propagandy i napiszę ten artykuł, będący zwieńczeniem kilku lat przemyśleń, wspomnianych już dyskusji i argumentów użytych przez obie strony barykady."

    (Więcej..) osnews.pl [LINK]

  • Czy w projektach publicznych można kierować się zasadami ekonomii?

    "W dyskusjach nad racjonalnością ekonomiczną projektów informatycznych w administracji publicznej jest często pada argument, że "administracja publiczna nie kieruje się zasadą maksymalizacji zysku". Często to jest to tylko wygodna wymówka by odrzucić wszelkie próby obiektywizacji lub racjonalizacji wydatków publicznych."

    ipsec.pl[LINK]

  • Oszczędne państwo rozwijające swój rynek.. NIE!

    "Jesteśmy bogatym krajem. Nie musimy szukać tańszych, stabilniejszych i bezpieczniejszych rozwiązań w administracji publicznej, która wychodzi z założenia, że nie warto wspierać "małych i średnich przedsiębiorstw innowacyjnych" w Polsce."

    "Oto fakty!" na pppit.org.pl [LINK]

  • Android 1.0 działa na Qualcomm

    "Wszystko wskazuje na to, iż otwarty system Android przeznaczony na urządzenia mobilne działa na urządzeniu firmy Qualcomm."

    Filmiki z działającym androidem, trzeba to zobaczyć.

    OSNews.pl [LINK]

  • Rzeczpospolita windowsowa

    "Co by się działo, gdyby rząd zadekretował, że jedynym autem dopuszczonym na polskie drogi jest fiat albo citroën? A jednak pozwalamy, by państwo zmuszało nas do używania systemu operacyjnego Microsoftu"

    Gazeta wyborcza [LINK]

  • Wolność komputerów

    Czy programy pisane przez hobbistów mogą być równie dobre jak te tworzone przez wielkie koncerny? Ile rzeczywiście płacą za oprogramowanie zwykli użytkownicy i firmy? I czy w ogóle muszą za nie płacić?

    Rzeczpospolita [LINK]

  • Chiński UMPC z Linuksem

    Kto mi kupi takie cacko? :)

    Linux.pl [LINK]

  • Kto to jest własnowierca?

    "Propagujemy ideę zniesienia religijnego poddaństwa, zakazania poddawania dzieci religijnemu praniu mózgu i zapisywania ich do sekt i kościołów bez ich świadomej zgody. Informujemy o szkodliwych skutkach niewolnictwa religijnego. Służymy radami, jak wystąpić formalnie i duchowo z Kościoła. A przede wszystkim zmuszamy do myślenia! Jesteśmy religijnymi wyzwoleńcami niezależnymi od osób czerpiących zyski z kontroli nad ludzkimi umysłami i wierzeniami. Nowego, lepszego świata nie można zbudować na gruncie dyktatorskich tworów religijnych. Chcesz się od nich uniezależnić? Przyłącz się do nas! Zostań własnowiercą!"

    A ja pytam osochozi? Co oznacza słowo własnowierca? W co wiara? Z niektórych tekstów na tej stronie wynikać może że od tego przybywa nam sekt (w przeciwieństwie do ateizmu, który je potępia)..

    wlasnowierca.go.pl [LINK]

Foto

O blogu

3ED Blog - na różne tematy ale głównie w okół Linuksa.. Internetowy notatnik pisany w wolnych chwilach. Nie oczekuje zysku, dużej widowni - po prostu zapisuje tu to co mi przyjdzie do głowy.. Oczywiście komentarzem możesz dać mi temat do czego zachęcam.