Kartoflanka.

Poprzednio był wegetariański kapuśniak, a teraz zupa ziemniaczana, czyli tytułowa wegetariańska kartoflanka, w wersji przeze mnie ulubionej.

Składniki:

  • 2 cebule
  • ziemniaki krojone w kostkę (ilość odpowiednia ;-))
  • 2 marchewki
  • można dodać trochę pietruszki, seler
  • koper
  • śmietana lub 0,5 l mleka
  • 2-3 łyżki masła
  • 1,5 łyżeczki soli
  • 1 łyżeczka kminku
  • 0,5 łyżeczki pieprzu

Przygotowanie:

  • cebulę zeszklić na maśle
  • dodać marchew i warzywa
  • później ziemniaki
  • gotować 20 minut
  • zabielić śmietaną lub mlekiem

Powinno stosunkowo łatwo adaptować się do wersji wegańskiej – tak naprawdę wystarczy użyć oleju przy podsmażaniu cebuli i zabielić na sposób wegański. Przepis jest zmodyfikowaną wersją z jakiejś książki. Na razie zamieszczam to co dostałem, jak nie zapomnę, to zaktualizuję o własne uwagi.

Gdy ekipa daje radę…

Dla odmiany przykład reklamy, która mi się spodobała. Ogólnie lubię reklamy z fabułą. Polecam obejrzeć całość, a dopiero później czytać, bo spoilery.

Gdy ekipa daje radę…

Nie pytajcie jak dotarłem do tego filmu, ale przyznam, że mnie rozbawił, bo przypomniał mi parę scen z życia. Po pierwsze, miałem akcję z nocnym telefonem od kumpla. Co prawda nie o pierwszej w nocy, a o dwudziestej trzeciej z groszami, ale też wesoło. Odbieram, bo myślę, że jakaś awaria, której kumpel nie ogarnia, ale słyszę znietrzeźwiony głos, żebym ubierał się i schodził. Po co? Ano goni kolesia koło mojego domu. Czemu? Rzekomo ich zaczepili i chcieli kasę. Szybka wizualizacja i wiem, że komedia, bo w tym stanie pogoń to raczej za wężem. W dodatku jeszcze rozmawia przez telefon… No i nie bardzo mi się to spina – chcieli kasę a teraz uciekają? Kumpel pacyfistą nie jest, szczególnie po spożyciu. Szybka kalkulacja i wychodzi, że zanim ubiorę się i zejdę, to będą z pół kilometra dalej. Na wszelki wypadek jeszcze pytam, gdzie są i… koło mojego domu to jakieś dziesięć minut spaceru, na dodatek się oddalają. I dowiaduję się, że drugi kumpel (znacznie bardziej rozsądnie i pokojowo nastawiony) mu pomaga. OK, zatem raczej nie trzeba go ratować… przed policją. Nie zszedłem.

Po drugie, nielegalne lokale. Co prawda nie gangsterka, ale było parę miejsc, które były zdecydowanie drugiego obiegu, a w których graliśmy koncerty. Zagraniczne piwo (i tylko zagraniczne) w bardzo przystępnych cenach (czyżby przemyt i brak licencji?), jedzenie „na oko” i na pewno obsługa bez książeczek zdrowia. Brak szyldu. W jedno z takich miejsc pojechałem ustalać możliwość zagrania koncertu. Po zapukaniu we właściwe drzwi otworzył archetypiczny bramkarz, podobny do tego z filmu i zapytał czego? Klimat dziwny, ale wspomnienia pozytywne. I bezpiecznie. W końcu naś klient naś pann!

Na koniec – pewnie dałbym radę, czyli pojechał w takiej sytuacji. Ale nie cierpię takiego wołania wilk! wilk!

Google Reader zamknięty. So what?

Niecały rok temu podniosłem fałszywy alarm o końcu grup dyskusyjnych (newsy, NNTP) w Polsce. Okazało się, że może stwierdzenie było przedwczesne, ale prorocze. Faktycznie, news.gazeta.pl został już wyłączony. Podobnie news.home.pl. Grupy dyskusyjne, które były wygodnym i popularnym środkiem komunikacji umierają. Przypuszczam, że działanie istniejących serwerów wynika raczej z tego, że wszyscy (decyzyjni) o nich zapomnieli, niż ze świadomych decyzji.

Można się zastanawiać, czemu tak się dzieje. Pewnie trochę bariera wejścia. Pewnie trochę beton wśród userów/adminów i stare reguły. Pewnie brak dostępności online (newsreadery to raczej stacjonarne twory). I w końcu pewnie brak możliwości monetyzacji. Gdyby policzyć dane przesyłane w postaci graficznej na stronach WWW, to wydaje mi się że newsy, z całym ich spamem (który z kolei stosunkowo łatwo dało się odfiltrować) miały niezły stosunek sygnał/szum, w porównaniu ze stronami i reklamami graficznymi różnej maści.

Już napisałem na FB, że nie rozumiem dramy związanej z zamknięciem Google Reader. Nie jest to ani jedyna, ani pierwsza, ani najbardziej popularna usługa zamknięta przez Google (i nie tylko Google zamyka – pamięta ktoś „zamknięcie” Delicious?). Wiadome jest, że oprogramowanie jako usługa oznacza pełną zależność od dostawcy tejże usługi. RMS, który niedawno był w Polsce i który zawsze ma przy sobie jedzenie – 34 minuta, a którego słowa tak wielu ignoruje i traktuje go przynajmniej jako dziwaka, mówi o zagrożeniach płynących z braku kontroli od dawna. W tym także o SaaS czyli Software as a Service, choćby w zaleceniach dla rządów w zakresie wolnego oprogramowania. No ale przecież po co tak utrudniać, wolne oprogramowanie takie mało błyszczące, funkcjonalności też bywają gorsze i w ogóle wygodniej jest czytać ze wszystkich urządzeń, a trzeba by coś swojego postawić, więc po co to wszystko, wezmę czytnik od Google, w dodatku za darmo. Przecież zagrożenia są przesadzone i jeszcze nie jest tak źle (cytat oczywiście z filmu Nienawiść).

Jestem pewien, że ci, którzy mówią, że Google straci, że nie wzięło pod uwagę, że grupa, której zabierają narzędzie jest specyficzna, opiniotwórcza itp. nie mają racji. Odzyskają pieniądze przeznaczone na utrzymanie bezpłatnej usługi, plus trochę więcej ludzi czytających bez RSS, które w porównaniu z tradycyjnymi stronami WWW znowu mają więcej informacji w szumie. Na stronach wyświetli się reklamy i bilans wyjdzie na zero, albo i lekko do przodu.

W sumie dobrze, że stało się, jak się stało. Może do ludzi dotrze, jak bardzo są zależni od Google. Choćby w przypadku Androida. Zresztą tu Google też się złapało za kieszeń i… usunęło z Google Play AdBlock+. No ale jeszcze nie jest tak źle, prawda? Śmieszy mnie też podział korporacji na „gorsze” (Microsoft) i „lepsze” (Apple, Google). Wszystkie mają dokładnie taki sam cel, a ewolucja metod jest jedynie kwestią czasu.

W tym przypadku dane nie zniknęły, można się przenieść. A parę miesięcy temu z podobnych przyczyn odparował kawałek dorobku – było nie było – kulturalnego/artystycznego w postaci mp3.wp.pl.

Benchmark DNS cache – problemy.

Jakiś czas temu zainteresowałem się, głównie za sprawą prezentacji Infoblox na 9 PLNOG nt. DNS, tematem DNS cache i jego wydajności. Nie jest to zupełnie nowa sprawa, bo kiedyś otarłem się o problem wydajności DNS cache (albo raczej sprzętu, na którym działało to jako jedna z wielu usług…). Skończyło się tak, że mały i lekki dnsmasq jest za mały dla większej osiedlówki, choć nadal fajny w rozwiązaniach domowych.

Pierwsze skojarzenie z DNS to oczywiście bind, którego „wszyscy znają, wszyscy używają i nadaje się do wszystkiego”. Autorzy unbound przekonują, że to niekoniecznie dobre podejście, więc – zachęcony tym, co znalazłem w sieci – postanowiłem przetestować wydajność bind vs. unbound.

Nie ma lekko. W Debianie nie znajdziemy gotowego pakietu z narzędziem do testowania wydajności serwera DNS. W ogóle nie ma (nie znalazłem) wydajnego narzędzia do tego. Jest queryperf, dostępny w źródłach bind (do samodzielnej kompilacji), ale do wydajności mu daleko – często obciąża maszynę porównywalnie, jeśli nie bardziej, niż sam testowany program. W prezentacji (http://www.infoblox.nl/content/dam/infoblox/documents/solution-notes/infoblox-note-ib-2000-performance-test.pdf – dead link) znalazłem skrypt:

#!/b in/sh
SECS=5
INPUT=qp.forward.master.cached
SERVER=10.34.31.2
# SECS is number of seconds to run test
# INPUT is input file
# SERVER is server IP
queryperf -s $SERVER -d $INPUT -l $SECS > out1 2>&1 &
queryperf -s $SERVER -d $INPUT -l $SECS > out2 2>&1 &
queryperf -s $SERVER -d $INPUT -l $SECS > out3 2>&1 &
queryperf -s $SERVER -d $INPUT -l $SECS > out4 2>&1 &
queryperf -s $SERVER -d $INPUT -l $SECS > out5 2>&1 &
queryperf -s $SERVER -d $INPUT -l $SECS > out6 2>&1 &
wait
grep ‘Queries per’ out? | awk ‘BEGIN { sum=0;}{ sum += $5;}
END {printf(“Total: %.1f qps\n”, sum);}’


Szybkie zapytanie na kanale IRC i… jedna osoba zgłasza, że przesiadła się na unbound i jest zadowolona; sugestii co do oprogramowania testującego brak, za to pojawia się koncert życzeń: jak już to jeszcze przetestować pnds_recursor, djbdns… i może bind10, bo podobno poprawiona wydajność. Robi się tego sporo, bo i lab z paroma maszynami wysyłającymi zapytania by się przydał, i testowanych demonów większa ilość. A miało być szybkie i proste zagadnienie na 1-2h.

Do tego problem danych testowych – każdy ma u siebie nieco inną charakterystykę ruchu, wyniki mogą się różnić dość znacznie, więc skąd wziąć dane? Jasne, można benchmarkować na podstawie własnych, rzeczywistych danych i będzie to najbliższe optymalizacji w danym przypadku, ale czy wartościowe dla innych? No i na pewno nie opublikuję takiego testowego zestawu danych. Jest też problem dostosowania konfiguracji do konkretnej platformy, na której uruchamiane będzie oprogramowanie (np. ilość wątków). Domyślny konfig jest różny dla różnych demonów, przy czym domyślny debianowy dla unbound ma się nijak do maszyny wieloprocesorowej. No i przydał by się tuning samego systemu pod kątem wydajności sieci, bo default w Linuksie jest raczej słaby.

Więcej pytań, niż odpowiedzi. Stanęło na tym, że pełnego testu nie zrobiłem. Za to puściłem szybki test na jakimś małym zestawie danych (kilkanaście wpisów). W ww. skrypcie zmieniłem liczbę procesów na 4, czas na 60 sekund i testowałem na laptopie (Intel Core i5). Nie do końca optymalnie, ale cóż, lepiej, niż pojedynczy proces. Poprzestałem więc na tym pseudobenchmarku na domyślnym konfigu – zabawa w optymalizację to grubsza sprawa, jeśli ma być zrobiona porządnie. Unbound wypadł bardzo dobrze. Mimo, że działał tylko na pojedynczym rdzeniu, wypadł dwukrotnie lepiej, niż bind.

Nie ukrywam, że chętnie poznam sugestie dot. danych testowych (takich, które można opublikować) i ew. doświadczeń z benchmarkowaniem DNS (cache). Jeśli się zbiorę i zrobię benchmark, to dane i wyniki będą opublikowane. Na razie stanęło na tym, że na moich dekstopach zmieniłem bind na unbound (tak, mam lokalne cache na desktopach od jakiegoś czasu, raczej eksperyment, kiedyś napiszę na ten temat).