Praca na desktopie z małą ilością RAM po raz drugi.

Jakiś czas temu pisałem o pierwszym podejściu do małej ilości RAM na desktopie, więc pora na część drugą. Przejrzałem podrzucone linki nt. optymalizacji działania dekstopu. Dysk był już ustawiony optymalnie, niepotrzebne usługi powyłączane, więc tak naprawdę tylko zmniejszyłem ilość uruchamianych konsol w inittabie. Nie zauważyłem zmiany w ilości zużywanego RAM, ale i tak ich nie potrzebuję – dwie wystarczają z naddatkiem. Swappiness nadal jest ustawione na 0 i IMO działa OK.

Zauważyłem, że spowalnianie występuje głównie na jednym desktopie (tym w pracy, starszy, bardziej zapchany dysk), przy pracy z pakietami (aktualizacja listy, instalacja), co skłania mnie do wniosku, że głównym winowajcą jest fragmentacja filesystemu. W obu przypadkach jest to ReiserFS (zaszłość, kiedyś był najlepszym wyborem, teraz chętnie widziałbym ext4 w tym miejscu), ale w domu z pewnością fragmentacja jest mniejsza – pół dysku zawsze było wolne.

Tak czy inaczej, wydaje mi się, że wypracowałem sposób na drastyczne ograniczenie spowalniania komputera przy pracy z pakietami. Korzystam z niego mniej więcej raz na tydzień. Cudów nie ma, czyli najpierw zamykam programy, które zużywają najwięcej RAM: Iceweasel, czyli Firefox, Icedove, czyli Thunderbird i PSI. Trwa to chwilę, a zwalnia znaczne obszary RAM.

Następnie uruchamiam prosty skrypt, który robi sync na dyskach, opróżnia bufory dyskowe, a następnie wyłącza i ponownie włącza swap.

#!/bin/bash

echo Syncing hard discs
sync
sleep 5
sync

echo Flushing disc buffers
echo 3 > /proc/sys/vm/drop_caches

echo Turning swap off
swapoff -a

echo Turning swap on
swapon -a

Celem jest najpierw zwolnienie jak największego obszaru pamięci, a następnie wymuszenie przerzucenia danych ze swap do RAM. Szybsze od restartu, działa w tle, więc można pracować w tym czasie. Po wykonaniu skryptu można swobodnie uruchomić przeglądarkę, pocztę, komunikator i aktualizować system. Najgorsze co może się wydarzyć, to niewyłączenie swapa, jeśli nie będzie wystarczającej ilości dostępnej pamięci, ale nie jest to krytyczne i zdarza się rzadko (zwł. po wyłączeniu przeglądarki). Wydaje mi się, że po takim zabiegu system działa znacznie lepiej.

Zakładanie konta dbNET – wrażenia.

Karta kredytowa

Źródło: karta kredytowa.

Ponieważ mBank wprowadził opłaty za kartę, co wyjątkowo mi się nie spodobało i się najprawdopodobniej niebawem pożegnam przynajmniej z ich kartą, postanowiłem założyć inne konta. Jako pierwsze, zostało wybrane konto dbNET Deutsche Banku (dead link) – to co w mBanku do tej pory, czyli zero opłat za prowadzenie, przelewy przez Internet oraz kartę debetową pod warunkiem 1 transakcji kartą miesięcznie (w przeciwnym wypadku 5 zł miesięcznie za kartę). Do tego bezpłatne wypłaty z bankomatów na całym świecie i – jeśli komuś zależy – wygląda, że lepsze oprocentowanie.

Ponieważ miałem parę pytań, udałem się do placówki. Pierwsza informacja od pracownika banku – za transakcję uznawana jest także wypłata gotówki w bankomacie. Miłe i czyni pilnowanie transakcji totalnie bezproblemowym – wypłaty z bankomatów to podstawowa funkcja z której korzystam. Oczywiście zobaczymy, jak będzie w praktyce, ale jedne zakupy też mogę kartą zrobić.

Druga informacja, tym razem negatywna – konto trzeba załatwiać przez Internet i kuriera. Bardzo nie na rękę, bo chciałem założyć na miejscu – oddział mam blisko, z adresami lekkie zamieszanie i przeczucie, że z kurierem będą problemy. Dostałem radę, żebym założył na stary adres, jako adres odbioru podał korespondencyjny, a potem zmienił korespondencyjny. Na szczęście nie było to potrzebne – procedura dopuszcza podanie adresu odbioru przesyłki jako niezależnego od adresu stałego zameldowania i adresu korespondencyjnego. Nie rozumiem, czemu nie ma możliwości założenia tego konta w oddziale, bo podczas paru wizyt (kumpel załatwia często sprawy po drodze, więc bywam) liczba pracowników przewyższała tam liczbę klientów…

Trzecia informacja, również negatywna – nic nie wiedzą o wprowadzeniu haseł jednorazowych przesyłanych przez  SMS. A gdzieś na jakimś forum/blogu, szukając informacji o tym koncie wygooglałem, że taka funkcjonalność jest planowana w sierpniu. Zamiast tego jest karta TAN, której idea mi się nie podoba (ale o tym później/innym razem).

Wypełniłem wniosek przez Internet – całkiem przyjemne, jedyna wada to fakt, że przy końcu pyta o potwierdzenie zaznajomienia się z kilkoma dokumentami (PDFy, kilkadziesiąt stron). Przeczytanie tego zajęło dłuższą chwilę, po czym po zatwierdzeniu i wybraniu kontynuacji okazało się, że „uzupełnij dane”, a wszystkie wprowadzone do tej pory dane są wyczyszczone. Irytujące, szczególnie, że zakładają, że ludzie i tak nie przeczytali dokumentów – w mailach otrzymanych później znowu zachęcają do przeczytania tychże PDFów, więc wymóg zatwierdzenia taki trochę od czapy.

Nie pomyliłem się co do problemów z kurierem. Przedstawiciel InPost zadzwonił w piątek i umówił się na sobotę, po czym zwyczajnie nie przyszedł, nawet nie racząc odwołać wizyty (a był proszony o telefon przed, żebym – na wypadek gdybym wyszedł, zdążył wrócić). Po paru dniach zadzwoniła pani z InPost, że mają przesyłkę i że… „adresat był nieobecny”. Ta jasne. Ostatecznie, zamiast w sobotę, to w środę, udaje się im dostarczyć przesyłkę.

Pora na aktywację. Rzut oka na instrukcję (przejrzysta i dobrze opisana), telefon na podany numer, w sensowny IVR, szybkie połączenie z konsultantką, seria durnych pytań (imię i nazwisko, choć przed chwilą się przedstawiłem), ale taka procedura. Skupić się i nie dywagować (na pytanie czy ma Pan konto w naszym banku odpowiadam twierdząco w ostatniej chwili gryząc się w język i hamując jeszcze nie, właśnie jestem w trakcie zakładania; niech wasza mowa będzie tak, tak, nie, nie). Kod dwa razy. Rozłącz. Poniżej 5 minut. Nieźle, biorąc pod uwagę, że wysłuchiwałem całego IVRa.

Próba zalogowania przez net z użyciem świeżo założonego kodu zakończona porażką: Niepoprawne dane do autoryzacji / Authorization fault, nara. Co ciekawe NIK ma 10 cyfr (ciekawe czy kiedykolwiek nauczę się go na pamięć), kod dostępu 6 – trochę mało, szczególnie, że muszą być cyfry, dokładnie 6 i tylko cyfry. Mało i szkoda, że nie ma liter – te łatwiej zapamiętać. No ale 6 „losowych” cyfr nie jest problemem.

Nie ruszyło aż do następnego dnia. Ponowny telefon (sobota przed 8 rano) i ponowne ustawienie kodu. Łączny czas połączenia – lekko ponad 3 minuty. Tym razem mogę się zalogować. Dziwne, bo kod dokładnie ten sam, wymyślony wcześniej, więc raczej nie zrobiłem błędu. Niestety, po zalogowaniu widzę Internet service is currently unavailable. Wszystko po angielsku, próba przełączenia polski lub niemiecki nie działa. Nieszczęścia chodzą najwidoczniej parami, mBank nigdy, przez parę lat korzystania mi czegoś takiego nie odwalił.

Po paru godzinach próbuję zalogować się ponownie. Tym razem działa. Obejrzałem sobie, nie wygląda źle, zobaczymy jak będzie w praktyce. Niestety, tym razem znowu bug – mało profesjonalnie (eufemizm) wygląda debetowa, ???pl_PL.kartSUOLista.status.P??? jako rodzaj karty.

Pierwsze wrażenie – tylko 3/10. Niezłe przemyślenie i przygotowanie zepsute jest niestety przez wykonanie, a problemy z serwisem przy koncie internetowym przepełniają czarę goryczy. Jak konto mBanku był przez lata jedynym bankiem, tak konto dbNET na pewno nie dostanie takiej szansy po tym wstępnie.

UPDATE: Aktywowałem też kartę i kody TAN (w sumie bez sensu była aktywacja samego konta, tyle że sobie pooglądałem). Nie sprawdzałem jeszcze, czy działa, ale co ciekawe, tym razem zostałem poinformowany, że kod dostępu może „ruszyć” dopiero jutro po 8 rano „bo jest po 18 już i może to nie zadziałać dziś”. Co wyjaśnia problemy opisane 3-4 akapity wyżej. Czas aktywacji: 6 minut.

Zniknął też podany dziwny komunikat nt. stanu karty, jest trochę lepsze (ciekawe czy wynikające z aktywacji) debetowa, Production in progress. Tylko trochę, bo i po angielsku, i niezupełnie zgodnie ze stanem faktycznym (no dobra, niech będzie, że „się aktywuje”).

Jakby tak było od razu to 5/10. Przydałoby się trochę dopracować procedury…

Quagga, czyli czemu czasem warto zerwać z kompatybilnością wsteczną.

Tak się złożyło, że w użyciu jest sobie Quagga. Złożyło się też tak, że pobierane z niej są pewne dane przy pomocy polecenia vtysh. W postaci:

vtysh -c "show ip bgp neighbors  advertised-routes"

Następnie wynik polecenia jest parsowany skryptem. Generalnie chodzi o pobranie sieci w notacji CIDR. I wszystko byłoby fajnie, ale Quagga w ramach kompatybilności wstecznej (it’s not a bug, it’s a feature!) zwraca czasem samo IP. Niejednoznacznie, przez co z prostego w założeniu skryptu powinien zrobić się automat domyślający się, czy chodzi o /8, /16 czy /24.

Szukałem informacji czy można coś z tym zrobić na kanałach IRCowych, dostałem dane, że nie ma opcji, by zmienić takie zachowanie, tzn. aby Quagga zwracała jednoznacznie (np. uruchomienie z jakąś opcją). Za to było zainteresowanie ew. znalezionym rozwiązaniem. Nie znalazłem. Wygląda, że po prostu się nie da (tak, wiem, zawsze można pogrzebać w kodzie…).

Nie znalazłem też prostej koncepcji na określanie, o jaką długość prefiksu chodzi w danym przypadku. Akurat w przypadku, w którym używam średnio mi na tym zależy, ale elegancko byłoby móc jednoznacznie określić o jaki prefiks chodzi. Pomysły mile widziane. Przychodzi mi do głowy sprawdzanie, czy dla /8 i /16 nie ma nakładających się sieci z prefiksami określonymi wprost. Wtedy wiadomo, że chodzi o /24.

PS. Wiem, że jest BIRD. Jest rozważany, ale to trochę inny temat.