Netcamp po raz pierwszy.

Nieco o Netcampie słyszałem, ale nigdy nie miałem okazji się wybrać. Albo mnie nie ciągnęło, albo nie miałem czasu. Wczoraj pierwszy raz nawiedziłem imprezę, głównie za sprawą prezentacji (współ)prowadzonej przez Malina. Krótkie wrażenia poniżej.

Organizacja Netcampu

Tematy były trzy, z czego okazało się, że w sumie tematycznie prezentacja na którą przyszedłem (FilesTube) jest najbardziej odległa od moich zainteresowań. Założenia prowadzenia prezentacji (szczytne) są spisane na stronie. Pierwszy mały zgrzyt – na miejscu, kilkanaście minut przed startem, prelegenci dowiedzieli się, że „ze względu na oszczędność czasu na podłączanie sprzętu” nie będą mogli prowadzić na swoim sprzęcie. Co prawda stanęło na tym, że i tak każdy prowadził na swoim sprzęcie (nawet na jednym Linuksie było – dało się uruchomić rzutnik ;-)), ale niesmak pozostał – o takich rzeczach uprzedza się grubo wcześniej, albo nie wygłupia się z takimi ograniczeniami – skoro ktoś chce „przymierzyć” wcześniej, czy wszystko działa, ew. skonfigurować, a potem tylko podłączyć (get real, i tak były przerwy po 10-15 minut między prezentacjami), to nie widzę sensu utrudniania.

Kolejne dwa minusy to: brak miejsca na kurtki/płaszcze (może coś było, ale słabo eksponowane, bo wielu ludzi siedziało z kurtkami) oraz słaba wentylacja. O ile kiepską wentylację jestem w stanie przyjąć do wiadomości (chociaż można przynajmniej w przerwie wietrzyć – w czasie prezentacji hałas z ulicy może przeszkadzać), to szatnię warto wyeksponować (jeśli jest) lub zrobić jakąś (zwykłe wieszaki w liczbie kilku starczą). No i jak widać, że minimum połowa ludzi kisi się z kurtkami, to można – chociażby zapowiadając przerwę – powiedzieć o szatni (jeśli jest). Tyle krytyki strony organizacyjnej – poza tym było OK, bez zgrzytów ze sprzętem i prowadzeniem.

Prezentacja pierwsza

Prezentacja pierwsza – klaster obliczeniowy na bazie komputerów poleasingowych. Trochę się kiedyś interesowałem tematyką sprzedaży mocy obliczeniowej i… to nie działa. Projekt cpushare.com (dead link) jest może nie tyle martwy, co nierozwijany, a była szansa na to, że każdy może handlować (w obie strony) mocą obliczeniową. Tymczasem założenia w prezentacji to – firmy pozbywają się sprawnego sprzętu (rzędu PIV 1GB RAM) po okresie leasingowym (płacąc firmie zajmującej się utylizacją), istnieją chętni na kupno dużych ilości mocy obliczeniowej, superkomputery są drogie (Galera ok. 7 mln zł), a koszty eksploatacji klastra (do Galery przyrównano klaster z 6 tys. komputerów) są pomijalne (nie tyle pomijalne, co niskie). Więc firmy oddadzą sprzęt za free OPP (tak, organizacja pożytku publicznego), która zajmie się budową klastra i będzie odsprzedawać moc obliczeniową.

Prawie wszystko fajnie, ale IMO to się nie spina finansowo (czego dowodzi upadek cpushare.com, działającego przecież w bardziej elastycznych warunkach). Licząc skromne 50W (IMO mało, bo tyle to sam procesor może wziąć, a płyta, a sprawność zasilacza… no ale OK) na pojedynczy węzeł w klastrze, dla 6000 sztuk mamy pobór mocy rzędu 300 kW. Prowadzący wspominał coś o UPSach, redundancji zasilania (dwie linie dosyłowe) oraz generatorach Diesla, ale dla 50W już sam prąd to minimum 15 zł miesięcznie na węzeł (dla wyszukanych danych sprzed 3 lat, IMO obecnie bardziej na miejscu byłaby cena 0,6zł/kWh zamiast 0,42 zł/kWh; wg taryfy dla domu, tu pewnie wejdzie inna taryfa, jeśli ktoś jest na bieżąco, to proszę skorygować), czyli ok. 1 mln zł rocznie (a jeszcze ciepło trzeba odprowadzić). Może przy współpracy z elektrociepłownią i odzyskiwaniem energii do ogrzewania się to zepnie. Może.

Jeśli jednak pobór prądu ma być krytyczny, to Nautilus ze swoimi 18 TFlops i poborem 35 kW wypada 3 razy lepiej (ok. 100kW/50TFlops) niż składak z prezentacji, dając oszczędności ok. 0,7 mln zł rocznie w porównaniu ze składakiem… Podsumowując: jak dla mnie stawianie czegoś takiego w Polsce mija się z celem. No i sama teza, że „będą chętni do kupienia mocy obliczeniowej” też wydaje się naciągana – w końcu jest cała armia ludzi, którzy chętnie moc sprzedadzą (obecnie nawet oddają za darmo – patrz BOINC – jakieś 4312 TFlops).

Prezentacja druga

Prezentacja druga – Optymalizacja serwisów internetowych na przykładzie FilesTube – czyli to, na co przyszedłem. Prezentacja ciekawa (bardzo kojarzyła mi się z niegdysiejszymi prezentacjami Allegro i Naszej Klasy na którymś PLNOG i spokojnie mogłaby obok nich się pokazać) tylko… nie związana z tematem, moim zdaniem. Dowiedziałem się sporo o serwisie, o historii rozwoju, sporo o rozwiązaniach (architektura, soft, hardware, wykorzystane technologie) stosowanych w przeszłości, obecnie oraz planach, o modelu biznesowym. Padła teza, kiedy (nie) optymalizować, ale IMO zabrakło przekonujących przykładów, czemu właśnie wtedy (jeśli dobrze zrozumiałem to dewizą jest robimy jak bądź, jak się przestaje wyrabiać, to patrzymy czemu i optymalizujemy ten fragment). OK, to – jak widać – działa, ale czy faktycznie jest najlepszym podejściem? Czy próbowano innego? Powiedzenie nasza droga jest dobra będzie zawsze prawdziwe w przypadku firmy/produktu, który odniósł sukces, ale nie znaczy to, że nie ma innych (w tym: lepszych) dróg (zwłaszcza, że – jak słyszałem na prezentacji – aktualnie mają pewien problem z peakami ruchu).

Tu kolejna rzecz, sukces i chwalenie się nim. Bardzo mi tego zabrakło, a 2 razy więcej UU, niż ma Nasza Klasa (24 mln vs. 12 mln, dane z prezentacji) to IMO powód do reklamy i serwisu, i firmy, i miasta. O firmie i serwisie było do niedawna cicho, trochę za dużo na prezentacji dostrzegłem podejścia „robimy to tak i tak, no i jakoś się udało”. Jasne, szczęście też trzeba mieć, sam dobry produkt nie gwarantuje (IMO zwł. w necie) sukcesu, ale – skoro przy zerowych nakładach na marketing – serwis odniósł ogromny sukces (nazywajmy rzeczy po imieniu) to brak chwalenia się mnie po prostu dziwi. Może zaważyła tematyka (podobało mi się „piractwo, jakie piractwo?”), ale jak sami twórcy mówią, współpracują z organizacjami zajmującymi się ochroną praw autorskich…

Gdybym nie miał porównania z Allegro i Naszą Klasą, to cała prezentacja byłaby dla mnie skali „a tu mam taki serwis i on się zmieniał tak a tak” – nie czułem skali zjawiska, powiedzenie, że coś się wykonywało kilkanaście godzin, a po optymalizacji kilka minut też nie oddaje tego, czy było tak fatalnie na początku napisane, czy było napisane wg standardowego podejścia i po prostu skala jest taka, że przestaje się ono sprawdzać.

Prezentacja trzecia

Prezentacja trzecia – czyli dlaczego IPv6. Najbardziej tematycznie mi pasująca i… zdecydowanie najsłabsza. O ile mi udawało się nadążyć za tokiem myślenia i skrótami myślowymi prowadzącego, o tyle jestem przekonany, że niesieciowcy zrozumieli niewiele. Było o wszystkim – co to IPv6, czemu nie IPv4, historia i rozwiązania historyczne, wszystko mocno chaotyczne plus skróty myślowe ocierające się o błąd rzeczowy (np. „przydzielanie adresów IP za pomocą RADIUSa”). Brak czytelnego przesłania, skakanie po łebkach, mnóstwo pojawiających się i znikających nazw, brak jasnych przykładów – słabo. Plus za chęci, plus za humor, ale… to się nie broni. Nie dla laików, nie w tak krótkim czasie. Na PLNOGu wykłady były dłuższe, głębsze, dla sieciowców i tamto miało sens, więcej było też o możliwych problemach.

Po tym wykładzie przeciętny słuchacz IMO albo doczyta (oraz znajdzie aktualne rozwiązania wśród historycznych), spróbuje u siebie włączyć i się zniechęci problemami, albo zada sobie pytanie „co mi da działanie mojego serwisu/strony/system po IPv6” i… niestety nie będzie umiał na nie odpowiedzieć. IMO przy tak skróconym czasie warto było odpuścić historię (która dodatkowo miesza słuchaczom w głowach) i skupić się na rozwiązaniach bieżących.

Podsumowanie

Cieszę się, że byłem. Co prawda spotkałem się z opinią, że ten Netcamp był wyjątkowo ciekawy, ale mi się podobało (a porównania nie mam) i cieszę się, że taka impreza jest organizowana. Zapewne przyjdę kolejny raz, jeśli będę miał okazję i nie tylko po to, by się ze znajomymi spotkać (a taka była oryginalnie moja motywacja).

Wpadka AdTaily z logowaniem.

W piątek, 23.10.2009 część użytkowników AdTaily nie mogła zalogować się do portalu (np. w celu zmiany ustawień) – otrzymywali komunikat o błędym haśle. Co więcej, przy próbie przypomnienia hasła, otrzymywali informację, że ich email nie istnieje w bazie danych. Sprawa jest wyjaśniona, ale stanowisko AdTaily nie do końca mi się podoba, stąd moje stanowisko w tej sprawie.

Na początek fakty. Po pierwsze, uruchomiony został osobny, angielski serwer AdTaily (adtaily.eu – dead link). Po drugie, w piątek ludzie z AdTaily byli na prezentacji w UK, dlatego ustawili przekierowanie na jeden dzień (link). Po trzecie, przekierowanie było robione przy pomocy JS, wyłącznie na podstawie obecności języka angielskiego w ustawieniach przeglądarki (link). Po czwarte, część ludzi miała problem z zalogowaniem się do serwisu (czyli awarię). Po piąte, AdTaily nie pofatygowało się, by zamieścić jakąkolwiek informację na swoim blogu czy blipie.

Ponieważ temat jest – przynajmniej dla mnie – za długi na flakera, gdzie wywiązała się dyskusja na ten temat (dead link), przedstawię moje zdanie. Po pierwsze, stawianie osobnych serwerów dla wersji językowych jest złe. Rozumiem argument o problemach z przeliczaniem (o tyle, że trzeba to dorobić i przetestować, z drugiej strony wiele serwisów sobie z tym radzi bez problemu), ale osobny serwer dla każdej wersji językowej to nieporozumienie. Wystarczy pomyśleć o dwóch wersjach: zdublowane maszyny dla 4 języków w wersji z osobnymi serwerami (8 maszyn) i bez niej (2 maszyny). Oczywiście, koszt maszyn to nie wszystko, dochodzą kwestie load balancingu (no właśnie…), i skończonej wydajności pojedynczych maszyn (no właśnie…) ale i tak zapowiadane jest merge’owanie kont – przynajmniej tych występujących na obu serwisach – więc logikę i tak trzeba będzie opracować i zaimplementować.

Konferencja – się zdarza (i bardzo dobrze, trzeba się rozwijać, także na nowe rynki). Podejrzewam, że AdTaily nie było zbytnio do niej przygotowane, jeśli chodzi o np. materiały reklamowe, więc często (tylko?) pojawiało się na nich .com zamiast .eu, stąd pomysł jednodniowego przekierowania. Niegłupie (jedyne w tamtej sytuacji?) rozwiązanie, z kategorii tymczasowych.

Wykonanie przekierowania. Totalnie nieprzemyślany dramat, jak dla mnie:

function redirect_to_english_version() {  if (navigator.language.match(/en/) && (parent.document.URL == 'http://adtaily.com/' || \parent.document.URL == 'http://www.adtaily.com/')) {    window.location = 'http://adtaily.eu'  }}redirect_to_english_version();

Całkowicie pominięty fakt, że angielski jest językiem międzynarodowym, że sporo polskich użytkowników akceptuje także treści angielskie (TBH, chyba więcej angielskich czytam, niż polskich – polska to zaścianek jeśli chodzi o wiedzę, a jeśli chodzi o newsy, to jest 24-72h za resztą świata) i że polscy użytkownicy (na szybko: 1, 2, 3, 4) nie mają czego szukać na osobnym, angielskim serwisie. Inna sprawa, wiedzenie lepiej, czego user chce i podstawianie innego serwisu na podstawie wersji językowej to bzdura. Rozumiem, podstawić przetłumaczoną treść czy serwować z innej lokalizacji geograficznej…

Śmiem twierdzić, że skutki przekierowania nie zostały (dokładnie) przemyślane. Gdyby zostały, to – mam nadzieję – pojawiła by się choćby krótka wzmianka na blogu i/lub blipie. O takiej perwersji jak ingerencja w kod i dodanie jednej linii tekstu przy komunikacie z błędem logowania nie wspominam.

Wyszło jak wyszło (dla mnie brak możliwości logowania to awaria, a podejście „przekierowanie tylko na dziś” jest nieprofesjonalne), szkoda tylko, że niektórzy AFAIK dość blisko związani z AdTaily, będący w kraju, znający sytuację i rozwiazanie, nie mogli jakiegoś oficjalnego info wrzucić.

Ze swojej strony mam nadzieję, że było warto (i dla twórców i dla userów) i że na przyszłość będzie to bardziej przemyślane i przyjaźnie dla userów zrobione.

Bo takie akcje IMHO nie wpływają dobrze na – i tak nienajlepszy (to akurat zdanie osoby, której poleciłem serwis; nie chciałbym się publicznie na ten temat rozpisywać) – wizerunek serwisu. Brak „skopaliśmy, przepraszamy” też nie.

Jak mieć bezpieczne hasło i nie popaść w paranoję?

Za sprawą włamania na Wykop wywiązała się dyskusja o hasłach. Pisali o tym groszek (dead link), kUtek, Zal i generalnie z żadnym zaprezentowanym podejściem do końca nie mogę się zgodzić.

Jak dla mnie wszystkie te zabawy ze skrótami itp. są nie do przyjęcia. Albo hasło jest takie, że trzeba je pamiętać (czyli umieć wpisać z głowy), albo można sobie pozwolić na jakiś portfel haseł (i wtedy nie ma się co bawić, tylko można wygenerować losowe). Hasłami losowymi nie ma się co zajmować – mają być długie i możliwie losowe.

Pozostają hasła do zapamiętania. Tu trzeba rozróżnić serwisy krytyczne (także maile, na które mamy ustawione przypominanie haseł) i resztę. Krytyczne łatwo wyróżnić – możliwe większe straty finansowe, wycieki prywatnych danych itp. Pierwsza sprawa, to – jeśli to tylko możliwe – do serwisów krytycznych chronimy także login. Po co? Prosta sprawa, jeśli ktoś będzie chciał nam zrobić kuku, to nie ma co ułatwiać mu sprawy. Plus, niektóre serwisy (zwł. banki) mogą blokować po określonej ilości nieudanych logowań, więc źli ludzie mogą nam uprzykrzyć życie już samą znajomością loginu.

Poza tym, do serwisów krytycznych mamy możliwie mocne, nieschematyczne hasła, które pamiętamy, logujemy się możliwie tylko z zaufanych maszyn i w sposób bezpieczny (nie plain text), nie 20 zakładek na innych portalach otwartych w tym czasie. Jeśli zdarzy nam się logowanie awaryjne z niezaufanej maszyny/niebezpiecznym protokołem – jak najszybciej wymieniamy hasło (z bezpiecznej maszyny). Reszta w rękach admina serwisu. No może jeszcze nie chwalimy się zbytnio, które serwisy są dla nas krytyczne. 😉

Reszta, czyli serwisy niekrytyczne. Tak naprawdę zwykły użytkownik może zrobić tylko trzy rzeczy. Pierwsza, absolutnie konieczna: nie stosujemy takich samych haseł. Przy akcjach jak ta z Wykopem i podobnych, w razie czego włamywacz uzyska dostęp do jednego serwisu. Po takich włamaniach zwykle włamywacz automatem sprawdza, czy można zalogować się z takim samym loginem i hasłem na inne portale (chyba, że darzy nas szczególną uwagą, ale to trochę inna sprawa).

Jeśli chodzi o hasła, reszta to sprawy wtórne – jeśli stosujemy schemat/schematy to po takim włamie włamywacz raczej nie będzie miał dostępu do danych z kilku serwisów (chyba, że darzy nas szczególną uwagą, albo jedna i druga baza wpadną w ręce kogoś, kto nas darzy). Oczywiście warto zmieniać hasła okresowo i mieć różne schematy/hasła, ale wygoda kłóci się z bezpieczeństwem.

Sprawa druga: ustawiamy przypominanie/zmienianie hasła na zaufanego maila. W razie włamu przyda się do odzyskania dostępu, choćby po to, żeby zamieścić sprostowanie.

Sprawa trzecia, nieoczywista. Nie ufamy niekrytycznym portalom. Koniec, kropka. Mogą być poziomy dostępu (jak na Joggerze) ale nie znaczy to, że zamieszczone na wyższym poziomie dane są/będą niedostępne dla innych ludzi. Można to traktować jako kosmetykę, ale pisanie tam rzeczy, których nie napisało by się na stronie głównej to proszenie się o potencjalne kłopoty. Generalnie im mniej prywatnych/wrażliwych danych na takich serwisach, tym lepiej.

Trzeba przyjąć, że włamy itp. na serwisy niekrytyczne będą się zdarzały – przy ich ilości jest to jedynie kwestia czasu. I raczej będą to ataki na bazę serwisu, niż na nasze konto (chyba, że ktoś darzy nas szczególną uwagą), dlatego hasło należy mieć nieoczywiste, długie (dodanie przedrostka w stylu abcdefg (oczywiście nie chwalimy się nim) drastycznie wydłuży czas łamania hasła, jeśli ktoś nas „polubi”, ale IMO nie ma co popadać w paranoję. Co tak naprawdę się stanie, jeśli ktoś skorzysta z naszego konta do Wykopu (i tylko z niego)?

Po wykrytym włamaniu oczywiście zmieniamy hasło. Jeśli stosujemy hasła schematyczne, z oczywistym schematem, należy zmienić schemat i wymienić wszystkie hasła objęte danym schematem. Tyle dobrych rad, praktyka pokazuje, że kompromis między użytecznością a bezpieczeństwem zawsze jest trudny. Dlatego polecam określenie krytycznych serwisów i naprawdę dbanie o bezpieczeństwo w ich przypadku. W przypadku niekrytycznych i tak pewnie lenistwo AKA użyteczność AKA wygoda weźmie górę…