Blog Kokosa

.NET i okolice, wydajność, architektura i wszystko inne

NAVIGATION - SEARCH

NDepend - spojrzenie na .NET Core

Czy znacie narzędzie NDepend? Służy do statycznej analizy jakości kodu. Istnieje w świecie .NET już od wielu lat i zyskał zasłużoną renomę. Pisał o nim ostatnio Piotr Gankiewicz, zwycięzca konkursu Daj się poznać, którym przeanalizował swój projekt Warden. I mi nadarzyła się okazja by przyjrzeć się temu narzędziu bliżej. Kilka lat temu bawiłem się nim na potrzeby analizy projektów w pracy. A teraz zapragnąłem nim przebadać coś nieswojego, coś dużego - .NET Core. Jesteśmy szczęściarzami, że żyjemy w czasach, w których .NET ma swoją wersję Open Source. A skoro tak, to kto nam zabroni ocenić jakoś kodu pisanego przez sam Microsoft i zebrane wokół community? Warto tu nadmienić, że NDepend potrafi analizować skompilowane assembly więc tak naprawdę nie musiałbym się ograniczać do .NET Core tylko wziąć na tapetę ten komercyjny, dojrzały .NET Framework. Ale uważam, że podpatrzenie tego, co możemy ew. zmienić jest po prostu fajniejsze. Więcej...

.NET Developer Days 2016 - za 102 dni!

Czas naprawdę "szybko leci". Prawie jak wczoraj pamiętam udział w konferencji .NET Developer Days 2015, a tutaj już na poważnie rozkręciła się organizacja tegorocznego wydarzenia. Było ciekawie, więc z dużym zainteresowaniem śledziłem doniesienia organizatorów na temat tego, co szykują w tym roku. Poprzednią edycję szczegółowo opisałem we wpisie ".NET DeveloperDays - debriefing". Zapraszam do jej przeczytania, ale podsumowując - atmosfera, jedzenie, prelegenci - wszystko na plus. Było to duże wydarzenie, w którym uczestniczyło około 500 developerów. W ciągu dwóch dni, w dwóch ścieżkach, odbyło się w sumie 20 prelekcji, w tym gości takich jak Scott Hanselman i Scott Hunter. Swoją drogą, można je już obejrzeć na Channel 9. Ja najbardziej polecam "Scaling Yourself: Information Overload and Personal Productivity" Scotta Hanselmana na temat osobistej produktywności i rozwoju. Sesja bardzo w tematach, o których pisałem w "Jak się rozwijać" oraz "Technika Pomodoro (...)". Więcej...

Advanced .NET Debugging - recenzja

Nie wiem czy macie prawo jazdy, ale nawet jeśli nie, to pewnie zrozumiecie wysublimowaną analogię, którą zaraz przeczytacie. Otóż jeżdżąc samochodem i mniej więcej kojarząc przepis drogowe, możemy jeździć z powodzeniem całe życie. Jednak chcąc być profesjonalnym, zawodowym kierowcą-wyjadaczem, spędzającym w samochodzie całe dnie, prędzej czy później ubrudzimy sobie ręce smarem, grzebiąc w silniku. Podobnie widzę życie .NET developera. Zdecydowana większość może "jeździć" bardzo dobrze, znając składnię, wzorce projektowe, sztuczki i kruczki. I będą profesjonalistami. Ale jest mniejsza grupa geeków, nerdów, wyjadaczy, którym to nie wystarcza. Chcą zrozumieć internalsy CLR, chcą wiedzieć jak to wszystko działa pod spodem, jak wgrzebać się w pamięć i jak używać tak surowych narzędzi jak WinDbg. Osobiście myślę, że to jest po prostu ciekawe i każdego może kiedyś zainteresować, choćby na chwilę. Popularność czerwcowych devWarsztatów, które ja oraz Sebastian Solnica zdecydowaliśmy się poprowadzić, niejako to potwierdzają.

Dla takich osób istnieje książka, którą mogę z czystym sumieniem polecić - tytułowe Advanced .NET Debugging autorstwa Mario Hewardta. Więcej...

O talentach... czyli właśnie Ty masz talent.

A właściwe o tym, że właśnie Ty masz talent! I nie ważne co Ci mówią inni, co Ci mówi świat, ani tym bardziej - co sam o tym myślisz. Skąd taka pewność? Bo tak. Stary bardzo nie jestem, ale coś tam już wiem, wiele też się dowiedziałem od wielokrotnie mądrzejszych ode mnie.

Zacznijmy jednak od początku. A zawsze najlepiej jest zacząć od siebie. Sam bowiem wiele lat borykałem się z tematem talentów. Właściwie to przez pierwsze kilkanaście lat swojego życia raczej się nim nie zajmowałem, bo mając nieliche problemy z poczuciem własnej wartości, temat czy mam jakieś talenty wydawał się kosmicznie odległy. Coś mnie interesowało, coś mniej, ale raczej skupiałem się na tym, w czym talentu nie mam. Nie mam talentu do sportu, nie mam talentu do gadania z ludźmi, nie mam talentu do prowadzenia samochodu. Mogłem tak długo wymieniać i się dołować. I powiem wam jedno, krótko i zwięźle - bullshit! Więcej...

HTC Vive - recenzja

vive1

Wpis nietechniczny też czasem musi się pojawić. A okazja jest dobra, bo miałem wczoraj przyjemność pobawić się nową na rynku zabawką - zestawem do rzeczywistości wirtualnej HTC Vive. Wszystko dzięki firmie SteamBytes, z którą to mnie łączą różne konotacje personalne. Fajna firma, zajmuje się tworzeniem gier na urządzanie mobilne z edukacyjnym zacięciem, nabyła sobie właśnie ten VR. A skoro tak, to czemu nie korzystając z zaproszenia, przy okazji trochę się pobawić?

Temat VR towarzyszy mi od dzieciństwa i od dzieciństwa mi się jakoś marzy. Pewnie to wpływ Kosiarza umysłów czy Johnego Mnemonica. Pamiętam jak dziś pewien zryw w tym kierunku w roku 1995 w postaci gogli VFX1. Jednak nie oszukujmy się, wtedy było jeszcze za wcześnie. Dwa wyświetlacze LCD o rozdzielczości 263 x 230 pikseli i 256 kolorów?! Po tamtym falstarcie bardzo długo nic się nie działo. Oczywiście pojawiały się różne specjalistyczne sprzęty do virtual i augmented reality ale nic nawet nie próbowało trafiać w segment konsumencki. Więcej...

Microsoft BUILD Tour Warsaw

buildtour_small

Jeśli ktoś ma coś wspólnego z Microsoftem, szczególnie w kontekście programistycznym, na pewno kojarzy konferencję Build - duże, trzydniowe wydarzenie dla developerów. W tym roku odbyło się w dniach 30 marca - 1 kwietnia w San Francisco. Ze względu na raczej kosmiczną cenę rejestracji (w tym roku 2195 $) oraz koszty przelotów i pobytu tam - dla dużej części świata, a już na pewno dla "przeciętnego Polaka", jest to wydarzenie raczej mało osiągalne. Kojarzy się zatem głównie z live streamingiem na Channel 9 i... tyle. Więcej...

“Daj się poznać” - podsumowanie

DajSiePoznac-logo-small

Nie będę oryginalny pisząc, że nie jestem oryginalny i zbliżający się koniec konkursu "Daj się poznać" odnotuję krótkim podsumowaniem. A zatem oto i podsumowanie.

Celem mojego udziału nie było skończenie projektu, bo realnie patrząc, wiedziałem, że się z tym nie wyrobię. Chciałem jednak zmotywować się do działania. O motywacjach pisałem przed rozpoczęciem konkursu. Biorąc pod uwagę ogrom dodatkowych “zaangażowań”, które miałem przez ten trzymiesięczny okres, za

największy sukces uważam fakt, że w ogóle dotrwałem do końca!

Ale przechodząc od ogółu do szczegółu, co się udało, a co nie? Więcej...

Pierwsze kroki z GraphX

Zgodnie z wynikami wcześniejszych poszukiwań, do rysowania grafów w projekcie zamierzam używać biblioteki GraphX. Co prawda, jak słusznie zauważył w jednym z komentarzy Karol, istnieje bardzo ciekawa alternatywa. Syncfusion udostępnia bowiem swoje biblioteki za darmo w ramach licencji Community, dla projektów Open Source. A mają tam naprawdę mnóstwo świetnych kontrolek. I zapewne docelowo ich użyję - do zbudowania ładnego GUI. Jednak do rysowania grafów na razie wciąż spróbuję użyć GraphX, bo wydaje mi się bardziej zoptymalizowany do rysowania dużych zbiorów danych.

Na początku optymistyczne spróbowałem użyć tych kontrolek od razu w projekcie F#. Jednak odbiłem się od ściany licznych mniejszych lub większych problemów. Musiałem zatem zrobić krok wstecz i przygotować minimalny, działający przykład w starym, dobrym C#. W tym celu odchudziłem jak się tylko dało przykład .\GraphX\Examples\SimpleGraph i stworzyłem nowy projekt WPF. Jak zatem używa się GraphX? Więcej...

Projekt "Książka" czyli jak nie zarabiać przez 3 miesiące?

just-relax-small

Pracuję na etacie od 10 lat. O ile mnie pamięć nie myli, dokładnie 10 lat - pierwszy miesiąc to był właśnie Maj 2006 roku. Trzeba przyznać, że czas ten minął błyskawicznie i nie mogę powiedzieć, że był zawodowo jakimś ciężkim znojem. Zwłaszcza, że jak już pisałem, miałem rok przerwy i byłę fotografę. Były oczywiście okresy trudniejsze i okresy przyjemniejsze, ale praca w kamieniołomach to nie była.

Z drugiej strony jednak 10 lat to obiektywnie kawał czasu. I dobry moment, żeby się na chwilę zatrzymać i spojrzeć w tył. Zatrzymałem się zatem i popatrzyłem. Wiele tam nie zastałem - moja praca była ok i pracodawcy byli jak najbardziej ok, ale można by to wszystko określić raczej terminem "stagnacja". Prywatnie działo się bardzo wiele - ze ślubem na czele - ale mam na myśli tę zawodową część życia. Ostatni rok zaś, jak można zauważyć, w końcu mnie "ruszyło" i postanowiłem zacząć realizować się w dawno mnie kuszących i pociągających obszarach. Zaktywowałem się w społeczności, zacząłem być prelegentem, prowadzić bloga. Wszystko to jest super i jestem pewny, że to część mnie, a nie chwilowe zafascynowanie. O motywacjach pewnie jeszcze kiedyś napiszę, ale teraz chciałbym powrócić do tytułowego pytania. Więcej...

WPF i komponent do grafów

Trochę sporo ostatnio czasu w ramach projektu poświęciłem na naprawianie biblioteki ClrMd i pisania poradników o GitHubie. W ramach rdzennego rozwoju projektu skupiłem się na neo4j, teraz pora najwyższa wrócić do interfejsu i zastanowić się nad ważnym pytaniem - czego użyję jako biblioteki rysującej grafy. Na pierwszy ogień poszło przeglądanie “internetów” i wyszukanie opcji, których będę mógł użyć w WPF. Wynik tych poszukiwań nie jest przytłaczający. Wygląda na to, że jest pewne pole do popisu dla osoby, która napisze funkcjonalny i ładny komponent WPF do rysowania grafów. Ja w ramach tego projektu nie mam na to czasu, więc pozostaje mi korzystać z gotowców. Więcej...