Już od jakiegoś czasu używałem TrueCrypta, do przechowywania dość wrażliwych danych. Niedawno wyszła wersja 5.0, więc trzeba było się przesiąść ;) Jakkolwiek pierwsze odczucie nie było zbyt pozytywne, o tyle później już mniej więcej wróciło do normy.

Domyślnie, TrueCrypt dla linuksa potrafi sformatować nowy wolumen tylko jako FAT32. Można to nieco obejść, samemu formatując wolumen, a w oknie wyboru typu systemu plików, wybrać None (cały proces tworzenia wolumenu wraz ze zrzutami obrazów na jarzebski.pl). Następnie trzeba zamontować stworzony wolumen, ale zaznaczając opcję w oknie dialogowym ‘Do not mount’. Teraz pozostaje sformatować urządzenie loopbackowe (w moim przypdku było to /dev/loop0 - można podejrzeć wynik polecenia mount) na wybrany system plików (ext3 w moim wypadku), odmontować, zamontować ponownie już bindując pod wybrany katalog, i zacząć używać tak stworzonego wolumenu.

Problemy także występują przy próbie użycia kluczy. Jeśli wybrałem dowolny klucz (klucze teraz działają nieco inaczej niż w poprzedniej wersji TrueCrypta - do wersji 4.3 były generowane przez sam program, w tej chwili wskazuje mu się dowolną ilość plików i te pliki są traktowane jako klucze) przy tworzeniu wolumenu, to nie dało się podmontować go - krzyczał że niewłaściwy klucz. Okazało się, że klucze zostały olane, i montować trzeba bez nich ;) Za to po dodaniu kluczy do już stworzonego wolumenu wszystko działa jak powinno.

Od długiego czasu używałem swojego skryptu do montowania zaszyfrowanych wolumenów TrueCrypta. Oczywiście, jako zatwardziały zwolennik konsoli, działa on w trybie tekstowym :) Mam stworzony mały pliczek mapujący konkretną nazwę (alias) na plik zaszyfrowanego wolumenu, klucz użyty do zaszyfrowania go, i katalog pod który należy podmontować wolumen. Tutaj wyszedł problem - po każdym wywołaniu truecrypta z wybranymi opcjami, otwierało mi się okienko GUIowe i kazało klikać :/ Tutaj pomogło dodanie parametru -t do wywołania TrueCrypta.

Pozostał jeszcze jeden kłopot. Teoretycznie, nie można pod linuksem stworzyć “ukrytego wolumenu” - na etapie tworzenia wyskakuje monit “The selected feature is currently not supported on your platform.”. Więc, niech mi ktoś wyjaśni, dlaczego po próbie zamontowania zaszyfrowanego pliku w trybie tekstowym, dostaję jeszcze pytanie o włączenie ochrony ukrytego wolumenu? :/ I nie da się tego wyłączyć (OK, ja nie znalazłem, jeśli komuś się udało to proszę o info).

No dobra, powyżej skłamałem. Obeszłem problem brzydkim hackiem - w swoim skrypcie po prostu pobieram hasło samodzielnie, a następnie przekazuję je do odpowiednio wywołanej instancji TrueCrypta poprzez STDIN. Brzydkie, brudne, i źle działa przy błędnie wpisanym haśle, ale to akurat szczegół. Ważne że chwilowo działa…

To by było na tyle moich bojów z nową wersją programu. Zainteresowanych tematem odsyłam do dwóch artykułów:

  • wspomniany wcześniej artykuł na jarzebski.pl
  • bardzo ciekawy artykuł na temat starszej wersji TrueCrypta na jakilinux.org

Stwierdziłem niedawno, że brakuje mi w Vimie takiego drobiazgu jak wyświetlanie listy funkcji z edytowanego właśnie pliku. Można z jednej strony wykorzystać ctags, ale (pewien nie jestem, nie jestem znawcą tagsów ani ich obsługi w Vimie) po dodaniu funkcji/metody/czegokolwiek innego co można by nazwać tagiem trzeba by od nowa generować listę tagów. Nie jest to problemem takim bardzo dużym, do momentu gdy ciągle pracuje się nad różnymi projektami, z czego sporej części nie mam na dysku (tylko wykorzystując plugin netrw pracuję via ftp). W tym momencie moja znajomość systemu ctags podpowiada mi że robi się ciężko…

Postanowiłem więc napisać sobie prosty skrypt do tego, a że język wewnętrzny Vima mnie nieco odrzuca, postawiłem na Pythona ;) Żeby jakikolwiek skrypt pythona (jak ktoś lubi, można użyć też np perla) mógł zadziałać w Vimie, ten ostatni musi być skompilowany z jego obsługą. W Ubuntu wystarczy zainstalować pakiet vim-full. Łatwo sprawdzić czy Vim ma wkompilowaną obsługę pythona:

Przejdź do reszty tego wpisu »


Słyszeliście historyjkę, jak to kot wskoczył na klawiaturę, wklepując losowe znaki, a Larry stwierdził że to musi dać “Hello world” ? Znalazł się spec który odtworzył ten ciąg znaków:

perl -e 's^^i6(!@*^+s;\*; Wo\$_\;~;.s![(_\!]!l!g+y"i\$@"Hro"+tr-6;~-ed\012-;print'

Ja leżę i kwiczę :)

Źródło: goldenline.pl/forum/perl/127239


Przeniosłem na razie bloga (i w sumie nie tylko) z Dreamhosta, z którego radośnie rezygnuję, na home.pl. Przenosiny odbyły się z problemami, konkretnie dwoma:

  1. nie mogłem się zalogować do panelu administracyjnego WordPressa
  2. spi… się kodowanie

Problemy naprawione, a dla potomności:

Problem pierwszy: problem z zalogowaniem się. Problemu by nie było, gdybym zostawił dokładnie taki sam prefix tabel jaki był na dreamhoście. Niestety, wpadłem na pomysł zmiany prefiksu, i tu się wszystko rozjechało. Trzeba było poza aktualizacją pliku wp-config.php (która była oczywista) zaktualizować także zawartośc tabel PREFIX_options i PREFIX_users, zmieniając nazwom opcji prefiksy ze starego (u mnie np wp_opcja) na nowy (w moim przypadku byłoby to coś na kształt urzeniawp_opcja). Bez tego wyświetla się w kółko komunikat że nie mam uprawnień do zobaczenia żadnej strony w panelu…

Problem drugi: kodowanie. Nie udało mi się tutaj zrobić żadnej sztuczki, żadnego prostego zabiegu, nic. W końcu po prostu na dumpie z bazy danych wykonałem szereg operacji podstawiania ‘krzaczków’ na odpowiadające im litery. Zmienionego dumpa wrzuciłem z powrotem do bazy, do tego dodałem opcję (mój plik konfiguracyjny ma kilka lat) DB_CHARSET do pliku konfiguracyjnego, i zaczęło działać poprawnie. Porażka troszkę, ale cóż robić :(

Na tą chwilę wszystko powinno już działać OK, i to zdecydowanie szybciej - Dreamhost do demonów szybkości raczej nie należy ;) Liczę też że dużo bardziej niezawodnie ;)

Jeszcze tylko dopowiem, że przy całej walce z Wordpressem na home, gdzie nie ma shella, wydatnie pomogła mi moja kolejna zabawka: wwwshell.php. Wbrew moim obawom, działa to całkiem nieźle, i gdyby nie brak historii i reakcji na enter po komendzie (tak, wiem, łatwo to naprawić zmieniając typ pola na <input type="text" />), to prawie nie byłoby różnicy ze zwykłym shellem ;)


Jako, że zbliża się koniec ważności mojego konta na DreamHost, a przedłużać go zamiaru nawet namniejszego nie mam, zaczęłem się przygotowywać do migracji. Jeszcze nie wiem gdzie pójdę sobie, ale pójdę na pewno :)

Jedną z rzeczy z tym związanych jest usunięcie mojego repo (repo.urzenia.net). Cała jego zawartość znajdzie się niedługo jako konkretne projekty na code.google.com. W sumie już wszystko przeniosłem, poza BlipApi.php, które też się tam niedługo znajdzie. Nowe adresy projektów to:

mPack
zestaw bibliotek pomocnych przy tworzeniu serwisów w PHP: m-pack.googlecode.com.
useless-scripts
kilka skryptów które wykorzystuje w mojej codziennej pracy na komputerze: useless-scripts.googlecode.com. Tutaj też dostał się mój ostatni “produkt” killer.pl.
WP Blip!
Plugin do WordPressa, wyświetlający na nim ostatnie wpisy z serwisu Blip!: wp-blip.googlecode.com.

Zrobiłem Killera ;)

Killer to skrypt w perlu który wyświetla tabelę dostępnych procesów, i pozwala wysłać dowolny sygnał (komenda kill w linuksie) do wybranych procesów. Działanie jest bardzo proste, wygląd jeszcze bardziej… Jak ktoś ma ochotę dorobić ładne cssy to jestem za tym żeby je tam dorzucić ;)

Skrypt jest do pobrania z jego strony domowej: repo.urzenia.net/Perl:Killer.


Jako że mojej kobiecie zepsuł się komputer (tzn zaczął się psuć, ale jak na karcie graficznej i na płycie głównej są ‘wypchane’ kondensatory to nie wróżę im długiego życia), trzeba było coś z tym zrobić. Stwierdziłem że nie będę się wygłupiał i rzęcha z 2k2 roku naprawiał i kombinował, szczególnie że Ani marzył się laptop. Poszliśmy i kupiliśmy laptopa.

Jako ciekawostka: model jaki wybraliśmy jest w “Nie dla idiotów” tańszy niż w większości sklepów w necie… Zdziwiłem się - choć wyboru nie miałem, musiałem kupić go w MM ;)

Wybrałem dla niej Toshibę Satellite A200 1S9. IMHO bardzo fajny sprzęt za tą cenę, dobrego i lubianego przeze mnie producenta (zawsze lubiłem laptopy Satellite).

Wybierając go zrobiłem jeden błąd, którego wystrzegałem się całe moje informatyczne “rzycie”: w laptopie jest karta ATI. O ile nie jest to problem pod Windowsem, o tyle na tym laptopie Windows będzie używany raz na kilka miesięcy. W sumie zrobiłem także drugi błąd, ale jego się nie wystrzegałem wcześniej ;) Tym drugim błędem jest to że jest tam karta sieciowa (wszędzie poniżej mówię o Wi-Fi) do której nie znalazłem działających wolnych sterowników, a ndiswrapper średnio sobie z nim radzi…

OK, wymieniłem 2 najważniejsze problemy, a poniżej sposób na poradzenie sobie z nimi.

Przejdź do reszty tego wpisu »


Jestem na fali: w ciągu całej przerwy świątecznej (dla mnie to okres od 22.12.2007 do 2.01.2008 włącznie) wklepałem całe mnóstwo (kilka tysięcy) linii kodu. Trochę firmowych, trochę prywatnych (nie publikowanych), a trochę (jak te związane z Blip!em) publicznych. Właśnie skończyłem upublicznianie pluginu do WordPressa do wyświetlania ostatnich statusów z Blip!a.

Jakaś dokumentacja pojawi się niedługo na stronie projektu (repo.urzenia.net/PHP:WP_Blip!wp-blip.googlecode.com), w tej chwili sam plugin można pobrać ze strony na Google Code (code.google.com/p/wp-blip).

Krótka instrukcja obsługi:

  • pobrać plik z Google Code, rozpakować go w katalogu
    WORDPRESS_ROOT/wp-content/plugins (zostanie utworzony katalog
    wp-blip)
  • w panelu administracyjnym Wordpressa uaktywnić plugin
  • w Options->WP Blip! ustawić login i hasło do swojego konta w Blip!ie (także kilka innych opcji)
  • gdzieś w szablonie dodać wywołanie funkcji:
    <?php
    if (function_exists ('wp_blip')) { wp_blip("\n", 1); }
    ?>
  • Wszelkie uwagi mile widziane :) Można je zostawić w komentarzach do tego wpisu, lub dowolną inną metodą (kilka metod kontaktu ze mną opisanych jest na podstronie urzenia.net/kontakt).