środa, 12 maja 2010

Dlaczego każdy programista powinien spróbować VIM?

Dlaczego powinieneś spróbować korzystać z Vim'a?

Od kilku miesięcy jestem wielkim fanem tego edytora. Ostatnio nawet zacząłem klepać Escape w oknie skype, żeby przejść do innego okienka. :D Można powiedzieć, że naprawdę się zauroczyłem tym narzędziem. Jeśli więc dalej korzystasz z (Boże broń) Notatnika Windows powinieneś się stanowczo zainteresować możliwościami Vim'a

Osobiście zacząłem używać Vima jakieś 10 miesięcy temu kiedy przyszło mi ręcznie nanieść poprawki w pliku, który miał bagatela 400MB rozmiaru. Wszystkie podręczne edytory wysiadały przy takiej ilości danych do wczytania. W końcu kolega poradził Vim'a. Czytałem o nim wcześniej i wiedziałem, że sporo hardcore'owców z niego korzysta, ze względu na pojechane skróty klawiaturowe oraz nietypowe używanie interfejsu. Przemogłem się, odpaliłem vimtutor i jakoś poszło. Od razu powiem wszystkim, że obsługa Vima jest banalnie prosta. W 5 minut każdy pozna rzeczy potrzebne do przyjemnej obsługi plików.

Więc po co powienieneś użwać Vim'a?
Vim jest wszędzie.
Jeśli korzystasz z Mac OS X, dostępna jest wersja CLI, a jeśli chcesz korzystać z graficznej - zainstaluj MacVim. Większość systemów Linuxowych dołącza albo Vim'a albo jego poprzednika vi domyślnie. Jeśli masz dystrybucję okrojoną to na pewno możesz znaleźć pakiety w repozytoriach. O instalacjach Vim'a na Windows'y już nie wspomnę, bo to oczywiste, że taka istnieje. Jeśli używasz edytory takie jak Kate, gedit, Krtite, Notepad++, etc. nie masz pewności, że będziesz mógł kontynuować pracę na innej platformie. Z Vim'em to możliwe.

Kolejny atut:
Vim występuje również jako aplikacja CLI. To oznacza, że można w nim pracować przez np. ssh telnet. Fajnie, nie?
Vim jest "gąbczasty"
Jeśli używasz Vim'a możesz polegać na nim i edytować w jakimkolwiek języku programowania łatwo go przystosowując. Uczysz się Ruby? Możesz to robić używając Vim'a. Chcesz się nauczyć Javy. Po raz kolejny - Vim ci w tym pomoże. Paradoksalnie używając Vima nauczysz się nowych języków szybciej niż specjalnie przygotowanych do tego edytorów.
Vim jest szybki
Ponieważ Vim został zaprojektowany po to by jak najmniej poruszać palcami, korzystanie z niego jest szybsze niż w jakimkolwiek innym edytorze. Skróty klawiszowe i komendy są proste do zapamiętania. W Vimie nie używa się myszki zatem nie musisz poruszać swoich dłoni, żeby przenieść kursor w inne miejsce. Na przykład chcąc przenieść kursor 5 linijek niżej wystarczy wstukać 9j.
Oprócz tego Vim został dobrze zaimplementowany. Tak jak pisałem wcześniej, dobrze sobie radzi nawet z gigantycznymi plikami tekstowymi, które otwiera w ciągu kilku sekund.
Vim jest łatwy w konfiguracji
Przez edycję twojego własnego pliku .vimrc może łatwo modyfikować funkcjonalności Vima zgodnie z twoimi potrzebami. Możesz łatwo zmienić ustawienia, żeby pasowały do twoich programistycznych przyzwyczajeń. Chcesz mieć numer linijki przy każdym wierszu, kolorowanie składni, zmienić skróty klawiszy? Nie ma problemu. Bierz swój .vimrc i hasaj do woli.
Działanie Vim'a można rozszerzyć o pojedyncze skrypty lub gotowe pluginy. Ponadto gdy już raz skonfigurujesz swój edytorek, łatwo można przenieść całą konfigurację na inną maszynę.

Vim zawsze ma sposób na uproszczenie czegoś
To co najfajniejsze w Vimie to to, że jest solidnym, dojrzałym produktem, który zrobi z tekstem cokolwiek chcesz, szybko i prosto. Na przykład, ostatnio musiałem przetworzyć dane w pliku tekstowym w taki sposób by pasowały do zapytań Sql'a. Robiąc to ręcznie poświęciłbym na to przynajmniej godzinę. Poszperałem w necie o tworzeniu makra w Vimie i całą operację zrobiłem w niecałe 20 sekund (plus 1 minuta na szukanie info o tworzeniu makr).
Vim jest ściśle powiązany z linią poleceń
Potrzebujesz pilnie wykonać operację w konsoli, a własnie edytujesz jeden z plików? Użyj ":!" a następnie wpisz komendę, którą chcesz wykonać. Proste? Proste! Po co mi to? Jeśli pracujesz na jakimś plikiem w C++ możesz szybko skompilować program, odpalić go z konsoli, sprawdzić i sprawdzić wynik. Po zakończeniu Vim wróci do miejsca w którym byłeś poprzednio.

Wszystkich którzy pragną poznać potęgę Vima zapraszam na stronę projektu.

piątek, 7 maja 2010

TuxGuitar - kompozycja w zasięgu... kliknięcia.


Nie wszyscy zdają sobie sprawę z tego, że istnieje coś takiego jak TuxGuitar.
Jest to darmowy program, za pomocą którego można w łatwy i szybki sposób tworzyć własne kompozycje wielościeżkowe. Głównie przewidziany jest dla gitarzystów i pianistów ze względu na rozbudowany interfejs, ale każdy kto zna nuty, tabulatury itp. poradzi sobie doskonale.

To co jest główną zaleta programu to jego cena (za darmo), dostępność (wszystkie systemy operacyjne), wymagania (praktycznie zerowe)  i niewielki rozmiar. Dodatkowo program potrafi obsłużyć większość komercyjnych formatów oraz wiele darmowych, m.in.: .gtp, gtp3, gtp4, .ptb, .tef, .mid, .txt.

Wszystkich zainteresowanych odsyłam na strone producenta: http://tuxguitar.herac.com.ar/

Bilans zyskow i strat

Mam kilka własnych przemyśleń na temat organizowania wieczoru kawalerskiego (za i przeciw):

Cały dzień przygotowan, trzycyfrowy rachunek, dzień wycięty z życiurysu z powodu kaca i 5 godzin wyśmienitej zabawy.

Tak, w dużym uproszczeniu można przedstawić bilans zysków i strat organizacji i realizacji czegoś na kształt "wieczoru kawalerskiego". Po takim wstępie nasuwa sie pytanie "czy było warto i czy zrobiłbyś to jeszcze raz?".

Czy było warto? Oczywiście - wspomnienia są nieocenione (przynajmniej do momentu, w którym urywa się film).
Czy zrobiłbyś to jeszcze raz? Stanowczo tak - ale troszke inaczej i paradoksalnie na większą skalę.

Kilka drobnych problmemów, które pojawiają się przy organizowaniu tego typu imprezy:
Koszty - oczywiście najwięcej kosztuje alkohol, ale to zależy od tego, co jest w planie do spożycia.
Termin - trudno dobrać termin imprezy tak, żeby zgrać wolny czas dla 10-15 osób. Zawsze znajdzie się ktoś, komu coś wypadnie, dlatego sugeruje nie przejmować sie tym aż tak.

Ni mniej ni więcej gorąco polecam przeżyć (dosłownie) każdemu kawalerowi własne stag party.