MVP, MSSQL, .NET
Często WCF, mimo swoich możliwości w zakresie "interoperability", wcale nie musi być kompatybilny z komponentami zewnętrznymi. Nasz serwer, nasz klient, a WCF między nimi. I… tu zwykle zaczynają się problemy… (jak to pisał nie-ś.p. † Kurt Vonnegut, gówno wpada w szprychy:) ). WCF jest tak rozbudowaną i skomplikowaną technologią, że odpowiednie dobranie zawartych w niej [...]
Dzisiaj myśl, która powinna być mottem każdego programisty. Porada motywująca do rozwoju i do poznawania świata. Zasada, której przestrzeganie jest gwarancją ogromnego doświadczenia, obycia i umiejętności porozmawiania na każdy programistyczny temat. Wreszcie: jedna z moich największych “zawodowych” porażek, ponieważ okazało się, że na życie według tej reguły najzwyczajniej w świecie nie ma czasu: Know something [...]
Zastanawiałem się ostatnio nad tym, jaki MUSI być godny zaufania freelancer-programista, a jaki być NIE MOŻE. Efektem jest kilka spostrzeżeń, które dla wielu ocierają się zapewne o banał… ale ze względu na spore zainteresowanie ostatnim postem o tej tematyce postanowiłem się nimi podzielić. Co zatem cechuje profesjonalistę? Zadowolenie klienta Różne mogą być bodźce powodujące zostanie [...]
Mój komputer ma 4GB RAMu, z czego 2GB prawie cały czas oddane są maszynie wirtualnej, na której pracuję. W celu zwiększenia wydajności wyłączyłem plik stronicowania, coby mi co chwila nie rzęziło dyskami (wzrost wydajności o jakieś miliard %, co chyba zwiastuje rychły zgon tychże…?) Podczas normalnej pracy, z uruchomionymi wszystkimi potrzebnymi aplikacjami, zwykle ok 500MB [...]
W ubiegłym tygodniu w implementowanym systemie zajmowałem się datą i czasem. I tak mnie tknęło… dlaczego w ogromnej większości systemów, które przyszło mi oglądać, datę zapisuje się w sposób następujący? 1: article.PublishedTime = DateTime.Now Niby co jest z tym złego? Właściwie… to zależy od kontekstu i rodzaju tworzonego systemu. Korzystając z powyższej konstrukcji trzeba zdawać [...]
Czytając ostatnio dokumentację narzędzia KDiff3 (tak, zdarza mi się czytać takie rzeczy:) ) natknąłem się na zabawne, a jednocześnie chyba dość prawdziwe stwierdzenie: To err is human, but to really mess things up you need a computer Przypomina to, że ostrożność przede wszystkim! Źródło: dokumentacja KDiff3.
Gmail jest moją "oficjalną" skrzynką i codziennie dostaję na niego sporo wiadomości. Spora część to spam, ale… wolę dostać 100 spamów każdego dnia niż przegapić jeden nie-spam z powodu nadgorliwego filtra antyspamowego. Nie korzystam z interfejsu webowego, więc i o zapełniającym się spamie nie byłem w żaden sposób powiadamiany. Tak więc ku pamięci: poniższy obrazek [...]
Programowanie w JavaScript niesie za sobą dużą dozę swobody jeżeli chodzi o posługiwanie się funkcjami. Funkcje są wszędzie, deklarować je można na wiele sposobów, a rozsądne ich wykorzystanie jest źródłem nowych przyzwyczajeń, które chciałoby się niejednokrotnie przenieść do "rodzimego" języka programowania. W moim przypadku oczywiście C#. I dzięki wyrażeniom lambda takie szafowanie funkcjami na lewo [...]
Programowanie w JavaScript niesie za sobą dużą dozę swobody jeżeli chodzi o posługiwanie się funkcjami. Funkcje są wszędzie, deklarować je można na wiele sposobów, a rozsądne ich wykorzystanie jest źródłem nowych przyzwyczajeń, które chciałoby się niejednokrotnie przenieść do "rodzimego" języka programowania. W moim przypadku oczywiście C#. I dzięki wyrażeniom lambda takie szafowanie funkcjami na lewo [...]
W poście przedstawiającym Gita wspomniałem o możliwości modyfikacji historii – i dzisiaj więcej na ten temat. Jest to funkcjonalność naprawdę nie do przecenienia. Commit nie jest już czynnością ostateczną, z którą nie można nic zrobić, jak nas przyzwyczaił SVN. Wtedy przed puszczeniem zmian trzeba się było zastanawiać i analizować dokonane zmiany. Tutaj natomiast bardzo sensownym [...]
W poście przedstawiającym Gita wspomniałem o możliwości modyfikacji historii – i dzisiaj więcej na ten temat. Jest to funkcjonalność naprawdę nie do przecenienia. Commit nie jest już czynnością ostateczną, z którą nie można nic zrobić, jak nas przyzwyczaił SVN. Wtedy przed puszczeniem zmian trzeba się było zastanawiać i analizować dokonane zmiany. Tutaj natomiast bardzo sensownym [...]
Git posiada możliwość nadawania własnych aliasów jego komendom. W konfiguracji wygląda to tak: 1: [alias] 2: ci = commit A więcej na ten temat można poczytać w WIKI. Ja jednak zamiast korzystać z aliasów, napisałem swój skrypt do miniaplikacji AutoHotkey. Przechwytuje ona zdefiniowane sekwencje klawiszy, w locie zamieniając na inne akcje. (tym, którzy go nie [...]
Git posiada możliwość nadawania własnych aliasów jego komendom. W konfiguracji wygląda to tak: 1: [alias] 2: ci = commit A więcej na ten temat można poczytać w WIKI. Ja jednak zamiast korzystać z aliasów, napisałem swój skrypt do miniaplikacji AutoHotkey. Przechwytuje ona zdefiniowane sekwencje klawiszy, w locie zamieniając na inne akcje. (tym, którzy go nie [...]
Wspominałem o "nienajświetniejszym" działaniu Git pod Windows oraz o tym, że w Mercurialu udało mi się zrobić WIĘCEJ przez 2 godziny niż w Git przez kilka miesięcy. Główną czynnością, którą miałem wówczas na myśli, było udostępnienie swojego repozytorium na zewnątrz. Linuxowa wersja Gita rozprowadzana jest z komendą git-daemon pozwalającą na zdalne dobranie się do repo [...]
Wspominałem o "nienajświetniejszym" działaniu Git pod Windows oraz o tym, że w Mercurialu udało mi się zrobić WIĘCEJ przez 2 godziny niż w Git przez kilka miesięcy. Główną czynnością, którą miałem wówczas na myśli, było udostępnienie swojego repozytorium na zewnątrz. Linuxowa wersja Gita rozprowadzana jest z komendą git-daemon pozwalającą na zdalne dobranie się do repo [...]
MVP, MSSQL, .NET
Programista-pasjonat. Człowiek od wszystkiego związanego z programowaniem. Autor bestsellerowej książki “Zawód: Programista“.
Od 2008 posiadacz tytułu Microsoft MVP (Most Valuable Professional) w kategorii .NET.
Od 2005 Microsoft Certified Professional.