wydawało mi się, że znam się na linuksie…

naprawdę tak było. uważałem, że wiem co i jak i gdzie.

a potem dostałem szybką serię:

  1. w inode'ach są przechowywane 3 czasy. wymień je!
    no to raczej proste – atime, ctime, mtime
  2. kiedy jest modyfikowany mtime?
    no … kiedy się plik zmodyfikuje. jego zawartość znaczy się.
  3. kiedy jest zmodyfikowany atime?
    przy dostępie/odczycie z pliku.
  4. to kiedy dokładnie? przy open() czy dopiero przy read()?
    ekhem. atime to “access time" czyli przy open()
  5. kiedy jest modyfikowany ctime?

i to zasadniczo był koniec.

poczułem się jakbym grał z tmarciem w urban reign i dostał magical combosa za 70% zdrowia.

czemu? a uważacie, że odpowiedziałem dobrze? (celowo nie podałem odpowiedzi na pytanie 5, bo to dłuższa sprawa).

pytanie 1 było proste. i odpowiedziałem prawidłowo.

pytanie numer 2. – źle. nie trzeba modyfikować zawartości. zawartość może pozostać ta sama. wystarczy, że poszedł write() do tego pliku. to nawet jest logiczne – po co kernel miałby porównywać to co było w pliku z tym co jest. ale odpowiedź jest zła.

pytanie number 3 – odpowiedź nieprecyzyjna, więc dostałem kontrę – pytanie 4.

które to pytanie zwaliłem. atime zmienia się przy faktycznym odczycie danych. syscall read().

no ale ctime to była większa porażka.

najpierw uparłem się, że ctime to “creation time". co jest bzdurą. potem sobie na szczęście przypomniałem, że to jednak change time.

no a kiedy jest aktualizowane?

stwierdziłem, że gdy aktualizowany jest inode.

i to jest nieprawda.

takie wyjaśnienie ctime'a znajdziecie wszędzie. włącznie z wikipedią (więc nie tylko ja żyję w niewiedzy, ale to marne pocieszenie).

sprawdzenie tego kiedy dokładnie zmienia się ctime zajęło mi trochę czasu. mnie i rozmówcom z dwóch kanałów ircowych (#perl i #postgresql), plus grep na źródłach kernela itd.

ctime zmienia się wtedy gdy zmienia się mtime *i dodatkowo* wtedy gdy zmieniają się inne niż *time wartości w inodzie.

kilka przykładów dla lepszego zrozumienia:

  • chmod i chown pliku zmieniają inode'a, więc zmienia się ctime
  • zmodyfikowanie pliku (dopisanie linijki) – zmienia mtime i zmienia wielkość pliku, więc zmienia się też ctime
  • zmodyfikowanie pliku (bez zmiany wielkości) – zmienia mtime więc zmienia też ctime.

to co podałem powyżej, może zasugerować, że prawdą jest, że ctime zmienia się przy zmianie danych w inodzie. ale nie.

wystarczy otworzyć plik do odczytu, odczytać coś. atime się zmienia, a ctime nie.

czyli – nie każda modyfikacja inode'a (atime jest w inodzie) modyfikuje ctime!

co zabawne. w kernelu w wersji 2.6.11 (pewnie w starszych też, i w kilku nowszych możliwe, że też), funkcja która aktualizuje mtime ma dodatkowy argument: int ctime_too. który jest potem sprawdzany i ctime jest modyfikowane tylko gdy ctime_too jest ustawione.

ale! w całych źródłach 2.6.11 (które przeszukał infi z #postgresql) wszystkie wywołania tej funkcji (inode_update_time) mają ctime_too ustawiany na 1!.

sprawdziłem źródła do 2.6.17.9 – w nich funkcja ta zmieniła nazwę na file_update_time i “zgubiła" drugi argument.

wnioski na koniec:

  1. kiedy uważasz, że wiesz już sporo na jakiś temat, pojawi się ktoś kto ci udowodni, że nie wiesz podstaw.
  2. teraz ja muszę wymyśleć jakieś pytanie by go (tego od pytań o czasy) zagiąć. jakieś pomysły?

akcje/udziały w ludziach? – reality check

daaaawno temu pisałem o pomyśle shawna hogana nt. kupowania akcji ludzi.

dziś jako pewnego rodzaju kontunuację tamtych pomysłów trafiłem na interesującą aukcję.

koleś (niejaki ron steen) licytuje – z ceną początkową $100.000 – 2% wszystkich swoich zarobków jakie będzie miał.

mówi kim jest, jakie ma wyniki z testów, co robi, dlaczego i jak.

co prawa – jak sam policzył – aby inwestor wyszedł na swoje, musiałby (on, ron) pracować aktywnie przez 40 lat ze średnią pensją $125.000 rocznie.

facet oferuje udział we wszystkim co zarobi lub wygra – jako pracownik lub właściciel firmy – w tym wygrane na loteriach (z tym, że jak zaznaczył, nie gra na loterii, więc szanse są jakby niewielkie.

ma cel – dojść do 30 milionów dolarów. 2% od tego – całkiem niezła kasa.
czy znajdzie chętnych – nie wiadomo, na razie było kilka pytań, ale żadnych ofert. wydaje mi się jednak, że jeśli ktoś mu taką kasę da, to na tym zarobi – facet z takimi pomysłami nie będzie biedował.

sieć w pociągu? standard. szybka siec w pociągu?

mając laptopa i komórkę można bez większego problemu zestawić sobie gprs'owe połączenie z w miarę dowolnego pociągu. pewnie nawet będzie działać (ledwo, bo ledwo, ale będzie).

w stanach (eh, dlaczego mnie tam nie ma) oddali właśnie do eksploatacji testowy kawałek interesującego połączenia.

na linii kolejowej od milbrae do palo alto (podany link pokazuje drogę dla samochodów, ale chodzi mi o ogólne pokazanie odległości) kursuje pociąg jadący z prędkością podróżną 79mph (niecałe 130km/h). i w rzeczony pociągu, na wspomnianej trasie (około 28 kilometrów) użytkownicy mają non stop dostęp do sieci poprzez łącze wimax (jeśli nie kojarzycie – łącze bezprzewodowe o teoretycznej przepustowości do 70mbit).

testy się odbyły, użytkownicy ściągali pliki, oglądali strumieniowane video. wszystko działało fajnie.

co dalej? rzecznik zapowiedział, że w ciągu do dwóch miesięcy można się spodziewać wimaxa na całej trasie z gilroy north do san francisco (coś koło 120 kilometrów).

2 miesiące. 120 kilometrów. 70mbit (rany, nawet wytestowane 2mbit to coś cudownego). i co jeszcze? całość będzie za darmo dla użytkowników tej linii kolejowej – caltrain.

kiedy nam to zrobi pkp?

aha. za newsa dziękuję tmarcowi.

encyklopedia samochodów

jeśli szukacie jakichś informacji na ogóle tematy – wikipedia jest zazwyczaj idealnym źródłem wiedzy.

a co jeśli szukamy informacji szczegółowszych z jakiejś konkretnej dziedziny? no cóż – szukamy źródła skupionego na tym specyficznym zagadnieniu.

aby wspomóc ludzi zafascynowanych motoryzacją, lub po prostu szukających informacji o swoim następnym samochodzie – powstał serwis wikicars.

znaleźć można tam wiele różnych gatunkowo informacji:

  • powody dla których warto kupić hybrydę
  • powody dla których nie należy kupować hybryd
  • omówienia konkretnych modeli samochodów
  • podpowiedzi co zrobić kupując samochód
  • zestawienia “naj-" (veyron jest dopiero 6 na liście najszybszych!)

i dużo innych.

site wystartował w czerwcu 2006 i to widać – ilość informacji, mimo, że spora, nie jest tak duża jak na wikipedii. ale myślę, że wystarczy dać im trochę czasu i będzie to zdecydowanie podstawowe źródło informacji o samochodach.

a co do czasu – wikicars zostało założone przez firmę internet brands – twórców/właścicieli kilku innych site'ów samochodowych (CarsDirect.com, Autos.com, i Autodata Solutions) – tak więc można mieć nadzieję, że kasa na finansowanie pasma i serwerów nie skończy się szybko.

z czego składa się bolid f1?

interesowało was kiedyś jak jest zbudowany bolid f1? pojazd który jest szybszy od praktycznie wszystkiego innego jeżdżącego po ziemi?

paul veroude, duński artysta, przy wspólpracy teamu f1 hondy przygotował interesującą pracę. 3200 części bolidu f1, zostało rozłożonych i zawieszonych na cienkich drucikach tak jakby bolid “wybuchł". każdą część można obejrzeć z każdej storny, zobaczyć co i jak się z czym łączy. fajne.

wybuchowe laptopy

(wstęp: piszę tego posta, jak i większość innych, z della latitude d610. i mam nadzieję, że on mi nie wybuchnie).

dell ma ostatnio drobne problemy z bateriami w laptopach.

najpierw zapalił sie laptop na konferencji w japonii:

dell banger1.jpgdell banger2.jpg

potem podobny los spotkał innego lapa, tym razem w stanach:

burneddell.jpg

i teraz – kolejna maszynka, tym razem w singapurze:

470_dell1.jpg 470_dell3.jpg470_dell4.jpg470_dell5.jpg470_dell6.jpg470_dell7.jpg

zaczynam się poważnie obawiać swojego della. do domu chyba go nie będę zabierał.

choć trzeba sprawiedliwie dodać, że nie tylko dell ma takie problemy. gdzieś czytałem (nie pamiętam gdzie) o laptopie apple'a który spalił się wraz z dywanem na którym leżał. właściciele ocenili straty na $15000.

czy wasze leptopy też wydają się groźne?

standard iso dotyczący bezpieczeństwa komputerowego

dowiedziałem się właśnie, że iso opublikowało standard (iso27001) tyczący się bezpieczeństwa systemów informatycznych.

jest to o tyle istotne, że biorąc pod uwagę ostatnie wydarzenia na świecie (zgubione laptopy z danymi ludzi, wycieki danych) mogę sobie bezproblemowo wyobrazić jak duże firmy zaczną wdrażać ten standard i dodatkowo będą go wymagać od podwykonawców.

dokładny standard można przeczytać poprzez zakup ($107 lub 90 funtów) – nawet jeśli nie zamierzamy (nie chcemy, nie stać nas, nie widzimy potrzeby) faktycznie uzyskać certyfikatu zgodności – zawsze wiedza tam zawarta, “best practices" i międzynarodowe standardy zachowania będą bardzo przydatne.

co by poczytać?

lubię czytać książki. podoba mi się ta aktywność. nie znoszę książek z mojej branży (ogólnie pojęta informatyka). wolę sensacje, kryminały, science fiction. coś z fabułą.

zdarza się, że usłyszę o jakiejś książce przypadkiem, ot ktoś zdanie rzuci w jakimś podcaście (tak ostatnio miałem z “pierścieniem" baxtera i książkami petera hamiltona). i no zasadniczo leżę. kupić? nie kupić? kupić. kilkanaście/kilkadziesiąt złotych to nie fortuna. w najgorszym razie nie przeczytam.

no i trafiłem niedawno na informacje o biblionetce. jak serwis znasz – omiń ciąg dalszy.

biblionetka jest serwisem gdzie możesz znaleźć recenzje książek pisane przez “zwykłych ludzi" ™.

każda wpisana książka ma swoje oceny, opis, no i recenzje. poza tym jest jeszcze forum, oraz część która zapowiada się fajnie, choć nie miałem jeszcze okazji przetestować: automatyczny “polecacz".

w bazie biblionetki jest już ponad 60 tysięcy książek. został zapisany ponad milion ocen.

książki mozna przeglądać działami, tytułami, autorami, najlepsze czy najgorsze. plus oczywiście wyszukiwarka (via google) 🙂

jeśli chcesz sprawdzić czy książka o której słyszałeś jest interesująca, bądź chcesz polecić jakąś komuś – w pełni polecam korzystanie z biblionetki.

nowa wersja slony’ego!

jak nie wiesz co to slony, to polecam zajrzenie na strone projektu i poczytanie. w skrócie – silnik replikacyjny do postgresa, działający jako replikacja asynchroniczna master-multi_slave.

silnik co trzeba dodać działający stabilnie, wygodnie i szybko.

ostatnio pojawiła się nowa wersja. a właściwie zapowiedź nowej wersji – prerelease wersji 1.2.

w niej – sporo ulepszeń. tym razem nie są to ulepszenia które pomagają zestawić replikację (jak większośc wersji 1.1.x), ale modyfikacje tego jak sam core slony'ego działa. efekt ma być murowany – szybciej, skuteczniej, mniej zasobożernie, bardziej monitorowalnie :):

  • najważniejsze – spore zmiany w zarządzaniu pamięcią. slony teraz wykrywa kiedy ma do czynienia z dużymi rekordami i replikuje je w inny sposób dzięki czemu nie zżera tyle pamięci co poprzednie wersje
  • szybko zapychana tabela sl_log_1 została wreszcie “dopalona". slony będzie co jakiś czas przełączał się między sl_log_1 i sl_log_2, i jak upewni się, że nic z tej nieaktualnej nie jest już używane, to będzie ją czyścił poprzez TRUNCATE – dzięki czemu rozmiar tych tabel zostanie mocno ograniczony
  • poprawki tyczące się wykonywania poleceń modyfikujących bazę danych poprzez mechanizmy slony'ego – teraz kolejne polecenia będą wykonywane oddzielnie dzięki czemu zniknie problem z odwoływaniem się do dopiero-co utworzonych tabel i/lub pól.
  • poprawki tyczące się uruchamiania slony'ego jako serwisu w windowsach (nie używam więc nie jestem w stanie zweryfikować)
  • sporo poprawek tyczących się stabilności działania slonyego. teraz ma już być zbędne uruchamianie slonego przez watchdoga.

pełna lista zmian dostępna jest w tej chwili via cvsweb.

chcesz być sławny? opisany w książce?

odbywa się właśnie aukcja (kończy się w środę, 12 lipca o 18:15) zwycięzca której zostanie uhonorowany w specyficzny sposób – jego imię stanie się imieniem głównego bad-guya w nowej książce andrzeja pilipiuka o niejakim wędrowyczu 🙂

to byłoby dosyć interesujące gdyby nie to, że już teraz kwota licytacji przekroczyła 1000 pln, a na tyle mnie chwilowo nie stać 🙂 ale pomysł świetny.