Gynvael Coldwind
2015-09-05 11:13

Pozdrowienia z Zurychu!

Ostatni wpis na mikroblogu był jeszcze z Vegas. Po turnieju w stanach (ostatecznie siódme miejsce na finałach; wygrał DEFKOR, niejako zaskakując innych - stawialiśmy raczej na PPP) wróciłem do Szwajcarii, gdzie mój plan dnia sprowadzał się do: spać, pisać książkę, spać, pisać książkę, spać, ...

Wczoraj (z drobnym opóźnieniem) książka poszła do wstępnego składu, co oznacza, że:

  1. Udało się ją napisać (548 stron maszynopisu) ! (I nawet się w końcu wyspać ;>)
  2. Jest już po dwóch pełnych edycjach/redakcjach/korektach/zwał-jak-zwał.
  3. Jest przed kolejną fazą korekty.
  4. W relatywnie krótkim czasie trafi do druku.
    (nieoficjalny spis treści wrzuciłem tutaj)

Pisanie książki to ciekawe (w bardzo obszernym tego słowa znaczeniu) zajęcie - człowiek uczy się pewnych rzeczy, o których wcześniej za bardzo nie myślał (co nie jest specjalnie dziwne - to takie „przygody programisty w magicznej krainie poprawnego języka polskiego”). Na przykład:

■ „Minusomyślnik”
Przed przystąpieniem do pisania istniała dla mnie jedna pozioma kreska zawieszona w połowie wysokości linii: - czyli „minusomyślnik” (nie, to się tak naprawdę nie nazywa; nazwa „łącznik-minus” jest stosowana).
Podczas redakcji dowiedziałem się o istnieniu:
— ← pauzy (prawdziwy myślnik)
– ← półpauzy

  • ← dywizu / łącznika
    − ← prawdziwy minus
  • ← dla porównania łącznik-minus z klawiatury
    Co zabawne, połowa z nich w większości czcionek i tak wygląda identycznie (ciekawe czy w zamierzeniu autora, czy jako jakiegoś rodzaju „fallback character”).

■ Cudzysłowy
Przed: " " ← jedyne słuszne (bo używane w programowaniu).
Po: „ ” ← używane w języku polskim, ale są jeszcze inne ciekawe.

■ Jak wprowadzać powyższe znaki :)
Ostatecznie stosowałem dwie metody.

  1. Za pomocą Microsoft Keyboard Layout Creator zmodyfikowałem układ klawiatury, żeby np. pod AltGr+[ oraz AltGr+] mieć „ ” (choć po krótkim czasie używanie tego uważam, że zbindowanie „ ” z lewej części klawiatury było by lepszym pomysłem).
  2. Korzystając z kodów Alt+NumPad podpiętych pod klawisze makr - akurat mam 12 takowych na klawiaturze (G19), więc w końcu się do czegoś przydały!

■ G12 → Shift + Strzałka w Lewo
Najważniejszym i najczęściej wykorzystywanym makrem, które miałem podpięte pod klawisze z makrami, był Shift + Strzałka w Lewo. Czemu? Ponieważ gdy się dwu-kliknie pod Windowsem na jakieś słowo, to jest ono zaznaczane razem przyległą po prawej stronie spacją - przy nanoszeniu czcionki maszynowej (monospace) na niektóre terminy w tekście ta "przyległa spacja" była bardzo irytująca (spacja monospace i spacia np. w Arial mają różne szerokości).
Ostatecznie zrobiłem więc to makro, tak aby prawą ręką zaznaczać słowo, a lewą od razu kliknąć G12 (gdzie makro było podpięte) i móc od razu wybrać formatowanie tylko i wyłącznie dla wyrazu.

■ Najwięcej czasu nie schodzi na pisanie
A tym bardziej nie na przygotowywanie kodów źródłowych - te w porównaniu do tekstu szły błyskawicznie.
Najwięcej czasu zeszło na sprawdzanie faktów.
Pisząc książkę sprawdzałem każde napisane stwierdzenie. To wymagało albo sprawdzenie czegoś w źródłach (zarówno w rozumieniu programistycznym jak i ogólnym), albo przeprowadzenia eksperymentu (choć wiadomo jak jest w programowaniu - wynik eksperymentu przeprowadzonego w pewnych warunkach niekoniecznie pozwala na jakąkolwiek ekstrapolacje).
Źródła czasem okazywały się zresztą nieprawidłowe. Przykładowo, pisząc o Unicode miałem pewne dwa zdania o kodowaniu - w obu przypadkach podczas „fact-checkingu” pierwsze odnalezione strony z informacjami zawierały błędy (np. click).
(jeszcze więcej czasu schodziło jak eksperyment wykazywał coś innego niż zakładałem, że wykaże ;>)

■ Wymyślanie easter eggów to niezła zabawa
Nie, w mojej książce nie ma żadnych easter eggów ;) pokazuje na niebo o patrzcie! samolot!

OK, na dzisiaj to tyle - dzisiaj w końcu jest dla mnie dzień odpoczynku, tak, żeby zregenerować trochę mana przed korektą w przyszłym tygodniu :)

P.S. w załączniku widok na Jezioro Czterech Kantonów z góry Rigi (foto. Arashi Coldwind sprzed dwóch tyg.).

Afish

@Gynvael Coldwind: To książek nie pisze się w LaTeX-u?

Gynvael Coldwind

@Afish: Jak się okazuje... nie. Rozmawiałem z kilkoma autorami i piszą w różnych technologiach, ale głównie w popularnych procesorach tekstu (choć są jakieś dedykowane do beletrystyki). Wydawnictwa i tak potem layout przerabiają narzędziami wybranymi wg. ich własnej preferencji, więc im LaTeX do niczego nie potrzebny (szczerze, to byłem trochę tym zdziwiony; na mojej uczelni N lat temu prezentowali LaTeX jakby to był de facto standard do wszystkiego i wszędzie, a tu taka niespodzianka).

Azarien

Używam pauz, półpauz, cudzysłowów „takich” i “takich” na tym forum od dawna ;-) Przyjąłem konwencję że „takie” są używane do obejmowania tekstów i słów polskich, a “takie” angielskich. (okazjonalnie mogły się trafić inne, zgodnie ze standardowo używanymi w danym języku).

Jak wprowadzać powyższe znaki :)

@Gynvael Coldwind: istnieje gotowy układ klawiatury z pauzami, cudzysłowami i wieloma innymi cudami pod http://grzegorj.private.pl/keyboard/indexpl.html#autor (wersja dla XP działa bez problemu nawet pod Win10)

Afish

@Gynvael Coldwind: No to mnie zaskoczyłeś, bo mi na studiach też przedstawiono LaTeX-a jako prawdę objawioną i najlepszy wynalazek zaraz po chlebie krojonym. @Azarien Spoko ten układ klawiatury.

user111

@Gynvael Coldwind: Spis treści bardzo mi się podoba, na pewno brakuje takiej książki.

alagner

@Afish wyleczyłem się z LaTeXa kiedy promotor pokazał mi wzorce dokumentów większości wiodących czasopism. Dominuje Word.
@Gynvael Coldwind a po ingliszu będzie?

katelx

@Gynvael Coldwind: po spisie tresci wnioskuje ze bedzie hit. mam nadzieje ze juz planujesz nastepna czesc :)

Gynvael Coldwind

@Azarien: O, dzięki! Przyznaję, że nawet mi do głowy nie przyszło poszukać gotowego układu, ale przyda się na przyszłość :)

@Afish: Spytałem znajomej autorki (która pisze beletrystykę, więc bez tabelek / zaawansowanych formatowań; czysty tekst w zasadzie) czego ona używa, i wymieniła 3 programy: Scrivener, FocusWriter i MS Word. Przyznaję, że o tych dwóch pierwszych wcześniej nie słyszałem (poza rozmowami z nią).

@user111: Miło słyszeć :) Pod koniec września powinniśmy (z wydawnictwem) jakiś fragment książki opublikować - opinia wtedy też mile widziana.

@alagner: Tak, ale raczej w drugiej połowie przyszłego roku.

@katelx: Będę się bardzo cieszył, jeśli komuś to się do czegoś przyda :) Co do następnych części - zanim będę o tym myśleć, to ze 3 rozdziały wypadły ze spisu (jakoś mi tam nie pasowały), ale mam je prawie skończone. Na pewno po wydaniu będę chciał je opublikować (takie tam darmowe DLC, bez konieczności posiadania książki ;>).

karolinaa

@Gynvael Coldwind: a po ile to będzie kosztować?

Gynvael Coldwind

@karolinaa: Dobre pytanie, zobaczymy co tam wydawnictwo zdecyduje na końcu. Założyłbym 75 PLN, może będzie trochę mniej.

CodingLeader

@Gynvael Coldwind: Tytuł książki mało trafiony. To przecież podstawy z Architektura komputerów + Systemy operacyjne + Sieci. Bardziej by pasował tytuł: "Zrozumieć komputer, choć trochę". Zrozumieć programowanie to zrozumieć algorytmy i wzorce. Zresztą tępy lud wszystko łyka jak młody pelikan. Newbie na pewno kupią, choć nic z tego nie będą wiedzieć.

niezdecydowany

@CodingLeader: kolejny alogytmiarz, co wy się klonujecie ? "zrozumieć algorytmy i wzorce" to można w liceum - synchronizacja, komunikacja to krytyczne rzeczy.

Gynvael Coldwind

@CodingLeader: Mam jednak wrażenie, że programowanie jest na tyle szeroką działką, że i algorytmy, i wzorce, i systemy operacyjne, i sieci, i architektura komputerów (a przynajmniej programistyczna interakcja z trzema ostatnimi) się w tym zawierają. Feel free to disagree :)

CodingLeader

@Gynvael Coldwind: Tak, zawierają się, ale po tej książce nie zrozumie się programowania, bo brakuje najważniejszych rzeczy. Widać to już po spisie treści.

Gynvael Coldwind

@CodingLeader: Stara dobra dyskusja „co jest najważniejsze w programowaniu (algorytmy/nie-algorytmy)” - świetny temat do piwa i słonych paluszków! Natomiast nie mamy ani piwa, ani słonych paluszków, więc nie idźmy w tę stronę.

Natomiast algorytmów i wzorców w książce nie ma celowo - jest masa dobrych pozycji o algorytmach na polskim rynku; ostatnio na moją półkę trafiła również książka o wzorcach - również po polsku. Pewnie jakiś rozdział czy pięć o tych tematach by nie zaszkodził, ale to kwestia na ew. kolejne części/wydania (najpierw zobaczmy co powiedzą czytelnicy po faktycznym przeczytaniu książki ;>).

Co do trafności tytułu - posłużę się cytatem Phila Karltona - "There are only two hard things in Computer Science: cache invalidation and naming things." ;)

Shakaz

ostatnio na moją półkę trafiła również książka o wzorcach - również po polsku.

@Gynvael Coldwind: możesz zdradzić co to za książka ?

Gynvael Coldwind

@Shakaz: Jasne - Kent Beck, "Wzorce Implementacyjne", Helion (180 stron or so).

Gregorius

@Gynvael Coldwind: znam wydawnictwa które wymagają i akceptują wyłacznie TeXa. Są to renomowane wydawnictwa naukowe. (np Springer Verlag)