Distributed wget - projekt semestralny

04 lipca 2009, 14:46:47

Końcówka maja była dość wyczerpująca - zakończenie semestru, a zgodnie z regulaminem elki oznacza zaliczenie wszystkich przedmiotów nieegzaminacyjnych, czyli takich, które zamiast egzaminem, kończą się kolokwium na ostatnim wykładzie :>.

Noce upływały nam (mi oraz Tomkowi, Pawłowi i Łukaszowi) na wesołym kodowaniu w Pythonie oraz spożywaniu napojów energetycznych. Powstał dwget, rozproszony wget. Program jest realizacją zadania drugiego, z nieznacznymi modyfikacjami.

Idea projektu polega na kilku węzłach podrzędych, które ściągają fragmenty pliku, i węźle nadrzędnym, który koordynuje zadania i nawiązuje interakcję z użytkownikiem. Sens takiego sposobu pobierania pliku jest cokolwiek wątpliwy, poprawa szybkości będzie miała miejsce jedynie w dość rzadkim przypadku: węzły podrzędne muszą mieć niezależne łącza do Internetu oraz szybkie łącze wewnętrzne do przesyłania pobranego fragmentu do węzła nadrzędnego.

Był to dla nas pierwszy większy kawałek kodu pisany w Pythonie, więc z pewnością jest bardzo niedoskonały :). W związku z tym, że program korzysta z dość pokaźnej liczby wątków (oddzielny wątek dla każdej komunikacji), architektura jest głównie zdarzeniowa, stąd szerokie wykorzystanie PyDispatchera. Brak doświadczenia w Pythonie zaowocował też niepotrzebną stratą czasu i nerwów na napisanie synchronizowanej kolejki zadań na eventach (robi dokładnie to, co standardowa queue).

Istnieje też interfejs www napisany w Django, ale w obecnej wersji coś się skaszaniło ze ścieżkami w szablonie i nie ma grafik oraz css, może to poprawimy niedługo.

Całość można pobrać z repozytorium na githubie, instrukcja użycia jest na tamtejszym wiki.

Menadżer haseł w Firefoksie - wystarczą dwa kliknięcia, aby poznać Twoje sekrety.

25 kwietnia 2009, 02:08:47

Nie każdy zdaje sobie z tego sprawę, ale w Firefoksie aby poznać treść zapisanych haseł wystarczy klika kliknięć. Wchodzimy do Narzędzia -> Opcje -> Bezpieczeństwo -> Zapamiętane hasła. W tym momencie, od kompromitacji pieczołowicie chronionych haseł dzieli nas jeden button "Wyświetl hasła" i odpowiedź na, jakże poruszające sumienie, pytanie, czy na pewno chcemy wyświetlić hasła.

Nie trzeba bardzo wysilać wyobraźni, aby przypomnieć sobie dziesiątki sytuacji, kiedy na chwilę odchodzimy od laptopa/notebooka lub komputera w pracy/szkole/na uczelni nie blokując w jakikolwiek sposób dostępu. Nieżyczliwa nam osoba może w kilka sekund wyklikać sobie nasze hasło. Nawet, jeśli najważniejsze sekrety nie są zapisane (jak np. hasło do poczty), to przecież często zdarza się, że używamy tych samych haseł dla wielu różnych kont i serwisów, dla jednego z nich wpis w menadżerze może się pojawić...

Możliwe wyjścia z tej sytuacji to m. in.:

  • Hasło główne (master password)
  • LastPass

Pierwsze rozwiązanie jest domyślnie wbudowane w przeglądarkę. Wchodzimy do ustawień bezpieczeństwa i zaznaczamy opcję Użyj hasła głównego. Od tej chwili każde dopisanie parametrów logowania do bazy menadżera oraz żądanie pokazania zapisanych haseł będzie wymagało uwierzytelnienia hasłem głównym. Również dla każdej sesji przeglądarki (do jej zamknięcia) trzeba podać hasło, aby menadżer uzupełniał automatycznie formularze.

LastPass oferuje tę samą funkcjonalność wzbogaconą o wiele dodatków. Używa silniejszego szyfrowania niż Firefoks domyślnie oraz przechowuje kopię zaszyfrowanej bazy naszych haseł na centralnym serwerze, co pozwala na synchronizację zapisanych parametrów logowania pomiędzy wieloma używanymi przez nas przeglądarkami, o ile dla każdej jest zainstalowany dodatek LastPass (istnieje także wersja dla IE oraz Safari). LastPass pozwala także na szybkie wylogowanie się (co blokuje dostęp do wszystkiego, co jest związane z bazą haseł), gdy np. odchodzimy od komputera lub udostępniamy na chwilę przeglądarkę osobie postronnej.

Uwaga! LastPass domyślnie zachowuje się jak Firefoks, to znaczy pozwala oglądać hasła zalogowanemu użytkownikowi. Aby wymusić żądanie hasła przed podejrzeniem sekretnych danych należy udać się na stronę domową LastPass (ctrl+alt+h), wybrać Ustawienia konta, w otwartym okienku Bezpieczeństwo i zaznaczyć opcję Prompt for LastPass master password when: View passwords.

LastPass ma o wiele bogatszą funkcjonalność, jak zapisywanie poufnych notatek, autouzupełnianie formularzy rejestracyjnych, hasła jednorazowe, używane aby uwierzytelnić się korzystając z niebezpiecznych maszyn (kafejki etc.), możliwość backupu danych na pendrajwie itp.

LastPass to bardzo przyjemny dodatek, który może być alternatywą dla RoboForm i ułatwić zapanowanie nad poufnymi danymi przechowywanymi przez przeglądarkę.

Cream - najsłodszy edytor?

27 października 2007, 21:39:40

Większość z was pewnie słyszała o vimie. Każdemu choć raz zdażyło się, że złośliwy klasowy linux-guru zablokował wam terminal wchodząc do vi(ma) i z wyszczerzonymi kłami obserwował jak się pocicie, aby zamknąć ten ^#$%!@%# program. Vim to doskonały (obok emacsa) awatar ducha czarnej *nixowej konsoli. Prawdziwe l33t narzędzie.

Tak jak Ubuntu to linux dla ludzi, tak Cream to gVim dla szarych zjadaczy chleba. Ikonki, działające normalne skróty klawiszowe, a pod spodem, cicho chrapiąc, drzemie cała potęga vima z jego :s/ i innymi cudami. Za darmo, na linuxa, winde, fribsdę. Z autouzupełnianiem słów/kodu pod ctrl-spacja. Kilka trybów pracy, które pozwalają płynnie zmieniać zachowanie programu, od normalnego edytora począwszy, do typowego vimowego. To powinno przekonać wszystkich ortodoksów, że nie należy wywalać creama dlatego, że defaultowo esc nie działa tak jak powinien. Jeszcze wczoraj pracowałem na cream default, dziś po lekturze vimtutora przełączyłem się na cream-lite ;o). Kiedy pierwszy raz użyłem :s/ do zamiany treści, wewnętrznie poczułem, jak jakość pisanego przeze mnie kodu magicznie wzrosła :).

A teraz wypadałoby się przyznać, dlaczego tak naprawdę porzuciłem fantastycznego notepada++ na rzecz edytora, na którego naukę musiałem poświęcić ponad półtorej godziny. To dostarczone wraz z creamem color themes utrzymane w ciemnych, niskokontrastowych tonacjach, które nie męczą oczu w czasie wielogodzinnej pracy nocą. A temat Inkpot wygląda prawie jak kolorystyka TextMate'a którego używają goście od Ruby on Rails do nagrywania swoich screencastów :).

Free Image Hosting at www.ImageShack.us