Coding with Titans

so breaking things happens constantly, but never on purpose

Triki z SVN: Przyjaciel Pacz (patch)

Czasem zdarza się sytuacja, w której ktoś, kto ma dostęp tylko do odczytu do naszego repozytorium SVN, chciałby w nim coś jednak zapisać. Udało mu się (lub jej) rozwiązać jakąś usterkę czy problem, albo usprawnić działanie. Moglibyśmy w tym miejscu dodać uprawnienia do zapisu i byłoby po sprawie. Jednak czy na pewno? Zawsze jakieś “ale”! Z czegoś wynikał przecież fakt, że ów użytkownik nie posiadał pełni praw. Czy wspomniana zmiana ma w ogóle sens i czy w ogóle istnieje? Read more →

WebRequest, HTTPS a Mono.NET i SendFailure

Od jakiegoś czasu staram się rozwijać własną bibliotekę implementującą kliencką część protokołu Bayeux (używającego poniżej formatu JSON). Jest tam jeszcze oczywiście dużo innych rzeczy, ale te są na razie najważniejsze. Zabawa idzie mi całkiem dobrze i z wyników jestem bardziej niż zadowolony. Jednak z racji tego, że za cel powziąłem sobie współpracę z każdą dostępna platformą .NET, natrafiłem coś zupełnie nieoczekiwanego. O ile przemilczę fakt, że każdy z .NET frameworków (tj. Read more →

Kiedy Crysis ze Steam nie działa…

Jest piękny grudniowy wieczór, kiedy to w świątecznej promocji nabyliśmy Crysis Maximum Edition ze Steam’a. Pobraliśmy go i zainstalowaliśmy na swoim komputerze, a naszym oczom już już ma ukazać się gra. Czekamy, czerwona dioda dysku miga ochoczo do nas… Aż tu nachodzi nas ów nieoczekiwany gość – crash (nie mylić z tytułem gry!), który psuje cały wieczór. Logi twierdzą wyraźnie, kto jest winny: Nazwa zdarzenia problemu: BEX Nazwa aplikacji: crysis.exe Wersja aplikacji: 1. Read more →

Windows Phone 7 – Unit Testing

Testowanie - niestety temat zapomniany i zupełnie zignorowany przez twórców Windows Phone 7. Jakoś w głowie mi się nie mieści, że premiera telefonu odbyła się trzy miesiące temu, po raz pierwszy telefon pokazano światu w marcu 2010 i do dzisiejszego dnia nie doczekał się od oficjalnego frameworka testowego zintegrowanego z Visual Studio. Aż jestem ciekaw, jakim cudem tak dobrze go przetestowali i czy w ogóle zamierzają coś w tę stronę ruszyć. Read more →

.NET – Atrybuty, których nie znacie

Sam temat nie powinien być nieznany. Atrybuty to od takie dodatkowe adnotacje w kodzie, które możemy “przypiąć” do klas, metod, pól (itd.), które nadają im bardziej mistyczne własności, objawiające się już dalej podczas działania samej aplikacji. Ot, po prostu gdzieś później sami będziemy sprawdzać, czy dana klasa, pole czy metoda jest naznaczona wykonywać dla niej specjalny kod, który jest ukryty pod ‘if’ dla typowych elementów. Jednakże te ‘systemowe’ atrybuty, które oferuje platforma czy kompilator . Read more →

BuildBot 0.8.2 na Windows XP

Jeżeli zależy nam na jakości wytwarzanego oprogramowania (co jest z góry wiadome, że tak) – to pojęcie Continous Integration nie powinno być obce. Mi osobiście do gustu przypadł projekt BuildBot. Jednym zdaniem – mały, prosty, obsługujący wiele platform, bardzo łatwo rozszerzalny i co więcej mamy pełny kod źródłowy, gdyby coś poszło nie tak… Jak go zatem zainstalować na Windows XP (i późniejszym)? Twardzieli odsyłam do “oficjalnego” przewodnika. Ja postaram się dodać coś od siebie i zmniejszyć ilość potrzebnym kroków: Read more →

Triki z SVN: łatwy dostęp na Windows

Kontynuując post o samym tworzeniu repozytorium i dostępie do niego z poziomu terminala Linuxa, warto też wspomnieć, że tak samo łatwo skonfigurować go można na Windowsie. Otóż tunel ssh definiujemy w sekcji [tunnels] pliku (ścieżka dla Windows 7): C:\Users\<użytkownik>\AppData\Roaming\Subversion\config Wygląda on mniej więcej tak: ssh = "C:/Programy/Putty/plink.exe" –P <port SVN> –l <użytkownik> –i "C:/Users/<użytkownik>/.ssh/id_rsa" Wyjaśniając: Przy użyciu programu plink (wchodzącego w skład ‘paczki’ putty, którą trzeba pobrać i zainstalować wcześniej), utrzymywane będzie połączenie ssh do serwera. Read more →

Windows Phone 7 – czy warto?

Windows Phone 7 trafił już pod strzechy i mam możliwość przyjrzeć mu się z bliska. Wśród wielu dość szybko rzucających się braków, poniżej opisuję to, co powoduje, iż szkoda marnować czas na niego i lepiej jeszcze poczekać (rok, dwa?), a może go jednak dopracują. Jeśli planujesz zatem zakup, wstrzymaj się choć na sekundkę i przeczytaj czy warto utopić 2500PLN i później żałować… Co nie wyszło: WiFi – aby móc korzystać z dobrodziejstw Internetu w domu lub pracy, SSID (nazwa sieci) musi być rozgłaszana. Read more →

dLink DIR-655 i niekończące się niedoróbki

Od jakiegoś już czasu firmware do kilku modeli firmy dLink (DI-524, DIR-628, DIR-655) posiadał dość znaczącą lukę w zabezpieczeniach obsługi protokołu HNAP. O tym jak przejąć kontrolę nad takim ruterem można poczytać tutaj. Najnowsza aktualizacja do wersji v1.32EUb01 (z 02/10/2010) rozwiązuje ten problem. Niestety wprowadza dodatkowe niedogodności, o których nie ma ani słowa w ‘release notes’. Od tej chwili mimo, że w ustawieniach włączymy UPnP, opcja ta nie będzie dostępna. Zatem wszystkie programy, które używają tej funkcjonalności - automatycznie przestaną działać. Read more →

Jetty na Debian 5.05 Lenny

Kolejny dzień, kolejny problem z serii, “bo coś jest zepsute u podstaw” konfiguracji systemu… Zawczasu ostrzegam, że wpis ten jest wybitnie rozwlekły i nie jest przeznaczony dla osób niecierpliwych. Zatem po kolei. Będąc zafascynowany “nowymi” rozwiązaniami, postanowiłem w ramach testów uruchomić przykłady z pakietu CometD i zapoznać się nieco z protokołem Bayeux (zainteresowanych tematem odsyłam do dokumentacji projektu). Oczywiście nic prostszego - wchodzimy na stronę projektu, pobieramy odpowiednie źródła, wypakowujemy CometD i uruchamiamy Jetty, które instaluje w sobie odpowiednie rozszerzenie. Read more →