Categories
main mozilla po polsku tech

Mozilla nie chce wyrzucać IE z Windows!

W ostatnim czasie nabrała tempa dyskusja na temat IE i Windows. Przyczyną było wystosowanie przez Komisję Europejską wstępnego Stanowiska Obiekcji  (Statement of Objection).

Poniższy post ma na celu sprostowanie pewnych nieścisłości które pojawiły się w polskiej blogosferze w związku z tym wydarzeniem.

1) Gracze

Komisja nie “oskarżyła” Microsoftu, a jedynie wysłała do firmy Microsoft list w którym opisała swoje wstępne stanowisko. To jeszcze bardzo daleko do postawienia zarzutów.

Teza Komisji brzmi: “Złączenie przez Microsoft Internet Explorera z systemem operacyjnym Windows szkodzi konkurencji między przeglądarkami internetowymi, osłabia innowacyjność produktu oraz redukuje wybór użytkownika”. (“Microsoft’s tying of Internet Explorer to the Windows operating system harms competition between web browsers, undermines product innovation and ultimately reduces consumer choice.”). Wybaczcie tak surowe tłumaczenie, chodzi mi tylko o podstawowe brzmienie wypowiedzi.

Jak wiecie pewnie, kilka organizacji zdecydowało się poprzeć stanowisko Komisji – takie firmy jak Google i Opera (która zgłosiła temat do KE w zeszłym roku) oraz Mozilla Foundation. Oznacza to, że trzej producenci przeglądarek internetowych konkurencyjnych wobec Microsoft Internet Explorera, trzy firmy żywotnie zainteresowane rynkiem internetowym wsparły stanowisko KE w tej kwestii.

Nie oznacza to jednak, że wszyscy zgadzamy się co do natury problemu czy też, że będziemy naciskać na KE z jakimś wspólnym rozwiązaniem. Na dzień dzisiejszy w powyższym zagadnieniu występuje przynajmniej 5 podmiotów – KE, Microsoft, Opera, Google i Mozilla.

Każde z tych pięciu podmiotów reprezentuje swoje stanowisko. Nie ma stanowiska wspólnego i obawiam się, że jeszcze troche potrwa zanim (jeśli) wypracujemy je. Trudno mi wypowiadać się w imieniu któregokolwiek z podmiotów, mogę jedynie opisać jak wygląda dyskusja wewnątrz samego projektu Mozilla, choć i to co dzieje się wewnątrz projektu jest niejednorodne.

2) Jest źle

Zacznijmy od tezy stawianej przez Komisję.

“Złączenie przez Microsoft Internet Explorera z systemem operacyjnym Windows szkodzi konkurencji między przeglądarkami internetowymi, osłabia innowacyjność produktu oraz redukuje wybór użytkownika”

Wszystko co wydażyło się do tej pory, to to, że Opera, Google i Mozilla zgodziły się z powyższą tezą. Nic więcej. To bardzo, bardzo ważne, dla zrozumienia aktualnej sytuacji. Trzech graczy zgadza się, że złączenie IE oraz Windows szkodzi rynkowi.

Dowód empiryczny jest taki, że w efekcie tego złączenia nie istnieje dziś rynek przeglądarek, który moglibyśmy nazwać zdrowym. Istnieje jedna przeglądarka, która ze wszech miar powinna utrzymywać około 90-95% rynku światowego. Powodem dla którego tak nie jest, jest to, że jej producent przez 6 lat zignorował wydawanie nowych wersji, a nowe wydania rażą katastrofalną wydajnością, stabilnością i wygodą użytkownika. Jednocześnie pojawił się otwarty projekt, który stworzył przeglądarkę i dzięki pracy setek tysięcy wolontariuszy wypromował ją do takiego momentu, że zdobyła 20% rynku światowego.

Wiele udało się dzięki temu odblokować. Jest jasne, że dzięki temu, że Firefox ma 20% łatwiej jest innym graczom – Chrome, Safari czy Opera mogą względnie łatwo oferować wysokie UX ponieważ serwisy internetowe nie mogą być już “IE only”. Oczywiście niektóre stają się “IE&Firefox only” ale to raczej dotyczy tych, które wcześniej były “IE only” więc nie pogarsza to sytuacji pozostałych. Natomiast wiele innych staje się zgodna ze standardami i otwarta. Ba! Stworzenie dziś przeglądarki jest po prostu łatwe dzięki Mozilli. Bierzesz Gecko czy Firefoksa i tworzysz K-Meleona, Galeona, Epiphany, Flocka, Seamonkey… możesz wziąść też WebKit (czy istniałby gdyby nie Gecko? Czy byłby otwarty?) – jest łatwo.

Jednak nie oznacza to, że rynek jest dziś normalny. Co by się stało gdyby Mozilla wycofała się z rynku przeglądarek i skupiła na, np. edukacji czy komunikacji? Co by się stało gdyby Microsoft wypuścił nie wspaniałą, ale “normalną” przeglądarkę nie odstającą 5 lat za innymi w standardach, prędkości itp?

Twierdzę, że w ciągu 2-3 lat IE znów osiągnęłoby 90-95% rynku. I osiągnełoby go nawet będąc “przeciętnym” produktem. Czy to jest normalny rynek? Czy normalna, zdrowa konkurencja polega na tym, że jeden gracz ma 95% choć nie posiada żadnych atutów czy przewag nad, np. Operą?

Powtórze więc, obecne złudzenie, jakoby rynek przeglądarek był “normalny” wynika z reakcyjnych wysiłków ogromnej społeczności oraz niskiej jakości produktu dominującego. I usunięcie jednego z tych czynników ustawicznie “normalizujących” rynek przywróciłoby absolutnie nienaturalny i niebezpieczny stan. Stan, w którym “oknem na świat” kieruje i które kontroluje jedna firma, której interesem jest zysk akcjonariuszy.

Mozilla jest projektem organicznym. Istniejemy tak długo jak długo mamy sens istnienia i udaje nam się zorganizować wewnętrznie. Chcemy istnieć i mieć wpływ na Internet za 50 lat, wierzymy, że będziemy za te 50 lat potrzebni, ale nie wiemy czy akurat w przeglądarkach. Nie wiemy jak za 50 lat będzie wyglądał świat, nie wiemy jak będziemy realizowali naszą misję, ale uważamy, że mamy obowiązek pracować nad tym, aby Internet był zdrowy. Rynek przeglądarek nie jest i diagnoza KE jest naszym zdaniem absolutnie słuszna.

Rynek przeglądarek jest niezdrowy i złączenie IE z Windows jest jedną z najważniejszych przyczyn tego stanu”.

3) Nie znamy rozwiązania

Teraz, zupełnie czym innym jest określenie problemu, a czym innym jest znalezienie rozwiązania. Ludzie lubią tworzyć skróty, dziennikarze lubią chwytne tytuły. Niestety świat nie jest prosty, a operowanie na rynku, który staje się coraz ważniejszym środkiem edukacji, komunikacji i prowadzenia biznesu jest niezwykle złożonym tematem w którym nie istnieją łatwe rozwiązania.

W tym konkretnym przypadku trudno nawet o stanowisko “Mozilli” gdyż jako projekt jesteśmy wewnętrznie różnorodni i niejednomyślni. Spróbuje więc opisać kilka z zagadnień, które wyłaniają się z dyskusji na ten temat.

a) Primum non nocere

Absolutnie nie zgadzamy się z “prostymi rozwiązaniami” typu – “usunąć IE z Windows” czy “zmusić Microsoft, by dołączył kilka przeglądarek i dał wybór podczas instalacji”. To byłoby chore. Jesteśmy przekonani, że usuwanie przeglądarki z systemu operacyjnego byłoby kaleczeniem doświadczenia korzystania z komputera przez użytkowników i jako takie byłoby ruchem wymierzonym przeciwko użytkownikom.

Mamy też bardzo poważne wątpliwości co do implikacji włączania przez Microsoft jakichkolwiek produktów poza własnymi. Wiązałoby to cykle wydawnicze, tworzyło precedensy w zakresie bezpieczeństwa, praw patentowych, szkodziłoby wreszcie samemu użytkownikowi zmuszając go do kolejnego wyboru.

b) Rząd nie powinien ingerować w technologie i wybory technologiczne prywatnej firmy

Nawet jeśli techniczne możliwe jest, aby KE zmusiła Microsoft do jakiegkolwiek ruchu w zakresie oferty systemowej (jak zrobiła to z odtwarzaczem muzycznym), to byłby to ruch niebezpieczny i ryzykowny. Po pierwsze sam zamysł, jakoby rząd mógł jakąś odgórną dyrektywą dotyczącą wyborów technologicznych uzdrowić konkurencyjność rynku jest bardzo wątpliwy, po drugie zaś tworzy niesamowite pole do nadużyć z obydwu stron. Nie wierzę, aby Microsoft wykonał ruch zgodny z literą decyzji KE w sposób, który będzie wspierał konkurencyjność rynku. Jeśli Microsoft nie będzie partnerem w tej dyskusji to raczej spodziewam się “ogrywania systemu”, sztuczek i obchodzenia decyzji.

c) Czy Mozilla powinna być stroną?

Zażalenie złożyła Opera, podjęła je KE i wystosowała list do Microsoftu. Na ile racjonalne jest włączanie się Mozilli w to? Wierzę, że jest. Mozilla stawia sobie za cel realizację wizji otwartego i konkurencyjnego Internetu jako miejsca do pracy, nauki, zabawy i rozwoju. Nie możemy stać z boku i biernie czekać na decyzje Komisji. Na dodatek, mamy prawo uznawać się za jednych z większych ekspertów w dziedzinie przeglądarek i rynku przeglądarek. Problemem wewnętrznym jest jak zapewnić, że cała społeczność Mozilli ma wpływ na nasze stanowisko. Czy każdy kto ma opinię na ten temat bloguje o tym? Czy każdy komentuje posty Mitchell, Tristana, Marka? Czy każdy bierze udział w spotkaniach Mozilli Foundation gdzie dyskutuje się ten temat?

d) Czy jest już za późno?

Czy ma sens budowanie jakichkolwiek rozwiązań, gdy rynek jest od co najmniej 10 lat skażony taką sytuacją i sam, powolnie i nieudolnie próbuje reagować?

e) Czy firma traci jakieś wolności lub prawa stając się monopolistą?

W nawiązaniu do punktu b), pojawia się pytanie czy Microsoft mający swój system (jak Apple, Red Hat, Canonical itp.) staje się kimś innym tylko dlatego, że jest monopolistą na rynku przeglądarek? Czy powinien musieć zachowywać się inaczej? Czy powinien musieć stosować się do standardów (i czy standardy wówczas nie stają się przedmiotem gier politycznych – patrz ISO i OOXML), czy powinien odpowiadać za rynek którego jest monoopolistą jeśli nie widzi w tym celu biznesowego?

Czy można mówić o “nieodpowiedzialnym liderze”, który nie umie lub nie chce przyjąć na siebie pewnego kontraktu społecznego związanego z dominacją na takim rynku i czy brak tej woli powinien wiązać się z penalizacją? Czy zachowanie Microsoftu w związku z przeglądarkami w latach 2001-2007 powinno być nielegalne? Czy w ten sposób myśląc nie tworzymy paradoksu monopolu w którym dominacja na rynku wiąże się z obowiązkami szkodzenia własnej pozycji?

f) Czy istnieje rozwiązanie?

Czy warto zmuszać Microsoft do stosowania standardów poprzez prawo a nie rynek? Czy to zadziała? Co się stanie gdy w prawie będzie wymóg stosowania CSS2 a wyjdzie CSS3? Co jeśli wyjdzie XHTML2.0 oraz HTML5? Kto decyduje? Co jeśli pojawią sie niezgodności między decyzjami KE a na przykład rządami azjatyckimi?

Czy można zażądać od Microsoftu, aby nie wiązał możliwości korzystania z Windows z IE (np. aby można było aktualizować system bez użycia IE, albo zakazać mieszania użycia IE w celach związanych z systemem operacyjnym z celami przeglądania sieci)

Czy można zażądać od Microsftu, aby zagwarantował, że w przypadku korzystania z innej przeglądarki, wygoda i funkcjonalność systemu nie będą ograniczone?

Czy można zabronić Microsoftowi ukrywania elementów API wyłącznie dla swojej przeglądarki?

Czy ma sens zobowiązanie Microsoftu, aby prezentował inne przeglądarki podczas instalacji systemu lub aktualizacji wersji przeglądarki domyślnej?

Czy IE powinno oferować zostanie zastąpienie domyślnej przeglądarki jeśli został zainstalowany z systemem?

Czy Microsoft powinien być zobowiązany do zapewnienia neutralności technologicznej swoich narzędzi deweloperskich (tak, aby wynikowe programy działały w innych przeglądarkach?)

Czy można zobowiązać Microsoft do edukacji użytkowników o innych przeglądarkach i ewentualne kary za nierealizacje przeznaczyć na promocję wolnych standardów i edukację użytkowników?

4) Podsumowanie

Microsoft ma wszystkie atuty, by w krótkim czasie odzyskać swój monopol. Może to zrobić na setki sposóbów i jedną z najważniejszych przyczyn dla których to się nie stało teraz jest brak motywacji, a nie brak możliwości. Rynek w takiej sytuacji jest w nieustającym napięciu i nie ma dziś najmniejszych szans, aby 3-5 dużych graczy dzieliło się równo rynkiem i mogło zdrowo konkurować w długiej perspektywie.

Poruszony przez KE temat wywołuje dyskusje, dyskusja ta tworzy nowe pomysły na rozwiążania, ale jesteśmy bardzo daleko od konsensusu i jedno co wiemy to to, że musimy być niezwykle ostrożni, aby nie zepsuć bardziej.

Nie wiemy czy którekolwiek z tych działań mają sens. Nie wiemy jak mogą pomóc, a jak zaszkodzić. Wielu z nas ma obawy przed długofalowymi destrukcyjnymi konsekwencjami krótkowzrocznych działań i zastanawiamy się, czy KE w ogóle ma możliwość zrobienia czegoś co nie zaszkodzi rynkowi. Zgadzamy się, że problem istnieje. Zgadzamy się, że powinniśmy znaleźć rozwiązanie. Jakie? Czy istnieje?

Jeśli ten temat jest dla Ciebie ważny, przyłącz się do dyskusji, w komentarzach tutaj, na blogu Mitchell, albo swoim!

Categories
main tech

User interface of rm is broken

I know, I know. It’s so much easier to discover major flaws in design of things just after you made something wrong, but… here it goes.

So yesterday I’ve been playing around with ISO images of several linux distros on my hard drive. Organize, complete torrent download, etc. For that reason, at some point I moved everything to another directory and removed the main directory I use for them using rm -rf ./Downloads/iso.

Then, I switched to working on silme, reviewing ta-LK localization and trying to install SoftPhone. At some point I tried to figure out why I cannot reach the server and launched another terminal window where I pinged the server with no result. I fixed a few things in my connection and wanted to re-ping the server.

In order to select the right window from the background, I swap my mouse to top-right corner of my screen which enables expose mode in macos or linux and presents all the windows for me to select from. How much easier it can be?

Well, in this case I had to select terminal window, which, comparing to others, is pretty much indistinguishable from each other and of course already forgot I have another terminal window at all. The lightning fast auto combination I did was – select terminal, activate, arrow up, enter.

In some universe this probably caused another me to ping softphone server successfully. But in this particular one (that I created with my choice and dragged you into it with me – no offense) I deleted around 30 gB of iso images before I force-closed the tab (ctrl+c did not work).

The tragedy is not devastating. I can live with that. Sure it’s a lesson for me on what not to do, and when not to assume too much, but the biggest outcome (except of launching a few iso downloads instantly) is that it got me thinking about broken design of rm command in shell.

First of all, there are two different models of me using rm command.

1) When I want to clean up unimportant structure that is either empty or almost empty

2) When I want to remove a big chunk of data that I don’t use anymore

First case is when I’m removing directories that were used in the past and have no value, or, weight. Like, nested directory structure with no files, or just a few, or test directory with some test objects inside. Latter case is when I’m deleting directory with Firefox 2.0 localizations, or application I no longer use.

The current behavior of rm is fundamentally broken (I’m so smart once it failed for me, heh…).

Basic operation would be to use rm OBJECT.

This operation will work on any file no matter of:

  • how old it is
  • how often did you use it
  • when did you use it for the last time
  • what apps use it

In other words deleting a file that you used 90 times in last 3 hours, you had on your drive since 2007, was often launched a few times per week because it contains your thesis has exactly the same UI as deleting an empty test.dtd file from data directory.

I call it broken. It ignores all the context that is available to it and assumes a person made a conscious choice, but we all know that using terminal is not all about making conscious choices. It’s about making some actions much faster. Faster equals less conscious.

But what’s even more scary is when we get to directories. Deleting a directory is not that easy. rm dir1 will refuse to work overall just because (comparing to previous case) dir1 is a directory. It’s harder to delete an empty directory than your thesis!

rm offers us a nice argument -d which makes rm threat directories like files, but does it help much? It does with empty directories. So using rm -d object gives you equal UI for deleting your thesis file and an empty dir which is still broken because empty dir is hardly a data loss! The worst can happen when you delete an empty dir is that you cannot remind yourself the name of it. How scary it can be?

Next level of brokenness comes into play when we start thinking of directories with something inside. Today, it rarely happens that we have less than several thousands of directories. It’s getting so complex that OS systems are trying to abstract file system layer and reduce user interaction with the real file system so that people don’t have to spend hours iterating through directories to find the file. It means that very often operation of deleting empty directory does not mean that the directory is fully empty. It means that there’s hardly anything inside. Maybe 5 directories, maybe two small files…

From the computer point of view, it’s not empty. Period. From the user point of view it’s empty or almost empty, who cares. To cover this difference we memorize a new command – rm -rf object. It means what I said – remove this and all the little things inside and don’t bother me.

It’s important to have this method because otherwise you’d have to enter the dir1, delete each empty directory inside and then enter the one subdirectory that contains the only file in this structure, delete it, get back to main directory and remove dir1. rm -rf dir1 solves it.

Unfortunately the solution to remove big chunk of obsolete data is exactly the same. When I want to remove (consciously, after double verification that I don’t need it) 12 GB of data in some directory structure, the easiest thing I can do is to get into parent directory and do rm -rf dir1.

Of course I could use GUI, but almost every GUI tool will try to stat all files inside to show me a nice progress bar which in case of deleting, for example, mozilla-central clone will take forever, so I prefer to use rm -rf dir1.

There are various patterns to recognize the two different kinds of “delete” operation I’m intended to do. One is related to small amounts of data, and usually does not happen just after scanning the directory (I don’t double test such cases), another is more conscious, verified and relates to big amounts of data.

What’s fundamentally broken is that for both, the best and only command I can use is the command that means, more or less, delete whatever is there and don’t bother showing me anything. I actually did not mean it. I could use a confirmation dialog in case of deleting 6 gb of files. Really. It’s just that rm does not provide confirmation. It’s either go or no-go. If I did not provide -rf arguments it will simply refuse to work so I’m adding them not because I want to avoid getting bugged, but because I want to solve my goal!

So one solution might be to switch rm from “not going to happen” mode to “Are you sure you want to delete big amount of your data?”.

Another might be to use context of what I’m trying to delete. Except of a rather rare case of a super important password written in an otherwise empty file in an empty directory structure, usually when something has 10 nested directories and two files with less than 100 bytes of text inside – it’s safe to go. Deleting it means almost the same as deleting one empty directory or file. I should be able to do this without warning.

But when I’m deleting something big and complex I need a way in between rm saying “no – it’s a dir” and “done”. The way that will notice me about the amount of data I’m trying to delete, number of files, number of directories, maybe some other context data in the future, and either ask me for confirmation or give me 3 seconds before proceeding so that I can react and stop it.

This would improve the UI of rm command drastically and save other people data in the future.

Thoughts? Comments?

Categories
main

150 things to do before you turn 30

So, following the previous meme, I jump on another bandwagon.

The rules are:

  1. The things you have already done – make them bold.
  2. Italics is for things that you are dying to do!

Notice, you don’t have to send or nominate another group of individuals which limits the meme itself.

01. Bought everyone in the bar a drink
02. Swam with dolphins
03. Climbed a mountain
04. Taken a Ferrari for a test drive
05. Been inside the Great Pyramid
06. Held a tarantula
07. Taken a candlelit bath with someone
08. Said “I love you” and meant it
09. Hugged a tree
10. Bungee jumped
11. Visited Paris
12. Watched a lightning storm at sea
13. Stayed up all night long and saw the sun rise
14. Seen the Northern Lights
15. Gone to a huge sports game
16. Walked the stairs to the top of the leaning Tower of Pisa
17. Grown and eaten your own vegetables
18. Touched an iceberg
19. Slept under the stars
20. Changed a baby’s diaper
21. Taken a trip in a hot air balloon
22. Watched a meteor shower
23. Gotten drunk on champagne
24. Given more than you can afford to charity
25. Looked up at the night sky through a telescope
26. Had an uncontrollable giggling fit at the worst possible moment
27. Had a food fight
28. Bet on a winning horse
29. Asked out a stranger
30. Had a snowball fight
31. Screamed as loudly as you possibly can
32. Held a lamb
33. Seen a total eclipse
34. Ridden a roller coaster
35. Hit a home run
36. Danced like a fool and didn’t care who was looking
37. Adopted an accent for an entire day
38. Actually felt happy about your life, even for just a moment
39. Had two hard drives for your computer
40. Visited all 50 states
41. Taken care of someone who was drunk
42. Had amazing friends
43. Danced with a stranger in a foreign country
44. Watched whales
45. Stolen a sign
46. Backpacked in Europe
47. Taken a road-trip
48. Gone rock climbing
49. Taken a midnight walk on the beach
50. Gone sky diving
51. Visited Ireland
52. Been heartbroken longer than you were actually in love
53. In a restaurant, sat at a stranger’s table and had a meal with them
54. Visited Japan
55. Milked a cow
56. Alphabetized your CDs
57. Pretended to be a superhero
58. Sung karaoke
59. Lounged around in bed all day
60. Played touch football
61. Gone scuba diving
62. Kissed in the rain
63. Played in the mud
64. Played in the rain
65. Gone to a drive-in theatre
66. Visited the Great Wall of China
67. Started a business
68. Fallen in love and not had your heart broken
69. Toured ancient sites
70. Taken a martial arts class
71. Played D&D for more than 6 hours straight
72. Gotten married
73. Been in a movie
74. Crashed a party
75. Gotten divorced
76. Gone without food for 5 days
77. Made cookies from scratch
78. Won first prize in a costume contest
79. Ridden a gondola in Venice
80. Gotten a tattoo (considering, but far from agreement with myself)
81. Rafted the Snake River
82. Been on a television news program as an “expert”
83. Gotten flowers for no reason
84. Performed on stage
85. Been to Las Vegas
86. Recorded music (THE music)
87. Eaten shark
88. Kissed on the first date
89. Gone to Thailand
90. Bought a house
91. Been in a combat zone
92. Buried one/both of your parents
93. Been on a cruise ship
94. Spoken more than one language fluently
95. Performed in Rocky Horror
96. Raised children
97. Followed your favorite band/singer on tour
98. Passed out cold
99. Taken an exotic bicycle tour in a foreign country (not sure if Bornholm counts)
100. Picked up and moved to another city to just start over
101. Walked the Golden Gate Bridge
102. Sang loudly in the car, and didn’t stop when you knew someone was looking with the windows open
103. Had plastic surgery
104. Survived an accident that you shouldn’t have survived
105. Wrote articles for a large publication
106. Lost over 100 pounds
107. Held someone while they were having a flashback
108. Piloted an airplane
109. Touched a stingray
110. Broken someone’s heart
111. Helped an animal give birth
112. Won money on a TV game show
113. Broken a bone (little finger on the left foot counts?)
114. Gone on an African photo safari (only in Montreal, which doesn’t count)
115. Had a facial part pierced other than your ears
116. Fired a rifle, shotgun, or pistol
117. Eaten mushrooms that were gathered in the wild
118. Ridden a horse (but I really want to learn hot to ride them)
119. Had major surgery
120. Had a snake as a pet
121. Hiked to the bottom of the Grand Canyon
122. Slept for 30 hours in a 48 hour period
123. Visited more foreign countries than U.S. States
124. Visited all 7 continents
125. Taken a canoe trip that lasted more than 2 days
126. Eaten kangaroo meat
127. Eaten sushi
128. Had your picture in the newspaper
129. Changed someone’s mind about something you care deeply about
130. Gone back to school
131. Parasailed
132. Touched a cockroach
133. Eaten fried green tomatoes
134. Read The Iliad and The Odyssey
135. Selected one “important” author who you missed in school, and read
136. Killed and prepared an animal for eating
137. Skipped all your school reunions
138. Communicated with someone without sharing a common spoken language
139. Been elected to public office
140. Written your own computer language
141. Thought to yourself that you’re living your dream
142. Had to put someone you love into hospice care
143. Built your own PC from parts
144. Sold your own artwork to someone who didn’t know you
145. Had a booth at a street fair
146. Dyed your hair
147. Been a DJ
148. Shaved your head
149. Caused a car accident
150. Saved someone’s life


Categories
main mozilla tech

Reroute to FOSDEM

Yesterday, after horrible 19 hours of flight (plus 3 hours of ferry from Victoria to Vancouver) I landed in Warsaw.

Now, I’m wrapping up to get on the plane to Brussels for FOSDEM 09!

If all goes well I should regain control over myself from Mr. JetLag soon. Right in time for the most exciting event in the year. I can’t wait for Mark’s keynote! 🙂