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ść.

odcinania balastu ciąg dalszy

ibm znowu odcina zbędny balast. tym razem pozbyli się działu drukarek.

dział został wydzielony do oddzielnej firmy (infoprint solutions), której 51% akcji zostało sprzedane ricoh'owi za 723 miliony dolarów. pozostałe 49% ma być odkupione od ibm'a w ciągu 3 lat.

na transakcji zyskują obie strony – ibm – pozbywa się biznesu który jest zupełnie na boku głównego nurtu działalności firmy. ricoh – od lat produkował te drukarki (a przynajmniej sporą część tego co w środku), teraz sam walczy o rynek, ale walczy z pozycji firmy mało znanej. przejęcie marki ibm'a da im dodatkowego kopa w staraniach o zdobycie lepszego miejsca na rynku.

sprawdzanie które wiersze w tabeli są zalockowane

greg sabiano mullane na swoim blogu dał kolejny popis kreatywnego myślenia.

tym razem opisał w jaki sposób prosto sprawdzić które wiersze w tabeli są zalockowane.

metoda którą opisał na pewno jest przyjemna przy dużych ilościach rekordów, ale do prostego przejrzania małych tabel – w 100% się przyda. polecam przejrzenie – zawsze można się czegoś nauczyć – nawet jeśli kod robi coś czego się samemu nie potrzebuje.