Potęga czystego tekstu
poniedziałek, 22 sierpień 2005, w kategoriach: Linux
Nie na darmo Dave Thomas w “Pragmatycznym Programiście” zatytułował tak jedną z sekcji. W plikach tekstowych jest coś magicznego, szczególnie mając pod ręką potężny edytor jak Emacs czy JEdit i zestaw unixowych narzędzi w rodzaju grepa, seda, awk, finda itp.
Osobiście, najważniejsze w całym systemie są dla mnie dwa pliki, ~/txt/todo i ~/txt/notes. W pierwszym trzymam najważniejsze rzeczy: listy z GTD, “przypominacze”, najświeższe pomysły, a w drugim najróżniejsze notatki: fragmenty kodu, które zapominam, a które często są mi potrzebne, polecenia shella, skrótky klawiszowe emacsa, najważniejsze zapiski z książek które czytałem/czytam (inaczej wartościowe pomysły z nich zaczerpnięte szybko uciekają) itp. itd.
Dlaczego Ruby?
niedziela, 14 sierpień 2005, w kategoriach: Programowanie, Ruby
Jak napisałem w “powitalnym” wpisie, uwielbiam programować w Rubym. Dlaczego? Co czyni ten praktycznie nieznany w Polsce język programowania unikalnym? Oto moje ulubione cechy:
1. Prawdziwa obiektowość. W Rubym nie ma typów prymitywnych, wszystko jest obiektem. Można więc napisać: (0.8).round albo: “cos”.upcase. Nawet nil (”nic”) jest instancją klasy. Jednocześnie nie oznacza to, jak w Javie, konieczności zadeklarowania przynajmniej jednej klasy. Jeśli więc chcemy, możemy programować w stylu proceduralnym, tyle, że w gruncie rzeczy, “za kurtyną” i tak kod ten staję się wnętrzem klasy.
2. Możliwość rozszerzania języka. Do każdej klasy, zarówno napisanej przez nas jak i tej będącej częścią biblioteki standardowej możemy dodać metody, składowe, lub nadpisać te już istniejące. Stwarza to możliwość programowania “bottom-up”, czyli dostosowania języka do wykonywanego zadania.
3. Narzędzia. Dodatkowe narzędzia Ruby’ego są niesamowite. Mamy więc Rake’a, czyli program do budowy skryptów ala Makefile, tyle że w czystym rubym, mamy ruby-gems, pozwalające na instalację za pomocą jednego polecenia dowolnej potrzebnej biblioteki czy pakietu dla Ruby’ego, mamy też “w standardzie” rozbudowany framework do pisania testów modułowych. Dostajemy też interaktywny interpreter i przeglądarka dokumentacji “ri”, przypominająca np. perldoc.
czwartek, 11 sierpień 2005, w kategoriach: Getting Things Done
http://www.davidco.com - David Allen i jego firma, a zarazem oficjalna strona Getting Things Done
http://www.amazon.com/exec/obidos/tg/detail/-/0142000280?v=glance - “Getting Things Done” na amazon.com
http://www.43folders.com - Jeden z największych i najciekawszych “portali” GTD w sieci.
http://www.fastcompany.com - Inna duża strona GTDowa, z bardziej “korporacyjnym” zacięciem
http://groups-beta.google.com/group/43Folders - Lista mailingowa o GTD, via Google Groups
http://www.lifehacker.com - Setki cennych porad o “hackowaniu” życia, cześć związana z GTD, cześć nie, ale wszystko bardzo wartościowe i ciekawe.
http://www.lifehack.org - Jak wyżej.
http://www.stevepavlina.com - Najbardziej chyba znany blog o samorozwoju.
Niepełny manifest rozwoju
sobota, 6 sierpień 2005, w kategoriach: Tłumaczenia
Oryginalna wersja autorstwa Bruce Mau Design Inc., do zobaczenia tutaj.
Napisany w 1998 roku manifest jest wyrazem postulatów stanowiących wierzenia, strategie i motywację Bruce’a Mau. Obrazuje także sposób, w jaki działa studio BMD.
1. Zmieniaj się pod wpływem wydarzeń. Musisz chcieć się rozwijać. Rozwój to nie jest coś, co ci się przydarza. Ty go tworzysz. Ty nim żyjesz. Predyspozycje do rozwoju: otwartość na doświadczanie zdarzeń i chęć zmiany na ich skutek.
2. Zapomnij o dobrze. Dobro jest znaną wartością. Dobro to jest to na co się wszyscy zgadzamy. Rozwój niekoniecznie jest dobrem. Rozwój jest poszukiwaniem ciemnych zakmarków które mogą, ale nie muszą być przydatne w naszych badaniach.
3. Proces jest ważniejszy niż wynik. Kiedy wynik kieruje procesem dojdziemy tylko tam, gdzie już byliśmy. Jeśli proces steruje wynikiem nie wiemy dokąd zmierzamy, ale wiemy, że chcemy tam dojść.
4. Kochaj swoje eksperymenty (tak jak kochałbyś swoje brzydkie dziecko). Radość jest motorem rozwoju. Wykorzystuj wolność przedstawiania swojej pracy jako pięknych eksperymentów, iteracji, prób i błędów. Spójrz na to z dystansu i pozwól sobie na radość nieudolności każdego dnia.
5. Wgłębiaj się. Im bardziej się wgłębaisz, tym prędzej odkryjesz coś wartościowego.
6. Chwytaj przypadki. Zła odpowiedź jest dobrą odpowiedzią w poszukiwaniu innego pytania. Zbieraj złe odpowiedzi jako część procesu. Zadawaj inne pytania.
GTD - wprowadzenie, część 3
czwartek, 4 sierpień 2005, w kategoriach: Getting Things Done
Zgodnie z zapowiedziami w części trzeciej zajmiemy się szczegółami implementacji GTD - słowem koniec z teorią, bierzemy się do pracy.
Podstawowy problem to wybór miejsca, w którym będziemy trzymać nasze listy z pierwszego odcinka. I od razu pierwszy dylemat, który musimy rozstrzygnąć - papier czy komputer. Generalnie, żeby przechowywanie list na komputerze miało sens trzeba przy nim spędzać naprawdę dużo (większość?) czasu. Może się to więc sprawdzić u grafików, programistów, części pracowników biurowych itp. Jeśli jednak komputera używamy rzadziej, wtedy konieczne będą rozwiązania papierowe - zgodnie z zasadą “czystego umysłu” chcemy przecież jak najszybciej przerzucić wszelkie kołatające się po głowie myśli do naszego systemu, w związku z czym musimy go mieć zawsze pod ręką.
GTD - wprowadzenie, część 2
wtorek, 2 sierpień 2005, w kategoriach: Getting Things Done
W pierwszej części tego artykułu zajeliśmy się czterema listami, “rdzeniem” Getting Things Done. Jest to jednak tylko fragment całego systemu, część “pętli” przetwarzania informacji.
Pętla ta składa się z 5 czynności:
Zbierz - Tym zajeliśmy się w pierwszym odcinku, ale tylko w odniesieniu do rzeczy, które zaprzątają naszą głowę, tymczasem najzupełniej fizyczne przedmioty, względem których musimy wykonać jakąś akcję, także muszą zostać zebrane. Rozmaite papiery, notatki, listy (w sensie poczty) David Allen proponuje trzymać w “skrzynce odbiorczej”, czyli w jakimkolwiek wygodnym pojemniku który będzie na tyle duży żeby je pomieścić i jednocześnie na tyle mały żeby stać gdzieś pod ręką na biurku. Przykłady: tu i tu.