6 grudnia 2010

Programowanie na żywo, w parach oraz programistyczny Truman Show

Czy byłeś kiedyś świadkiem tworzenia jakiegoś oprogramowania? Chodzi mi o coś w rodzaju spoglądania przez ramię na klepiącego kod programistę. Można się tak dużo nauczyć. Jednak jeżeli dziedzina rozwiązywanego problemu jest dla jednej osoby zbyt obca, to również i kod na jej oczach powstający może stanowić dużą abstrakcje. Proces powstawania znanych, lecz trudnych algorytmów również może być bardzo ciężki do zrozumienia bez ciągłych objaśnień autora, na temat tego co wyraża dany kod.

15 października 2010

Być wszechstronnym multikoderem...

Rozpoczął się dla mnie bardzo pracowity semestr. Każdy poprzedni też był wymagający, niemniej jednak ten nr 9 ma w sobie to coś, co prawdziwe informatyczne tygrysy lubią najbardziej :) Programowanie, programowanie, programowanie! To nie jest tak, że w poprzednich latach programowaliśmy mało. Raczej chodzi o to, że programowaliśmy zazwyczaj w bardzo typowy - imperatywny sposób. Co prawda na pierwszym roku mieliśmy nawet odrobinę programowania w logice za pomocą prologa, lecz wówczas jakoś nie zachwycił mnie ten język.

Jak do tej pory mogę powiedzieć, że w stopniu dobrym lub bardzo dobrym opanowałem języki C/C++/C#/Java. Zdarza/zdarzyło mi się "od potrzeby" pisać coś w Asemblerze/Fortranie/Pascalu/Delphi/Perlu/JavaScripcie/PHP/Matlabie/Bashu. Fajnie, nieprawdaż?

No właśnie nie...

12 października 2010

notify & autofocus window

Bardzo często jestem zmuszony czekać na zakończenie jakiegoś polecenia wydanego w konsoli. Czasami to trwa tak długo, że zabieram się za coś innego. Zaraz po zakończeniu owego zadania chciałbym powrócić do pracy. Jednak nie zawsze jestem w stanie dostrzec, że coś się skończyło, skoro od 5 minut czytam jakiegoś bloga :)

na dzisiaj mam dla Was dwa według mnie mnie godne uwagi polecenia.

26 września 2010

noisy-coder@blogspot.com: ~ $ cat mędrcy_linii_komend


Zacznę nietypowo:
  • sudo !!,  wykonuje poprzednie polecenie jednak w trybie super user, nie wymagając jego przepisywania
  • ipconfig /displaydns, możemy sprawdzić listę ostatnio resolvowanych adresów internetowych (żaden private mode nie pomoże)
  • telnet towel.blinkenlights.nl, wyświetli Ci film Stars Wars w konsoli 
  • cd -,  (na Linuksie) przenosi nas do katalogu w którym byliśmy poprzednio.  
To tylko parę bardzo ciekawych poleceń, o których jeszcze nie dawno nie miałem zielonego pojęcia. Konsola to potężne narzędzie niosące ze sobą wielkie możliwości. Nie od razu jednak takim narzędziem się stała. Długo ewoluowała, a historia jej powstania oraz jej początki w Polskiej rzeczywistości na pewno niektórych zaskoczą.

1 września 2010

Rozwój GITa - ankieta

Krótki wpis.

Jeżeli jesteś zainteresowany rozwojem gita, chciałbyś mieć na niego wpływ i jesteś w stanie poświęcić swoje cenne 5 minut, wypełnij proszę poniższą ankietę:

https://www.survs.com/survey/MUPYR8UJ4B

więcej informacji na stronie: https://git.wiki.kernel.org/index.php/GitSurvey2010

27 sierpnia 2010

Zagadka z C++

Zagadka jest prosta. Co zwróci dany fragment kodu C++:

(int(),long(),char())["\a\r\t"]["9876543210"];

Przyznam szczerze, że sam tego nie wymyśliłem, lecz usłyszałem od kolegi z pracy. Zagadka spodobała mi się jednak tak bardzo, że postanowiłem się nią podzielić :)



FAQ

Czy ten kod się w ogóle skompiluje?
- tak, oczywiście :)

Wydaje mi się, że znam wynik, wstawić go do komentarza?
- nie, lecz możesz napisać, czy zgadłeś wynik. A czy zgadłeś możesz sprawdzić kompilując kod.

Przyda mi się to do czegoś?
- nie :)

27 lipca 2010

[CLI] Jak przyśpieszyć pracę z konsolą tekstową? Wystarczy znać odpowiedni skrót :)

wcześniej ten post miał tytuł  "Control + R: reverse-i-search", ale chyba nie był zbyt wymowny, więc go zmieniłem :)

Dzisiejszy post należeć będzie do cyklu "Ciekawostki dotyczące konsoli".

Nie jestem jakimś super wytrawnym użytkownikiem Linuksa. Sam na komputerze domowym mam postawionego Windowsa Xp i dobrze mi z tym. Nie mniej jednak z Linuksem do czynienia miałem nie raz, nie dwa. Do linuksowej konsoli natomiast przyzwyczaiłem się już tak bardzo, że moim nieodłącznym narzędziem pracy na komputerze z systemem Windows jest zawsze Cygwin.

Tym większe było moje zdziwienie, gdy raz spoglądając mojemu koledze przez ramie dostrzegłem jak w konsoli stosuje on skrót klawiszowy CTRL+R.

25 lipca 2010

Git command of the day: git add --intent-to-add

Pierwszy post poświęcony serii git command of the day będzie opisywał pewien konkretny przełącznik jaki możemy zastosować w przypadku użycia komendy git-add, a mianowicie --intent-to-add, lub krótszy-równoważny -N.

Na początek krótki przykład zastosowania, a później szersze wyjaśnienie.

30 czerwca 2010

Projekt: git command of the day

W trakcie z gitem coraz częściej natykam się na ciekawe polecenia, przełączniki czy ogólnie rzecz mówiąc tricki. Postanowiłem rozpocząć projekt związany z publikacją krótkich artykułów na temat co ciekawszych komend gita. Jak już zapewne się domyślicie, będzie on publikowany pod nazwą git command of the day. Nie należy jednak sądzić, że owe artykuły będą dodawane codziennie. Jak tylko znajdę coś ciekawego, to będę się tym dzielił :)

9 maja 2010

wyślij wiadomość -> zaloguj się -> napisz wiadomość jeszcze raz

Kiedyś, przez jakiś czas pracowałem jako tajemniczy klient. Była to dość ciekawa i całkiem wygodna praca dla studenta. Po każdym audycie musiałem wypełnić odpowiednią ankietę na stronie internetowej, albo raczej przepisać tam swoje notatki wykonane zaraz po wizycie. Po każdej wizycie musiałem zatem logować się na stosowną stronę i wypełniać dość długi formularz. Potrafiło to trwać nawet 15-20 minut. Problem z jakim spotykali się moi koledzy polegał na tym, że bez przeładowań strony użytkownik był automatycznie wylogowywany. W momencie w którym oni próbowali wysyłać starannie wypełniony formularz klikając na przycisk potwierdzający, strona przenosiła ich na ekran logowania. Gdy się ponownie logowali, wracali do pustego (sic!) formularza i musieli wypełniać wszystko od nowa. Jest jednak prosty sposób, żeby sobie radzić z takimi sytuacjami.

4 maja 2010

Filtry i katalogi IMAP vs. gmail labels


Osoby korzystające z klientów poczty, które jednocześnie sortują sobie z ich pomocą otrzymywane e-maile, mogły natknąć się na pewną denerwującą rzecz. Otóż bardzo popularna skrzynka jaką jest gmail interpretuje owe foldery jako labele w swoim webowym interfejsie. Raz na jakiś czas zachodzi potrzeba skorzystania z webowego interfejsu...czy to na uczelni, u kolegi czy w podróży.

I generalnie nie było by żadnego problemu, gdyby nie foldery zagnieżdżone. Prosty screenshoot chyba lepiej odzwierciedla problem. Niektórych folderów nie da się przeczytać w całości, gdyż najzwyczajniej nie mieszczą się na ekranie. Ktoś może twierdzić, że wystarczy nie robić tak wielu zagnieżdżeń, ale ja akurat tak lubię :P




Nested Labels 

Częściowym rozwiązaniem wydaje się być wtyczka Nested Labels, którą możemy włączyć wchodząc w Settings -> Labs i wybierając Enable przy nazwie owej wtyczki.

Efektem działania wtyczki jest wygląd taki jak na screenie drugim. Nie wiem jeszcze dlaczego lecz wtyczka nie do końca poradziła sobie z labelem "zakupy/Allegro/komentarze". Nie mniej jednak uzyskany efekt i tak jest dla mnie dość satysfakcjonujący. Oczywiście jest to tylko obejście problemu, gdyż niektórych dłuższych labeli dalej nie widać w całości. Teoretycznie można by pobawić się jeszcze userSkryptami, co już czynił Wojtek "KosciaK" pisząc user.js'a automatycznie rozwijającego owe labele.

Wersja mobilna


 Ideałem jednak by było gdyby to działało również dla wersji mobilnej m.gmail.com, tak jednak nie jest. No cóż... nie można mieć chyba wszystkie za darmo...

8 lutego 2010

Internet na nowo - dla mnie

Nie wiem czy macie już za sobą taką chwilę,  kiedy stwierdziliście, że niby w internecie jest zawsze pełno nowości, ale jednak to wszystko smakuje ciągle tak samo.
Nowy super filmik na youtubie podesłany od kolegi - fajny, nawet śmieszny, no ale co z tego. Nowy artykuł o niezwykłych technologiach internetowych, wdrażanych przez daną firmę - super, już wkrótce świat będzie piękny! Znajoma wstawiła zdjęcie na naszą klasę - nawet nie głupio wyszła, ale co z tego, ona ładnych fotek na których jest szczęśliwa i uśmiechnięta ma już pełno.
Wszystko stało się dla mnie takie jednolite, takie same.
Dlaczego tak się stało? Korzystałem ciągle z tych samych źródeł informacji. Serwisy o tematyce specjalistycznej, fora internetowe dla programistów, strony znajdowane w potrzebie za pomocą wujka google.
Wczoraj sobie uzmysłowiłem, jaką radość sprawiało mi korzystanie z internetu ok 7 lat temu. Jakoś udało mi się wtedy zlokalizować źródła wiedzy, którą chciałem posiąść. To właśnie ta wiedza była dla mnie jak narkotyk. 
Fora internetowe to z resztą osobny temat. Pozwolę sobie jednak zauważyć, że na forach internetowych pytania się zadaje (co robi dużo osób) a następnie czeka się aż ktoś odpowie (co robi mało osób). Informacje dostajemy tam tylko szczątkową ale dokładnie taką jakiej nam brakowało. To jednak nie jest dobre miejsce do nauki. Istnieją jednak w internecie takie, gdzie ludzie piszą bardziej konkretnie, na tyle by coś mogło nas zainteresować a nawet nas trochę wprowadzić...ale o tym dalej...