Skip to content


Blokowanie zalewu robotów MSNu

Mniej więcej pod koniec grudnia, odezwał się do mnie dostawca hostingu dla aviary.pl – Dreamhost.

Napisali do mnie, że niestety muszą mnie prosić o zdjęcie serwisu bugs.aviary.pl ze względu na ogromne obciążenie łącza jakie ten serwis generuje.

To oczywiście dość mocny cios w postawowy mechanizm jakiego używa Aviary.pl do swojej pracy i na dodatek cios w punkt, na którym nie znam się aż tak dobrze (nie znam kodu Bugzilli aby ocenić co wpływa na jej wydajność). Pan z DH poinformował, że wygląda na to, że nasza bugs.aviary.pl zużywa ogromne zasoby procesora i rejestruje bardzo wysoką liczbę odwiedzin z robota MSN.

To natchnęło mnie by założyć system statystyczny i zacząć obserwować. Z DH dogadaliśmy się, że zamykamy bugzillę do czasu gdy zrozumiemy przyczynę tak dużego obciążenia.

W okresie świąt i nowego roku trudno było znaleźć czas na pracę nad tym, ale gdy w końcu się zebrałem, logi okazały się bezlitosne. Nasza Bugzilla dziennie obsługuje nasz zespół (trochę ponad 20 osób) plus odwiedzających, co powinno, na moje oko, dawać koło 60-80 osób dziennie, koło 150 wizyt, koło 600 stron.

Zamiast tego, w październiku rejestrowaliśmy średnio 6500 pobrań stron dziennie, w listopadzie 7000 a w grudniu dochodziło do 8000. To znacząca różnica zwłaszcza, że te żądania w znacznej części dotyczyły złożonych kwerend wyszukiwawczych i załączników. Takie kwerendy generują największe obciążenie serwera i są najwolniejsze.

Następnym wnioskiem było to, że około 84% tego ruchu generowane jest przez hosty w domenie 65.55 oraz 66.249 zaś najpopularniejszą przeglądarką jest msnbot/2.0b która pobrała w listopadzie 157000 stron, czyli około 13000 stron dziennie! Na dalszych miejscach było Googlebot z 2500 i Yahoo Slurp! z 166 zapytaniami dziennie.

Pierwszą reakcją było oczywiście założenie robots.txt, które powinno załatwić sprawę oraz lektura google w poszukiwaniu podobnych przypadków. Lekcja pierwsza mówiła, że są dobre i złe roboty. Dobre to takie, które sprawdzają robots.txt i jak ten mówi “nie” to nie przeszukują oraz złe, takie, które ignorują robots.txt.

Oczywiście po chwili okazało się, że msnbot/2.0b, który przychodzi do mnie z domen takich jak msnbot-65-55-104-75.search.msn.com czy msnbot-65-55-104-59.search.msn.com jest złym robotem, który ignoruje plik dla niego przygotowany (mimo, że czyta go, oj czyta, tak mniej więcej co 30 sekund przez 24h na dobę!).

Ciekawą reakcją (obserwowaną także przez innych adminow) jest to, że po włączeniu robots.txt, msnbot zaczyna oszukiwać. Mianowicie odpytuje robots.txt jako msnbot, znajduje informację, że go nie chcemy a następnie zaczyna indeksować strony podając się za Internet Explorera 6.

Przykład takiego zachowania:

65.55.51.69 - - [03/Feb/2010:14:05:41 -0800] "GET /robots.txt HTTP/1.1" 200 319 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)"
65.55.110.210 - - [03/Feb/2010:14:06:12 -0800] "GET /attachment.cgi?id=453&action=diff&context=patch&collapsed=&headers=1&format=raw HTTP/1.1" 200 841 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;  SLCC1;  .NET CLR 1.1.4322;  .NET CLR 2.0.40607)"
msnbot-65-55-232-33.search.msn.com - - [03/Feb/2010:14:06:30 -0800] "GET /attachment.cgi?id=132&action=edit HTTP/1.1" 200 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2;  SV1;  .NET CLR 1.1.4322;  .NET CLR 2.0.50727;  .NET CLR 3.0.04506.648)"
msnbot-65-55-232-33.search.msn.com - - [03/Feb/2010:14:06:44 -0800] "GET /attachment.cgi?bugid=189&action=viewall HTTP/1.1" 200 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;  SLCC1;  .NET CLR 1.1.4322;  .NET CLR 2.0.50727;  .NET CLR 3.0.30729;  .NET CLR 3.5.30729;  InfoPath.2)"
65.55.110.210 - - [03/Feb/2010:14:06:47 -0800] "GET /attachment.cgi?id=784&action=diff&context=patch&collapsed=&headers=1&format=raw HTTP/1.1" 200 2160 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;  SLCC1;  .NET CLR 1.1.4325;  .NET CLR 2.0.50727;  .NET CLR 3.0.04506.648)"
msnbot-65-55-232-33.search.msn.com - - [03/Feb/2010:14:06:50 -0800] "GET /attachment.cgi?bugid=189&action=viewall HTTP/1.1" 200 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;  SLCC1;  .NET CLR 1.1.4322;  .NET CLR 2.0.50727;  .NET CLR 3.0.30729;  .NET CLR 3.5.30729;  InfoPath.2)"
msnbot-65-55-104-75.search.msn.com - - [03/Feb/2010:14:07:16 -0800] "GET /attachment.cgi?bugid=1098&action=viewall HTTP/1.1" 200 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;  SLCC1;  .NET CLR 1.1.4322)"

Uważny czytelnik zwróci uwagę, że bot posługuje się różnymi UA stringami, różnymi adresami IP (tak na prawde to jest ich znacznie więcej, rotują się jednak raz na kilka godzin więc trudno było to ładnie ująć w wycinku logu) i identyfikują MSN albo przez host, albo przez UA, albo w ogóle! (wiersz drugi) W takiej sytuacji domyślenie się koincydencji (oraz odwiedzin z domeny 65.55.*.* na polskim serwisie polskiego zespołu lokalizacyjnego) wymaga logicznego rozumowania i jest trudne do zapisania w sposób algorytmiczny.

Uważam takie zachowanie za skandaliczne, choć później okazało się, że nie oni jedni.

Google zachowuje się w miare sensownie i utrzymuje stałe IP crawlera, co pozwala go wyciąć po nim. Yahoo podobnie. Natomiast przedwczoraj zaatakował crawler WP, który również zignorował robots.txt i przez 3 godziny indeksował każdą kombinację kwerend wyszukania i załączniki jakie mamy w naszej Bugzilli.

Mimo to, że takich problemów mam więcej, najważniejsze są implikacje takich zachowań:

1) Jakie obciążenie generuje dla serwisów dynamicznych taki robot. Proszę zrozumieć skalę! Ten robot atakuje falami, co godzinę, przez 24 godziny na dobę, przez wszystkie dni w miesiącu, za każdym razem generując falę zapytań na poziomie 100 zapytań w minutę! I to nie są zapytania o pliki statyczne, CSS, JS czy PNG. To wyłącznie zapytania o strony! Jakie koszty to generuje, jakie obciążenie… to absurd

2) Robot, który wedle logów zaczął działac mniej więcej po uruchomieniu wyszukiwarki bing, ignoruje kontrakt społeczny między autorami stron i wyszukiwarkami i indeksuje wszystko pomimo, że pobiera też robots.txt który mu tego zabrania.

3) Jaki ma to wpływ na statystyki IE? W moim, bardzo starym mechanizmie statystyk (webalizer chyba – to dostarcza DH) ma ogromny. Aktualnie wedle niego bugs.aviary.pl odwiedza 80% użytkowników z IE6.

Na koniec dodam tylko, że obecnie stosuję niniejszy .htaccess do blokowania tego ile się da.

Posted in main, po polsku, tech.

Tagged with , , , , , .


Mozilla, wolność i h.264

Uwaga: poniższy tekst, to moja prywatna opinia, jako członka projektu Mozilla.

W tym tygodniu nastąpił ważny moment w historii rozwoju WWW. Youtube i Vimeo ogłosiły plany odejścia od technologii Flash na rzecz standardu HTML5.

Kawałek historii

Blisko rok temu, Mozilla ogłosiła wprowadzenie tagu <video/> i rozpoczęła promowanie go, jako alternatywy dla zamkniętych wtyczek.

Wiele osób wtedy krytykowało tę decyzję. Zwracano uwagę, że nikt inny tego nie wprowadza, że HTML5 to jeszcze nie jest standard, że Ogg/Theora, kodek, którego używamy, nie jest wystarczająco szybki oraz, że jest za późno, nikt nie zrezygnuje z zamkniętych wtyczek dla otwartego standardu. Ta krytyka nie była bezpodstawna. Wszystkie powyższe punkty były prawdziwe.

To, że dziś rozmawiamy o tym z tak odmiennego punktu widzenia pokazuje tylko jak szybko następują dziś zmiany w świecie standardów w porównaniu do, np. czasu jaki zajęło wprowadzanie standardu CSS2. To ogromny sukces całej społeczności skupionej wokół WWW i wierzę, że Mozilla miała w tym decydującą rolę.

Wracając do tematu, dziś mamy trzy ważne silniki obsługujące <video/> – Presto (Opera), Webkit (Safari, Chrome) i Gecko (Firefox, Camino, Seamonkey, Flock). Mamy rosnącą liczbę stron, które korzystają z tego standardu i rosnącą liczbę użytkowników, którzy korzystają z przeglądarki która je obsługuje. (W Polsce około 50% użytkowników Internetu).

Niestety, Chrome i Safari zdecydowały się wspierać wideo obsługując jedynie kodek o nazwie h.264, który jest zamknięty i trzeba za niego zapłacić. Mozilla uważa, że taki krok jest szkodliwy dla rozwoju Internetu i stoi w sprzeczności z Manifestem Mozilli i w efekcie nowe platformy Vimeo i Youtube nie mogą być wykorzystywane przez Firefoksa.

Wierzymy, że znajdziemy porozumienie, ale na razie sytuacja jest trudna. W tym poście postaram się wytłumaczyć, dlaczego Mozilla uznaje H.264 za zły kodek dla Internetu.

Continued…

Posted in main, mozilla, po polsku, tech.

Tagged with , , , , , , , , , .


Firefox 3.6 wydany!

A jednak, myliłem się.

Dwie godziny przed czasem, Firefox 3.6 został wydany!

Więcej informacji.

Dziękujemy całej społeczności Mozilli pracującej nad tym! :)

Posted in main, mozilla, po polsku, tech.

Tagged with , , , .


Firefox 3.6 już dzisiaj, o 19:30 czasu polskiego

Taaak… Pół roku po wydaniu Firefoksa 3.5, już dzisiaj, o 19:30 czasu polskiego Mozilla wyda następną wersję swojego flagowego produktu – Firefoksa.

Czas w Internecie przyspiesza. Kiedyś rok między wydaniami był OK, teraz pół roku to już stanowczo za długo oczekiwania, zatem wszyscy w projekcie mamy poczucie, że na finalne 3.6 czekalismy długo.

Z drugiej strony. Cierpliwość użytkowników spada. Kiedyś byli gotowi czekać na swoje BBSy czy pierwsze strony po kilka minut na modemach 36kbps. Dziś narzekamy na kilkumegabitowe łącza. Podobnie z przeglądarkami. Choć każda, absolutnie każda wersja każdej przeglądarki na rynku jest szybsza z wersji na wersję, po kilku miesiącach staje się już “za wolna”.

Firefox 3.6 nie jest wyjątkiem, szybszy o 20% od Firefoksa 3.5 sprawia, że Firefox 2.0, w 2006 roku demon prędkości, wygląda dziś na okrutnie powolnego (mimo, że przecież moc obliczeniowa domowych komputerów wzrosła kilkakrotnie!).  Dziś wszystkie przeglądarki walczą o ułamki sekund, choć zbliżamy się do granicy możliwości sprzętu.

Poza prędkością, Firefox 3.6 to także Personas, mnóstwo fajnych rzeczy dla autorów stron, mechanizm pilnujący aktualności wtyczek i inne.

Marek Stępień i całe Aviary.pl pracowało oczywiście nad przygotowaniem polskiej lokalizacji, która mam nadzieję jak zawsze stanowić będzie mocny punkt programu :)

p.s. Tak. O 19:30. Mike Beltzner jest bardzo, bardzo skrupulatny. Punkt 19:30 w Polsce. Ani minuty, sekundy, godziny wcześniej. Wszystko co pojawi się wcześniej może się zmienić. Chcesz wcześniej? Możesz pobrać nocną kompilację – ale gwarancję jakości i wsparcie dajemy na finalne wydanie Firefoksa 3.6, które pojawi się o 19:30 o czym Aviary.pl i Mozilla nie zapomną zakomunikować.

Posted in main, mozilla, po polsku, tech.

Tagged with , , , , .


Wywiad w “Dużym Formacie”

Trochę spóźniony wpis, bowiem wywiad ukazał się ponad tydzień temu (o czym pisał Paweł i Hubert), ale mam nadzieję, że jeszcze ktoś się znajdzie komu ten wpis się przyda :)

W poprzedniej Gazecie Wyborczej, w dodatku o nazwie “Duży Format”, poświęconemu sprawom społecznym, wywiadom itp. pojawił się wywiad Wojciecha Staszewskiego ze mną. Jest on o tyle ciekawy, że kierowany do innego czytelnika, niż większośc wywiadów których udzielam. Tym razem mówimy nie o detalach implementacji, ostatnich wynikach sunspidera czy acid3. Rozmawiamy o historii, o tym jak to się zaczeło i co w tym jest wyjątkowego.

Wydaje mi się, że wywiad się udał (serdeczne dzięki dla dziennikarza), Wojciech musiał mocno skrócić i zredagować go, gdyż rozmowa na podstawie której powstał trwała ponad 3 godziny, ale wierzę, że udało się uchwycić sens i treść o czym świadczą też pozytywne oceny znajomych i nieznajomych oraz całkiem miły ranking “gwiazdek” pod artykułem.

Dodam jeszcze, że kiedy pierwszy raz spotkałem Wojciecha, było to na kolacji z okazji 5 lat Firefoksa, był on absolutnie nieświadomy sytuacji na rynku przeglądarek, nie wiedział, że istnieją inne niż Internet Explorer i myślę, że z pewnym zdumieniem odkrył istnienie Firefoksa oraz to, że w Polsce ma on ponad 50%. Taki rozmówca pomógł mi dopasować formę wypowiedzi do tych, którzy nie spędzają życia w Internecie i dla których to co się w nim dzieje jest tylko jednym z aspektów rzeczywistości, pewnie gdzieś obok polityki, spraw socjalnych, technologii, medycyny itp.

Zapraszam do lektury i chętnie przyjmę feedback :)

Posted in main, mozilla, po polsku, tech.

Tagged with .


The new era of software localization is approaching

Those of you who follow the localization tales of Mozilla project know the mythical “L20n” concept introduced by Axel Hecht over two years ago.

Since then, we spent zillion hours thinking about this concept and maturing it. Every time I was working on any project – be it Verbatim, Firefox, Getpersonas, AMO, Pontoon or Jetpack L10n – I was telling myself how much better it could be, had we have L20n in place. Easier for localizers, easier for developers, easier to maintain. Did I tell you it’s faster as well?

Then, last summer, Jeremy Hiatt joined us for his summer internship and spent 3 months working with Axel and me on pushing some of the implementation concepts forward.

With the end of summer, we got again busy with upcoming Firefox 3.6 release and put L20n again in coma…

Until now.

Without getting into much detail, I can tell you that right now we’re preparing for the next, and hopefully, ultimate push toward L20n 1.0. Over the next few months you will have more than enough of blog posts and papers and demos and examples. We will be asking for feedback, presenting the syntax, experimenting with toolchain, building extensions, and slowly preparing to introduce L20n into Gecko platform and our websites.

We believe that L20n is the most crucial piece of Mozilla localization story, aligning perfectly into our core values. Mozilla is in the best position to push the localization experience to the new level, finally enabling software to speak in the natural language of the reader. Gettext is awesome, but aging technology, properties/DTD that we use in Gecko today, are limited, tens of proprietary formats (used by projects like Qt, Webkit, Apple, Nokia) just replicate the same concept. L20n shifts the paradigms of what localization is to the new level. It’s going to be big, and we hope to get a lot of people involved.

Next week I’ll start with the first demos.

p.s. those who like to read the code, may find first bits of fresh code in my hg repo. Yummy! Isn’t it? :)

Posted in main, mozilla, tech.

Tagged with , , , , .


Krótko i na temat

Wraz ze wzrosem popularności Mozilli, a zwłaszcza Firefoksa, pojawia się coraz więcej informacji i artykułów na jego temat.

Natomiast ze względu na zmiany w modelu działania mediów internetowych, tytuły i artykuły stają się coraz bardziej prowokujące i “skandalizowane”.

W konsekwencji dwóch powyższych, w ostatnich tygodniach przeczytałem, że:

  • Mozilla promuje Binga
  • Mozillę wykupi Microsoft
  • Mozilla nie umie zdobywać rynku więc poparła tzw. “browser ballot”
  • Dodatki do Firefoksa będą płatne, na czym stracą użytkownicy
  • Firefox będzie częściowo płatny
  • Firefox jest powolny i zużywa dużo pamięci

Ponieważ natłok tych informacji jest ogromny oraz rozproszony, postanowiłem zacząć gęściej korzystać ze swojego twittera (@zbraniecki) do reagowania na tego typu przejawy kreatywności.

Po prawej stronie na dole tego bloga znajdziecie też ostatnie wpisy. Postaram się nie zaśmiecać feedów, ale szybko prostować.

Nota bene, nie jestem w stanie zrozumieć jak to możliwe, że *nikt* z tych dziennikarzy, pisząc o tym, nie skontaktował się z nami. W ostatnim czasie *każda* informacja związanej z Mozillą którą znalazłem w polskich serwisach newsowych zawierała błąd, przekłamanie, pomyłkę lub nadinterpretację. Nie mogę się doczekać gdy Ci sami dziennikarze zaczną narzekać, że czytelnictwo spada i głowić się będą co może być tego przyczyną.

Posted in main, mozilla, po polsku, tech.

Tagged with .


The world stands on its head

Unrelated opening
Every one of us has those moments when you find yourself old. Even teenagers do, when their younger friends teach them how to use the latest hype du jour on the Internet. I, for one, feel profanely old today, and kind of hardly accepting the reality of the approaching “middle age” thing.

“It’s rare that you see an artist in his 30s or 40s able to really contribute something amazing.” said Steve Jobs. Thanks Steve…

But that was not supposed to be about me becoming 26. It was supposed to be about another miracle that nobody expected to ever happen. Or at least, I’m still genuinely surprised whenever I see the dream of yesterday becoming reality of today.

So, maybe for many of you it will not come as anything striking, kind of  “yea, Poland has always had good community and Firefox market share is above average”, but for me it’s an impossible coming real.


Down to the point
Ranking.pl just published another round of their browser stats for Poland. According to those, Chrome just passed 3% of market share in Poland. It is a real deal. I remember Firefox having 3% – in December 2004, month after 1.0 release, after 6 years of work, Mozilla based browser reached 3% of market share. But that’s not only that! Opera just week ago gained a point and reached 10% of market share in Poland! I remember it – May 2005 – Firefox 1.x at 10.2%.

And having that, we have also Firefox breaking 52% of market share in Poland! 52% is the high and it is clearly an outstanding result that heavily influences the way we should think about Internet in Poland. It’s an amazing award from the users to the Mozilla project and, especially, a group of people in the Aviary.pl team and those working on Mozillapl.org community forum.

In result of all of this, Internet Explorer in Poland, the one web browser that dictated, for over 10 years, how the web looks like, ten years in which the Internet has been shaping up, this web browser has now only 33.38% of market share. One third. Vox populi at its best.

We have 2/3 of users using modern web browsers, and if we add IE8 here, it gets to 3/4, 75% of users. IE6 is used by less than 9% of users and it means that, for example, just by watching the stats, companies will do better by investing in making sure their website works with Opera than checking it in IE6!

Hard to express this feeling. It’s amazing that we can see modern browsers not cannibalizing each other, but sharing the market share gains.

Wake up, revisit the web today, it’s party time!
Think of what’s possible because of that. We have the Web today that means something different for the users and web authors. They can slowly start to ignore IE6, and that is a real deal for everyone who does the web hacking. Users can utilize the powerful webtools, banks can invest in reach online banking, people are also free to choose their operating system because their online experience wont degrade because of that. People can choose out of four major web browsers that are in a healthy competition or they can choose from one of the less mainstream, but still high quality ones like K-Meleon, Camino, Seamonkey, Arora, Epiphany… Over 52% of Polish internet users can change how the websites look via extensions, and how their browser works and what they see via adblocks, flashblocks and others. They can influence their experience and by vast majority they chose their web browser by themselves, understanding what they are doing and knowing that they have a choice now.

I’m pretty sure that this is true not only for Poland, but for other countries. Hungary, where Firefox is at 52%. Latvia with Firefox at 50%,  Bulgaria, where Firefox is above 45% and just passing by IE. Ukraine where Opera has 34% and Firefox has 26%… and I’m still talking about just one region, while the rest of Europe is going through the similar process.

Five years after Firefox 1.0 has been released, we have a different web. The web which has new challenges and opportunities. We have to raise to them and I believe that the next 5 years is going to be super exciting!

Posted in main, mozilla, tech.

Tagged with , , , , , .


Silme is getting ready for 1.0

Not today, maybe not tomorrow, but Silme library is getting ready for its prime time.

I’m currently working on Silme 0.9 which is shaping up to be a release where we packed up all the lessons we learned while working on the project for the last year and a half. It’s going to be the last release with non-frozen API before 1.0 so we have to be sure we’re happy with 0.9 before we release it.

Then, we’ll have Silme 1.0 which is a goo moment to revisit the name of the library. I know native english speakers may find it a good idea ;)

Posted in main, mozilla, tech.

Tagged with , , .


Update on Verbatim

Just a short note. After getting a very positive feedback in Prague on the Verbatim project, and fairly negative on its performance, I spent some time making it faster and snappier and got it to the point when I believe this problem is mitigated and we can push Pootle Verbatim’s incarnation to production.

So what’s going on right now?

We’re working with the IT team to get a new virtual machine with its own public vhost (you can track the progress in bug 523920). This should happen very soon and once we’re there, we’ll let you know and start using Verbatim to help you manage website localization.

Posted in main, mozilla, tech.

Tagged with , , , , .