coca cola jako sos?

znalazłem ostatnio przepis na kurczaka w coca-coli.

stwierdziłem, że zrobię. wynik wstępny: dobre. spodziewałem się czegoś tragicznego, a wyszło całkiem całkiem. na tyle dobrze, że będę dalej testował (co jakiś czas) jak najlepiej udoskonalić przepis.

tym razem – jako, że była to tylko próba – nie ma zdjęć.

ale przepis jest ultra trywialny.

pierś kurczaka (ilość zależna od apetytu). wrzucamy w brytfannę wysmarowaną masłem (używam szklanej, ale dowolna się nada).

osobno przygotowujemy sos: mieszamy coca-colę z … ketchupem. w proporsji 1:1. czyli – filiżanka coli, filiżanka ketchupu.

sosu musi być tyle by po wlaniu do brytfanny przykryło kurczaka w całości.

do tego trochę soli i pieprzu – do smaku. sam użyłem ketchupu hellmannsa – ostrego. oczywiście cola standardowa, a nie żaden “light".

brzmi mało ciekawie? poczekajcie aż zmieszacie colę z ketchupem. wygląda zdecydowanie tak sobie.

ale, przemóżcie się. mieszankę kurczak w sosie, zostawcie gdzieś na boku na kilka godzinek. później: piekarnik na 180 stopni, 40 minut pieczenia i gotowe.

do tego jakiś dodatek typu ryż i już.

całość jest prosta jak gwóźdź. i całkiem (szokujące) smaczna.

otwieranie samochodów piłką tenisową

strasznie mi się spodobało, że amerykanie czują się przerażeni, bo ktoś tam pokazał jak otworzyć samochód przy pomocy piłki tenisowej.

podczas gdy dokładnie tej samej techniki użyto w drugiej części psów pasikowskiego, gdy franzowi, wolfowi i młodemu ukradziono na stacji benzynowej samochód, po czym oni kradną inny by gonić złodziei. to był rok 1994. i już wtedy była to stara sztuczka.

mniej wirusów. mniej niż …

niż maili z phishingiem!

po raz pierwszy w historii zdarzyła się taka sytuacja, że jest więcej maili phishujących niż takich które roznoszą wirusy.

czyż to nie słodkie? bardziej grozi nam to, że ktoś konkretnie nam ukradnie kasę z konta niż to, że zainstaluje wirusa i użyje go do okradnięcia innych. bomba.

czym zrazić użytkowników

jeden z najinteligentniejszych blogopisarzy – guy kawasaki napisał interesujący artykuł w którym w kilku prostych punktach zliczył co możne zrobić firma typu web 2.0, aby zrazić swoich użytkowników do siebie.

lista zawiera uzasadnienia, ale tak pokrótce:

  1. wymuś natychmiastową rejestrację
  2. używaj długich urli
  3. używaj okien bez urli – tak aby nie dało sie zbookmarkować
  4. nie daj użytkownikom searcha
  5. nie dawaj prostej metody do dodawania bookarków na popularnych serwisach social bookmarking (jak del.icio.us)
  6. ogranicz metody kontaktu do emaila. lub lepiej: do formularza na www.
  7. nie dawaj feedów rss i list mailingowych
  8. wymagaj powtarzania wpisywania adresów email
  9. nie dopuszczaj “@" jako znaku w nazwie użytkownika
  10. sprawdzaj wielkość liter w nazwie użytkownika i haśle
  11. ograniczaj ilość osób mogących komentować. a komentarze moderuj.
  12. stosuj catpchę
  13. wysyłając maile nie załączaj podpisu z danymi kontaktowymi
  14. obsługuj tylko internet explorera

do każdego punktu są wyjaśnienia. i z każdym praktycznie się zgadzam. zwłaszcza punkt 6 mnie zawsze drażnił.

agregaty wielowartościowe

w 8.2 pojawiły się agregaty wielokolumnowe. muszę przyznać, że nie bawiły mnie za bardzo dopóki nie trafiłem na swój dawny post na google groupsach.

tyczy się on tego jak zapisać agregat łączący wiele tekstów w jeden – rozdzielony znakiem definiowanym w zapytaniu.

nie był to kod ładny.

saint zaproponował inne rozwiązanie, ale miało one w/g mnie dwie wady:

  1. konieczność obcinania końcowego separatora.
  2. zwraca pusty string a nie null w przypadku odpalenia na pustym zbiorze – a ja wolę null'a 🙂

oczywiście obie te rzeczy można prosto poprawić lekko modyfikując zapytanie, ale wolałbym by logika była w funkcjach.

no i wreszcie. dzięki 8.2 można zrobić coś takiego:

CREATE OR REPLACE FUNCTION agg_text_sum(in_base TEXT, new_text TEXT, separator TEXT) RETURNS TEXT AS $BODY$
DECLARE
BEGIN
IF in_base IS NULL THEN
RETURN new_text;
END IF;
RETURN in_base || separator || new_text;
END;
$BODY$ language 'plpgsql';
CREATE aggregate sum(TEXT, TEXT) (
sfunc = agg_text_sum,
stype = TEXT
);

a potem można to stestować:

CREATE TABLE table_names as SELECT oid::INT4 as id, relname::TEXT as table_name FROM pg_class  WHERE relkind = 'r';
SELECT sum(table_name, ', ') FROM table_names;

i już. separator można dowolnie zmieniać

nie jest to może szczytowe osiągnięcie w inżynierii oprogramowania, ale może się przydać.

ekstremalna wycieczka

forbes opublikował kolejną ze swoich interesujących list.

tym razem jest to lista najniebezpieczniejszych miejsc na świecie. lista przygotowana została w oparciu o prace dwóch firm zajmujących się oceną ryzyka.

nie jest to może  lista dla wczesowiczów. ale zdaża się, że biznesmeni muszą podróżować w dziwne miejsca – bo np. akurat tam są złoża jakichś minerałów.

lista – poza oceną stopnia niebezpieczeństwa poszczególnych regionów, informuje także gdzie można wynająć odpowiednią ochronę i jaki poziom ochrony jest konieczny w danym miejscu.

przydatne. dla niektóry. dla innych po prostu ciekawe.

8.2.2 i inne

na ftp'ie pojawiły się nowe wersje postgresa – 8.2.2, 8.1.7, … – ogólnie – nowa wersja z każdej wersji x.y aktualnie utrzymywanej (czyli od 7.3 wzwyż).

co ciekawe – nie pojawiła się żadna informacja o tej wersji na webie ani na listach dyskusyjnych – zakładam, że oficjalna informacja wyjdzie za chwilę.

w paczce z postgresem, w danych nt. wydań jest data wydania: 2007-02-05. czyli za 3 dni.

a co jako zmiany?

poprawki związane z bezpieczeństwem – w tym bardzo ważna pozwalająca klientowi czytanie pamięci procesu postgresa – przez co można dostać dostęp do danych do których nie powinno być dostępu.

poza tym – jak zawsze przy nowych wersjach gdzie podbijana jest ostatnia cyfra – żadnych nowych funkcjonalności. trochę patchy przyspieszających, trochę poprawek łatających jakieś błędy.

ogólnie – warto instalować.

pdf standardem iso?

pewnie większość z was zetknęła się kiedyś z plikami w formacie pdf. miły format. darmowy czytnik (nawet sporo). możliwość darmowego tworzenia z openoffice'a.

teraz, adobe stwierdziło, że obecna wersja formatu – 1.7, jest już na tyle dojrzała, że można ją przedstawić pod obrady iso i aiim, w celu ustanowienia standardu w oparciu o tenże format.

standard ten byłby otwarty, w tym – otwarta byłaby pełna specyfikacja. specyfikacja która nigdy w całości otwarta nie była – czasem można było zobaczyć to, czasem co innego, ale nigdy całość.