Author: depesz
ciąd dalszy wywiadu z bjornem stroustrupem
na mit technology review pojawiła się druga część wywiadu z twórcą c++.
tym razem mówi o przyszłości, trendach, przykładach świetnego kodu, o tym czy i co zastąpi programowanie obiektowe oraz o tym czy .net jest spadkobiercą c++ 🙂
warto przeczytać.
zdrowa coca-cola
w 2007 roku coca-cola ma wypuścić nowy napój – diet coke plus.
napój ten będzie bazował na diet coke (coca-cola light), ale będzie dodatkowo wzbogacany o witaminy i minerały.
czy to oznacza, że koncern chce walczyć z wizerunkiem niezdrowej, szkodliwej coli? tylko co ze smakiem?
pepsi ma wypuścić odpowiedź – napój o nazwie tava rok później.
jedzenie tłuszczu nielegalne?
władze nowego jorku zdelegalizowały używanie tzw. “trans fats" (tłuszczy jakichś tam, ogólnie – zwierzęce, niezdrowe).
z jednej strony ok – tłuszcze te (może ktoś mi podpowie jak to się tłumaczy na polski) są niezdrowe, prowadzą do kupy chorób. ale, kurza wasza melodia, to moje prawo żreć co chcę.
wygląda na to, że władza tamże uznała, że mieszkańcy są tak głupi, że nie potrafią podjąć świadomej decyzji o tym co zjedzą (nota bene pewnie mają rację). problemem jest to, że takie ubezwłasnowolnienie ma kupę wad:
- powoduje, że od groma ludzi nagle stanie się przestępcami – wystarczy przygotowanie foie gras.
- zwalnia ludzi od myślenia
- wchodzi z butami z prywatne życie prywatnych ludzi
- jest prawem martwym – nikt normalny nie będzie się tym przejmował – tak jak np. limitami prędkości. tzn. do czasu aż pojawią się bojówki i będzie wydany pierwszy wyrok – śmierć przez powieszenie za podanie klientowi kotleta smażonego na smalcu.
ci co mnie znają, wiedzą, że ogólnie stany mi się podobają. wiem, że mają swoje problemy, ale po prostu podoba mi się ten kraj (niestety nie byłem). i wiem, że jest przynajmniej kilka osób które potraktują tę informację jako wyraz starczej demencji. zdarza się. ale nawet ja – lubiący amerykę – nie potrafię zrozumieć czym się kierowały elity polityczne uchwalając taką bzdurę.
nowości w postgresie 8.2 – … jednostki w postgresql.conf
dziś malutki wpis 🙂
w 8.2 w pliku konfiguracyjnym przy parametrach przy których jest pojęcie jednostki pojawiły się kody tych jednostek. np. shared_buffers, kiedyś podawane jako liczba bloków 8 kilobajtowych, teraz jest wyrażane po prostu jako 20000kB (na przykład).
znakomicie ułatwia to czytanie plików konfiguracyjnych – już nie trzeba się zastanawiać, czy dana wartość jest w bajtach, kilobajtach, blokach czy czymkolwiek innym.
lista parametrów objętych tą zmianą:
- authentication_timeout
- shared_buffers
- temp_buffers
- work_mem
- maintenance_work_mem
- max_stack_depth
- bgwriter_delay
- checkpoint_timeout
- checkpoint_warning
- effective_cache_size
- log_rotation_age
- log_rotation_size
- autovacuum_naptime
- deadlock_timeout
alternatywna ścieżka kariery
ostatnio po sieci przetoczyła się lawina komentarzy do tego co opisali pracownicy firmy mcafee.
cóż tak szokującego opisali? otóż, zgodnie z prezentowaną przez nich tezą, mafie wszelkiego rodzaju zatrudniają młody hackerów w celach zarabiania na cyberprzestępczości.
podobno stosowane są metody rodem z kgb:
- przekupywanie
- szantaż
- podstawianie “wabia"
i inne.
w/g autorów organizacje przestępcze werbują nawet 14 latków. zlecają im początkowo proste rzeczy – kontrola nad botnetem, rozesłanie spamu. potem zadania robią się coraz trudniejsze. i zyskowniejsze.
część kandydatów jest wybierana spośród technicznie zaawansowanych uczniós kierunków nie-informatycznych – w celu wyszkolenia i osadzenia ich w jakichś korporacjach jako “sleepers" (śpiących? jak to przetłumaczyć) – np. w celu późniejszego ataku typu szpiegostwo przemysłowe.
młodych pcha w objęcia mafii kilka rzeczy – po pierwsze – kasa. za proste zadania dostaje się relatywnie spore pieniądze, ryzyko jest niewielkie więc łatwo się wciągnąć i potem robić trudniejsze i bardziej ryzykowne rzeczy. po drugie – w sukurs mafiozom przychodzi wrodzony w nastolatkach bunt. przeciwko rodzicom, przepisom, szkole, wszystkim.
wstąpienie do gangu i ddosowanie serwisów nowoczesnym odpowiednikiem zapijania się starszych pokoleń? no cóż – przynajmniej są z tego pieniądze 🙂
tapeta na dziś
jak się obronić przez 100000 ataków miesięcznie?
w zeszłym roku microsoft odnotował średnio 100 tysięcy ataków na swoją sieć i serwisy miesięcznie. to oznacza, że co 30 sekund ktoś próbuje się włamać lub zhackować ich sieć.
to całkiem sporo.
jednocześnie – firma z redmond mocno promuje wśród pracowników korzystanie z ras'a – w dużym skrócie – to taki vpn.
mając taką ilość ataków, taką ilość ludzi którzy nie lubią firmy – jak się zabezpieczyć? na ten temat napisał ostatnio martin heller w internetowym wydaniu computer worlda.
warto ten artykuł przeczytać choćby po to by podchwycić pewne pomysły/idee.
świat się kończy – apple sprzedaje tanie komputery
tanie, to może za dużo powiedziane. ale “tańsze" – już nie.
ed burnette z zdnet'u porównał ceny laptopów: apple i dell. najpierw takie mocno “wypasione" a potem wersje tańsze, prostsze.
starał się dobrać maksymalnie zbliżone konfiguracje – oczywiście idealnie takich samych się nie da.
wynik?
w segmencie high-end apple za $2699 sprzedaje to co dell za $3222. różnica w cenie: $523. za ten pieniądze dell dorzuca lepszą rozdzielczość, wifi obsługujące 802.11a i gwarancję w domu.
802.11a mnie nie obchodzi. gwarancja w domu. no cóż. niby miłe, ale akurat mam pewnie doświadczenia z serwisem della, więc powiem tylko: to nie jest tak piękne jak na to wygląda. wyższa rozdzielczość natomiast to zdecydowany plus.
natomiast apple mimo niższej ceny też dał radę wstawić coś czego konkurencja nie dała: kamerę do wideokonferencji, podświetloną klawiaturę, dłuższy support (90 zamiast 30 dni) oraz fakt iż ich laptop jest mniejszy i lżejszy.
kamera – fajna. przyda się może jak będę miał więcej znajomych z kamerami. podświetlana klawiatura – mogę żyć bez tego – na klawisze i tak nie patrzę. support – obym nie potrzebował. ale fakt, że jest lżejszy mocno do mnie przemawia.
potem było porównanie lapów tańszych.
tym razem dell zaproponował rozwiązanie o niższej cenie: $1037, a apple o ciut ($187) wyższej: $1224.
i znowu są pewne rzeczy dodawane. w dellu dorzucili więcej portów usb (4 zamiast dwóch). sorry, ale jakoś mnie to nie wzrusza. korzystam z jednego – maksymalnie dwóch.
apple natomiast za te 187 dolarów dorzucił: kamerę, dłuższy support, oraz znowu – lap jest mniejszy i lżejszy.
i muszę przyznać, że oferta apple'a wygląda zdecydowanie lepiej. nie lubię tej firmy. uważam ich taktyki, zagrania i sposób postępowania z ludźmi za fatalny. maci ogólnie uważam za pomyłkę i dno. ale nie zmienia to faktu, że dają więcej w tej samej cenie, lub tyle samo za mniejszą cenę. czyli są lepszym wyborem. nawet jeśli docelowo będziemy na tym używać windowsa czy linuksa.
nowości w postgresie 8.2 – … nieblokujące tworzenie indeksów
ta poprawka mnie osobiście ratuje życie, ale mam świadomość, że tyczy się relatywnie niewielkiej ilości osób.
tworzenie indeksu (create index, create unique index) jest operacją blokującą.
w czasie tworzenia wszelkie operacje insert/update/delete na tabeli na której jest robiony indeks są wstrzymane.
zazwyczaj nie jest to problem – create index trwa np. kilka sekund. ale pojawia się problem co z większymi bazami, np. serwisami aukcyjnymi. tabele są spore, ruch jest non stop. jeśli np. zakładałbym indeks na tabeli “aukcje" w której jest kilkadziesiąt milionów rekordów, to tworzenie indeksu może spokojnie potrwać kilkanaście minut.
a w tym czasie wszystkie insert/update/delete by były wstrzymane. co oznacza, że jak ktoś będzie chciał dodać nową aukcję, to będzie czekał, czekał, a po 3 minutach przeglądarka go rozłączy i wyświetli komunikat o time-out'cie. cienko. rzekłbym nawet, że fatalnie.
czy nic nie da się zrobić? wcześniej – nie dawało sie. ale teraz jest lekarstwo:
# CREATE INDEX CONCURRENTLY ble ON tabelka (pole); # CREATE UNIQUE INDEX CONCURRENTLY ble_u ON tabelka (pole, inne_pole);
indeksy tworzone z klauzulą CONCURRENTLY nie blokują zapisów! czyli wszystko działa tip-top.
haczyki? zawsze są. najważniejszy jest taki, że tworzenie indeksów w ten sposób jest wolniejsze. ale to za bardzo nie przeszkadza.
z innych rzeczy:
- polecenie reindex nie porafi użyć “concurrently"
- jeśli create index concurrently się wywali – w systemie zostanie tworzony indeks zawieszony w dziwnym stanie – niby jest, ale system z niego nie korzysta – przed ponowieniem próby założenia tego indeksu trzeba go skasować.
- jeśli tworzymy indeks typu UNIQUE, to warunki unikalności są sprawdzane w trakcie tworzenia indeksu (dokładniej to w czasie drugiej fazy tworzenia indeksu). dzieje się tak mimo faktu iż nieistniejący jeszcze indeks nie może być użyty do wyszukiwania. jeśli w trakcie tworzenia indeksu polecenie create unique indeks wykryje powtarzające sie wartości – wywali się – i tu trzeba będzie skasować popsuty indeks (vide punkt wyżej)
- można robić nieblokująco zarówno indeksy zwykłe jak i wielopolowe, funkcyjne czy częściowe.
- można robić jednocześnie wiele indeksów w sposób nieblokujący, z tym, że nie więcej niż jeden na tabelę.
- zwykły create index może być użyty w transakcji, ale create index concurrently – już nie.
- tak samo jak przy zwykłych indeksach, tak samo przy tworzeniu nieblokującym nie są dopuszczone zmiany definicji tabeli na której tworzymy indeks
jak widać jest to funkcjonalność lekko (w/g mnie) jeszcze niewygładzona, ale zakładam, że rzeczy typu – pozostający “cień indeksu" po błędnym indeksowaniu – zostaną wyeliminowane dosyć szybko.
a poza tym – fenomenalna funkcjonalność. od zawsze mi jej brakowało.