All posts by {o}

Instrukcja obsługi Worda, cz. 1: spacja i enter

Drodzy użytkownicy Worda (oraz każdego innego edytora tekstu), którzy przysyłacie mi jakikolwiek tekst w jakimkolwiek celu.

Spacja we współczesnych edytorach tekstu służy do jednego, jedynego celu: oddzielania wyrazów. Kiedy kończysz pisać wyraz i zamierzasz zacząć następny, naciśnij klawisz spacji dokładnie jeden raz.

Spacja nie służy do:

  • Tworzenia wcięcia akapitu. Służy do tego mały trójkącik na linijce tuż pod paskami narzędzi. Przeciągnij go w prawo.
  • Wyrównywania tekstu do prawej. Służy do tego przycisk Wyrównaj do prawej.
  • W ogóle wyrównywania albo przesuwania czegokolwiek.

Enter we współczesnych edytorach tekstu służy do jednego, jedynego celu: rozpoczynania akapitów. Kiedy kończysz pisać akapit i zamierzasz zacząć następny, naciśnij klawisz enter dokładnie jeden raz.

Enter nie służy do:

  • Rozpoczynania nowej linii. Służy do tego kombinacja Shift+Enter. Z resztą, potrzebne jest to tylko, kiedy piszesz wierszem. Kiedy piszesz zwykły akapit, wyrazy same przeskakują do nowej linii, kiedy nie mieszczą się w poprzedniej.
  • Rozpoczynania nowej strony. Służy do tego kombinacja Ctrl+Enter.

Dlaczego jest to takie ważne? Bo kiedy zechcę zmienić rozmiar czcionki, marginesy, dopisać coś, skrócić, wrzucić na stronę WWW, a ty przejawiasz kreatywność w stosowaniu tych dwóch klawiszy, wszystko się rozpierdoli.

W następnym odcinku: magiczne słówko style.

Wesołych świąt

xmas

Wszystkiego najlepszego z okazji urodzin Jezusa – syna Józefa, syna Helego, syna Mattata, syna Lewiego, syna Melchiego, syna Jannaja, syna Józefa, syna Matatiasza, syna Amosa, syna Nahuma, syna Chesliego, syna Naggaja, syna Maata, syna Matatiasza, syna Semei, syna Josecha, syna Jody, syna Jana, syna Resy, syna Zorobabela, syna Salatiela, syna Neriego, syna Melchiego, syna Addiego, syna Kosama, syna Elmadana, syna Hera, syna Jezusa, syna Eliezera, syna Jorima, syna Mattata, syna Lewiego, syna Symeona, syna Judy, syna Józefa, syna Jony, syna Eliakima, syna Meleasza, syna Menny, syna Mattata, syna Natana, syna Dawida, syna Jessego, syna Jobeda, syna Booza, syna Sali, syna Naassona, syna Aminadaba, syna Admina, syna Arniego, syna Esroma, syna Faresa, syna Judy, syna Jakuba, syna Izaaka, syna Abrahama, syna Tarego, syna Nachora, syna Serucha, syna Ragaua, syna Faleka, syna Ebera, syna Sali, syna Kainama, syna Arfaksada, syna Sema, syna Noego, syna Lamecha, syna Matusali, syna Enocha, syna Jareta, syna Maleleela, syna Kainama, syna Enosa, syna Seta, syna Adama, syna Bożego.

eXtensively Messed up Language

Na dzisiaj przygotowałem zagadkę:
<ns2:element
    
xmlns="http://orb.net.pl/ns/namespace1"
    
xmlns:ns2="http://orb.net.pl/ns/namespace2"
     atrybut="i'm so confusing"
/>

Pytanie brzmi: do jakiej przestrzeni nazw należy atrybut?

a) do http://orb.net.pl/ns/namespace1, gdyż jest to domyślna przestrzeń nazw w tym kontekście

b) do http://orb.net.pl/ns/namespace2, gdyż jest to przestrzeń nazw elementu, do którego należy atrybut

c) do żadnej… bo tak

Comprendo + Twitter

Właśnie skończyłem pracę nad wykorzystaniem API Twittera w Comprendo. Na stronie profilu pojawił się nowy link -Połączenie z Twitterem. Po jego kliknięciu zostaniesz przekierowany do Twittera, który zapyta Cię, czy pozwlasz Comprendo na dostęp do twojego konta. Jeśli się zgodzisz, formularz “Co autor miał na myśli” wzbogaci Ci się o pole Tweet this. Gdy je zaznaczysz przy wysyłaniu interpretacji, Comprendo wrzuci w Twoim imieniu na Twittera status o treści “Rozmyślam nad [Autor] – [Tytuł] [link do piosenki] #comprendo“. Zapraszam do wypróbowania.

Nowe comprendo.info

Po roku od startu, przyszedł czas na zmiany w Comprendo. Ich zapowiedzią jest nowy, z pewnością przyjemniejszy dla oka layout. To jednak nie wszystko.

Ponieważ LyricWiki nie udostępnia już API z powodu nacisków koncernów muzycznych, nowe Comprendo czerpie teksty z Lyricsfly, zaś w celu usprawnienia wyszukiwania zastosowano API Last.fm.

Słówko API będzie się przewijało jeszcze wielokrotnie. Wkrótce Comprendo zaoferuje zupełnie nowe możliwości…

Sataniści łamią wszelkie prawa. Nawet prawo Shannona!

Trafiła mi w ręce książka “Nowe wyznania egzorcysty“. Trafiłem tam na taki fragment (s. 73):

Nagrania poświęcone szatanowi opierają się na czterech zasadach: (…)

Trzecią regułą jest przekazanie sygnału podprogowego. Chodzi o przekazanie sygnału bardzo wysokiego, nie dającego się usłyszeć, sygnału naddźwiękowego, który działa na podświadomość. Jest to dźwięk ogłuszający, – rzędu około 3000 kilocykli na sekundę, którego nie można przechwycić własnymi uszami, właśnie dlatego, że jest ponad dźwiękowy. Wyzwala on w mózgu pewną substancję, której efekt działania jest dokładnie taki sam jak narkotyków. Słuchacz otrzymuje narkotyk naturalny, wyprodukowany przez mózg w następstwie tych bodźców, które zostały przekazane, nie zdających sobie z tego sprawy. W pewnym momencie czujemy się dziwnie. Ten osobliwy stan prowadzi człowieka do poszukiwania prawdziwego narkotyku lub do brania wyższych dawek, jeśli już ktoś jest uzależniony.

Znaczy sygnał o częstotliwości 3 MHz. Ciekawe, zważywszy na to, że w płytach Audio-CD stosuje się próbkowanie 44,1 kHz. A zatem – zgodnie z twierdzeniem Shannona – maksymalna częstotliwość, jaką da się bez zniekształcenia zapisać (tzw. częstotliwość Nyquista) na takiej płycie to 22,05 kHz. Wyższe częstotliwości usuwa się przed próbkowaniem za pomocą filtra dolnoprzepustowego, aby uniknąć zjawiska aliasingu.

Już nawet nie będę się rozwodził, nad maksymalną częstotliwością próbkowania przetwornika C/A w odtwarzaczu, czy pasmem przenoszenia głośników…

Jak to wytłumaczyć? Może…

Istnieje również czwarty element: rytualna konsekracja każdej płyty w czasie czarnej mszy. Zanim płyta zostanie wprowadzona na rynek, zostaje poświęcona szatanowi poprzez szczególny rytuał, który jest prawdziwą formą czarnej mszy.

Już wiem – przez swoje zaklęcia i rytuały sataniści sprawiają, że na płycie przestaje obowiązywać prawo Shannona. Co więcej – po włożeniu takiej płyty do odtwarzacza – w magiczny sposób twoje głośniki zwiększą pasmo przenoszenia do wymaganych 3 MHz!

CSS image map na przykładzie JDM

W HTML-u były znaczniki <map> oraz <area> które pozwalały tworzyć linki we fragmentach obrazka. Mechanizm ten nie satysfakcjonował specjalnie ludzi, którzy rozumieją sens separacji treści od prezentacji, dlatego wymyśla się różne sposoby, aby analogiczny rezultat osiągnąć za pomocą samego tylko CSS.

Oto, jak zrealizowałem mapkę z propozycjami wakacyjnymi na stronie Xaverianum.

Zacznijmy od kodu XHTML:

<h1 id="homepage-map">A co z wakacjami?</h1>
<ul id="homepage-map">
 <li id="jdm">
  <a href="/wakacje/jdm" title="Jubileuszowe X Jezuickie Dni Młodzieży (JDM) w Świętej Lipce na Mazurach">
   <strong>Jezuickie Dni Młodzieży</strong>
   <small>w Świętej Lipce</small>
   <span></span>
  </a>
 </li>
 <li id="pielgrzymka">
  <a href="/wakacje/pielgrzymka" title="Pielgrzymka parafialna (pomarańczowa trójka)">
   <strong>Pielgrzymka</strong>
   <small>na Jasną Górę</small>
   <span></span>
  </a>
 </li>
 <li id="bialy">
  <a href="/wakacje/bialy" title="26. obóz adaptacyjny duszpasterstw akademickich Wrocławia i Opola w Białym Dunajcu w Tatrach">
   <strong>Obóz adaptacyjny</strong>
   <small>w Białym Dunajcu</small>
   <span></span>
  </a>
 </li>
</ul>

Mamy zatem zwykłą listę zawierającą linki, ze zwykłymi tekstami. Jedyne, co tutaj szczególne, to pusty znacznik <span/> – w idealnym świecie niepotrzebny, zaś w świecie wciąż zamieszkałym przez Internet Explorera 7 i starsze – konieczne, aby osiągnąć zamierzony cel.

W tle listy wstawmy obrazek z mapą Polski, używając atrybutu padding przesuńmy napisy, żeby jej nie zasłaniały i – uwaga – włączmy pozycjonowanie relatywne (przyda się za chwilę).

ul#homepage-map {
position: relative;
margin: 0; padding: 140px 0 0 0;
background: url(../images/homepage-map.png) no-repeat left top;
height: 460px;
}

Elementom listy <li/> ustawmy ładne tła.

#jdm {
background: url(../images/jdm-bg-hover.png) no-repeat;
}

Podobnie można ustawić tła linkom (które mają wyświetlanie blokowe i wypełniają cały obszar <li/>).

#jdm a {
background: url(../images/jdm-bg.png) no-repeat;
}

Teraz pierwsze czary-mary: Tło pod <li/> będzie tym “podświetlonym”, zaś tło pod <a/> – tym “niepodświetlonym”. Jesli dodamy teraz

#jdm a:hover {
background: none;
color: #503830;
}

to po najechaniu myszką, tło pod <a/> będzie znikać, ozsłaniając tło pod <li/>. Dzięki tej prostej sztuczce – przeglądarki pobierać będą oba obrazki od razu. Gdybyśmy ustawiali “zwyczajnie” – jedno tło dla a, a drugie dla a:hover, te drugie pobrałoby się dopiero w momencie wskazania myszką linka i przez to nie wyświetliło natychmiast.

Przejdźmy jednak do istoty zagadnienia. Tajemniczemu elementowi <span/> nadajmy pozycję absolutną i ustawmy go we właściwym miejscu mapki:

ul#homepage-map span {
display: block;
position: absolute;
cursor: pointer;
}
#jdm span {
left: 375px;
top: 160px;
width: 120px;
height: 140px;
}

Zwróć teraz uwagę, drogi czytelniku, względem czego ten span będzie się pozycjonował. Otóż, względem najbliższego przodka, który ma pozycjonowanie relatywne lub absolutne. Zarówno <a/>, jak i <li/> mają pozycjonowanie statyczne, a więc szukając punktu odniesienia, <span/> trafi na <ul/>.

Ot, cała filozofia. Działający przykład tego rozwiązania znajdziecie na stronie promującej Jezuickie Dni Młodzieży, na które – swoją drogą – serdecznie zapraszam.

Na koniec nie przetestowana idea: teoretycznie, można się pozbyć tego elementu <span/>, który zaśmieca kod i zamiast niego zastosować pseudoelement a::after. Gdyby tylko IE7 zniknęło z rynku…