Nowy TrueCrypt

Jeżeli nie znacie jeszcze narzędzia TrueCrypt to warto poznać. W nowej wersji 6.0a już jest naprawdę warte zainteresowania, nie dość że działa na OSX’ach, Linuxach i Windowsach to pozwala na: tworzenie partycji tworzenie ukrytych partycji tworzenie plikopartycji ukrywanie i kodowanie istniejących partycji kryptowanie on-fly nowa wersja obsługuje wiele procesorów Oczywiście jak sama nazwa programu wskazuje partycje są kodowane, soft ma spory wybór algorytmów kryptowania, między innymi AES, Serpent, Twofish i wariacje. Prosty interface pozwala na używanie go nawet przez osoby nie będące “zaklikanymi”, mama, tata i pies powini sobie z nim poradzić. Dobra dokumentacja projektu też jest godna polecenia, licencja pozwala na korzytanie z jego możliwości za darmo dla użytku prywatnego jak i komercyjnego. ...

lipca 11, 2008 · paramah

Mail.app i sqlite

$$ Samael:Mail paramah$ ls -lah ~/Library/Mail | grep -E 'Envelope Index$' | awk {'print $5'} 54M Samael:Mail paramah$ sqlite3 Envelope\ Index SQLite version 3.4.0 Enter ".help" for instructions sqlite> vacuum subjects; sqlite> .exit Samael:Mail paramah$ ls -lah ~/Library/Mail | grep -E 'Envelope Index$' | awk {'print $5'} 53M$$

lipca 8, 2008 · paramah

SOAP, PHP i Introspekcja

Tworzę ostatnio parę systemów do których potrzebny jest mechanizm RPC lub SOAP. Wertując google mój wybór padł na nieco bardziej skomplikowany SOAP głównie z faktu, że jest on natywnie wspierany prze PHP5 jest oczywiście dostępny poprzez extensions tak więc wypada sprawdzić czy owe wsparcie mamy $$ if (extension_loaded('soap')) { echo "HURAAA!!!"; }$$ U mnie pokazał się zbawienny HURAA!!!! mogłem zabrać się do pracy z SoapClient oraz SoapServer (w przypadku braku możliwości użycia soap extension na waszym serwerze z php proponuję projekt NuSOAP o której napisano wiele, ale uprzedzam jest pisana pod kątem PHP4, jednak nie wymaga żadnych dodatkowych zewnętrznych bibliotek i też działa oferując dużo możliwości tworzenia serwerów i klientów SOAP ) do pełni szczęścia potrzebny był jeszcze jakiś tool pozwalający na szybkie generowanie WSDL (Web Services Description Language) którego sładnia jest nieco zawiła w szczególności przy większych projektach, tutaj z pomocą przychodzą możliwości PHP5 związane z introspekcją lub jak kto woli reverse engineering. ...

maja 26, 2008 · paramah

Rekursywne wyświetlanie katalogów (PHP SPL)

SPL to dość fajne narzędzie do implementacji szczególnie iteracji w PHP, warte poznania. Za pmocą SPL’a da się pewne uciążliwe funkcje napisać prościej. Poniżej przykład funkcji, która wypisuje drzewo katalogów: $$ class DirectoryAdapter extends RecursiveIteratorIterator { private $dirArray; private $path; public function __construct($path) { $this->path = $path; parent::__construct(new RecursiveDirectoryIterator($path), parent::CHILD_FIRST); } public function getDirs() { foreach($this as $item) { if($item->isDir()) { $current = count($this->dirArray); $mtime = date("Y-m-d H:m", $this->getMTime()); $this->dirArray[$current]['mtime'] = $mtime; $atime = date("Y-m-d H:m", $this->getATime()); $this->dirArray[$current]['atime'] = $atime; $this->dirArray[$current]['dir'] = str_replace($this->path,'', $this->key()); } } return $this->dirArray; } public function deleteDir() { foreach ($this as $item) { if ($item->isDir()) { rmdir($this->key()); } else { unlink($this->key()); } } rmdir($this->path); } }$$ Wykorzystanie: ...

maja 18, 2008 · paramah

Małe zmiany

Jak widać małe zmiany na blogu, mniej zbędnych bajerów, prostota i przejrzystość.

maja 3, 2008 · paramah

Kolorowa składnia w WP

W technicznym blogu nie może się obyć bez kolorowania składni publikowanego w postach kodu źródłowego, po zaaplikowaniu pluginu Syntax Hightligh Code opartego na GeSHi i włączeniu go w WP wszystko działa super, ogólnie polecam.

maja 3, 2008 · paramah

Wiele demonów DHCP

Dzisiaj pojawił się problem, jak na jednej maszynie postawić wiele demonów dhcp jako osobne procesy, tak aby każdy obsługiwał inny kawałek sieci. Rozwiązanie nader banalne (RTFM dhcpd3) : $$ dhcpd [ -pf pid-file ]$$ czyli co ? Zmieniamy pid-file i możemy sobie odpalić n instancji dhcpd

maja 3, 2008 · paramah

Trac i problem z fBSD

Ogólnie rzecz biorąc problem występował już od jakiegoś czasu ale nigdy nie miałem chwili żeby do tego porządnie usiąść. Sam fakt debugowania python’a mnie przerażał no ale musiałem coś z tym zrobić bo jaki TRAC jest każdy widzi - czasami cholernie potrzebny ;) tak więc zabrałem się do rozgryzania problemu z segfaultem przy trac-admin, po pierwsze czekało mnie uruchomienie gdb oto rezultat: $$ #0 0x285b6603 in sqlite3Fts2InitHashTable () from /usr/local/lib/libsqlite3.so.8$$ No wszystko wiadomo odpowiedzialny okazał się sqlite, aktualnie przbudować trzeba było configurację sqlite’a tak aby nie używał FTS2, czyli Full Text Search no ok, za pomocą ...

marca 12, 2008 · paramah

Nowa kicia.

Właśnie instaluję Leoparda. Mały hint dla wszystkich posiadających zbackupowaną płytkę DVD Mac OX Leopard i nie mają za bardzo ochoty kupować drogich DVD-DL otóż da się zainstalować system z ISO bez żadnego problemu pod warunkiem, że posiadamy zewnętrzny dysk na FireWire. Rozwiązanie: Montujemy dysk zewnętrzny Formatujemy go, tworzymy sobie partycję wielkości DVD-DL lub większą ;) (ja sobie zrobiłem 10Gb) w Disk Utility zaznaczamy sobie partycję na dysku zewnętrznym, którą stworzyliśmy. klikamy na Restore na pole Source drag’n dropowo przeciągamy sobie nasz obrazek ISO, a na pole Destination zrobioną partycję klikamy restore (robi sie to jakieś 10-20 minut) Enjoy

stycznia 17, 2008 · paramah

Przydatne SQL’e

Poniżej dla potomoności, parę przydatnych funkcji w MySQL służących do oblicznia danych sieciowych: $$ DROP FUNCTION IF EXISTS check_network; DROP FUNCTION IF EXISTS get_network; DROP FUNCTION IF EXISTS get_broadcast; delimiter | CREATE FUNCTION check_network(ip1 VARCHAR(25), ip_netmask VARCHAR(25), ip2 VARCHAR(25)) RETURNS INT DETERMINISTIC BEGIN IF((INET_ATON(ip2) & INET_ATON(ip_netmask)) = (INET_ATON(ip1) & INET_ATON(ip_netmask))) THEN RETURN 1; ELSE RETURN 0; END IF; END| CREATE FUNCTION get_network(ip1 VARCHAR(25), ip_netmask VARCHAR(25)) RETURNS VARCHAR(20) DETERMINISTIC BEGIN RETURN INET_ATON(ip1) & INET_ATON(ip_netmask); END| CREATE FUNCTION get_broadcast(ip1 VARCHAR(25), ip_netmask VARCHAR(25)) RETURNS VARCHAR(20) DETERMINISTIC BEGIN RETURN INET_NTOA(INET_ATON(ip1) + (INET_ATON('255.255.255.255') - INET_ATON(ip_netmask))); END| delimiter ;$$

października 23, 2007 · paramah