Planeta Blogów WMI UAM

January 08, 2012

Borkowski Marcin

2012-01-08 I've discovered a huge security hole in Catholicism

Dawno, dawno temu, w czasach, gdy slackware na parunastu dyskietkach był czymś nie budzącym zdziwienia, a emacs irytował powolną pracą na superkompie, który miał aż 8 MB RAMu, czytałem sobie takiego linuksowego FAQa, z którego zapamiętałem dowcipny fragment:

I’ve discovered a huge security hole in rm!

No you haven’t. You are obviously new to Unix and need to read a good book to find out how things work.

Przyznam, że za każdym razem, gdy ktoś mi mówi, że katolicyzm (czy chrześcijaństwo) są totalnie irracjonalne i każdy idiota widzi, że nasza wiara jest wewnętrznie sprzeczna, i że on to odkrył, gdy ksiądz nie umiał mu odpowiedzieć na jakieś pytania na katechezie w gimnazjum, mam ochotę odesłać go do tego właśnie FAQa.

Oczywiście zdaję sobie sprawę, że argument “masa ludzi uważa, że to prawda, więc coś w tym musi być” to żaden argument. Ale pomyślmy chwilę. Przez ostatnie niespełna 2000 lat było całkiem sporo ludzi, którym konkretnie zależało, żeby zniszczyć Kościół katolicki, w szczególności intelektualnie. Wśród nich było też całkiem sporo – przyznajmy – ludzi naprawdę inteligentnych. Mimo to, na przestrzeni tych lat można wymienić również całkiem sporą liczbę wybitnych umysłów (tak teologów i filozofów, jak i przedstawicieli innych dziedzin, a także ludzi spoza światka naukowego), którym wszystkie te argumenty nie przeszkadzały być katolikami, a nawet paru takich, którzy po dogłębnej analizie doktryny katolickiej na nią się nawracali. Więc może, kurczę blade, sprawa wcale nie jest taka oczywista na pierwszy rzut oka, co?

I teraz przychodzi gimnazjalista, który mówi mi, że właśnie odkrył potężną lukę w nauczaniu katolickim (czy chrześcijańskim), które uważa przez to za kompletnie irracjonalne. Przy tym nie czytał ani św. Pawła, ani św. Augustyna, ani Scotta Hahna, ani Chestertona, ani o. Salija, ani (nawet) Lewisa, by wymienić tylko paru, z którymi ja miałem przyjemność się zetknąć. (Nie czytał też zresztą pewnie i Lutra czy Künga, może najwyżej Browna czy Dawkinsa – zgódźmy się jednak, że to, delikatnie rzecz ujmując, troszkę inna liga;).)


I’ve discovered a huge security hole in Catholicism!

No you haven’t. You are obviously new to our faith and need to read a good book (or find a good spiritual director) to find out how things work.

KategoriaBlog, KategoriaWiara

January 08, 2012 10:00 PM

January 05, 2012

Krzysztof Szarzyński

Zima nad morzem.

Śniegu nie ma, lodu nie ma. Jest zimno i mokro. Czyli zima nad polskim wybrzeżem. W święta wybrałem się na kilka dni do trójmiasta. Pogoda nie zachęcała do długich spacerów z aparatem, więc zdjęć mało.

by Quati at January 05, 2012 03:17 PM

January 02, 2012

Girl, lost in IT

Ubuntu (en)

I decided to write this post when my programmer friend (of course programmer seems to be a simplification, but I suppose this is what happens when you try to define a person by their walk of life) found a can of Ubuntu Cola in Tesco (see the photograph below) and posted it on Facebook as a good geek joke. Dear all, Ubuntu Cola (and I do acknowlege the fact that it sounds freaking hilarious) is not an Ubuntu Linux trademark rip-off. The name is a reference to the same beautiful idea that the Linux distribution name originates from.

Ubuntu Cola (original photo from http://www.ethicalsuperstore.com)

Ubuntu is an African philosophy whose supporters include Nelson Mandela. The Ubuntu term itself is often translated as I am, because you are, because we are. The humanistic philosophy rejects individualism, recognizes the value of human life, values community and togetherness, dialogue, tolerance, and understanding rather than punishment Desmond Tutu, a Nobel Prize laureate, writes (quote taken from The African Philosophy Reader):

It is about the essence of being human, it is part of the gift that Africa will give the world. It embraces hospitality, caring about others, being able to go the extra mile for the sake of others. We believe that a person is a person through another person, that my humanity is caught up, bound up, inextricably, with with yours. When I dehumanise you, I inexorably dehumanise myself. The solitary human being is a contradiction in terms and therefore you seek to work for the common good because your humanity comes into its own in belonging.

It goes really well together with the open source movement, doesn’t it? :)

I first heard the word in a non-Linux context during the Intercultural Navigators workshop organised/funded by the British Council. I learned a lot there… I remember a long block of workshops and meetings on this subject, sparsely illustrated with film material in which members of African tribes described putting the Ubuntu idea into life. If somebody has nothing to eat or drink, you help them. If he ir she is not fit for work, you help them, and so on. All the time my Central European brain kept pondering: “how do they eliminate con men”? How long can you be “unfit for work”? What happens if a person decides to take a lifetime of relaxing while the rest of the tribe works their butts off, and never repays any of the favours? There seemed to be one, constant answer: “it’s not the point”. Having the favour returned is not the ultimate goal.

Since we are already on the subject (please see the Ubuntu Cola photo again), I learned a few days ago that the first Fair-Trade-only shop (is it in Poland even?) has just opened in Poznań (some shops, like Alma or Folwark Wąsowo already offer some products with the logo/certification). While writing this post I finally checked the adress – turns out I pass it every time I go to work by car and park in my sister’s garage. Expect a review quite soon :)

Coming back to the Navigators. I do not really remember what made me apply for this programme. For a few months I had one weekend a month taken from me, filled with meetings with some of the most determined, higher-goal-oriented and aware people I met in my life. I deeply believe that most of us learned a lot about ourselves and other people during that time. At the end of the workshop period we were given a chance to apply for a funding for a self-designed project, and somehow my Online Grandmas! idea was one of the winners. So together with my friends, including my dear Husband (who is very anxious about being mentioned here), we had this truly wonderful experience. Side effects include the release of a group of elderly spammers. See the pink email background and the bon-mot slideshows and you know what I mean, I might just look for them for your entertainment. They are really sweet. Here is one of the photos from the lecture/pratice series. You can find more in the project website, but that is in Polish only, sorry.

The Online Grandmas lecture series (Adam Mickiewicz University's Physics Department)

How about a rerun?

Have a great New Year!


by Girl, lost in IT at January 02, 2012 11:14 PM

December 31, 2011

Girl, lost in IT

Ubuntu (pl)

Naszło mnie, kiedy znajomy informatyk (od razu przepraszam za uproszczenie) znalazł na półce w Tesco napój o nazwie Ubuntu Cola (poniżej zdjęcie ze strony http://www.ethicalsuperstore.com/) i umieścił zdjęcie na Facebooku w ramach branżowego żartu. Moi drodzy, Ubuntu Cola (żeby nie było, nie jestem w stanie zignorować komizmu tej nazwy) to nie podkradanie marki dystrybucji Linuksa, tylko nawiązanie do tej samej idei, której zawdzięcza ona swoją nazwę.

Ubuntu to afrykańska filozofia, której zwolennikiem jest między innymi Nelson Mandela. Samo słowo Ubuntu bywa tłumaczone jestem, ponieważ jesteśmy. U podstaw tej humanistycznej filozofii leży odrzucenie indywidualizmu, poszanowanie wartości ludzkiego życia, wspólnota, resocjalizacja w miejsce kary, dialog i tolerancja. Desmond Tutu (swoją drogą, laurerat Pokojowej Nagrody Nobla) pisze (tłumaczenie własne, oryginał w angielskiej wersji postu, jeśli ktoś zna oficjalne i ładniejsze, zachęcam do wskazania), a ja cytuję za The African Philosophy Reader:

Ubuntu to sama istota bycia człowiekiem, to część daru, który Afryka ofiaruje światu. Ubuntu to gościnność, dbanie o innych, wychodzenie im naprzeciw. Wierzymy, że człowiek jest człowiekiem poprzez innych, że moje człowieczeństwo jest nierozerwalnie związane z Twoim. Jeśli odmawiam Ci człowieczeństwa, niepowstrzymanie odmawiam go także sobie. Pojedyncza istota ludzka to oksymoron. Z tego powodu pragniemy pracować dla dobra ogółu, gdyż człowieczeństwo wyraża się we wspólnocie i przynależności.

Pasuje do ruchu wolnego oprogramowania, prawda? :)

Słowo to w kontekście innym niż linuksowy poznałam podczas organizowanych przez British Council warsztatów Międzykulturowi Nawigatorzy, które nauczyły mnie dość sporo, ale o tym zaraz. Pamiętam dość długo blok zajęć, bogato ilustrowany materiałem filmowym, w którym przedstawiciele afrykańskich plemion mówili o tym, jak wdrażają tę ideę w życie. Jeśli ktoś nie ma picia lub jedzenia, należy o niego zadbać. Jeśli ktoś nie ma siły do pracy, należy mu pomóc i go wyręczyć, i tak dalej. Przez cały czas moja wschodnio-zachodnia głowa próbowała znaleźć odpowiedź na jedno pytanie: „jak ochronić się przed oszustwem”? Jak długo można „nie mieć sił do pracy”? A co, jeśli ta osoba przez całe życie będzie odprężała się kosztem wysiłków całego plemienia, i nigdy nie zwróci nawet ułamka otrzymanych przysług i wysiłków? Odpowiedź była jedna: „nic nie szkodzi”, nie chodzi o to, żeby je zwrócił, nie to jest celem.

Skoro już jesteśmy przy tym temacie (spójrz jeszcze raz na zdjęcie z puszką Ubuntu Coli), w Poznaniu otworzył się właśnie pierwszy sklep w całości poświęcony produktom Fair Trade, choć poszczególne produkty od dłuższego już czasu można dostać w niektórych poznańskich sklepach, takich jak Alma czy sklepik Folwarku Wąsowo. Pisząc ten post sprawdziłam wreszcie lokalizację sklepu FT – okazało się, że mijam go często w drodze do pracy (tzn. wtedy, gdy jadę samochodem i parkuję pod domem mojej siostry). Wkrótce zdam relację.

Wracając do Nawigatorów… Nie pamiętam nawet, jak to się stało, że zgłosiłam się do tego programu. Przez kilka miesięcy jeden weekend w miesiącu miałam zajęty spotkaniami z grupą najbardziej zdeterminowanych i świadomych własnego celu ludzi, jakich spotkałam w życiu. Wydaje mi się, że na spotkaniach każdy z nas w ogromnym stopniu odnalazł siebie i nauczył się wiele o innych ludziach. Pod koniec warsztatów mieliśmy szansę aplikować o finansowanie projektów związanych z tematem integracji między kulturami, dzięki czemu kilka miesięcy później przeprowadziłam (wspólnie z kilkoma poznańskimi przyjaciółmi, pozdrowienia dla Ewy oraz Męża, który nie może się doczekać pojawienia się na blogu) warsztaty Babcie do komputerów! – cudowne doświadczenie, tyle że efektem ubocznym było stworzenie grupy spamerów w podeszłym wieku – może wykopię gdzieś różowe szablony maili, które do dziś co jakiś czas otrzymuję. Na razie zdjęcie, więcej na stronie pamiątkowej projektu.

Może ktoś ma ochotę na powtórkę?

Szczęśliwego Nowego Roku!


by Girl, lost in IT at December 31, 2011 10:00 AM

December 26, 2011

Borkowski Marcin

2011-12-25 Wesołych Świąt

Gdyby przypadkiem ktoś tu jeszcze zaglądał od czasu do czasu, życzę Wesołych Świąt Bożego Narodzenia! (Trochę późno, ale (i) świąteczny czas jeszcze trwa, (ii) komputer leżał wyłączony od dwóch-trzech dni, co innego było ważniejsze.) A zatem wszystkim czytającym te słowa życzę, by radość z Narodzenia Jezusa trwała przez cały rok, a nie tylko parę dni.

A ta radość jest spora, bo to się tylko tak niektórym wydaje, że to taki mały, słodki Jezusek, co kwili na sianku. A tu niespodzianka:

Potem ujrzałem niebo otwarte:
a oto - biały koń,
a Ten, co na nim siedzi, zwany Wiernym i Prawdziwym,
oto sprawiedliwie sądzi i walczy.
Oczy Jego jak płomień ognia,
a wiele diademów na Jego głowie.
Ma wypisane imię, którego nikt nie zna prócz Niego.
Odziany jest w szatę we krwi skąpaną,
a imię Jego nazwano: Słowo Boga.
A wojska, które są w niebie, towarzyszyły Mu na białych koniach -
wszyscy odziani w biały, czysty bisior.
A z Jego ust wychodzi ostry miecz,
by nim uderzyć narody:
On paść je będzie rózgą żelazną
i On wyciska tłocznię wina zapalczywego gniewu Wszechmogącego Boga

Oczywiście, niechrześcijanie (jak zwykle) dziwią się chrześcijanom; tym razem mogą się dziwić, czemu się tak cieszymy z narodzin tak groźnego Wojownika. Ano dlatego, że On walczy po naszej stronie. I po tej wojnie (która, notabene, nie jest przeciwko krwi i ciału, jak objaśnia nam święty Paweł):

[…] otrze z ich oczu wszelką łzę,
a śmierci już odtąd nie będzie.
Ani żałoby, ni krzyku, ni trudu
już [odtąd] nie będzie […]

Więc raz jeszcze: cieszmy się, bo urodził się Ten, który zmiażdżył głowę węża!


A po życzeniach jeszcze dwa akcenty, również radosne, chociaż radością bardziej przyziemną (ale wszak ta radość też pochodzi od Boga!). Oto pierwszy: jak narysować choinkę w TeXu.

A drugi, to garść wrażeń z otwarcia i przetestowania prezentu, który Św. Mikołaj zostawił mojej Najżońszej pod (realną) choinką: Airlines Europe, edycja polska.

  • Czas rozgrywki: chyba ok. 120 minut (pudełkowy 75, myślę, że w 2 osoby da radę zejść do 60).
  • Reguły bardzo proste, gdybym wyjaśniał Żonie przed północą, pewnie starczyłoby 5-10 minut;).
  • Trochę obawiałem się, jak będzie chodzić na 2 osoby. Otóż okazało się, że znakomicie. Oboje byliśmy bardzo zadowoleni.
  • Już po jednej grze widzę, że – choć zasady proste – to jednak ilość i trudność decyzji spora. Efekt “za krótkiej kołderki” mocno widoczny (choć może nie aż tak, jak w Agricoli), jest trochę miejsca nawet na interakcję negatywną (ale na ludzkim poziomie).
  • Plansza śliczna, samoloty całkiem ładne, banknoty trochę do bani, ale ogólnie komponenty na wysokim poziomie.
  • Zaskakująco miodna mechanika gry kolejowej (pierwszej tego typu w mojej kolekcji), mimo, że mocno uproszczona, to sprzyjająca ciekawym zagraniom: spółek jest sporo (nawet w wersji 2p), nie da się oczywiście mieć pakietu większościowego w każdej, więc trzeba sprytnie alokować środki pomiędzy udziały w różnych firmach (oraz robić to w odpowiednim momencie).

Reasumując: solidna pozycja, na pewno jeszcze nieraz wyląduje na stole.

KategoriaBlog, KategoriaWiara, KategoriaTeX, KategoriaGryPlanszowe

December 26, 2011 02:00 AM

December 23, 2011

Dopierała Andrzej

2011-12-23 Ankieta Polskiego Badania Czytelnictwa: Przyszła do mnie prośba o wypełnienie ankiety. Z Polskiego Badania Czytelnictwa, sp. z o.o. Niby nic dziwnego, ale.. przyszła "smailem". A sama ankieta, po podaniu "pinu" z listu do wypełnienia na stronie http://www.ankieta.pbc.pl/ W zamian za wypełnienie ankiety oferują m.in. kupony sodexo na kwotę 20zł. I w sumie... Podszedłem do tematu trochę z mieszanymi uczuciami. Jak? Skąd? Po co? Z tego co znalazłem dane osobowe otrzymali z bazy PESEL na podstawie Dz.U. 2006 nr 139 poz. 993, 44h ust 2 par 2. List - był zaadresowany do mnie (imię, nazwisko, adres). Natomiast w samej ankiecie na stronie zwrot był przez "Pani". Pomyłka? Koniec końców zmarnowałem kwadrans i wypełniłem. Co prawda niezbyt wartościowo, bo z proponowanych czasopism to tylko sporadycznie Metro przeglądam jak akurat mi w korku wcisną, natomiast Fantastyki w ankiecie nie było, ale - jak to badanie statystyczne, to.. czemu nie.

Przyszła do mnie prośba o wypełnienie ankiety.
Z Polskiego Badania Czytelnictwa, sp. z o.o.

Niby nic dziwnego, ale.. przyszła “smailem”. A sama ankieta, po podaniu “pinu” z listu do wypełnienia na stronie http://www.ankieta.pbc.pl/

W zamian za wypełnienie ankiety oferują m.in. kupony sodexo na kwotę 20zł.

I w sumie… Podszedłem do tematu trochę z mieszanymi uczuciami. Jak? Skąd? Po co? Z tego co znalazłem dane osobowe otrzymali z bazy PESEL na podstawie Dz.U. 2006 nr 139 poz. 993, 44h ust 2 par 2.

List - był zaadresowany do mnie (imię, nazwisko, adres). Natomiast w samej ankiecie na stronie zwrot był przez “Pani”. Pomyłka?

Koniec końców zmarnowałem kwadrans i wypełniłem. Co prawda niezbyt wartościowo, bo z proponowanych czasopism to tylko sporadycznie Metro przeglądam jak akurat mi w korku wcisną, natomiast Fantastyki w ankiecie nie było, ale - jak to badanie statystyczne, to.. czemu nie.

December 23, 2011 09:04 PM

December 14, 2011

Girl, lost in IT

Wyrażenia regularne w Javie – figle i psikusy

Tradycyjnie zacznę od zestawu ostrzeżeń:

  1. Jeśli zaglądasz tu, szukając anegdotek i niezgorzkniałego narzekania: UCIEKAJ ile sił! Ten post należy do kategorii Strictly IT, nie chcesz tego zgłębiać. Obiecuję, że normalny wpis pojawi się wkrótce.
  2. Jeśli programujesz: poruszam tu bardzo podstawowe kwestie, które potrafią jednak dać się we znaki. Rozwiązanie opisanych tu niewinnych problemików kosztowało mnie trochę czasu i nerwów. Liczę, że kiedy jakaś zbłąkana dusza znajdzie się w tej samej sytuacji, Google zaprowadzi ją prosto w moje troskliwe ramiona.
  3. Jeśli jesteś moim liderem zespołu: tak, kolejny raz wracamy do historii o pociągach i spadochronach. Wolałbyś tego nie wiedzieć.

Jeśli nadal ze mną jesteś – do rzeczy. Spędziłam ostatnio trochę czasu z wyrażeniami regularnymi w Javie, ponieważ zajmowałam się czyszczeniem i normalizacją rekordów metadanych. Uważam, że zaszywanie tego typu przekształceń na sztywno w kodzie jest nadużyciem, dlatego przygotowałam narzędzie wczytujące z pliku zestaw reguł określających dla danego elementu metadanych warunek oraz akcję, która ma zostać wykonana po jego spełnieniu. Jedną z konsekwencji tego rozwiązania jest to, że wyrażenia regularne (określające warunki w regułach) muszą zostać wczytane z zewnętrznego pliku.

Oto miejsca, w których zachwiana została moja równowaga.

Psikus 1: znaki ucieczki w wyrażeniach wczytywanych z zewnętrznego pliku

Wyrażenia regularne dosyć często (regularnie ;) ) pojawiają się w kodzie, dlatego nie spodziewałam się żadnych problemów. Do czasu.

Nie pamiętam już oryginalnego przykładu, ale ten, który podam, jest wystarczająco podobny. Załóżmy, że wyrażenie (które chcemy wczytać z zewnętrznego pliku) w zwykłym kodzie Javy wygląda tak:

Pattern yearPattern = Pattern.compile("^\\d{2}[-/]\\d{2}\\s*w\\.$");

Linia przedstawia zakres wieków, do którego dopasuje się na przykład:

14-16 w.

Proste, prawda?

Prawda – aż do chwili, kiedy wyrażenie zostało wczytane z zewnętrznego pliku.

Nic nie działało. Łańcuchy znaków, które bez najmniejszych wątpliwości powinny były dopasować się do wyrażenia, przeszły niezauważone. Po godzinie analiz niebezpiecznie zbliżałam się do stanu, w którym myślałam, że oszalał albo świat dokoła mnie, albo ja, kiedy szczęśliwie nadeszła pora lunchu (12.00 – koledzy w pracy jedzą obiad w porze właściwej dla mojej babci Halinki). Opowiedziałam o problemie nad talerzem naleśników ze szpinakiem (jedno z trzech wegetariańskich dań w restauracji Omega). Jeden z nich kolegów zadał oczywiste w sumie pytanie – czy na pewno dobrze wyeskejpowałam (przyjaciele humaniści: przepraszam!!!) wszystkie znaki specjalne. I wtedy wreszcie nadeszło olśnienie: nie, nie zrobiłam tego dobrze. Przeeskejpowałam je.

Znaki specjalne, takie jak d, w wyrażeniu regularnym oznaczające cyfrę, należy poprzedzić backslashem (ukośnikiem wstecznym). W kodzie Javy konieczne jest wprowadzenie dodatkowego backslasha, gdyż musimy jeszcze odebrać specjalne znaczenie samemu backslashowi (musimy poprzedzić znak ucieczki znakiem ucieczki, brzmi to naprawdę dobrze). Tyle razy widziałam te dwa ukośniki w parze, że zupełnie zapomniałam o tym, że w zewnętrznym pliku należy użyć tylko jednego!

Nadal jestem winna Michałowi paczkę cukierków za tę sugestię.

Psikus 2: flagi

To bardzo proste. Załóżmy, że wyrażenie nie ma brać pod uwagę wielkości liter. Normalnie oznaczamy to tak:

Pattern yearPattern = Pattern.compile("^\\d{2}[-/]\\d{2}\\s*w\\.$",Pattern.CASE_INSENSITIVE);

Świetnie, tylko jak przekazać tę flagę, jeśli wyrażenie jest wczytywane z zewnątrz? Okazuje się, że flagę, poprzedzona znakiem zapytania, należy umieścić w nawiasie na początku wyrażenia. Ignorowanie wielkości liter (przy okazji, poznałam ostatnio nowe słowo – kasztowość) to literka i, zatem dodajemy (?i). Ostatecznie, w kodzie wyrażenie wygląda tak:

(?i)^\\d{2}[-/]\\d{2}\\s*w\\.$

a poza kodem tak:

(?i)^\d{2}[-/]\d{2}\s*w\.$

Psikus 3: String.replaceAll

Na deser…

W pewnym specjalnym przypadku reguła zamieniająca dopasowany fragment na podany łańcuch znaków została użyta w kontekście, w którym wymieniony miał zostać cały łańcuch. Na późniejszym etapie wprowadziłam osobną regułę obsługującą ten przypadek, jednak nie o tym mowa. W uproszczenie, wywołanie wyglądało tak:

String s = "string contents".replaceAll(".*","nowa zawartość")

Po wykonaniu się tego kodu spodziewałam się, że wartością s będzie:

nowa zawartość

skoro * jest zachłannym kwantyfikatorem, zatem .* powinno dopasować się do całego napisu niezależnie od okoliczności.

Wyobraźcie sobie moje zaskoczenie (czy raczej przerażenie), gdy okazało się, że s przyjęło wartość:

nowa zawartośćnowa zawartość

Próbowałam jeszcze użyć bardziej zaborczego kwantyfikatora *+, ale efekt był ten sam. Byłabym mniej zaskoczona, gdyby .* zostało dopasowane do każdej litery w łańcuchu. Jakim cudem dopasowało się dokładnie dwa razy?

Dalsze śledztwo wykazało, że (w Javie 6) przebieg akcji jest następujący:

  1. Cały łańcuch dopasowuje się do .* i jest zamieniany na łańcuch "nowa zawartość".
  2. Po dopasowaniu z oryginalnego łańcucha znaków nie zostaje nic, a raczej zostaje łańcuch "". Metoda replaceAll jeszcze raz sprawdza możliwość dopasowania i okazuje się, że "" także pasuje do .*, zatem pusty łańcuch również zostaje wymieniony.
  3. Zasadniczo można by kontynuować i w nieskończoność dodawać na końcu "nowa zawartość", jednak na szczęście (?) dana pozycja w łańcuchu znaków jest traktowana jako sprawdzona i wykonanie metody kończy się.

Mam nadzieję, że moje wyznania złagodzą cierpienia innej osoby w tej samej sytuacji.


by Girl, lost in IT at December 14, 2011 08:51 PM

December 11, 2011

Hromada Mateusz

Debian i problem z multipath

Z jakiegoś powodu instalacja multipath w Debianie (przetestowane wersje Lenny i Squeeze) nie daje oczekiwanych efektów, tj. przełączania się między ścieżkami i kolejkowania w razie braku działających ścieżek. Problemem okazały się domyślne wartości właściwości fast_io_fail_tmo i dev_loss_tmo. Bardzo łatwo można … Continue reading

December 11, 2011 04:00 PM

Bieszczady 2011, dzień 2 – Tarnica

Tarnica to najwyższy szczyt polskich Bieszczadów. Trasę podzieliliśmy na trzy etapy: Ustrzyki Górne – Tarnica (GPS), ok. 3h Tarnica – Wołosate (GPS), ok. 1,5h Wołosate – Ustrzyki Górne (GPS), ok. 1,5h

December 11, 2011 01:28 PM

Girl, lost in IT

Java Regex Gotchas

It is almost a tradition here. I am going to start with a list of disclaimers:

  1. If you come here for the storytelling and whining: RUN! This is the Strictly IT category, you do not want to read it. A proper post is coming soon.
  2. If you are a programmer: this is basic stuff. This is trivial. But it did cost me some time and some nerves, so I am writing this down to help other poor helpless creatures.
  3. If you are my team leader: yes, I know, this is the parachutes and trains story one more time. You wish I had not told you this.

If you are still with me, let us get to the point. I have recently spent some time working with regular expressions in Java because of a metadata cleaning and normalization task. I hate hardcoding this kind of stuff, so I proposed this set of rules in which you can define conditions on the contents of a certain metadata tag and then execute an action if there is a match. This means some regular expressions are read into the program from external rules files.

Here is where I stumbled.

Gotcha 1: escaping characters when the regex is read from an external source

I deal with regular expressions all the time, so I did not expect any problems. Then came this.

I do not remember the real example, here is one similar enough. Let us assume that the regex (that we want to create externally) in normal Java code looks like this:

Pattern yearPattern = Pattern.compile("^\\d{2}[-/]\\d{2}\\s*w\\.$");

It is a line representing a centuries range (w stands for wiek, which is Polish for a century), like this one:

14-16 w.

Straightforward, isn’t it? Well, yes, up to the point when I read the regex from an external rules file.

It did not work. It did not match any strings it was supposed to match. I had just started thinking that maybe I had gone crazy, but then, luckily, came the lunch time. I told the story to my colleagues over a plate of spinach pancakes (one of the 3 vegetarian dishes the restaurant/canteen offers), and one of them asked the obvious question: did you escape special characters properly? And then it struck me: no, I didn’t. I overescaped them.

Normally you introduce special characters, like d which stands for a digit, with a backslash. In Java code, however, you have to use two backlashes to escape the backlash which has a special meaning in Java code (you have to escape the escape character, how cool is that). But when you read the regex from an external file you do not do it! I had seen so many regular expressions in Java that I got used to those double backslashes. Fail.

I still owe Michał a box of candy for this suggestion.

Gotcha 2: flags

This one is easy. Say I want the regex to be case-insensitive. The normal way to do it is this:

Pattern yearPattern = Pattern.compile("^\\d{2}[-/]\\d{2}\\s*w\\.$",Pattern.CASE_INSENSITIVE);

Cool, but if I am reading the regex from a file, how to pass the case insensitive flag? Well, you add the flag in parenthesis at the beginning of the regex. Case insensivity is i, so you add (?i). Finally it looks like this:

(?i)^\\d{2}[-/]\\d{2}\\s*w\\.$

or, externally:

(?i)^\d{2}[-/]\d{2}\s*w\.$

Gotcha 3: String.replaceAll

And finally…

I had this special case when the replace regex rule was supposed to replace the whole contents of a matched string. I later wrote a dedicated rule for that, but that is not the point. Simplified, the call looked like this:

String s = "string contents".replaceAll(".*","new contents")

After the call I expected s to be

new contents

as * is a greedy quantifier, so .* should be matched to the whole contents no matter what.

Imagine my surprise (the horror) when s turned out to be

new contentsnew contents

I even tried the possesive quantifier *+, but the result was the same. I would be less surprised if .* was matched to every letter of the string, but why was it matched exactly twice?

Further investigation proved that what happens (Java 6) is this:

  1. The whole string is matched against .*, so it is replaced with "new contents".
  2. What is left after matching the string is "", so the method checks again and concludes that "" matches .*, so it also gets replaced with "new contents".
  3. Obviously you could continue with this logic and add "new contents” in an infinite loop at the end of the string, but fortunately (?) this position in the string is treated as checked, so the method ends.

I hope that this will help somebody in their suffering :)


by Girl, lost in IT at December 11, 2011 10:32 AM

November 25, 2011

Borkowski Marcin

2011-11-25 First three words macro (en)

Today, I read a question on TeX.SE involving the following problem: how to take some text, cut it to three words if it has more of them (and add an ellipsis), or typeset it as-is if it’s three words or less?

It seems to me that writing a macro for an arbitrary number of words might be rather difficult – especially if the number of words exceeded 7 (see remarks in The TeXbook, Appendix D!), but for a fixed number of words it is relatively easy:

\documentclass{article}

\usepackage{etoolbox}% I need \ifblank to put \dots
                     % if something nonblank gets deleted

\makeatletter
\def\@threefirstwords #1 #2 #3 #4\\#5{%
  #1 #2 #3\ifblank{#4}{}{#5}%
}
\edef\threefirstwords#1#2{\noexpand\@threefirstwords
  #1\space\space\space\noexpand\\{#2}}
\makeatother

\begin{document}

\threefirstwords{This is a test}{\dots}\par
\threefirstwords{This is a}{\dots}\par
\threefirstwords{This is}{\dots}\par
\threefirstwords{This}{\dots}\par

\end{document}

Hopefully, the idea behind this is more or less self-explanatory, but there are a few twists here.

Firstly, I used the plain TeX’s delimited arguments: the macro \@threefirstwords takes 5 arguments: the first one is everything from the macro itself to the first space, the second is everything between the first and second space, and so on.

Secondly, in \threefirstwords, I need to put 3 explicit spaces in a row, so that everything goes fine if the first argument to this macro does not contain any space. But putting three spaces in a row in the source file won’t work, since TeX treats them as one; also, putting them in three consecutive lines, ended by % won’t work either, because TeX discards spaces at the beginning of the line. Nor would \obeyspaces work for us, since it changes the catcode of the space, and the parameter sequence takes catcodes into consideration. So I used another way: a macro \space, defined by \def\space{ } in LaTeX kernel. (I did not read all the source2e, of course, but I used the great macros2e by Martin Scharrer). Using \edef (and taking care so that only the \spaces get expanded) does the trick.

Now the author of the question wanted this to shorten long titles in bibliographies, but I can imagine other applications, too; after a slight modification (which I left as an exercise for the reader;)), this macro could be used to set the first three words of a chapter in small caps, for instance.

(Notice also that you can use either ~ or, say, a space in braces to “hide” a space from this command; another exercise could be: how to prepare the argument to \threefirstwords so that it typesets only two words? Of course, \threefirstwords{One {} two three} won’t work!)

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX

November 25, 2011 12:00 AM

November 13, 2011

Girl, lost in IT

Mój pierwszy kurs online! Oraz kilka słów o kaligrafii, ściąganiu i dużych kwantyfikatorach

Tęskniliście za mną? Jeśli tak, winę ponoszą Stuart Russel i Peter Norvig, lub może Peter Norvig i Sebastian Thrun.

Kurs na Uniwersytecie Stanforda

Większość z moich Czytelników pewnie to wie, jednak służę pomocą pozostałym – Russel i Norvig to autorzy doskonałego podręcznika sztucznej inteligencji zatytułowanego Artificial Intelligence: A Modern Approach. Podchodziłam do niego kilka razy. Przeczytałam spore partie pracując nad doktoratem i nieco mniejsze podczas prac nad magisterką. Jest ciekawie i konkretnie, jednak tysiąc stron potrafi przytłoczyć. Z tego powodu, gdy dowiedziałam się od znajomego (i przekazałam kolejnym dziesięciu osobom), że Norvig, który obecnie jest dyrektorem do spraw naukowych w Google, oraz Thrun, profesor informatyki na Uniwesytecie Stanforda, zamierzają poprowadzić eksperymentalny kurs online na podstawie tego właśnie podręcznika, nie miałam wyjścia, musiałam się zapisać. Tym bardziej, że słyszałam już interpretację, zgodnie z którą „eksperymentalny” to eufemizm oznaczający „nie licz, że następny raz też będzie za darmo”. Wciągnęłam się! Jedyny problem polega na tym, że z każdym tygodniem czas poświęcony na oglądanie zajęć i wykonywanie obliczeń zbliża się do ogłoszonych na samym początku przez profesorów, niewiarygodnych 10 godzin tygodniowo.

Kurs trwa od 10 października do 18 grudnia, równolegle do „normalnego” kursu na Uniwersytecie. W każdym tygodniu dostępne są dwa wykłady oraz zadanie domowe, dodatkowo w czasie trwania kursy odbędą się dwa egzaminy: połówkowy i końcowy. Istnieje także możliwość uczestniczenia w kursie w sposób bardziej bierny, bez zadań domowych i egzaminów. Jeden wykład nie przekłada się na jeden filmik. Składa się z sekwencji nagrań, często kończących się interaktywnym quizem, który nie jest liczony do żadnej oceny, za to pozwala zweryfikować zrozumienie zagadnienia. Filmiki najczęściej przedsatwiają jednego z profesorów (a raczej rękę jednego z profesorów) wyjaśniającego zagadnienia takie jak reinforcement learning (uczenie wzmocnione).

Z reguły prowadzący zajęcia zwyczajnie piszą na białej kartce tak, jakby była to tablica na sali wykładowej. Jeden z moich kolegów co jakiś czas marudzi, że jak na współpracę amerykańskiej uczelni z firmą o ambicjach Google, kurs jest przesadnie analogowy, a wykładowcy powinni przynajmniej przygotować slajdy. (Jak na współpracę amerykańskiej uczelni z firmą o ambicjach Google, dziwi także to, że państwo nie przewidzieli, co stanie się z serwerami, gdy na stronie kursu jednocześnie zaloguje się 160 000 uczestników). Mnie się to podoba! Slajdy mają tę brzydką cechę, że czasami tekst na nich znika, albo pojawia się w zupełnie nieoczekiwanym miejscu – moje notatki i bez tego wyglądają dramatycznie. Zapisywanie treści zajęć zawsze było dla mnie jedną z najlepszych metod nauki i zapamiętywania. Podobno to naturalny efekt wprowadzenia dodatkowego bodźca i dodatkowej czynności do procesu uczenia i zapamiętywania. Czytałam ostatnio o tym, że młodsze niż moje pokolenie w większości wyeliminowało ręczne pismo (sama mam z tym poważne problemy, męczę się po około 5 minutach) i przez to nie jest w stanie doświadczyć zalet takiego połączenia (pisanie na klawiaturze podobno tak nie działa).

Kaligrafia

Jedna z nielicznych sytuacji, w których posługuję się długopisem, a nie klawiaturą, to pisanie listów. Piszę ręcznie w celu dodatkowego spesonalizowania wiadomości. Chyba warto, ale jakie to trudne! Mam bardzo złe wspomnienia z podstawówki (oczywiście). Kaligrafia i plastyka to dość zbliżone dziedziny, więc moje doświadczenia z tych dwóch przedmiotów są bardzo podobne. Kiedyś na lekcji polskiego pani nauczycielka pochwaliła moje opowiadanie i przeczytała je całej klasie (temat brzmiał „Ziemia za 200 lat”, kolega z ławki przede mną napisał „Jaka Ziemia?”, co może teraz wydaje się oklepane, jednak pamiętajcie, że mowa o 10-latku), po czym ogłosiła “jeszcze jedno wypracowanie napisane takim stylem pisma, a wstawię ci dwóję za nieposzanowanie mowy ojczystej”. Nie będę już nawet opowiadać o szlaczkach (chociaż żałuję, że nie jestem w stanie zlokalizować żadnego zeszytu z tego okresu). Na uczelni chodziłam na większość wykładów, a jednak nikt nigdy nie chciał pożyczać moich notatek (załączam przykład). Wcale się nie gniewam.

Notatki z wykładu, chyba Logika Matematyczna dla Informatyków

Ściąganie

Skoro mowa o wykładach i notatkach, przejdę do kolejnego tematu, któremu poświęciłam ostatnio nieco namysłu, to jest ściąganiu. Nie robię tego. Pamiętam jeden konkretny przypadek, gdy nasza szalona pani od biologii, której nie chciało się układać się dwóch osobnych syllabusów dla osób w klasach o profilu biol-chem i pozostałych, kazała nam nauczyć się na pamięć budowy struktury chemicznej neuroprzekaźników. Przyznaję, narysowałam ołówkiem odpowiednią cząsteczkę na kartce, na której później pisałam sprawdzian. Biologia i tak była niesprawiedliwa – inna z pań od biologii oceniała sprawdziany na podstawie liczby stron, kolega dostał czwórkę, gdy zamieścił w środku “Rotę” oraz “Bagnet na broń”. Dodam jeszcze, że po 3 latach biologii w liceum nie jestem w stanie ocenić, która leśna roślina nadaje się do jedzenia, a która nie. Chcecie mnie zabić, wypuście mnie w lesie.

Odnoszę wrażenie, że w Polsce panuje ogromne społeczne przyzwolenie na ściąganie. Zapewne jest to silnie związane z naszą nieodległą przeszłością i wszelkimi konotacjami słowa „donosiciel”.

Pamiętacie, na ilu sprawdzianach i egzaminach nauczyciele wprowadzali zasadę pierwszego ostrzeżenia – za pierwszym razem dostajesz ostrzeżenie, dopiero za drugim wylatujesz z sali? Czym to było, jeśli nie zachętą do ściągania? Moje osobiste najbardziej kuriozalne doświadczenie związane ze ściąganiem miało miejsce podczas egzaminu wstępnego na studia. O jedno miejsce starało się 14 osób, a obcy chłopak obok mnie próbował ode mnie ściągać, po czym obraził się, gdy odmówiłam współpracy. Jeden na czternaście, no co ten człowiek sobie myślał?

Słowem przypomnienia, dlaczego ściąganie jest złe. Czy chcielibyście chodzić do lekarza, który ściągał na wszystkich egzaminach poświęconych objawom chorób? Jestem przekonana, że tak właśnie postępował lekarz, który zszywał moje ścięgno Achillesa. Załączam ilustrację z wypadku, bardzo popularną wśród moich przyjaciół. Trzy miesiące później nadal nie mogę biegać. Na szczęście nowy lekarz i nowy rehabilitant dają mi spore szanse na zakończenie tej przygody w sposób pomyślny.

Wypadek z rozbitą butelką. Cierpienie dla sztuki: wracałam z ostatniego spektaklu na Międzynarodowym Festiwalu Teatralnym Malta

Jeszcze raz o kursie

Jeśli ktoś zastanawia się, skąd perorowanie na temat ściągania: reguły kursu online zabraniają współpracy przy zadaniach domowych oraz egzaminach aż do momentu udostępnienia ich oficjalnej punktacji. Dla nas naturalna jest rozmowa na taki temat, a nawet porównywanie ocen, mimo że każdy robi zadania samodzielnie. Ostatnio przyszedł mi do głowy dość niepokojący temat. W jednym z nagrań profesor Thrun opisał „bardzo silną” metodę wykrywania spamu, wykorzystywaną przez Google. Polega ona na sprawdzeniu, czy taka sama wiadomość nie dotarła do tysiąca innych użytkowników. Wniosek: Google skanuje sprawdza, jakie dostajesz wiadomości. Czy w związku z tym istnieje możliwość odpytania serwerów o wszystkie wiadomości e-mail, w których występują nazwiska profesorów, oraz podejrzanie długie ciągi cyfr? ;)

Kwantyfikatory, czyli wisienka na torcie

Pamiętacie jeszcze ankietę z mojego poprzedniego wpisu? Pytałam o to, czy w zdaniu „Mężczyźni są lepszymi kierowcami niż kobiety” mowa o wszystkich kobietach, większości kobiet, czy może o jakichś kobietach. Chciałabym przedstawić opinię profesorów sztucznej inteligencji:

Gdy pominiemy kwantyfikator, możecie założyć, że chodzi o “dla każdego” – to jedynie skrótowy zapis.

:)


by Girl, lost in IT at November 13, 2011 10:37 AM

November 11, 2011

Krzysztof Szarzyński

Girl, lost in IT

The Stanford Review, Calligraphy, and Cheating, with a Cherry on Top

If you have missed me, blame it all on Stuart Russel and Peter Norvig, or maybe on Peter Norvig and Sebastian Thrun.

The Course at Stanford

For those who do not know – Russel and Norvig are the authors of an excellent AI textbook called Artificial Intelligence: A Modern Approach. I read large parts of this book while working on my PhD, and smaller parts earlier, during regular studies. I liked it, but it is a bit overwhelming with its thousand pages. When I learned from a friend (and passed the info to many others) that Norvig, who currently is Director of Research at Google, and Thrun, Research Professor of Computer Science at Stanford University are experimentally teaching an online class in AI based on the mentioned book, well, I had to go for it. Especially when some of the people I know interpret the “bold experiment” clause as “next time you’re paying for this”! I am compelled, but each week the time I spent watching the course and doing the calculations is getting closer to the what the professors proclaimed at the beginning, which was an unbelievable 10 hours a week.

The course is taught from October 10th to December 18th 2011, in parallel with the original course at Stanford. Each week there are two units and a homework, and there are two exams (mid-term and final). For those who want to participate in a more passive way there is a no-homework/no-exam option. A unit is not a single video. Instead, it is a series of short films which often end with interactice quizzes that check your understanding, but are not considered in the grading system. In the videos you see one of the professors (or, most often, a hand of on of the professors) explaining subjects such as Reinforcement Learning.

Usually they write on a white page as if it was a whiteboard. One of my friends keeps complaining that for a Stanford University/Google cooperation the course is incredibly analogue, and that the teachers should at least prepare some slides. (For a Stanford University/Google cooperation it is also a shame that they did not foresee what would happen to their servers when 160,000 online course participants hit the page.) But I like it! With slides I never know from which direction a new line appears, and I seem to never have space in my notebook (yes, on paper) to copy it there. One of the best ways of learning for me has always been writing things down, which apparently has to do with involving one more sense and one more action in the memorizing process. I have read recently that younger people, who hardly ever write things by hand (I am hopeless at this too and get tired after 5 minutes) loose the benefits of this combination.

Calligraphy

One thing I do write by hand on a regular (though not so frequent) basis are letters, real letters sent by post. I do it to personalize the message, but boy is it hard! I have very bad memories from primary school – calligraphy and arts seem not too far apart, so that was another source of frustration. One day the Polish teacher praised my short story (“The Earth in 200 years”, btw the guy who sat in front of me wrote “What Earth?” – you may think it’s cheesy but please remember he was 10) and read it to the whole class, and then she said “one more essay with this kind of penmenship and you get an F for lack of respect towards your mother tounge“. The little colofrul bands we had to draw under every new subject in the excercise book were even worse. I wish I could find one of them… :) At university I attended every lecture, but for some reason (see the enclosed photo) nobody wanted to borrow my notes. Fair enough.

My university lecture notes (Mathematical Logic in Computer Science, it seems)

Cheating

This brings me to the last thing I want to mention today: cheating (as in copying your homework from a classmate or looking over their arm during an exam). I do not do it, the cases when I cheated in tests or exams in my life can be counted on the fingers of one hand. I honestly remember one case only. When the crazy biology teacher in school, who tought mostly biology-oriented classes and was too lazy to switch programmes tried to make us memorize the chemical structure of a neurotrasmitter particle, I drew it beforehand with a pencil in the answer sheet. To comment further on the biology programme: I had to learn stuff like that, but let me off in a forest somewhere and I am dead after 2 days, because I have absolutely no idea what kind of wild plants are edible.

The social consent for cheating in Poland is enormous, which has to do with the fact that informer and collabolator are very pejorative words here, resembling our not-so-distant secret police history. It is still considered morally dubious to tell on a neighbour burning tires in their backyard.

In many tests or exams the teacher introduces a one warning rule – if you get caught looking into a classmate’s sheet, you get a warning. Only the second time you are kicked out. I have always considered it an open invitation. The most outraging cheating experience I had was during the university entrance exams. These days, I believe, students are accepted based on standarized A-level results. Back in my day we had to sit a separate exam for each faculty we applied to (which was maybe more difficult, but a small A-level indisposition did not completely erase your chances of getting accepted). There were 14 people per place willing to study IT at my university. Due to suboptimal choice of the class profile in secondary school I had been preparing for that exam the whole year before. And, imagine this – a guy tried to look into my answer sheet, and sulked when I refused to cooperate! 1 in 14, what the hell was he thinking? But it is not all that shocking here.

To remind you what is wrong with cheating, people… Would you like your doctors to have copied the answers in a symptoms test from their colleagues? The one who was supposed to fix my cut Achilles tendon must have been doing it a lot. See the illustration of the accident (quite popular among my friends, the illustration that id). Three months from that I am still unable to run, fortunately I am seeing a new doctor and physiotherapist, and finally things are getting better.

The broken bottle accident. Suffering in the name of culture: it happened minutes after the Malta International Theatre Festival's closing performance

Stanford Again

If you are wondering where the cheating rant came from: in the online course you are not allowed to talk about the homeworks and the exams with any other participants, of course until they are graded. And people do talk about them, of course, and even compare the answers, even though they do the tasks themselves. And here is what I thought. In one of the units professor Thrun says that a very powerful method of spam detection that Google uses is to see if a thousand other people got the same email. That means that they do check and do know what emails you get. So, can they run a query for all the emails that contains their names a suspiciously long columns of digits? ;)

The Cherry on Top

Do you remember the poll from my previous post, the one in which I ask whether “Men are better drivers than women” meant all, most, or some women? Well, here is what AI professors think about it:

We’ll omit the quantifier, and when we do that, you can just assume it means for all; that’s left out just as a shortcut.

:)


by Girl, lost in IT at November 11, 2011 11:11 AM

November 07, 2011

Dopierała Andrzej

2011-11-07 brother mfc5490CN: drukarka brother mfc 5490cn pod linuksem i.. ipv6.

Stara drukareczka HP 6540 się popsuła (uchwyt od czarnego tuszu przestał kontaktować), naprawa oczywiście nieopłacalna, a mi by się w domu przydał skaner, wiec… Nabyłem nową drukareczkę. Po przejrzeniu dostępnych opcji wybór padł na Brother MFC 5490CN
I - jak na razie nie mam co narzekać.
Drukowanie spod linuksa - ruszyło praktycznie od razu.
Skanowanie spod linuksa - również. Mimo iż po raz pierwszy w życiu konfigurowałem skaner pod linuksem.

A na dokładkę - drukarka działa również po ipv6…

Local> show ip v6

IPv6 is Enabled
IPv6 Static Address is Enabled
IPv6 Addresses are 2A02:848:A::XXXX:XXXX:XXXX:XXXX/64 (via Router)
                   FE80::XXXX:XXXX:XXXX:XXXX/64 (link-local)

The priority IP version of name resolving is IPv4

Będę musiał chyba firewalla wyklikać dla ipv6 :/

November 07, 2011 10:56 PM

November 03, 2011

Krzysztof Szarzyński

October 26, 2011

Girl, lost in IT

Girls, Driving, Coding, Colours

In the first couple of posts I mentioned a few unpleasant professional life stories in which I had to face some openly expressed opinions on women’s intellectual potential. I considered those memories lost in the ash heap of history and safely distant, belonging in the “bad stuff turned good anecdotes” drawer.

Up until last week.

At this point I am the only girl at the team. I miss a girl to talk to not only because there is nobody I can complain to about the female ailments. After 4 years of education in a completely feminine environment (28 beatiful, ambitious adolescent girls in one classroom) and another 5 in the world of testosterone, I am a eulogist of (relative) balance.

Back to the main thread. We’re at a project meeting. All urgent questions have been discussed, so things get a little bit more relaxed. For some reason, we started talking about Dr. Form, well known to both the regular Poznań University (UAM) and the University of Technology (PP) students. Then the PP people told us about Ms. Font. Reportedly, in many cases she was not competent enough to discuss the actual contents of students’ theses, so she questioned the choice of font. We spent a while basking in self-rightousness, but then the leader of the project decided to cut in, saying “well, she’s a woman, she discusses what she knows best”. Mind you, I am giving the lightest possible version of what he said, because I really do not want to accuse people of things they did not say. I think that in fact it was a bit more harsh.

Again: I am the only girl on the team, and the only girl on the (inter-team) project. The author of those surprising words had stated before that he was really glad with my work so far. I reacted immediately, saying it was a bit too much, but – and unfortunately it’s been happening a lot to me recently – I felt more agitated with every passing minute. None of my colleagues decided to protest against putting things this way.

So I was walking home, trying to figure things out. The statemets made were as follows:
- Justyna is a good employee
- Justyna is a woman
- Justyna does not know shit about colours
- Women are only good at picking up colours
———————————————–
???

I finally decided that, provided the author of the aforementioned words had no reason to lie on his assessment of my work, the only non-contradictory interpretation is that a woman with a scientific mind is not treated as a woman at all. This actually is an interpretation which some people tried to force on me with good intentions – “come on, he treats you like a teammate, and not like any woman”. Uplifting indeed. Firstly, I know plenty of girls with scientific minds, and secondly, those who think in a more “soft” manner do not come down to the one doubtful skill (no offence to professional decorators – I envy you). Among my girlfriends there are laywers, artists, translators, journalists… For Pete’s sake.

I took time digesting it. After a few years with a really difficult boss I had decided not to spent a minute more in a place where the employee is treated with no respect by definition. Having considered more and less radical solutions, I went for the simplest one, that is a normal converstation. I learned that the opinion expressed concerned one person only and not women in general, even if pronounced in a slighly ambiguous manner. Fair enough.

This made me think, though. There is this class of natural language statements like “I like dogs better than cats” that lack quantification, and only last week it stroke me that people can interpret them differently. So, be so kind as to tell me…

View This Poll
Finished? So, what’s the deal with a sentence like ”Men are better drivers than women“? I have always treated them as beginning with the universal (“for each”) quantifier, so they have always irritated me. My bad, or is somebody messing with my head?


by Girl, lost in IT at October 26, 2011 07:41 AM

Dziewczyny, samochody, programowanie i kolory

W pierwszych postach wspomniałam kilka niezbyt przyjemnych sytuacji z życia zawodowo-naukowego, w których musiałam stawić czoła wyrażanym na głos opiniom na temat możliwości intelektualnych kobiet. Temat wydawał mi się pogrążony w mrokach dziejów i bezpiecznie odległy, przynależny do szuflady z napisem „złe rzeczy, które zamieniły się w dobre angedoty”.

Do czasu.

Jestem w tej chwili jedyną dziewczyną w zespole. Brakuje mi towarzystwa kobiet nie tylko dlatego, że nie mam komu poskarżyć się na kobiece fizyczne dolegliwości. Po czterech latach edukacji w środowisku sfeminizowanym (28 pięknych, ambitnych dziewczyn w trudnym wieku w jednej klasie) i kolejnych pięciu w świecie testosteronu, jestem zdeklarowanym zwolennikiem (względnej przynajmniej) równowagi.

Główny wątek. Zebranie projektowe. Kwestie merytoryczne już omówione, nastąpiło zauważalne rozprężenie. Rozmowa zeszła najpierw na temat Doktora Formatki, dobrze znanego studentom UAM jak i PP, a później na temat Pani Czcionki (swoją drogą, nie rozważyłam wcześniej intrygującej kwestii stopnia PANI Cz.), o której na UAM nikt jeszcze nie słyszał. Historia w skrócie: Pani Czcionka, najwyraźniej nie potrafiąc odnieść się rzetelnie do treści pracy, koncentrowała się na aspektach wyglądu i formatowania. Dłuższą chwilę pławiliśmy się w dobrym samopoczuciu, gdy jeden z moich kolegów z pracy, pełniący nadrzędną rolę w projekcie, którego dotyczyło spotkanie, uciął wspominki słowami „wiadomo, kobieta, mówi o tym, na czym się zna”. Ponieważ nie pamiętam tej wypowiedzi co do słowa, przytaczam ją w najdelikatniejszej możliwej wersji – szczerze mówiąc, myślę, że było trochę mocniej.

Jeszcze raz – jestem jedyną kobietą w zespole, a także jedyną kobietą pracującą we wspomnianym projekcie (między zespołami). Od autora tych przedziwnych słów słyszałam wcześniej, że bardzo ceni sobie moją pracę. Zareagowałam od razu, mówiąc, że to chyba przesada, ale niestety, co zdarza mi się dosyć często, irytacja narastała we mnie falami jeszcze długo po fakcie. Żaden z moich kolegów nie postanowił zaprotestować przeciwko takiemu stawianiu sprawy.

Zatem szłam do domu i starałam się zrozumieć sytuację. Stan rzeczy, wedle opisanych słów, przedstawiał się następująco:
- Justyna jest dobrym pracownikiem
- Justyna jest kobietą
- Justyna nie zna się na kolorach
- Kobiety znają się tylko na wybieraniu kolorów
———————————————–
???

Ostatecznie doszłam do wniosku, że zakładając, że autor wspomnianych słów nie miał żadnego powodu, by mówić mi nieprawdę na temat oceny mojej pracy, jedyną interpretacją niesprzeczną z przedstawionymi powyżej założeniami jest ta, w której kobieta obdarzona ścisłym umysłem nie jest traktowana jako kobieta. Jest to interpretacja, którą pewna grupa znajomych osób próbowała mi wcisnąć „na pocieszenie” – „przecież on nie mówił o tobie, najwyraźniej traktuje cię jako członka zespołu, a nie jako kobietę”. Też mi pocieszenie! Po pierwsze, znam sporo kobiet o ścisłych umysłach, a po drugie, przecież te, które myślą bardziej „humanistycznie”, nie sprowadzają się do tej jednej wątpliwej umiejętności (z całym szacunkiem dla wszelkiej maści dekoratorów, którym szczerze zazdroszczę)! Znam lekarki, prawniczki, artystyki, tłumaczki, dziennikarki… u licha.

Odchorowałam to. Po paru latach pracy z trudnym szefem postanowiłam, że nie spędzę ani chwili więcej w miejscu, gdzie z definicji nie szanuje się pracownika. Rozważywszy mniej i bardziej radykalne rozwiązania zdecydowałam się na najprostsze, czyli zwykłą rozmowę. Ustaliłam, że opinia była opinią o konkretnej osobie, a nie o kobietach w ogóle, być może wyrażoną w nie do końca fortunny sposób. Może być.

Przy okazji, po raz pierwszy dotarło do mnie, w jak odmienny sposób można interpretować pozbawione kwantyfikatorów zdania w języku naturalnym. Pytanie do Ciebie, Czytelniku.

View This Poll

Już? Więc jak w końcu jest ze zdaniem „Mężczyźni są lepszymi kierowcami niż kobiety”? Ja zawsze odbierałam takie wypowiedzi jako te opisane kwantyfikatorem ogólnym („dla każdego”…) i z tego powodu zawsze mnie one oburzały. Mój błąd, czy może ktoś mi wciska ściemę? Jak myślicie?


by Girl, lost in IT at October 26, 2011 07:40 AM

October 17, 2011

Girl, lost in IT

O tym, dlaczego dieta Dukana i Prawdziwy Norwerski Czarny Metal nie idą w parze

W tej historii pojawia się osoba X, stanowiąca dla mnie niewyczerpane źródło inspiracji. Spotyka ją jeszcze więcej przedziwnych przygód niż mnie – w dużej mierze dlatego, że bardziej niż ja aktywnie się o nie prosi. Dostałam oficjalne pozwolenie na publikację, zatem do dzieła.

Od wielu lat X starała się pozbyć nadwagi, nabytej w dużej mierze dzięki sterydom przyjmowanym w dzieciństwie w związku z podgłośniowym zapaleniem krtani. Po wielu nieudanych bitwach postanowiła sprawdzić dietę Dukana, obiecującą z punktu widzenia X, jako że pozwala na spożywanie sporych ilości czerwonego mięsa. Notka dla sceptyków: tak, dieta Dukana przeciąża organizm. Tak, nie wolno regularnie spożywać takich ilości białka. Zastanówcie się jednak, co jest gorsze: 30-kilogramowa nadwaga czy parę nabiałowych miesięcy? Co więcej – prawie rok od zakończenia diety X nadal trzyma nową figurę.

Niemniej jednak, dieta Dukana ma dwa poważne efekty uboczne, o których nie wspominają nie tylko jej zwolennicy, ale nawet dietetycy głoszący jej szkodliwość, obawiający się utraty pracy w związku z oferowaną przez dietę samowystarczalnością.

Efekt uboczny nr 1: mniejsza tolerancja na alkohol

NIGDY nie pij alkoholu na diecie Dukana! Przez krótszy okres czasu byłam na diecie razem z X. Pewnego pięknego wieczora odkryłam, że do całkowitego złożenia się z urwaniem filmu włącznie wystarcza mi pół butelki wina. Na dodatek o poranku zwymiotowałam w samochodzie taty, choć wciąż uważam, że za ten fakt Dukan odpowiada tylko częściowo, a znaczącą rolę odegrał nowy styl prowadzenia samochodu przez wspomnianą osobę. Ten wyczyn blednie jednak w porównaniu z reakcją, której doświadczyła X. Przez większość czasu rygorystycznie przestrzegała zaleceń diety, jednak parę razy udała się do miasta ze swoją grupą metalowych przyjaciół i pozwoliła sobie na parę drinków. Pewnego ranka po takiej nocy zadzwoniła do mnie z pociągu relacji Bydgoszcz-Poznań z informacją, że wpadnie do mnie, ponieważ chce mi coś pokazać. „Coś” okazało się być dziurą na wylot w dolnej wardze, powstałą w skutek utraty przytomności i upadku w kolejowej toalecie, w której to X w rezultacie spędziła większą część podróży.

Efekt uboczny nr 2: za mało czasu na zrozumienie konsekwencji utraty wagi
Na diecie Dukana utrata wagi następuje bardzo szybko, więcej wysiłku należy natomiast włożyć w jej utrzymanie w fazie utrwalenia. Jak się okazuje, szybka utrata kilogramów, sama w sobie stanowiąca o psychologicznej przewadze tej diety, ma pewne minusy. Po pierwsze, mniej kilogramów przekłada się na mniejszą tolerancję na alkohol (jak w poprzednim akapicie), ale to jeszcze nie wszystko.

X kocha metalowe koncerty, a młyn pod sceną to jedno z jej ulubionych miejsc na całym świecie. Z racji postury zawsze czuła się tam dość bezpiecznie, gdyż stanowiła niewzruszoną skałę, od której odbijały się wszelkie szalejące lub naprute jednostki. Jeśli ktoś okazywał się zbyt ruchliwy, wystarczyło wystawić łokieć… Pewnego wieczoru, wciąż na diecie, X wybrała się do Warszawy na festiwal, nie biorąc pod uwagę swojego nowego stanu. W pewnym momencie uderzyła ją popchnięta przez tłum osoba, która – ku wielkiemu zaskoczeniu X – bynajmniej się nie odbiła. Zamiast tego zbiła X z nóg, rozcinając przy okazji jej łuk brwiowy. X chciała zwyczajnie kontynuować koncert, jednak okazało się to trudne wobec krwi zalewającej jej prawe oko. Na szczęście w młynie szalał także zawodowy ratownik medyczny, który szybko zatamował krwotok.

ofiara diety Dukana

X udała się do lekarza dzień później. Ten najpierw wybuchnął dzikim śmiechem (załączam zdjęcie, możecie sami ocenić, na ile było to nieprofesjonalne). Zapytana, co się stało, X odparła zgodnie z prawdą, iż była na koncercie. „Na jakim koncercie?”, próbował się dowiedzieć pan doktor, na co wcięła się pielęgniarka, dzieląc się przemyśleniem „Blues to raczej nie był”.

Bonus: katastrofa na Hellfeście

Ten post dedykuję fanom moich ilustracji.

Prawdę mówiąc, nawet przed dniami Dukana, X często wracała do domu z ranami z dumą odniesionymi na festiwalach. Najbardziej widowiskową raną, przynajmniej do czasów zamieszczonego powyżej zdjęcia, była ta z Hellfestu. Zaczęło się od tego, że X uznała, że czapki są dla złamasów, przez co spaliła sobie przedziałek w pełnym festiwalowym słońcu. Nieco później, biegnąc w kierunku grupy znajomych na polu namiotowym, nie zauważyła w porę pędzącej w jej stronę linki od namiotu. Zerwała linkę jednego namiotu, przeleciała przez następny, po czym uderzyła w krzesełko wędkarskie, na którym siedziały dwie osoby – CZOŁEM, doprowadzając w ten sposób do powstania zaprawdę intrygującej, poziomej blizny. Osoby z krzesełka wyleciały w powietrze i skosiły kolejne dwa namioty.

Następnym razem dwa razy zastanowisz się przed rozbiciem namiotu na polu festiwalowym, prawda? :) Jeśli o mnie chodzi, i tak w najbliższej przyszłości nie planuję wyjazdów pod namiot. Ostatnim razem na Open’erze ktoś nadepnął mi na głowę.


by Girl, lost in IT at October 17, 2011 05:22 AM

October 16, 2011

Girl, lost in IT

On How Dukan Diet and True Norwegian Black Metal Do Not Pair Up Too Well

Quick apologies to my subscribers who have been informed about an unready version of this post. I hit Publish instead of Preview, sorry.

This story concentrates around person X, who is my never ending source of inspiration. She has even more crazy stuff happening to her than I do, mostly because she encourages it more openly. And I just got the permission to publish this story!

X had been struggling to lose some extra kilograms (originally triggered by anti-croup steroids) for years. She finally decided to give the Dukan diet a try, as you are allowed to eat (a lot of) meat in the process. A note to all the haters here: Yes, the diet does strain the organism. Yes, a person is not supposed to eat that much proteins on a daily basis. But what do you think is worse: years of 30kg obesity or a couple dairy months? Also: a year after the diet she is still holding to the new weight.

Still, the diet has two side effects that are not mentioned even by the most critical of the mass of dieticians afraid of losing their jobs.

Side effect one: low alcohol tolerance

Do not EVER drink while on Dukan diet! I mean it! For a shorter time I was on it too together with X and it took only half a bottle of red wine to make me go completely blotto, and puke all over my dad’s car the morning after (but his new way of driving must have something to do with it too). This, however, fades in comparison woth what happened to X. Most of the time she obeyed the dietary recommendations blindly, but a couple of times she went drinking with her metalhead friends. One morning after a night like that she called me from a Bydgoszcz-Poznań train she was on, to tell me she would visit and show me something. What she showed was a hole in her chin she got while falling down after loosing her consciousness in the train toilet, and spending most of the journey there.

Side effect two: no time to understand the implications of a smaller weight

Dukan diet makes you lose the weight very quickly, but then it takes an effort to maintain it in the consolidation phase. As it turns out, the quick loosing of the kilograms, a great psychological incentive by itself, can be tricky. First of all, with less kilos you can drink even less alcohol (see the previous section), but that’s not all.

X loves going to black metal concerts and the mosh pit is, or used to be, one of her most favourite places on Earth. Due to her posture she used to be quite safe in there, as other people were mostly bouncing off, and if they did it to aggressively she would just stick an elbow out. So one night, while still on the diet, she went to a small festival in Warsaw without accounting for her new shape. Then a guy, pushed by somebody else, hit her and, to her surprise, did not bounce off at all. He took her down instead, cutting her superciliary arch. She wanted to continue the concert, but she could hardly see with blood blurring her vision. Luckily for her, a paramedic was moshing in the same pit and helped her stop the bleeding.

She went to the doctor the following day, and the doctor burst into laughter a moment after first looking at her (I am attaching an actual photo for you to judge if this behaviour was unprofessional). When asked what had happenned, person X answered “Oh, I went to a concert ”. “What kind of concert?” the doctor inquired, and then the nurse cut in, saying “It couldn’t have been blues, I suppose”.

Dukan diet victim

Bonus: the Hellfest disaster

This one is dedicated to those who have praised my illustrator skills.

Truth be told, even before the Dukan days, person X used to experience injuries at metal festivals. The most interesting was one from Hellfest. First of all, she thought wearing a hat was not cool enough, so she burnt her hair parting severely. Then, one sunny day at the camping site, she was running towards a group of friends and did not see a guy rope coming quickly towards her. She broke the line of one tent, flew right through another, and then hit a camping chair with two people in it – with her forehead, leaving her with a really mysterious horizontal scar. Those two people flew in the air and took down two other tents.

Makes you think twice before setting up a camp at a festival, doesn’t it? :) I am not sleeping in a festival camping site anywhere in the near feature anyway. Last time at Open’er somebody stepped on my head.

Hellfest scenery, before and after


by Girl, lost in IT at October 16, 2011 06:55 PM

September 20, 2011

Krzysztof Szarzyński

The question of whether computers can think is like the question of whether submarines can swim. — Edsger W. Dijkstra

by Quati at September 20, 2011 11:54 AM

September 09, 2011

Krzysztof Szarzyński

Ogrodowczyk Wojciech

Koniec tej zabawy

Jak co bystrzejsi czytelnicy mogli zauważyć, nie pisuję już tu praktycznie nic, a zdjęcia tu umieszczane to jedynie opóźnione „przedruki” względem mojego konta na flickr. Kierując się więc brzytwą Okhama i zwykłym lenistwem...

September 09, 2011 08:12 AM

September 07, 2011

Krzysztof Szarzyński

Zdjęcia z Rumunii

Jakoś nie mogę zabrać się za napisanie pamiętnika z Rumunii. Szkoda, bo pamięć ulotna jest, nawet pomimo tego, że robiłem notatki i zbierałem historie, które nas spotykały. Obiecuję, że zasiąde do tego zadania jeszcze przed rozpoczęciem się semestru w Poznaniu, … Continue reading

by Quati at September 07, 2011 08:01 PM

Borkowski Marcin

2011-09-07 How not to typeset formulae (en)

I’m at a maths conference now, and thus I am exposed to numerous slides (usually done in whatever-TeX—beamer is quite popular, but one can encounter other tools, too; I’ll be probably the only one with ConTeXt-based slides, though;)). Today I saw something which really did bother me, to the extent that I’m going to warn all of you reading this: please don’t do that!

What was the offender? An innocent-looking pair of equations:

$ \vbox{\begin{gather*}\text{something}_1-\text{something else}_1+\text{yet another}_1=0\\ \text{something}_2+\text{something else}_2=\text{yet another}_2\end{gather*}} $

(let me add that all somethings in both equations were identical).

Now I understand that this is mathematically correct, but I daresay it’s typographically wrong. Very wrong. Just compare it to this:

$ \vbox{\begin{gather*}\text{something}_1-\text{something else}_1+\text{yet another}_1=0\\ \text{something}_2+\text{something else}_2-\text{yet another}_2=0\end{gather*}} $

See what I’m talking about? While these two equations were parallel, the author took some pains to actually hide this fact from the audience.

On a sidenote, I am curious why exactly did this guy do that? He must have done it on purpose, since the most natural way to typeset such a formula is to use kill-and-yank, er, sorry, copy-and-paste;). Perhaps it was a more or less subconscious way to avoid a minus in front of the former formula (and possibly a zero in the latter one), which seems to me almost atavistic.

And all this rant leads to a sad conclusion: do people at conferences really care about what they are trying to communicate? (Needless to say, this wasn’t the worst presentation, in fact, it was far from it; it was just an interesting mistake and that is why I decided to share it.)

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX

September 07, 2011 08:00 PM

August 30, 2011

Hromada Mateusz

Bieszczady 2011, dzień 1 – dojazd

Trasa dość długa, samochodem jakieś 12 godzin. W zasadzie przez cały dzień udało nam się zobaczyć tylko Kraków.

August 30, 2011 08:38 PM

August 22, 2011

Dopierała Andrzej

2011-08-22 Lekko przerobiony multi router looking glass w php: Skrypt do przedstawiania na routerach.

Już kilka osób się mnie pytało jak zrobiłem http://lg.maverick.com.pl/.

Bazuję na lekko zmodyfikowanej wersji MRLG (Multi Router Looking Glass for PHP). Obecnie jego strona niestety nie działa - i oryginału nie mam do pobrania.

Moją zmodyfikowaną wersję umieściłem na mrlg-20091215.tgz, natomiast plik konfiguracyjny do niej na mrlg-config.php. Na pytania nie odpowiadam, w konfiguracji nie pomagam (bo nie mam czasu) - ale może komuś się przyda :).
Licencja - zgodnie z licencja oryginału - GPL.

Ale jak masz jakieś poprawki - podsyłaj :)

Wiem że brzydko zrobione, ale - było potrzebne na szybko i w parę godzin tylko na tyle mnie było stać.

Jak dodasz w swojej sieci kopię - zgłoś na traceroute.org - widoczność swojego miejsca w sieci się często przydaje :).

August 22, 2011 07:55 PM

August 21, 2011

Ogrodowczyk Wojciech

August 14, 2011

Krzysztof Szarzyński

Rumunia w 160-ciu znakach lub mniej

Na stronie z relacją z Rumunii pojawił się zapis naszych SMSów do Polski, które wraz z Andrzejem tak namiętnie wysyłaliśmy. Mozna powiedzieć, że jest to przewodnik po kraju w 160 znakach Rumunia w 160-ciu znakach lub mniej.

by Quati at August 14, 2011 04:13 PM

Rumunia 2011 – relacja.

Wróciliśmy. Żyjemy. Wszyscy jesteśmy zadowoleni. Tyle chyba starczy na dziś. A dla tych co są bardziej zainteresowani odsyłam do specjalnej strony w dziale Historia, gdzie stopniowo będe dopisywał kolejne rozdziały podróży po Rumunii. Już dziś pojawi się tam zbiorcza edycja … Continue reading

by Quati at August 14, 2011 10:13 AM

August 11, 2011

Ogrodowczyk Wojciech

August 05, 2011

Borkowski Marcin

2011-08-05 Semi-automatic selection of pages in a pdf (en)

As I mentioned in my previous post, I’d like to show a simple trick which helped me with the following problem.

I had a bunch of pdf files, containing issues of a journal. I wanted to extract individual papers as pdfs. Following this great post, I decided to use the pdfpages package. What’s more, I wanted the pages to be properly numbered in the pdf, so that physical first page in the resulting pdf could be numbered, say, 217 (this can be accomplished by using the hyperref package (thanks to Martin Scharrer for answering my question about this on TeX.SX!).

This is all trivial—but time-consuming and very error-prone. So I came up with the following trick: I devised a short tex file, which processed by LaTeX resulted in a pdf consisting of given pages from a given file—where “given” means “given by the filename”. So I only had to copy this file several times with suitable names, and that did the job.

For example, assume that I want to extract pages 217-240 from the file wm-45-2. This file starts with two pages with table of contents, and then page 171 (since it is not the first journal issue in some particular year). So I created a file wm-45-2--217-240.tex with the following contents:

\documentclass[a4paper]{article}

\def\skippages{2}         % The first two pages are the table of
                          % contents and do not count in the numbering.
\def\firstpagenumber{171} % The first numbered page has number 171.

\usepackage{pdfpages} % We need to extract pages from the given pdf...
\usepackage{hyperref} % ...and we need to give them proper numbers in
                      % the resulting pdf.

\def\extractpages #1--#2-#3-{% This macro extracts the file name (#1),
  \def\filename{#1}%         % start page (#2) and end page (#3) from
  \def\startpage{#2}%        % \jobname, i.e. the name of the current
  \def\endpage{#3}%          % file.
}

\expandafter\extractpages \jobname- % The actual extraction is done
                                    % here.

\newcounter{startextractpage} % We will store the physical page
\newcounter{endextractpage}   % numbers to extract in these counters.
\setcounter{startextractpage}{% Actual calculation starts here...
  \numexpr\startpage+\skippages+1-\firstpagenumber\relax
}
\setcounter{endextractpage}{%
  \numexpr\endpage+\skippages+1-\firstpagenumber\relax
}                             % ...and ends here.
\edef\range{%     Here we store the pagerange in the format
            %     "start-end"...
  \arabic{startextractpage}-\arabic{endextractpage}%
}
\edef\doinclude{% ...and here we store the command to do the
                % extraction.  We have to take care of the expansion
                % timing---hence \edef and \noexpand.
  \noexpand\includepdf[pages=\range]{\filename.pdf}%
}

\begin{document}
\setcounter{page}{\startpage} % This (together with hyperref) sets the
                              % page numbers in the pdf file correctly.
\doinclude % And this physically includes the requested page range.
\end{document}

And that’s all.

Maybe not the easiest way of doing what I wanted—but much better than doing it manually, and I think that the trick with parsing \jobname might be worth sharing.

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX

August 05, 2011 10:00 PM

Dopierała Andrzej

2011-08-05 Problematyczne ipv6 - dziwny resolver: problem z domenami z dodanym rekordem AAAA.

undefine@uml:~$ host aramin.net
aramin.net has address 42.1.94.0
;; Warning: Message parser reports malformed message packet.
;; connection timed out; no servers could be reached

i tak dla sporej części, o ile nie wszystkich adresów z dualstackiem - taki dziwny feature AP DSL-G604T w hotelu.

Do tej pory myślałem że dodanie rekordu AAAA nic nie psuje, teraz - sam się przekonałem że nie jest tak różowo, jak sie okazało że nie mogę się dostać na strony/serwery z dodanym AAAA. Na szczęście - można skorzystać z własnych albo googlowych dnsów.

Oczywiście prawidłowa odpowiedź to

undefine@uml:~$ host aramin.net
aramin.net has address 195.110.48.48
aramin.net has IPv6 address 2a01:5e00:2:52::30
aramin.net mail is handled by 0 mx.aramin.net.

August 05, 2011 04:55 PM

July 29, 2011

Borkowski Marcin

2011-07-29 Enforcing proper usage of LaTeX2e constructs (en)

Today I wanted to write something about automatic extraction of page ranges from a pdf file, but this will wait, since I found something really nice instead!

Some time ago I learned about the onlyamsmath package (by Harald Harders), which yields an error when some deprecated construct like $$...$$ or the eqnarray environment is used. (It also has a mild warning option.) But today I discovered another package, called nag (by Ulrich Michael Schwarz), which does essentially the same (and much more). It gives warnings whenever it encounters something bad, most notably $$...$$ and \bf and friends. Note: by default it does not warn about anything; personally, I recommend using it in the very first line of the document in the following way:

\RequirePackage[l2tabu,orthodox,abort]{nag}

Refer to its documentation for the explanation of the options; a short one is: l2tabu detects things described in the famous document entitled An essential guide to LaTeX2e usage. Obsolete commands and packages, orthodox detects some more things, and abort turns warnings (the default behavior) into errors (this is especially useful when giving your file to a coauthor who will then add his/her stuff;)—unfortunately, there’s no cutoffusersfingers option…)

And just for the sake of completeness: onlyamsmath warns about displaymath and nag does not; everything else covered by onlyamsmath is covered by nag, too.

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX

July 29, 2011 10:00 PM

Ogrodowczyk Wojciech

July 27, 2011

Ogrodowczyk Wojciech

July 26, 2011

Krzysztof Szarzyński

Rumunia 2011.

Ponieważ większość rzeczy jest już dopięta na ostatni guzik, to można ogłosić, że nasz wyjazd do Rumunii rozpocznie się za trochę ponad 48 godzin. Namiot jest, plecaki są, ubezpieczenia są (choć nie bez problemów, ale o tym napiszę pisząc pamiętnik … Continue reading

by Quati at July 26, 2011 02:18 PM

July 23, 2011

Krzysztof Szarzyński

Batizado em Berlin. Oraz kilka słów podsumowania.

Zacznę od podsumowania ostatniego czasu. Aby niektóre osoby nie musiały wszystkiego czytać, to pogrupowałem je w kategorie: Prywatne, Szkoła (Nauka), ABADA oraz Plany W ten sposób można przeskoczyć to co Was nie interesuje, a przecież coś na pewno nie interesuje … Continue reading

by Quati at July 23, 2011 03:28 PM

July 22, 2011

Borkowski Marcin

2011-07-22 The snapshot and bundledoc packages (en)

Situation A: you work on a LaTeX document with a friend, and suddenly your pdf and his pdf—made from the same LaTeX file—look different. What’s going on?

Situation B: you send a LaTeX file to someone, and then you get an angry message: it won’t compile!

Well, in these situations snapshot and bundledoc packages might help you. The former generates a file with a listing of all loaded packages (and other files, for example the .bib file etc.) together with their version information (whenever available). Then you and your friend from Situation A may diff these files and track all the differences in package versions you are using.

The latter is a postprocessor of the file generated by the former. It helps prepare an archive with all the files needed for this particular LaTeX document to compile. It also includes a script to generate this archive in LaTeX format, using the smart and not really well-known filecontents environment. Such a LaTeX file generates all needed (text) files by itself during the first compilation.

For the sake of completeness: the author of snapshot is the late Michael Downes, and the author of bundledoc is Scott Pakin (known also for the Comprehensive LaTeX Symbol List, the savetrees package and lots of other stuff).

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX

July 22, 2011 08:00 PM

July 21, 2011

Ogrodowczyk Wojciech

July 14, 2011

Borkowski Marcin

2011-07-15 LM Math - breaking news (en)

Just a few hours ago I received a thrilling message from the mailing list of the Polish TeX Users Group, which I can’t resist just copying and pasting here:

The Latin Modern Math fonts

A long awaited progress: since the beginning of July 2011 the modernized implementation of the Computer Modern fonts has become available in the form of the Latin Modern Math (LM Math) fonts in the OpenType (OTF) format.

By the way: the release of Latin Modern Math means that in a foreseeable future the emergence of mathematical fonts for the TeX Gyre collection might be expected.

Congratulations for the GUST’s e-foundry team! Keep up the good work!

What can I say? More free math font goodies - yay!

It has, however, one “drawback”: as the e-foundry team write, [p]lease note that the LM Math fonts might be used for typesetting mathematics with MS Office 2007 and newer. This means that you won’t be able to say “well, this was typeset by TeX” on seeing familiar CM-like glyphs in mathematical formulae…

And a final remark: hopefully, more good OTF fonts will mean larger userbase for ConTeXt MkIV and luatex - that bodes really well!

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX

July 14, 2011 11:00 PM

Ogrodowczyk Wojciech

July 08, 2011

Borkowski Marcin

2011-02-24 Wavy lines as delimiters (en)

Well, it’s been a while since I posted here; but today, I’ve got another real-life problem solution.

In Poland, it is customary to use “wavy lines” as delimiters when writing down integration by substitution or by parts. (This description is rather vague, I admit, so below is an example.)

wavy-delimiters.png

The problem is: how to obtain such an effect in LaTeX?

The problem is, surprisingly, not so easy. There is the MnSymbol font & package, which contains “wavy variable-size delimiters”, but it replaces all other math fonts with variants someone might not like (and is incompatible with amssymb/amsfonts).

Of course, tikz comes to rescue. Here is the code I used to obtain the above example:

\documentclass{article}

\usepackage{amsmath}

\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\newcommand{\wavylrbox}[1]{%
  \begin{tikzpicture}[baseline=-0.5ex,decoration={snake,amplitude=0.75pt,segment length=5pt}]
    \node (b) {$\displaystyle #1$};
    \draw[decorate] (b.north west) -- (b.south west);
    \draw[decorate] (b.north east) -- (b.south east);
  \end{tikzpicture}
}

\begin{document}

\begin{equation*}
  \int 2x\cos x^2\,\textup{d}x=\wavylrbox{
    \begin{aligned}
      t&=x^2\\
      \textup{d}t&=2x\,\textup{d}x\\
    \end{aligned}
  }=\int \cos t\,\textup{d}t=\sin t+C=\sin x^2+C
\end{equation*}

\end{document}

(The \wavylrbox macro takes one argument and sets it in display math style surrounded from left and right—hence its name—by wavy lines.)

Unfortunately, this quick solution has a few problems.

  1. If the height of the formula in “wavy lines” is not an integer multiple of 5pt, the waves have short straight-line segments at the bottom.
  2. We assume here that the “central line” of the formula is at the height of 0.5ex. This might not be true in some fonts.
  3. If the “wavy box” has an odd number of lines, it would be much better if the middle line were at the height of the rest of the formula. This seems to be tricky to obtain—most probably, instead of aligned or friends, one would have to use tikz’s matrices or something like that.

Still, tikz (as usually) does the trick nicely.

I’d be more than happy to see other/better solutions, especially ones that don’t have the above disadvantages!

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX, KategoriaLaTeXPorady

July 08, 2011 02:00 PM

2011-07-08 New version of the enumitem package (en)

Just about a week ago, Javier Bezos uploaded a new, third version of his celebrated enumitem package to CTAN. Since this is one of my favourite LaTeX packages, I am going to give a short outline of some (read: most, but not all) new features of enumitem v3.

First and foremost, finally enumitem supports inline enumerations. The syntax is probably not the best possible one—personally, I’d prefer some parameter like inline=true instead of starred versions of the environments—but this is not a serious problem.

Next, the setting of horizontal spacing is much improved from the usability point of view. Nothing revolutionary, but a few handy shortcuts, like inferring the value of one parameter from the values of others (much like in the geometry package).

Then, there is a possibility of having so-called series of enumerations: a series is, well…, a series with a common numbering scheme (without using the resume keyword, and—more importantly—with a possibility of having other enumerations without perturbing the series numbering). Not something I would use very often, but I can imagine that people might want it.

Also, so-called wide enumerations (basically, enumerations spanning from the left margin to the right one, like ordinary paragraphs) were introduced. Very useful, especially for multi-page enumerations with loooong items.

There are also some other changes/additions, but I found these the most interesting. Still, there are a few features missing (at least for me), but definitely this was a move in the right direction. Very good job!

CategoryEnglish, CategoryBlog, CategoryTeX, KategoriaTeX, KategoriaLaTeX, KategoriaLaTeXPorady

July 08, 2011 01:00 PM

June 26, 2011

Dopierała Andrzej

2011-06-26 IPv6 na stronie: ipv6 na stronie

Co prawda po IPv6 day, ale.. wreszcie dołożyłem AAAA do mojej strony(i stron firmowych). Ciekawe co wybuchnie ;)

June 26, 2011 07:24 PM

June 17, 2011

Ogrodowczyk Wojciech

May 31, 2011

Ogrodowczyk Wojciech

Planet shot

Bcn planet shot

Eksperymentale ujęcie wychodka na szczycie świata, krok po...

May 31, 2011 11:44 AM

May 29, 2011

Ogrodowczyk Wojciech

May 27, 2011

Dopierała Andrzej

2011-05-27 Darmowe fotoradary dla nissan connect: Jak uzyskać aktualne ostrzeżenia o fotoradarach w nissan connect.

Może kogoś zainteresuje - nie znalazłem nigdzie opisu jak to łatwo zrobić “za friko”.

1. Ściągamy listę fotoradarów z http://ump.waw.pl/ plik z mapą fotoradarów (http://ump.waw.pl/update/Jacek.zip).
2. Rozkompresowujemy go
3. Łączymy to co nas interesuje do jednego pliku csv:

undefine@uml:~/tmp$ cat Kontrole\ Drogowe/*.csv Niebezpieczne\ Miejsca/*.csv Przejazdy\ Kolejowe/*.csv >x.csv
undefine@uml:~/tmp$ 

4. Usuwamy polskie znaczki (zapewne można jakoś przekodować, ale nie chciało mi się metodą prób i błędów szukać kodowania):

iconv -f cp1250 -t ascii//TRANSLIT  < x.csv > jacek.csv

5. Plik jacek.csv umieszczamy w katalogu myPOIs/myPOIWarnings na pendrive
6. Pendrive wkładamy do nissan connect i ładujemy POI użytkownika z menu.
7. Przestrzegamy ograniczeń ;)

May 27, 2011 08:33 PM

March 12, 2011

Dopierała Andrzej

2011-03-12 IPv6-garsc-statystyk: kilka słów podsumowania o ruchu ipv6

Kilka statystyk z pewnego routerka. Zbierane ip6tables, w dłuższym okresie czasu. Wykresów nie daję, bo za mała próbka by ładnie wyglądało ;)

Dane z pewnej sieci osiedlowej w Poznaniu. IPv6 udostępnione klientom przez radvd. Głównie klienci “prywatni”.

Wejście:
2% - 6to4
pomijalne - PIX
24% - PLIX
3% - natywne IPv6 od Crowleya
69% - tunel z HE

Wyjście:
51% - 6to4(!)
6% - PIX
36% - PLIX
1% - Crowley
6% - tunel z HE.

Wnioski:
- podobnie jak w przypadku ipv4 duża część ruchu przypada na PLIX
- upload to głównie ruch kierowany do 6to4 - jak sądzę ruch p2p.
- bardzo duży download na tunelu z HE. Co prawda miałem trochę wątpliwości czy należy się w to bawić - to jednak obserwując ruch przy włączonym i przy wyłączonym tunelu widać że opóźnienia przez HE są często niższe. Pozatym - alternatywa to pchanie ruchu przez Crowleya, który.. również sporą część ruchu ma przez HE. HAWE jak na razie ipv6 nie dostarcza.

March 12, 2011 11:49 PM

February 22, 2011

Dopierała Andrzej

2011-02-22 IPv6 a 6to4: ipv6 6to4 sit0 routing ruch siec

Powolutku bawię się w wdrożenie IPv6 u pewnego ISP.

Na peeringach (w PIX i PLIX) ipv6 śmiga “natywnie”. Świata niestety jak na razie nikt nie dostarczył, więc leci tunelem z HE.

Do tego rozgłoszenie prefiksów do kilku testowych sieci - i troszkę ruchu widać.

W którymś momencie zauważyłem, że trochę ruchu leci do 6to4. Postawiłem więc bezpośredniego relaya(opis z http://wiki.debian.org/DebianIPv6) i…

mav-ipv6

Wniosek? Wbrew pozorom bardzo dużo (tak na oko 1/3) ruchu to ruch z relayami 6to4. Stąd zapewnienie dobrej komunikacji z nimi powinno być dosyć istotne przy udostępnianiu ipv6. Do testowego ip z którym obserwowałem ruch po ustawieniu bezpośredniego tunelowania 6to4 na moim routerze opóźnienia spadły z ok 80 do 50ms - a ruch wzrósł o kilkanaście procent.

(na wykresie jest widoczny wyłącznie ruch na tunelach - peeringi/polska leci natywnie, stąd nie mam prostej możliwości wyróżnienia go od ipv4)

February 22, 2011 11:06 PM

February 17, 2011

Dopierała Andrzej

2011-02-17 Rozkład ruchu na łączach: rozkład ruchu plix hawe tp pix

Taka mała ciekawostka.

Jest sobie mały operator. Świadczący głównie usługę dostępu do internetu dla “ludzi”. Pakiety - dosyć duże, po kilka/kilkadziesiąt megabitów, upload ciut mniejszy - po 2-3 megabity.
Ogólnie - zazwyczaj mało kto dociera do limitu w którąkolwiek ze stron.

Do tego jest troszkę hostingu i łącz biznesowych… Ale większośc to klienci indywidualni.

Łącza:
- peering w PIX-ie (http://www.pix.net.pl)
- peering w PLIX-ie (http://www.plix.pl)
- PBT HAWE (http://www.pbthawe.eu)
- Transmisję CDP Global od crowleya (http://www.crowley.pl)

i w którymś momencie na parę chwil pojawiła się testowa transmisja do TPSA - normalnie leci przez HAWE (i dalej styk z crowleyem).

Ruch - puszczony przez bgp prawie “samopas”. Lekkie preferencje by sterować ruchem na łączach zagranicznych (hawe/cdp), gdzieniegdzie unikanie problematycznych ścieżek - ale - można powiedzieć że rozkład jest prawie naturalny.

I teraz - procentowy wykres ruchu:
rozklad-lacz

Interesuje nas głównie download - uploadu jest niewiele - ok połowy downloadu, więc zazwyczaj mieści się w ramach kontraktu.

Co jest ciekawe… ok 30% ruchu zamyka się w plixie. Nawet trochę więcej.

PIX - jest malutki. poniżej 3% ruchu. Gdyby nie skala oraz fakt że jest prawie za darmo - nie było by go sensu trzymać.

HAWE i crowley - utrzymują się mniej więcej na zbliżonym poziomie - przerzucanie to głównie zmiany na ich upstreamach oraz “rzucanie” nimi (prepend przez community) by przerzucić na łącze gdzie dalej od kontraktu.

Przez jakiś czas była testowana tpsa. I tutaj niespodzianka - download był ledwo w okolicach 5% sumarycznego ruchu. Czyli - biorąc pod uwagę cenę - malutko. Z koleji upload to ok 20% ruchu - co w tej sytuacji oznaczało że było to jedyne łącze gdzie upload przekraczał download! I przypominam że to nie hosting, tylko głównie klienci indywidualni. Cóż - P2P rządzi.

February 17, 2011 11:59 AM

January 06, 2011

Dopierała Andrzej

2011-01-06 Konto w aliorbank: zakładanie konta w aliorbanku cz.1

Stwierdziłem że w mojej małej firemce przyda się kolejne konto. Obecne mam w mBanku, bo.. wiadomo - za darmo. No - prawie. 1zł za każdy przelew “na zewnątrz” - to już trochę w miesiącu wychodzi.

A Aliorbank ciągle kusi darmowym kontem, 5-cioma darmowymi przelewami w miesiącu i “premią” 50zł przy stanie konta 9k. Czyli więcej niż na lokacie w mbanku.

Z nowym rokiem - próbuję więc założyć konto.
Pierwsze wrażenia po przebrnięciu przez formularz?

  • Nie pozwala mi na wpisywanie polskich znaczków. Przeglądarka chrome. Po wklejeniu tekstu z polskimi znaczkami - ogonki znikają.
  • Do wybrania klasyfikacja usług… Ja w GUS-ie mam zgłoszoną 6202Z(działalność związana z doradztwem w zakresie informatyki - wg klasyfikacji z 2007 roku). A na stronie pozwalają na wybór pomiędzy.. 6201 a 6203.

Ale przebrnąłem - polskie znaczki jak sądzę poprawią mi w oddziale. O efektach pewnie poinformuję…

January 06, 2011 08:40 PM

October 16, 2010

Nawrot Andrzej

Rozmowy ze specjalistą ds. wdrożeń

Taki kwiatek.
Pytanie dotyczące odpowiedzialności za wykonywanie backupów pewnego systemu i odpowiedź konsultanta.

IT: Kto wykonuje backupy?

Specjalista:Backupy wykonuje MS SQL z automatu codziennie, raz na okres np. miesiąc kwartał baza powinna być nagrywana na trwały nośnik i to w zależności od firmy albo my albo dział IT
Danych nie powinniśmy stracić żadnych tylko w przypadku kataklizmu kiedy to stracimy serwer oraz kopie dyskowe – pozostaną nam tylko kopie na trwałych nośnikach, ale to sytuacje bardzo sporadyczna
Kopie na serwerze służą przede wszystkim do ewentualnych porównań w przypadku uszkodzenia – stąd codzienne kopie .

by jendras (noreply@blogger.com) at October 16, 2010 08:34 PM

June 08, 2010

Nawrot Andrzej

PowerShell via GPO

Aby zmienić ustawienia wykonywania skryptów potrzebujemy tego template'a.

http://www.microsoft.com/downloads/details.aspx?familyid=2917a564-dbbc-4da7-82c8-fe08b3ef4e6d&displaylang=en

by jendras (noreply@blogger.com) at June 08, 2010 08:29 AM

March 04, 2010

Nawrot Andrzej

Limit połączeń RDP

Ku pamięci

query session /server:servername


reset session [ID] /server:servername

by jendras (noreply@blogger.com) at March 04, 2010 02:17 PM

October 28, 2009

Nawrot Andrzej

Rodzinka w komplecie

 

Rodzinka w komplecie, brakuje tylko zniewiescialego SL :)
Posted by Picasa

by jendras (noreply@blogger.com) at October 28, 2009 10:08 PM

October 07, 2009

Najtkowski Marcin Jan

Dua Tonight

W trakcie nieustających muzycznych wojaży trafiłem znów na kawałek, którego słucham po kilkanaście-kilkadziesiąt razy dziennie. Kobiecy wokal – oczywiście, fajny, “chwytliwy” rytm oraz ogólna “sympatyczość” sprawiły, że Tonight zespołu Dua stał się moim numerem jeden ostatniego tygodnia.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="265" width="320"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube-nocookie.com/v/YIfJvPm9-rg&amp;hl=pl&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999"/><param name="allowfullscreen" value="true"/><embed allowfullscreen="true" allowscriptaccess="always" height="265" src="http://www.youtube-nocookie.com/v/YIfJvPm9-rg&amp;hl=pl&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" width="320"></embed></object>

Utwór można znaleźć na A Lounge Supreme vol. 5.

by naytec at October 07, 2009 11:40 AM

August 07, 2009

A czytałeś FAQ?

Wakacyjne porządki

Studenci wyjechali na wakacje, laboratoria stoją puste, wreszcie można ze spokojem posprzątać. Ale nie wszyscy studenci opuścili wydział aby wypoczywać: na szczęście kilku dzielnych praktykantów pomaga nam w przygotowaniach do następnego roku akademickiego. Możecie podziwiać ogrom pracy, jaki wykonali na przykład w szafie krosowej:

posprzątana szafa

Niestety nie pomyślałem wcześniej żeby zrobić zdjęcie przed porządkami, ale wyglądało to mniej więcej tak (to jedna z szaf którą dopiero mamy się zająć od tego roku):


burdel w szafie

Miejmy nadzieję, że ze wszystkim się wyrobimy i od nowego semestru wszyscy będą mogli korzystać na zajęciach i poza nimi z nowej infrastruktury. Jedną z nowości są nowe switche dla sal laboratoriów:

switche hp procurve

Dzięki nim mogliśmy pożegnać wysłużone huby 3com-a które tak dzielnie nam przez te wszystkie lata służyły:

by sheep at August 07, 2009 07:25 PM

June 25, 2009

Nawrot Andrzej

Odzyskiwanie danych z dysków dynamicznych.

Dzisiaj mając chwilkę czasu podłączyłem stary dysk SATA aby sprawdzić co na nim się znajduje. Niestety był to dysk dynamiczny i nie szło go zaimportować na windowsie XP. Dane nie były dla mnie ważne, ale chciałem sprawdzić w jaki sposób w razie problemów mógbłym je odzyskać.
Ponieważ nie byłem pewien wyników badań, zrobiłem sobie backup dysku nieśmiertelnym dd.
Zaczynamy walkę, jedyną operację jaką mogę wykonać na dysku to konwersja na dysk podstawowy, która ma usunąć wszystkie dane. Mam backup więc próbuję. Dostaję dysk bez partycji, ale nie wierzę, że dane są usunięte.
Próbuję odzyskać je Easy Recovery Professional, które jak dotąd mnie nigdy nie zawiodło. Niestety nie tym razem, ERP nie rozpoznaje nic.
Podejście drugie, Acronis Disk Director 10. Szybki skan znajduje mi partycje. Klikam commit changes i po chwili w systemie mam nienaruszone partycje, ale już na dysku podstawowym. Oczywiście system nie wstanie, ale wszystkie pliki mam nienaruszone.

by jendras (noreply@blogger.com) at June 25, 2009 11:51 AM