Thursday, January 21. 2010
Po rozmowach ze znajomymi, postanowiłem odszukać na dysku swoje stare dziełko... Znalazłem też i parę innych rzeczy, nad którymi kiedyś pracowałem, ale jest tego mnóstwo i wymaga przesiania ;) W każdym razie, dla was dzisiaj, w pełni funkcjonalna i całkiem niezła pod względem AI, gra logiczna Reversi. Wygląda wg mnie całkiem nieźle, patrząc na inne klony tej popularnej gry. Dodatkowo, zmiana kamieni jest animowana - animacje renderowane w 3D jakieś 7 lat temu ;) Do wyboru jest kilka poziomów trudności.
Znalazłem też mój wielki projekt, nad którym siedziałem w latach 2000-2003 bodajże... pisałem engine gry 3D. Engine powstał i... straciłem zainteresowanie ;) Oto, co pozostało: działający engine z dwoma pokojami... dodam, że silnik jest całkowicie software'owy, żadnego sprzętowego dopalania.
Jak coś jeszcze godnego uwagi znajdę, dam znać 
Wednesday, November 4. 2009
Jak szybko i prosto otworzyć tunel po SSH? Okazuje się, że do prostych zadań wystarczy... znany wszystkim (chyba) programik PuTTY. Proces otwierania tunelu pokażę na przykładzie przekierowania portu 2401, czyli podpięciu się do serwera cvs. Po co tak? Załóżmy, że mamy w firmie serwer cvs, który nie jest wystawiony publicznie i jest dostępny jedynie w ramach sieci LAN firmy. Jeden warunek: musimy mieć konto shellowe na serwerze, z którym się będziemy tunelować.
Otwieramy PuTTY i wprowadzamy adres serwera i port SSH, po którym zazwyczaj się z nim łączymy, aby dojść do konsoli:
Przechodzimy teraz do zakładki Connection -> SSH -> Tunnels i definiujemy elementy tunelu.
Wybieramy opcję "local" i podajemy w "source port" port, który otworzymy na naszym komputerze, po czym w "destination" adres IP i port docelowy.
Klikamy przycisk "Add" i jesteśmy gotowi. Zapisujemy sesję na przyszły użytek (z poziomu zakładki "Sessions") i łączymy się i logujemy. Od tej pory mamy otwarty tunel na podany port. W podanym tutaj przykładzie, klientowi cvs podajemy, że serwer cvs znajduje się pod adresem 127.0.0.1:2401. Działa! 
Thursday, September 10. 2009
As the time of expiration of Apophysis 2.08 beta 2 has come, here's a brand new release of Apophysis 2.09.
What's new?
+ Added favourite variations + In variables list there're displayed only used ones + Not used variations are greyed out + Thumbnails in flames list + "Symmetry" parameter renamed to "Color speed" + Added checking XML for unrecognized variation/variable values - 64-bit renderer removed + Many various fixes
One thing to keep in mind though: it's still in a beta state, so expect some crashes from time to time...  Have fun!
Monday, September 7. 2009
Jeżeli zdarzy wam się, że ktoś w swojej bezkresnej mądrości i błyskotliwości, na prośbę przysłania wam bazy danych z serwera MS SQL Server, przyśle sam goły plik baza.mdf, nie popadajmy w panikę ;) Postaramy się podpiąć taki plik jako nową bazę - choć nie zawsze, niestety, się to uda. W grę wchodzi tutaj kompatybilność plików bazy i zainstalowanego serwera. Najpierw odnajdujemy katalog, w którym trzymane są pliki baz docelowej instancji serwera MSSQL (pamiętaj! Może być ich kilka na jednym komputerze!) - zazwyczaj C:\Program Files\Microsoft SQL Server\MSSQL$NAZWA_INSTANCJI\Data. Następnie dowolnym narzędziem logujemy się na ten serwer i wchodzimy do bazy master (USE master). Następnie wydajemy polecenie: EXEC sp_attach_single_file_db @dbname = 'nowa_baza', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL$NAZWA_INSTANCJI\Data\przyslany_plik_bazy.mdf' GO System poinformuje nas o utworzeniu nowego pliku historii *.LDF, ewentualnie dokona aktualizacji struktury fizycznej pliku do obowiązującej wersji serwera MSSQL i już możemy cieszyć się z nowo podpiętej bazy danych 
Wednesday, August 26. 2009
Załóżmy, że mamy na naszym serwerze jakiś bardzo ważny, kluczowy wręcz proces. Jego "kluczowość" sprowadza się do tego, że musi działać, nie dopuszczamy możliwości, że padnie. Jak tego przypilnować?
Oczywiście, padu nie unikniemy, ale... możemy zadbać o to, żeby po takim padzie natychmiast ponownie wstał. Zrobimy strażnika procesu, watchdoga. Zrobimy go w zwykłym bashu...
#!/bin/bash while [ 1 -eq 1 ] ; do plikcmdline="" for file in `find /proc -maxdepth 2 -wholename "/proc/*/cmdline" ` do if [[ -a $file ]] then result=`cat $file` if [[ $result = "nazwa_bardzo_waznego_procesu" ]] then plikcmdline=$file fi fi done
if [[ $plikcmdline = "" ]] then nazwa_bardzo_waznego_procesu fi sleep 10s done
W miejscu "nazwa_bardzo_waznego_procesu" podstawiamy nazwÄ™ naszego procesu i tyle 
Tuesday, July 7. 2009
 Od kilku dni testuję blip.pl. Co to? To coś a'la Twitter, mikroblog. Zaletą jest dość szeroki wachlarz kanałów, którymi można nadawać - od strony www, poprzez klientów na różne urządzenia mobilne (w tym i pod kontrolą Windows Mobile) aż do zwykłych, ordynarnych SMSów 
Jak to działa? Sami zobaczcie, na tej stronie, po prawej, widzicie zawsze aktualny mój kanał.
Friday, June 12. 2009
 Nie wiesz, jak rozładować swoje emocje? Rozładuj je na wirtualnej arenie! Dzięki serwisowi MyBrute.com możesz mieć swojego małego brutalka i wystawiać go do walk z innymi użytkownikami serwisu. Każda walka powoduje rozwój postaci, która zyskuje na sile i prędkości, a także zyskuje coraz to nowsze umiejętności w walce. Spróbuj sam! 
Tuesday, June 2. 2009
Jeżeli w waszym linuksie po włożeniu pendrive'a (lub podłączeniu innego zewnętrznego dysku) ukaże się komunikat błędu, mówiący, że polityka bezpieczeństwa HAL (hardware abstract layer) nie pozwala zwykłym użytkownikom montować dysków zewnętrznych, należy wyedytować plik /etc/PolicyKit/PolicyKit.conf i w ramach sekcji <config> dodać:
<config version="0.1">
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
</config>
Po restarcie sesji użytkownika, podłączenie dysku zewnętrznego od tej pory zaowocuje poprawnym zamontowaniem dysku
|