środa, 30 grudnia 2009

Exaile - stacji nie zabraknie


Jestem delikatnie zaskoczony ilością predefiniowanych stacji radiowych w odtwarzaczu Exaile. Na oko jest ich kilka tysięcy i, o dziwo, niektóre grają całkiem zjadliwą muzykę.

poniedziałek, 21 grudnia 2009

xoscope i SIGGEN - zamiana karty dźwiękowej w oscyloskop lub generator

xoscope
Przydatności oscyloskopu nie muszę chyba tłumaczyć.To jednak dość drogie urządzenie. Zbyt drogie dla hobbysty. Stąd popularnością cieszą się wszelkie projekty programowych oscyloskopów wykorzystujących wejście liniowe karty dźwiękowej.
Dla GNU/Linuksa istnieje program xoscope. Można go znaleźć w repozytorium. Po zainstalowaniu w Ubuntu xoscope pojawia się w Programy->Naukowe.

Obsługa jest intuicyjna. W przypadku problemów należy sprawdzić (np. w alsamixer) czy wejście liniowe nie jest wyciszone.

Uwaga: Należy uważać by nie podać zbyt wysokiego napięcia na wejście karty! Przy napięciach wyższych od ok. +-1 V warto pomyśleć o dzielniku napięcia. Sam nie odważyłem się wykorzystywać wejścia liniowego na płycie głównej. Zamiast tego odkopałem tanią kartę CM8738.


SIGGEN
SIGGEN to generator rozmaitych przebiegów: sinusoidalnego, prostokątnego, piłowego czy trójkątnego. Znajdziecie go w repozytorium.
Po wpisaniu siggen w terminalu widzimy prosty interfejs stworzony w ncurses. Można sterować dwoma kanałami niezależnie. Niestety nie znalazłem opcji odpowiadającej na za przesuwanie "zera". Wszystkie przebiegi oscylują wokół "zera", jedynie pulse pracuje na dodatnich wartościach napięcia. 
Warto też sprawdzić aplikację sweepgen zawartą w tym samym pakiecie, która pozwala na generowanie przebiegów z przemiataniem (tak się chyba tłumaczy "sweep" na j. polski).

Napięcia które da się wygenerować zależą od karty dźwiękowej. U mnie, przy sinusoidzie 50 Hz udało się uzyskać 3,1 V.

Działa?


To było pytanie retoryczne;-)

środa, 9 grudnia 2009

Instalacja HeeksCAD i HeeksCNC na Ubuntu 9.10

HeeksCAD to program 3D CAD oparty o OpenCASCADE. Jest trochę mniej ambitny, ale za to bardziej dojrzały od FreeCAD. HeeksCAD posiada także moduł CAM, zapewniający wsparcie dla obrabiarek numerycznych (CNC). Z tego powodu nazwano go HeeksCNC.

  1. Paczki deb są dostępne na yamato.hyte.de/packages/heeks/
  2. Najpierw instalujemy heekscad_0.10.1-svn974_i386.deb
  3. Możemy już uruchomić HeeksCAD.
  4. Jeśli chcemy mieć HeeksCNC to instalujemy kolejno:  libactp0_0.0.1-svn36_i386.deb, libarea0_0.0.1-svn40_i386.deb, libkurve0_0.0.1-svn861_i386.deb, pycam_0.1.10-svn59_i386.deb i ostatecznie heekscnc0_0.10.2-svn861_i386.deb 
  5. Teraz uruchamiamy HeeksCAD i wybieramy File->Plugins->New aby dodać plugin HeeksCNC.
  6. W polu Name wpisujemy heekscnc, a w File Path: /usr/lib/heekscnc/libheekscnc.so.0.5.1
  7. Uruchamiany ponownie HeeksCAD i cieszymy się obecnością nowego modułu:)
Opis bazuje na instrukcjach z Wiki.

Zasadniczą różnicą HeeksCAD względem FreeCAD jest licencja. Ten pierwszy używa bardziej liberalnej licencji BSD.

poniedziałek, 7 grudnia 2009

FreeCAD - poznajemy klawisz F5

Dziś spróbujemy zrobić namiastkę tłoka silnika spalinowego.

Tworzymy walec i obracamy go tak aby patrząc na płaszczyznę XY widzieć powierzchnię boczną.
Szkicujemy prostokąt i zamieniamy go niebieską strzałką w powierzchnię. Po odpowiednim ustawieniu możemy go obrócić wokół osi X (Part->Revolve).



Powstał pierścień Revolve, którym wytniemy materiał w części Cylinder. W ten sposób otrzymujemy rowek pod pierścień tłokowy.











Widoczny obok element posłuży do wycięcia wnętrza tłoka (środku będzie pusty). Twór ten powstał jako część wspólna, stworzonych w międzyczasie, walca Cylinder1 i prostopadłościanu Box.




Żeby lepiej panować nad elementem wycinającym, przywracamy wyświetlanie tłoka klikając PPM na Cut (w drzewie cech po lewej) i wybierając Toggle visibility lub naciskając spację. Jak pewnie zauważyliście nazwy w drzewie można zmienić wciskając F2.
W zakładce View dla Cut zmieniamy Transparency aż tłok stanie się lekko przezroczysty.

Tworzymy jeszcze otwór pod sworzeń i mamy już namiastkę tłoka.

Nagle jednak myślimy "lepszy byłby niższy...". W przypadku przestarzałych programów (wszyscy wiemy jakich;-) czekałoby nas rysowanie od nowa.
To zaznaczamy tylko pierwszą pozycję Cylinder i zmieniamy jej wysokość. Na razie się nic nie stało... ale wciskamy F5 lub wybieramy Edit->Refresh i model ulega przebudowie.




Obecnie FreeCAD umożliwia ograniczone wymiarowanie. Po kliknięciu na odpowiednią ikonę trzeba wybrać trzy punkty, z czego trzeci to położenie linii wymiarowej.






Możliwe też jest ukrywanie części brył. Wykonujemy to przy pomocy View->Clipping Plane.

To tyle na dziś. Mam nadzieję, że niedługo ujrzymy na tyle stabilną i rozbudowaną wersję FreeCADa, że będę mógł przedstawić tworzenie dokumentacji 2D z modeli bryłowych. Odpowiedni moduł jest w budowie: przykład ze strony twórców.

Twardzieli zapraszam do poznania programu BRL-CAD, a pozostałych do spojrzenia na moją małą listę programów CAD dla Linuksa.



PS
Bardziej skomplikowane kształty można tworzyć z wykorzystaniem konsoli Pythona (przykład z forum):

sobota, 5 grudnia 2009

Rozgryzamy FreeCAD - krok po kroku

FreeCAD jest wolnym i otwartym programem CAD. Na razie jeszcze trudno w nim projektować samoloty, ale w przyszłości... kto wie:) W każdym razie ma potencjał. FreeCAD może być ściągnięty stąd.

Spróbujmy coś zrobić w FreeCADzie.



Na początek tworzymy nowy dokument i wybieramy ikonkę pustego sześcianu Set to axometric view, żeby zmienić widok. Zauważmy że układ współrzędnych, w prawym dolnym rogu, się obrócił.
Narysujmy na płaszczyźnie prostokąt wybierając jego ikonę i przeciągając go w oknie.
Mając w Labels & Atributtes zaznaczony prostokąt pobawmy się opcjami w Property View a w szczególności okienkiem Placement.

Teraz spróbujmy wyciągnąć bryłę z naszego prostokąta, wybieramy Part->Extrude. Dostaniemy pusty w środku kształtownik. Jeśli chcemy mieć pełen prostopadłościan to najpierw wybieramy niebieską strzałkę. Pomiędzy odcinkami powstanie powierzchnia, którą będzie można wyciągnąć.

Nie każdy kształt trzeba wyciągać. Wybierzmy Part->Parametric->Cylinder, na środku zostanie utworzony walec. Chcemy mieć jego wycinek? To zmieniamy Angle w Property View. To samo tyczy się wymiarów i pozycji.
Chcemy z dwóch brył złożyć jedną. Wybieramy ikonkę z dwoma kulkami. W okienku Boolean Operation wybieramy jako pierwszy element Cylinder, jako drugi Extrude. Union to suma, Difference to wycięcie jednego elementu drugim a Intersection to część wspólna.
Mamy już jakiś bliżej nie sprecyzowany kształt. Chcielibyśmy zaokrąglić niektóre krawędzie. Najpierw najedźmy na nie kursorem, żeby poznać ich numery. Potem wybierzmy ikonę Fillet the selected edges of a shape.
W nowo otwartym okienku wybieramy krawędzie i promienie. Ważne by nie przesadzić z wielkością promieni - wtedy operacja się nie uda.


A to efekt końcowy...
Co robić jeśli coś pójdzie nie tak? Przede wszystkim zajrzeć do Labels & Atributtes. Tam można usuwać operację, wyświetlać, bądź ukrywać elementy.









Jeszcze dwa słowa o nawigacji:
  • przybliżanie i oddalanie - kółko myszy,
  • przesuwanie - wciskamy środkowy przycisk myszy,
  • obracanie - najpierw wciskamy środkowy przycisk, potem trzymając go wciskamy lewy.
Przed FreeCADem jeszcze bardzo długa droga. Ale innej nadziei dla wolnych systemów CAD nie widać. 

UPDATE 6.12.2009
Poczytałem trochę wiki i forum FreeCADa. Oto czego można się tam dowiedzieć:
  • FreeCAD jest ekstremalnie modularny. Interfejs może być zmieniany bez modyfikacji jądra programu - za wszystko odpowiedzialny jest Python. Tu przykład FreeCADa w służbie architektury. O ile dobrze zrozumiałem to pliki modeli/rysunków mogą też być dostarczycielami elementów interfejsu. 
  • FreeCAD jest obecnie bardziej platformą niż programem CAx. Czyli powinien nadawać się do budowy własnego, dedykowanego rozwiązania.
  • Wiele funkcji ukrytych jest w konsoli Pythona. Na razie trudno je "wyklikać".
  • Inicjator projektu nie chce rozgłosu. Przynajmniej nie w tej chwili - obawia się wielu pytań i życzeń od początkujących użytkowników. 
  • Istnieją podobne projekty, oparte o OpenCASCADE: Heekscad i Narocad. Narocad wykorzystuje .NET, więc pewnie trudno się spodziewać wersji dla GNU/Linuksa (pod Mono).  
  • W końcu najważniejsze zdanie:  It will be a feature based parametric modeler.

środa, 2 grudnia 2009

Wzory LaTeX na blogu i nie tylko...

Jeśli klikniecie w poniższy wzór, przejdziecie  na stronę Online LaTeX Equation Editor


Pozwala on tworzyć wzory LaTeX w sposób WYSIcośtam:) Wybierając HTML lub HTML(edit) dostajemy wersję do osadzenia na stronie.
Jeśli chcemy komuś podlinkować wzór wybieramy opcję URL. Link generujący powyższy wzór wygląda tak:
http://latex.codecogs.com/gif.latex?x=r\left\{&space;\frac{l_{1}+\rho}{r}+\cos\alpha-\frac{\rho&space;r}{4ll_{1}}\left(\frac{l}{\rho}+\frac{l_{1}}{l}-2\cos\Theta\right)+\frac{r}{4l_{1}}\cos2\alpha+\frac{r\rho}{4l^{2}}\left[\cos\left(2\Theta+2\alpha\right)-\frac{2l}{l_{1}}\cos\left(\Theta-2\alpha\right)\right]\right\}

Ot kawałek kodu Lejtecha:)

sobota, 21 listopada 2009

KTechLab - symulacja obwodów

KTechLab to program, który ma pomagać w symulowaniu obwodów elektrycznych. Jest prosty w obsłudze, pozwala oglądać przebiegi prądu i napięcia na wirtualnym oscyloskopie i umożliwia modyfikowanie obwodów nawet w czasie działania symulacji.

Dostępne są podstawowe elementy półprzewodnikowe (diody, tranzystory itp.), bramki logiczne, sygnały napięciowe lub prądowe, a także trochę układów scalonych (od NE555 po PIC).
Oprócz tego można programować układy PIC (nie testowałem).

Program jest we wczesnym stadium rozwoju (0.3.7) i chyba nie zawsze zachowuje się prawidłowo. Brakuje też kilku podstawowych elementów - nie znalazłem np. diody Zenera.

Mimo wad chyba warto go wypróbować, paczka deb wazy tylko 1,6 MiB.
Tu macie mały manual w pdf. 

sobota, 7 listopada 2009

Temperatury, napięcia, obroty - w Ubuntu

Zainstalowanie apletu wyświetlającego temperatury komponentów (procesor, płyta), napięcia czy prędkości obrotowe wentylatorów jest bardzo proste.

Instalujemy pakiety:
lm-sensors
sensors-applet

Następnie uruchamiamy w terminalu program konfiguracyjny:
sudo sensors-detect

Na końcu powinniśmy zobaczyć coś w stylu:
To load everything that is needed, add this to /etc/modules:

#----cut here----
# Chip drivers
w83627ehf
# no driver for AMD K10 thermal sensors yet
#----cut here----

Do you want to add these lines automatically? (yes/NO)
 Wpisujemy yes aby wprowadzić zmiany w /etc/modules. Teraz możemy wykonać restart lub załadować samodzielnie odpowiedni moduł np.:
sudo modprobe w83627ehf

Na koniec klikamy prawym przyciskiem na panel i wybieramy Dodaj do panelu...->Monitor czujników

piątek, 23 października 2009

Gra Chrome - wspomnienie: screeny.

W 2003 roku wrocławski Techland wydał grę FPP o nazwie Chrome. Pierwszą polską strzelankę z prawdziwego zdarzenia. Wracam do niej, bo grzebiąc na dysku znalazłem parę screenów z tamtego okresu. Pamiętam, że gra mi się cholernie podobała... Szkoda, że gdzieś przepiłem płytki:/ Następca, Chrome:Specforce już mi nie przypadł do gustu. Ale miało być o screenach...

Chrome posiadało, jako jedna z pierwszych gier (i pewnie pierwsza w kraju) zaawansowaną fizykę, ragdoll i inne bajery. Odpowiadał za nie ODE (Open Dynamics Engine). Przykład działania poniżej:



W plecaku nosiło się nie tylko broń, amunicję i apteczki (zwykła i "do psychiki*"). Można też było znaleźć discmana czy paczkę chipsów:


Gra posiadała możliwość wyboru jednego z trzech zakończeń. Bodajże w dwóch (nie jestem pewien) przypadkach trzeba było stoczyć pojedynek 1v1. Jeśli ktoś wtedy nie patrzył w kierunku bosa, to mógł zauważyć drobny napis na jednej ze skrzynek:

Da radę przeczytać?
Ostrzegamy, że od czytania bardzo małych
liter można popsuć sobie wzrok
Nie ponosimy za to odpowiedzialności
Ty beztroski dociekliwy graczu


*Bohater mógł korzystać z impantów. Niestety zbyt długie ich wykorzystywanie kończyło się utratą "zdrowia psychicznego".

czwartek, 15 października 2009

Osadzanie Dokumentów Google na blogu...



Tak wygląda prosty arkusz kalkulacyjny opublikowany z Dokumentów Google. Wystarczy, w DK, kliknąć na przycisk Udostępnij (w prawym górnym rogu). Następnie wybieramy Opublikuj jako stronę internetową->Rozpocznij publikowanie oraz Kod HTML do umieszczenia na stronie. Teraz wystarczy tylko przekopiować kod na Bloggera lub inny blog/stronę.

niedziela, 11 października 2009

1280x800 pod Via Chrome9

Otwarty sterownik Openchrome, w Ubuntu 9.04, zawiera "buga" niepozwalającego na uruchomienie odpowiedniej rozdzielczości. Problem dotyczy na pewno układu VN896, zwanego także Chrome9 HC lub P4M900, który swego czasu był montowany w wielu notebookach. Efektem jest rozdzielczość 1280x768, zamiast "natywnych" 1280x800.

Mimo iż usterka znana jest od dawna, to dalej jest widoczna w Ubuntu 9.10 beta czy innych dystrybucjach, np. Fedorze 11. Musimy rozprawić się z nią samodzielnie...

Instalujemy nowy sterownik bezpośrednio z SVN, wg instrukcji na stronie help.ubuntu.com/community/OpenChrome
Dla Ubuntu 9.04, będzie trzeba wydać polecenia:
sudo apt-get install build-essential subversion autoconf automake1.9 libtool
sudo apt-get build-dep xserver-xorg-video-openchrome
svn checkout http://svn.openchrome.org/svn/trunk openchrome
cd openchrome*
./autogen.sh --prefix=/usr
make
sudo make install

Następnie musimy zeedytować plik xorg.conf:

sudo gedit /etc/X11/xorg.conf
Powinnien wyglądać mniej więcej w ten sposób:
Section "Device"
Identifier "Generic Video Card"
Driver "openchrome"
# Driver "vesa"
BusID "PCI:1:0:0"
# Option "SWCursor"
# Option "ForcePanel" "true"
Option "AccelMethod" "EXA"
EndSection

Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-64
VertRefresh 43-60
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection

Ważny jest wpis
 Option "AccelMethod" "EXA"


Bez niego może dochodzić do "zamrożenia" komputera podczas startu X-ów. Teraz trzeba tylko się wylogować i zalogować ponownie (lub chamsko zabić X-y).

środa, 7 października 2009

Przewijanie stron przy pomocy touchpada - Ubuntu

Nawet jeśli producent notebooka nie oznaczył odpowiednio, graficznie touchpada (gładzika), to posiada on tzw. obszary przewijania. To odpowiednio obszar przy prawej krawędzi - dla przewijania pionowego i u dołu - dla poziomego.

Standardowo, w Ubuntu, włączone jest przewijanie pionowe - wystarczy przesunąć palec obok prawej krawędzi touchpada. Przewijanie poziome można włączyć w System->Preferencje->Mysz->Panel dotykowy.

Nowym bajerem jest przewijanie dwoma palcami. Wystarczy jeden postawić nieruchomo przy prawej krawędzi, a drugim poruszać się po reszcie obszaru gładzika. Proste i całkiem wygodne.

czwartek, 24 września 2009

Jak "pozamieniać klawisze", czyli nasz własny układ klawiatury

Niezłym numerem, który możemy "wywinąć" innym użytkownikom komputera jest wirtualna zmiana rozmieszczenia klawiszy. Oczywiście zastosowanie predefiniowanego układu byłoby zbyt łatwe...

Poniżej instrukcja dla GNU/Linuksa, z naciskiem na Ubuntu.
Uwaga! Można sobie nieźle namieszać w systemie. Zastanów się dobrze czy chcesz to zrobić!

Instalujemy pakiet (np. Synapticiem) XKeyCaps
Wpisujemy w konsoli
sudo xkeycaps

I powinniśmy zobaczyć takie okno:


Teraz wystarczy kliknąć prawym przyciskiem myszy na prostokąt reprezentujący dany klawisz i wybrać:
  • Exchange Keys - jeśli chcemy zamienić klawisze
  • Edit KeySyms of Key - jeśli chcemy całkiem przekonfigurować klawisz
  • Disable Key - jeśli chcemy go wyłączyć
Zmiany powinny być widoczne od razu, przy czym grafika (w programie) klawiatury nie ulega modyfikacji.

Powrót starego układu
Wchodzimy, w przypadku GNOME i Ubuntu, w System->Preferencje->Klawiatura->Układy i klikamy
Przywróć domyślne
oraz
Zastosuj w całym systemie


Ambitniejsi mogą powydłubywać klawisze i poustawiać je np. w układzie alfabetycznym. Nie polecam śrubokrętu jako narzędzia, lepsza będzie łyżeczka:)

środa, 16 września 2009

Blood Frontier - doskonała darmowa (i wolna) rozwałka...

Blood Frontier jest grą FPP opracowaną na silniku Sauerbraten. Można ją ściągnąć z www.bloodfrontier.com, paczka ważąca 270 MiB posiada BF w wersji zarówno dla Linuksa jak i Windows. Rozpakowujemy ją i odpalamy plik bloodfrontier.sh.



Rozgrywka to na pozór tradycyjne multi (lub gra z botami) w trybach:
  • Deathmatch
  • Capture The Flag
  • Secure The Flag
oraz możliwość wieloosobowej edycji map (w czasie gry). Do tego dochodzi, w postaci mutatorów, m.in.:
  • InstaGib
  • Last Man Standing
  • Teamplay
  • Paintball (sami sprawdźcie o co chodzi:)



Jest jednak coś co odróżnia BF od innych "szybkich" FPP - sposób posługiwania się bronią. Po pierwsze nie zbierzemy jej po prostu zbliżając się do niej, trzeba wcisnąć E lub F. Dlaczego? Bo ilość noszonej przez nas broni jest ograniczona. By wziąć karabin trzeba odłożyć np. miotacz ognia.
Za to ilość pocisków jest nieskończenie duża (nie występują paczki z amunicją). Wokół celownika mamy tylko wskaźnik pokazujący nam pozostałe, do chwili przeładowania, naboje. Nie zauważyłem także apteczek, zdrówko podlega powolnej autoregeneracji...
Do tego dochodzi "niska grawitacja", czyli dalekie skoki.



Mało jest gier FLOSS, które oferują więcej graficznych bajerów (mi na myśl przychodzi tylko Nexuiz na silniku Darkplaces), a mających fizykę ragdoll jeszcze mniej... Gdyby nie to, że lokacje są trochę "kanciate" powiedziałbym, że grafika jest wyśmienita:)
Zresztą silnik Sauerbraten zbiera bardzo dobre oceny:
The game is stable, and it preforms on even the smallest machine. With F.E.A.R/Doom 3 quality graphics, this game requires a Quake III-quality computer. And for those who's computers can't handle the F.E.A.R/Doom 3 quality graphics, the game lets you tweak the graphics like any other new game.
Has plenty of features, many you would never expect from a free engine or even a low-budget engine. There are even addons which allow things like Ragdoll physics as in Blood Frontier.
The scripting engine is great, the graphics are great.

sobota, 12 września 2009

Instalacja darmowych gier pod Ubuntu - instrukcja obrazkowa

W Internecie jest pełno biadolenia wg którego:
  • instalacja gier pod Linuksem jest skomplikowana,
  • trzeba coś kompilować,
  • wpisywać tajemnicze komendy w konsoli,
  • a i tak to wszystko bez sensu, bo "gry pod Linuksa nie istnieją"...
Oczywiście to wszystko bzdury - dlatego wrzucam tu obrazkową instrukcję instalacji gier z PlayDeb. I nie będzie ani jednego słowa komentarza, wystarczy klikać jak na obrazkach:




PS Fajnym bajerem jest prezentacja wideo każdej z gier:)
PS2 Warto też zajrzeć na GetDeb

Mały benchmark: Catalyst 9.9 vs 9.8

Niedawno ukazała się nowa wersja "Katalizatorów" dla Linuksa. Oznaczono ją numerem 9.9 - jest do ściągnięcia z http://support.amd.com/us/gpudownload/Pages/index.aspx

Zatrudniłem swój sprzęt (Radeon HD 3300) do wykonania kilku benchmarków. Wszystkie próby zostały wykonane bez antialiasingu.



Silnik przedpotopowy - Unreal Tournament 2004 demo
Rozdzielczość 800x600, ustawienia maksymalne, polecenie:
ut2004 ons-torlan?spectatoronly=1?numbots=14?quickstart=1?attractcam=1 -benchmark -seconds=60

Wyniki:
9.8
19.547787 / 66.136841 / 128.802887 fps rand[1743960491]
Score = 63.482250
9.9
19.814941 / 64.366478 / 133.656708 fps rand[1743960491]
Score = 62.170876

Silnik lekko podstarzały - Doom 3
800x600, standardowe High Quality
Wyniki:
9.8 54,3 kl./s
9.9 52,1 kl./s

Silnik nowoczesny - Unigine
Demo Sanctuary 2.2, 1024x768, wszystko na maks.
9.8
4,2 kl.s 177 pkt
9.9 4,1 kl./s 172 pkt

Wniosek jest prosty, nowe sterowniki są wolniejsze.

piątek, 11 września 2009

Co potrafią zrobić PC-fanatycy:D

Oto mapa dla silnika/gry Sauerbraten zrobiona przez zwolenników sprzętu Nvidii i Intela (odmienne poglądy od moich:)


Cóż, do tej gry trzeba mieć tylko talent - edycja (w czasie gry) jest banalnie prosta.
W maju ukazała się nowa wersja: Trooper Edition. Wprowadza ona to na co długo czekałem: zaawansowaną "fizykę", czyli ragdoll i modele z animacją szkieletową (MD5 jak w Doomie 3).
Grę można ściągnąć za darmo w wersji dla Linuksa, Mac OS X i Windows z tego adresu http://www.cubeengine.com/files.php4 (ok. 350 MiB).

Sama gra działa bardzo płynnie, u mnie 1024x768, wszystko na maks. przy zintegrowanej grafice (790GX, oczywiście pod Linuksem) pracuje z prędkością 80-100 kl./s. Przy podejściu do wody (refrakcje i refleksy świetlne) zwalnia do 50.
Wraz z grą mamy kilkaset map i kilkanaście trybów rozgrywki, ale i tak naprawdę liczy się tylko InstaGib:) Tempo gry przypomina Q1.

A tak wygląda grafika i rozgrywka:

sobota, 5 września 2009

Sterowanie samochodem przy pomocy myszy?! - gra Racer

Jedną z nielicznych otwartych "ścigałek" (obok TORCS i VDrift), na Linuksa, jest Racer. To stosunkowo młody projekt, który ma być porządnym symulatorem wyścigów samochodowych*.
Grę w postaci instalatora *.run można pobrać z racer.nl Standardowo mamy jeden samochód (Murcielago) i jeden tor - więcej można ściągnąć z www.racer-xtreme.com

Sterowanie
W teorii można sterować klawiaturą... Jednak to jest prawdziwy symulator, a nie arcade, więc trudno przejechać nawet choćby zakręt:-/ Z drugiej strony rozsądny człowiek nie wyda kilkuset złotych na kierownicę.
I tu przydatny okazuje się pomysł twórców Racera - sterowanie myszą:
  • kursor na środku - samochód stoi,
  • przesunięcie przód-tył - gaz-hamulec,
  • przesunięcie lewo-prawo - skręcanie,
  • przyciski myszy: zmiana biegów i sprzęgło.
Wrażenia? Każdy powinien spróbować sam pokierować myszą... Wspomnę tylko, że sterowanie myszą też dobrze się sprawdzało w symulatorze lotu GL-117.



Konfiguracja
Warto zajrzeć do pliku racer.ini i ustawić fullscreen=1, oraz zamienić język locale=racer_polish.txt

W katalogu racer/data/cars/lambomurcielago mamy pliki naszego podstawowego samochodu. Wskaźniki to zwykłe obrazki *.tga, dźwięk silnika to 2000.wav, 3000.wav itd. (dla kolejnych prędkości obrotowych), a krzywa momentu obrotowego znajduje się w pliku torque.crv w postaci:
...
point18
{
x=3950.000000
y=642.000000
type=0
}
point19
{
x=4250.000000
y=646.000000
type=0
}
...
Model opony
Smaczkiem Racera jest model zachowania się opony opisany za pomocą Magicznej Formuły Hansa Pacejki. Określa ona, z tego co pamiętam, siły poprzeczne i podłużne przenoszone przez oponę, moment stabilizacyjny i uwzględnia kąt znoszenia**. To czysto matematyczny opis. Więcej na stronach Racera.

*są też próby z modelami motocykli.
**puryści pewnie powiedzieli by "przez koło ogumione":)

czwartek, 3 września 2009

Asrock M3A790GXH/128M i Athlon II pod Linuksem

Właśnie złożyłem sobie budżetowego blaszaka ze zintegrowaną grafiką. Zgodnie z moimi odwiecznymi pragnieniami i marzeniami procesor musiał mieć zintegrowany kontroler pamięci i obsługę HyperTransport, a płyta masę różnych niepotrzebnych slotów:)

Wybór
Wybór padł na dwujajecznego Athlona II X2 240, który w przeciwieństwie do Phenoma II X2, ma fizycznie tylko dwa rdzenie (nie da się nic odblokować). Przez to żre mniejsze ilości prądu. Częstotliwość pracy obu jąder zmienia się niezależnie, w zakresie 800-2800 MHz.

Płyta to całkiem wypasiony Asrock M3A790GXH/128M, który różni się od starszej, nieposiadającej przedrostka M3, wersji, współpracą z pamięciami DDR3. Na 2GiB pamięci wykorzystałem na razie tylko jeden z czterech slotów (więc pracuje niestety jednokanałowo:-/)
Pomimo, że ten model posiada trzy sloty "długiego" PCIE i umożliwią pracę wszystkiego co ma w nazwie "Crossfire" (3Way Crossfire, Hybrid Crossfire itp.), to dla mnie ważna była zintegrowana grafika schowana w chipsecie AMD 790GX. Najszybsza zintegrowana, dla AMD, jaką można dostać...
Wbudowany Radeon 3300 posiada 128 MiB własnej, wlutowanej w płytę, pamięci DDR3. Obsługuje Shader Model 4. Wyjścia obrazu to D-Sub, DVI-D i HDMI. Przydałoby mi się S-Video, ale nie ma już płyt (kart graficznych praktycznie też nie), które są w nie wyposażone...

Za zasilanie płyty odpowiada 24-pinowe złącze (można 20-pinowe podłączyć) i dodatkowe ośmio (można cztery). Ja podłączyłem odpowiednio 24 i 4 piny.

Uwaga: Do współpracy z Athlonem II ta płyta potrzebuje BIOSu w wersji 1.10 lub nowszej.

Pingwin wędruje na dysk...
Najpierw wybór padł na 64-bitowe Ubuntu 9.04. Dziesięciominutowa* instalacja i... okazuje się, że nie ma sterownika do modemu** ADSL, dla 64-bitowego systemu! Musiałem stracić kolejne 10 minut na instalację 32-bitowego Ubuntu.

Stery do grafiki
Zapragnąłem akceleracji, więc musiałem zainstalować binarne sterowniki ATI. Te z repozytoriów Ubuntu zawiodły, X-y nie startowały. Ściągnąłem Catalyst 9.8 ze stron AMD/ATI i wydałem tajemne:
sudo sh ./ati-driver-installer-9-8-x86.x86_64.run
Teraz poszło jak po maśle i po restarcie cieszyłem się już bezbłędnie pracującym Compizem i panelem sterowania ATI (podobnym do windowsowego, ale trochę ubogim).

Wydajność
Utarło się twierdzenie, że układy ATI mają mizerną wydajność pod Linuksem, a sterowniki pełne są bugów. To zintegrowane ATI powinno być dramatem...
Chyba muszę zaprzeczyć, do tej pory nie zauważyłem błędów w wyświetlaniu, wydajność też nie jest fatalna. Compiz Fusion (przy 1024x768x32, praktycznie niezależnie od ilości efektów) trzyma ok. 120 kl./s. W ramach wstępnych testów pomęczyłem też "natywne linuksowe" dema dwóch klasycznych gier Dooma 3 i Quake 4. W standardowym ustawieniu "High Quality" oscylują wokół 50 kl./s. Z ciekawości też odpaliłem OpenArenę (natywna), przy 1024x768x32 i wszystko na max było 200-300 kl./s. Przy takich samych ustawieniach, windowsowy Unreal Tournament 2000 pracujący pod Wine miał ok. 100 kl./s - tu zapewne bardzo dławiła "translacja" Direct3D-OpenGL...
UPDATE 4.09: Także linuksowy Quake Live (pod Firefoksem) działa płynnie i bezbłędnie. Również na pełnym ekranie.

Warto zauważyć, że włączenie Compiza nie zwiększa obciązenia procesora. Oba rdzenie, przez większość czasu, leniwie leża na 800 MHz. Włączenie stardardowego filmu w XviDzie (w Totemie), powoduje obciążenie obu jąder po ok. 20%, pomimo iż dalej pracują na 800 MHz.
Można jedno jądro obciążyć w 100%, a responsywność systemu nie zostanie w żaden sposób zaburzona.
Każdy z rdzeni można ustawić, niezależnie, na 800, 1600, 2100 lub 2800 MHz albo na jeden z trybów: Powersave, Performance, Ondemand, Conservative.

Werdykt
Na razie nie mogę narzekać...

*taki wynik udaje się gdy nośnikiem obrazu CD jest DVD, a nie CD...
**kitajski ZXDSL

Lista rozszerzeń OGL obsługiwanych przez 790GX:
adi@adi-desktop:~$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: ATI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
client glx vendor string: ATI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_allocate_memory, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_NV_swap_group, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group,
GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_swap_control, GLX_NV_swap_group, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3300 Graphics
OpenGL version string: 2.1.8870
OpenGL shading language version string: 1.40
OpenGL extensions:
GL_AMD_draw_buffers_blend, GL_AMD_performance_monitor,
GL_ARB_color_buffer_float, GL_ARB_copy_buffer, GL_ARB_depth_buffer_float,
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_instanced,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_half_float_pixel,
GL_ARB_half_float_vertex, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture,
GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shader_objects,
GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow,
GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_compression,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
GL_ARB_texture_rg, GL_ARB_texture_snorm, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_object,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap,
GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil,
GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3,
GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_copy_buffer, GL_EXT_copy_texture, GL_EXT_draw_buffers2,
GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_fog_coord,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB,
GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters,
GL_EXT_gpu_shader4, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_EXT_subtexture,
GL_EXT_texgen_reflection, GL_EXT_texture3D, GL_EXT_texture_array,
GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,
GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
GL_EXT_texture_swizzle, GL_EXT_transform_feedback, GL_EXT_vertex_array,
GL_EXT_vertex_array_bgra, GL_IBM_texture_mirrored_repeat,
GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_conditional_render,
GL_NV_copy_depth_to_color, GL_NV_explicit_multisample,
GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_SGIS_generate_mipmap,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays,
GL_WIN_swap_hint, WGL_EXT_swap_control

poniedziałek, 31 sierpnia 2009

Aktualizacja Debian Lenny -> Sid

Od chwili zainstalowania Lenny`go nie miałem żadnych problemów z systemem. Po prostu uruchamiałem i używałem. Robiło się nudno...
Postanowiłem coś popsuć. I tu przyszedł pomysł aktualizacji z wersji "stabilnej" Lenny do "niestabilnej" Sid. Ta druga jest na bieżąco aktualizowana, co daje namiastkę tzw. dystrybucji ciągłej.

Do dzieła.
Otwieramy /etc/apt/sources.list jako root, np. wpisując w terminalu roota:
sudo gedit /etc/apt/sources.list

Obecne tam wpisy komentujemy krzyżykami # i dopisujemy nowe repozytoria:
deb ftp://ftp.pl.debian.org/debian/ sid main non-free contrib
deb-src ftp://ftp.pl.debian.org/debian/ sid main non-free contrib
deb http://deb.opera.com/opera/ unstable non-free
deb http://www.debian-multimedia.org sid main
deb-src http://www.debian-multimedia.org sid main

Teraz tylko aktualizujemy informacje o repozytoriach:
apt-get update

I uruchamiamy aktualizację dystrybucji:
apt-get dist-upgrade

U mnie było 1900 MiB pakietów do ściągnięcia. Na początku instalacji paczek, możemy zostać zapytani o kilka szczegółów - odpowiedzi domyślne są całkiem dobre.

W czasie aktualizacji można normalnie używać komputer, restart konieczny jest tylko do podmiany jądra (2.6.26 na 2.6.30).

Udało się popsuć?
Nie za bardzo. Nawet wersja "niestabilna" jest całkiem stabilna i nie pojawiły się żadne błędy przy aktualizacji. Za to nie mogę skompilować modułu do Atherosa - madwifi gryzie się z 2.6.30.

Dostajemy całkiem nowe wersje OpenOffice.org czy GIMPa, ale Iceweasel (Firefox) dalej jest w wersji 3.0.x... Póki co radzę sobie rozpakowanym 3.5.2 ze strony Mozilli. Żeby go łatwo uruchamiać tworzymy aktywator na panelu GNOME:
Prawy klik->Dodaj do panelu...->Własny aktywator programu->Polecenie:tamgdzierozpakowaliśmy/firefox/firefox

poniedziałek, 27 lipca 2009

Reklamy na Youtube? Jakie reklamy!?

Podobno, od niedawna, Youtube serwuje oglądającym reklamy - wysuwają się one z dołu odtwarzacza... Takiego zachowania nie zauważyłem odtwarzając filmiki z YT w Totemie.

Każdy już chyba wie jak wyszukiwać i odtwarzać filmy z Youtube w Totemie - wystarczy wpisać (po prawej stronie) szukaną przez nas frazę...
Co jeśli jednak dostaliśmy link do wideo lub nie chcemy zrezygnować z wyszukiwania i komentowania na stronie YT? Wpisujemy wtedy, w pasek wyszukiwania Totema, tylko kluczową część adresu filmu:
http://www.youtube.com/watch?v=qfmAxIWqpgE

Powyżej macie przykładowy adres z podświetloną częścią, którą należy skopiować.



Totem okazuje się także przydatny, gdy nie pozwalamy, za pomocą wtyczki Noscript (do FF), na wyświetlania osadzonych filmów Youtube. Klikamy wtedy prawym przyciskiem na zablokowane wideo i wybieramy Kopiuj adres odnośnika.
Po wklejeniu go do Totema musimy oczywiście jeszcze usunąć niepotrzebne części.



Totem ma jeszcze jedną zaletę, pozwala na oglądanie filmów z YT na słabym sprzęcie. Screeny pochodzą z komputera napędzanego Celeronem 700@872 MHz, który nie ma w tym przypadku żadnych problemów z odtwarzaniem - nawet na pełnym ekranie.

poniedziałek, 15 czerwca 2009

Sopcast i Tvants - telewizja P2P pod Linuksem

Szukając ostatnio transmisji (przez Internet) wyścigu Le Mans, trafiłem na kanały telewizji internetowej pracującej w oparciu o technikę Peer-to-Peer. Działają one analogicznie do programów do wymiany plików (Torrent, eMule) i nie są wrażliwe na dużą ilość widzów (w przeciwieństwie do "tradycyjnych" transmisji internetowych jak np. na TVP.pl), bo każdy z oglądających wysyła część strumienia do kogoś innego. Dzięki temu nadają się idealnie do transmisji imprez sportowych.
Dwie najpopularniejsze "telewizje" P2P to Sopcast i Tvants.

SOPCAST - instalacja na systemach debianopodobnych
Wchodzimy na http://code.google.com/p/sopcast-player/ i ściągamy plik (inny dla AMD64): sp-auth_3.0.1_i386.deb, następnie instalujemy go wpisując w konsoli administratora:
dpkg -i sp-auth_3.0.1_i386.deb
lub w przypadku Ubuntu:
sudo dpkg -i sp-auth_3.0.1_i386.deb

Jeśli mamy w systemie dostępny odtwarzacz VLC w wersji >=0.9.4 (czyli musimy mieć przynajmniej Debian Testing lub nowsze wersje Ubuntu), postępujemy analogicznie z kolejnym plikiem:
dpkg -i sopcast-player_0.3.0-0ubuntu1_i386.deb
w Ubuntu:
sudo dpkg -i sopcast-player_0.3.0-0ubuntu1_i386.deb

Teraz możemy już uruchomić graficznego Sopcast Playera i oglądać TV łatwo, miło i przyjemnie:)


Jeśli jednak mamy tylko starszą wersję VLC (np. w Lennym) lub po prostu nie lubimy tego odtwarzacza, musimy wykorzystać konsolę i MPlayera (sp-auth musi być zainstalowane). Najpierw wpisujemy:
sp-sc sop://broker.sopcast.com:3912/6029 3908 8908

lub gdy nie chcemy śmieci w konsoli:
sp-sc sop://broker.sopcast.com:3912/6098 3908 8908 > /dev/null

Gdzie sop://broker.sopcast.com:3912/6029 to jeden z kanałów wybranych z listy na
http://www.soccer-live.pl/transmisje.php?id=motorsport

Uruchamia to transmisję, by ją zakończyć, trzeba będzie wcisnąć (nie teraz!) CTRL-C. Na razie nic nie widzimy, musimy w drugiej karcie konsoli wpisać:
mplayer http://localhost:8908/tv.asf



TVANTS
Tvants nie ma wersji dla Linuksa - musimy użyć tej spod "złego" systemu.
Musimy mieć zainstalowane Wine (testowałem na 1.1.23) i oczywiście MPlayera.
Ściągamy program z http://tvants.en.softonic.com/download

Instalujemy i uruchamiamy:
wine TvantsSetup.exe
wine ~/.wine/drive_c/Program\ Files/TVAnts/Tvants.exe


Wybieramy kanały w Search, pojawiają się one na liście Channels. Ewentualnie możemy dodać kanały poprzez kliknięcie Add i wpisanie adresu.

Klikamy Start.
Pojawia się komunikat - klikamy Tak (chcemy użyć zewnętrznego odtwarzacza), czekamy chwilę i wpisujemy w konsoli:
mplayer mms://localhost:16900/1

Gdzie 1 to numer kanału na naszej liście (może być różny).


Jak wcześniej wspomniałem, adresy ciekawych kanałów z imprezami sportowymi można znaleźć np. na http://www.soccer-live.pl/transmisje.php
...a Audi tym razem przegrało w Le Mans, cholera...

niedziela, 31 maja 2009

Qalculate! - bardzo sprytny kalkulator.

Zwykły, systemowy kalkulator jest mało wygodny i ograniczony. Doskonałą alternatywą jest programik Qalculate!.
Niektóre z możliwości:
  • obliczenia w układzie dziesiętnym, ósemkowym, binarnym itd.,
  • stałe fizyczne i matematyczne,
  • obliczanie pól figur i objętości brył,
  • operacje na macierzach,
  • rysowanie wykresów,
  • funkcje ekonomiczne, statystyczne, kombinatoryczne itd.,
  • konstrukcje logiczne,
  • rozpoznawanie i konwersja jednostek - nie tylko z układu SI.

Najważniejszą cechą jest łatwe wprowadzanie danych - Qalculate! podpowiada co powinniśmy wpisać, nie ma też znaczenia czy używamy kropki czy przecinka, do oznaczania miejsc dziesiętnych. Mnożenie to *, dzielenie /, potęga ^ itd.

Jeśli nie podoba nam się jednostka wyniku, to możemy kliknąć na ikonkę "Convert units in result" i wybrać odpowiednią.



Ciekawą funkcjonalnością jest rysowanie wykresów. Można to wykonać poprzez wybranie File->Plot Functions/Data
Możemy nanosić, na siebie, wykresy wielu funkcji.

By móc używać Qalculate! należy zainstalować pakiet qalculate-gtk lub qalculate-kde, zależnie od używanego środowiska graficznego.

czwartek, 21 maja 2009

Ściąganie osadzonych filmów z serwisów youtubopodobnych

Czasami chcemy ściągnąć i zachować film z osadzonego, flashowego odtwarzacza. Do Youtube i popularnych serwisów są odpowiednie wtyczki i narzędzia, ale co resztą?

Odpowiedź jest banalna - wystarczy zajrzeć do pamięci Cache Firefoksa/Iceweasela! Tam znajdują się wszystkie filmy i obrazki, które ostatnio obejrzeliśmy.

Szukamy w swoim katalogu domowym ukrytego (bo zaczyna się od kropki) katalogu:
.mozilla/firefox/******.default/Cache
gdzie ****** to jakiś ciąg znaków. Dla ułatwienia możemy w Nautilusie zaznaczyć Widok->Wyświetlanie ukrytych plików.

Potem wystarczy skopiować interesujące nas filmiki i nadać im sensowne nazwy (najczęściej z rozszerzeniem *.flv).

sobota, 9 maja 2009

Pingwin na emerycie

GNU/Linuks jest bardzo ekologicznym systemem, bo pozwala wykorzystywać stare komputery - nie musimy ich wyrzucać na śmietnik. Blaszak z przełomu tysiąclecia może służyć jako pełnoprawny komputer domowy do przeglądania Internetu, oglądania filmów czy słuchania muzyki. I nie musimy się wcale uciekać do trudnych rozwiązań czy niewygodnego interfejsu.

Krok pierwszy - instalujemy LXDE.
LXDE jest lekkim środowiskiem, opartym, podobnie jak GNOME i Xfce, na GTK+ i całkiem do nich podobnym. Funkcjonalność i wygoda użytkowania stoją na wysokim poziomie, dodatkowo można, bez specjalnego wzrostu obciążenia, korzystać z aplikacji przeznaczonych dla GNOME i Xfce. Instalacja nie powinna sprawiać problemu, bo (dla większości dystrybucji) LXDE znajduje się w głównym repozytorium. Jedynie przy ekranie logowania trzeba wybrać sesję LXDE.

Krok drugi - instalujemy Operę.
Opera jest chyba najlepiej sprawującą się przeglądarką na starszych komputerach. Niestety trudno ją znaleźć w głównym repozytorium, musimy dodać odpowiednie według instrukcji zawartych na deb.opera.com

Przykładowo na Debianie Lenny z LXDE cała operacja (dla wersji testowej Opery) będzie przebiegać następująco:
  • uruchamiamy LXTerminal i wpisujemy su by otrzymać uprawnienia roota,
  • wpisujemy leafpad /etc/apt/sources.list i w otwartym pliku dodajemy linię
  • deb http://deb.opera.com/opera-beta/ lenny non-free
  • i zapisujemy plik,
  • uruchamiamy (by zainstalować klucz do repozytorium)
  • wget -O - http://deb.opera.com/archive.key | apt-key add -
  • uaktualniamy bazę pakietów poleceniem apt-get update lub klikając w Synapticu: "Odśwież informacje o pakietach",
  • teraz możemy zainstalować Operę np. poleceniem apt-get install opera lub zaznaczając kwadracik w Synapticu.

Kolejny krok - wykorzystujemy Totema do oglądania nagrań z Youtube i doinstalowujemy MPlayera do oglądania zwykłych filmów.

Dodatkowo otwieramy okno "Usługi" (spotykane standardowo w Debianie i Ubuntu) i odznaczamy to co wydaje się nam nieprzydatne. Np. ja potrzebowałem bluetooth i dzienników systemowych. Możemy jeszcze w "Preferencjach sesji" wyłączyć, niepotrzebne nam, programy startowe.



Jest jeszcze jedno ciekawe rozwiązanie gdy mamy w domu kilka komputerów, w tym jeden mocny. Możemy wykorzystywać jego moc obliczeniową dzięki protokołowi XDMCP i kawałkowi skrętki. Słaby komputer kliencki, będzie tylko obciążony wyświetlaniem obrazu. Dystrybucją w której najłatwiej uruchomić połączenie przez XDMCP jest Ubuntu.

poniedziałek, 4 maja 2009

Psubraten [odgrzewany kotlet]

Ten tekst był pierwotnie opublikowany (13 lutego 2008) przeze mnie na blogsilnika.blog.onet.pl. Z racji, że postanowiłem zakończyć współpracę z Onetem (czego każdemu blogerowi życzę) tekst stał się niedostępny. A może będzie choć jednej osobie przydatny - dlatego go tu kopiuję (pisownię pozostawiam bez zmian:-)

Dorwałem nową wersję silnika do gier 3D Sauerbraten Assassin Edition, będącego jednocześnie samodzielną grą. W tej edycji doliczyłem się 119 map i 17 trybów rozgrywki (w tym 13 multiplayer!).
Jeśli chodzi o edycję (dla zielonych, trza wcisnąć E), pierwszą widoczną zmianą jest podgląd przy liczeniu ligtmap.



Sama operacja trwa kilkadziesiąt sekund (pomyśleć tylko kilkunastu godzinach w Quake3:). Teraz można także zmieniać średnicę światła zaznaczając je myszką i kręcąc kółkiem.



Również każdy model (w tym światło) można teraz przesuwać przy pomocy myszki lub zmieniać kręcąc kółkiem. Do źródła światła można dodać odpowiednik klosza od żyrandola, ograniczający kierunek promieni świetlnych. Wystarczy wydać polecenie /newent light 128 192 192 192 (średnica czerwony zielony niebieski) by dodać światło i /newent spotlight 30 (kąt rozchodzenia się promieni) by dodać klosz. Potem trzeba tylko przeliczyć ligtmapy /calclight

Jeśli chcemy mieć światło rozproszone (kosztem ostrości cieni) wpisujemy /ambient 30 a jeśli chcemy by niebo emitowało światło /skylight 50 50 50 (składowe RGB). Usprawnieniom uległ również tryb tworzenia map wysokości - heightmap. Zaznaczanie terenu z wciśniętym H, Alt lub środkowym przyciskiem myszy i kręcenie kółkiem może dać zadziwiające deformacje terenu. Potem wystarczy zaznaczyć taką "nierówność" i wpisać /water lub /lava - mamy basenik:) Pojawił się nowy materiał: aiclip, czyli niewidzialna ściana zatrzymująca tylko potwory.
Innym wygodnym usprawnieniem jest menu z teksturami dostępne pod F2. Nie trzeba już kręcić rolką trzymając Y i przeglądać wszystkich tekstur po kolei.



Pojawiły się także nowe byty (entities):
-box (/newent box 20, gdzie 20 to numer modelu), który może być przesuwany i podrzucany. Tu przykładowy wózek potraktowany rakietnicą.



-barrel - to samo co box, tylko potrafi wybuchać ostrzelane.
-elevator (/newent elevator 16 0 10, gdzie 16 - numer modelu, 0 - tag sterujący, 10 - prędkość) - winda.
-platform (/newent platform 16 0 10) - platforma poruszająca się poziomo.
Żeby je zobaczyć trzeba zapisać mapę /savemap nazwamapy i otworzyć w trybie singleplayer /sp nazwamapy.
Tagi sterujące - jeśli wynoszą 0 to windy i platformy poruszają się samodzielnie, jeśli są różne od zera to steruje się nimi przy pomocy polecenia /platform 3 1, gdzie 3 to numer tagu (może być inny), a 1 to kierunek poruszania (gdy -1 to się cofa, gdy 0 zatrzymuje).
Zrobiłem w ten sposób lewitujące łóżko (Tag numer 2) aktywowane dźwignią dwustronnego działania (Trigger multiple, przykładowo o numerze #2). By działał, trzeba w pliku konfiguracyjnym nazwamapy.cfg dodać:

alias level_trigger_2 [
if (= $triggerstate 0) [platform 2 -1]
if (= $triggerstate 1) [platform 2 1]
]




Co jeszcze? Np. particle, czyli dymy, ognie fontanny czy flary. Poleceniem /newent particles 2 0 dodałem "żródełko".



Testowa mapka