postgresql summit – nowości

10 lat temu, na małym webserwerze w kanadzie został wystawiony w internecie – po raz pierwszy – projekt postgresql.

aby uczcić tę rocznicę, a także by dać developerom możliwość spotkania się osobiście (i pewnie uroślinnienia :), została przygotowana mała, 2 dniowa, konferencja – postgresql summit.

są na niej przedstawiciele z praktycznie wszystkich liczących się firm około postgresowych: afilias, enterprisedb, greenplum, command prompt, sra, sun, pervasive i inni.

pierwszego dnia (wczoraj) było kilka interesujących wystąpień.

jednym z najważniejszych technologicznie (w/g mnie) był pokaz przygotowany przez korry'ego douglasa (autora niezłej książki o postgresie, aktualnie pracującego w enterprise db). korry pokazywał przygotowany przez enterprisedb mechanizm pozwalający na np. debugowanie funkcji plpgsql'owych.

całość podobno ma około 10 linii kodu, dzięki czemu wpływ tego kodu w momencie gdy nie korzystamy z niego jest minimalny.

a dodatkowo całość nie została zrobiona jako debugger, tylko zestaw hook'ów w backendzie postgresql'a. dzięki czemu w oparciu o ten sam mechanizm będzie można budować profilery, optymalizatory czy tracery.

wstępne szacunki mówią, że kod zostanie włączony do źródeł postgresa przed wydaniem 8.2, więc jest spora szansa, że w 8.2 będzie już debugger z prawdziwego zdarzenia (z breakpointami, wykonywaniem krokowym, inspekcją zmiennych itd.).

interesujące jest to, że kod został przygotowany w taki sposób by dało się do niego (jako interfejs) dopiąć cokolwiek – w sensie, nie jest to monolityczne rozwiązanie, interfejsy będzie można mieć różne. np. phpmyadmin, czy dowolny inny program tego typu.

pozostaje czekać kiedy 8.2 się ukaże 🙂

polak zwycięzcą european code jam

tomek czajka wygrał pierwszą edycję organizowanego przez google konkursu european code jam.

przypomnieć trzeba, że w 2003 wygrał już w topcoder open, a i wcześniej brał udział i wygrywał w wielu konkursach.

wielkie gratulacje!

google checkout – reality check

od kilku miesięcy było głośno o nowym produkcie google'a – wtedy jeszcze oficjalnie nieistniejącym.

wymyslona nazwa – gbuy okazała się chwytliwa, ale nieprawdziwa. oficjalna nazwa gotowego serwisu, jest zdecydowanie mniej chwytliwa, ale jednocześnie bardziej oddaje biznesmodel tego produktu: google checkout.

projekt ten ma pełnić rolę uniwersalnej metody płatności dla każdego, wszędzie.

do tej pory – jeśli kupowałem w amazonie, a potem w barnes & noble, a potem np. w buy.com – wszędzie musiałem podawać kupę informacji – numer karty, date ważności, nazwisko właściciela, dane dostawy itp, itd.

google checkout rozwiązuje ten problem. dane podaje się raz (system umożliwia przechowywanie dowolnej ilości danych nt. różnych kart kredytowych czy adresów dostaw), a potem – o ile sklep w którym kupujemy obsługuje płatności google checkout, klikamy w ikonkę, podajemy nazwę i hasło swojego konta google (standardowe konto gmail) – i już. wszystkie dane przekazane w sposób bezpieczny.

w dodatku – aby chronić nas google (z tego co zrozumiałem z filmu pokazującego możliwości) nie przekazuje danych nt. kart do sprzedawcy, tylko w pełni pośredniczy między sprzedawcą, a systemem weryfikacji płatności. czysto, szybko i bezpiecznie.

cały pomysł uważam za fenomenalny. czy się przyjmie? to zależy od tego ile sklepów będzie się integrowało z google checkout. jak na razie wygląda to nieźle:

  • masz kartę w citi? zarejestruj ją w google checkout a dostaniesz dodatkowe $5 na drobne wydatki
  • kup w 24 sklepach – dostaniesz rabat $10 lub $20
  • duże nazwy na liście już obsługujących google checkout: starbucks, buy.com, levi's, cd universe i inni
  • co najmniej 80 sklepów już obsługuje – zakres towarów:
    • prenumeraty pism
    • płyty cd, dvd z muzyką, filmami i grami
    • komórki
    • komputery i akcesoria (np. sprzęt sieciowy)
    • kawa, herbata
    • ciuchy
    • buty
    • biżuteria
    • aparaty fotograficzne i akcesoria
    • zegarki
    • sprzęt sportowy
    • i inne

jak widać – system google'a ma już sporo partnerów. czy się przyjmie – ciężko powiedzieć, ale potęga google'a może pomóc – zwłaszcza jak weźmie się pod uwagę inny serwis google'a – wyszukiwarke produktów i cen – froogle.

kiedy pierwszy sklep obsługujący google checkout w polsce? i kto? merlin? a może allegro użyje tego by zyskać kilka dodatkowych punktów przeciwko ebay.pl i paypalowi?

czy wiemy co jemy?

natrafiłem ostatnio na usenecie post informujący o tym jak sprawdzić jakie jajka się kupiło.

niby nic – jajko to jajko. ale w sumie – co jakiś czas się zjada takie coś, o pochodzeniu czego niewiele osób wie coś więcej, poza tym, że “wychodzi jakoś z kury".

myślę, że warto przeczytać – choćby po to by mieć świadomy wybór. są jajka od kur z klatek, są i takie z kur które mają rajskie życie, z bieganiem itd. i nie mówię, że kupowanie jajek od kur chowanych w złych warunkach jest sensu stricte złe. chodzi mi o to, aby mieć świadomy wybór. kupuję takie jajka i wiem jak żyją kury z których te jajka są (a przynajmniej co deklaruje producent, ale biorąc pod uwagę, że większość jajek w handlu ma stempelek “3-PL-xxxx", to znaczy, że raczej nie kłamią).

chcesz przeczytać? kliknij tu.

jeśli natomiast przeczytałeś i stwierdziłeś (jak moja pani), że trzeba to rozpropagować – tu jest link do pdf'a którego możesz wydrukować i rozdawać czy robić cokolwiek innego ci do głowy przyjdzie – pdf skopiowany ze strony jajka.org.

myślisz, że twój system komputerowy jest skomplikowany i nieprzyjazny?

na pewno nie 🙂

jest miły i sympatyczny.

w 2004 roku general services administration w stanach wdrożyła nowy system komputerowy bazujący na rozwiązaniu sap'a. odbyły się szkolenia dla użytkowników (podobno były one robione “na sucho" – bez dostępu do działającej kopii systemu!). nie pomogło.

system był tak skomplikowany, że doprowadzał ludzi do łez (dosłownie). zapisanie edytowanego dokumentu wymagało wykonania 15 (piętnastu!) kroków. czysta rozkosz dla wielbicieli “usability" 🙂

klasyka książek informatycznych

chciałes kiedyś przeczytać którąś z klasycznych pozycji informatycznych, ale brakowało czasu na szukanie, albo kasy na drogie wydania?

teraz możesz ściągnąć z sieci. ta strona zawiera linki do sporej kolekcji klasycznych pozycji, jak choćby:

  • “The Anatomy of a Large-Scale Hypertextual Web Search Engine" założycieli google'a: sergeja brina i larry'ego page'a
  • “A Relational Model of Data for Large Shared Data Banks" – twórcy obecnie używanego modelu baz danych – edgara codd'a
  • “Computer Programming as an Art" – legendy, donalda knutha
  • “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" – ludzi których praca jest bazą większości obecnie używanych kryptosystemów – rivest, shamir i adleman (rsa)

i wiele innych 🙂

słowo które pozostaje słowem nawet jak mu się kasuje literki

na diggu pojawiła się informacja, że w języku angielskim jest 9 literowe słowo z którego można odejmować literki i nadal pozostaje prawidłowym słowem.
w toku dyskusji komentującej ktoś wylistował sporo takich słów.

stwierdziłem, że zobaczę jak to w polskim.

wziąłem najnowszą listę słów w polskim (zakładając, że używasz *ubuntu lub debiana, paczka nazywa się wpolish, dla innych dystrybucji/systemów pewnie też jest). (nie gwarantuje poprawności słów z tego słownika. po prostu taki miałem pod ręką)
napisałem mały/prosty programik (kod poniżej) i odpaliłem.

pomieliło, pomieliło, zeżarło 400 mega ramu, i dostałem wyniki.

najdłuższe słowa jakie znalazłem to:

  • odkupicielskiej : o => ok => oku => okup => okupi => okupie => okupcie => okupicie => odkupicie => odkupiciel => odkupicieli => odkupicielki => odkupicielski => odkupicielskie => odkupicielskiej
  • odkupicielskimi : o => ok => oku => okup => okupi => okupie => okupcie => okupicie => odkupicie => odkupiciel => odkupicieli => odkupicielki => odkupicielski => odkupicielskim => odkupicielskimi
  • popodgryzaniach : r => rc => rac => rach => ranch => ranach => pranach => praniach => poraniach => pograniach => pogrzaniach => pogryzaniach => poogryzaniach => poodgryzaniach => popodgryzaniach
  • popodgryzaniami : a => pa => pan => pana => panam => panami => pranami => praniami => poraniami => pograniami => pogrzaniami => pogryzaniami => poogryzaniami => poodgryzaniami => popodgryzaniami
  • prasowalniczymi : s => si => soi => sowi => asowi => rasowi => prasowi => prasowni => prasowani => prasowalni => prasowalnic => prasowalnicy => prasowalniczy => prasowalniczym => prasowalniczymi

czyli 5 słów 15 literowych. 🙂 polski daje lepsze (dłuższe) słowa niż angielski 🙂 YEAH!

kod:

#!/usr/bin/perl
use strict;
use Text::Iconv;
use Fatal qw( open );
 
my $converter = Text::Iconv->new("iso-8859-2", "utf-8");
my @words = ();
my %paths = ();
 
open my $fh, "<", "/usr/share/dict/polish";
while (my $l = $converter->convert(lc <$fh>)) {
$l =~ s/^\s*//;
$l =~ s/\s*$//;
next if $l eq '';
my $len = length $l;
$words[$len]->{$l} = 1;
}
close $fh;
 
my @possible_words = sort keys %{ $words[1] };
for my $word (@possible_words) {
$paths{$word} = [ $word ];
}
 
while (1) {
printf "Możliwe (%ux%u): %s\n", scalar @possible_words, length $possible_words[0], join(", ", @possible_words);
 
my %found = ();
my $new_len = 1 + length $possible_words[0];
 
for my $word (@possible_words) {
my @to_check = get_check_words($word);
 
my @existing = grep { $words[$new_len]->{$_} } @to_check;
 
for my $found_word (@existing) {
$paths{$found_word} = [ @{ $paths{$word} }, $found_word ];
$found{$found_word} = 1;
}
}
 
last if 0 == scalar keys %found;
for my $word (sort keys %found) {
print "  - $word : " . join(" => ", @{ $paths{$word} } ) . "\n";
}
@possible_words = sort keys %found;
}
 
exit;
 
sub get_check_words {
my $word = shift;
my @reply = ();
for my $i (0..length $word) {
for my $char ("a".."z", qw( ą ć ę ł ń ó ś ź ż ) ) {
my $temp = $word;
substr($temp, $i, 0) = $char;
push @reply, $temp;
}
}
return @reply;
}

naprawdę cenne dane?

masz jakieś naprawdę cenne dane? i potrzebujesz je przenieść? może ten produkt jest rozwiązaniem: wodo, ognio, kulo -odporny pen-drive, o pojemności od 32MB to 2GB. cena jeszcze nie ustalona, ale pewnie nie będzie niska 🙂

czy to jeszcze laptop?

acer zademonstrował nowego laptopa. z monitorem o wielkości 20 cali!

w środku 256 mega ramu dla grafiki (nvidia 7600), hd-dvd, bluetooth, wbudowana kamerka 1.3 megapixela i 2 dyski 120G spięte w raid.

potwór waży coś koło 8-9 kilogramów. ceny nie podano (może i dobrze).

po co kupować taki sprzęt? tego nie da się nosić ze sobą… a może się da?