Po przygodach z Virtual PC i Virtual Box bohaterem posta zostaje mój aktualny przystanek w wirtualnej podróży, czyli... VMware Workstation from VMWare Plusy Co tu dużo gadać, wreszcie posiadam środowisko wirtualne dla którego nie szukam alternatywy. Już na samym początku VMware dosłownie zmiażdżył zarówno VPC jak i VBoxa swoją wydajnością. Byłem w szoku. Trudno w to uwierzyć (i gdybym tego nie doświadczył, to bym pewnie nie uwierzył... widocznie nie jestem błogosła... [More]

W jednym z ostatnich postów przedstawiłem swoje wrażenia z pracy z VirtualPC. Dzisiaj czas na... Virtual Box from Sun Microsystems Plusy VirtualBox ma dwie główne zalety: jest darmowy jak VPC oraz nie posiada jego największych wad. Tak więc możemy na nim zainstalować wybrany przez siebie system niezależnie od tego czy chcemy mieć 32 czy 64 bity. Dla mnie, z powodu Win2008R2 (64bit-only) było to być albo nie być dla platformy wirtualizacyjnej. Dodatkowo nie ma problemu z przydzie... [More]

Jeszcze przed założeniem własnej działalności i przeniesieniem wszelkich operacji związanych z programowaniem na własną maszynę, do własnego gniazda, nieśmiało i powoli badałem przydatność wirtualizacji dla programisty. Z badań owych wyniknął wniosek bardzo jasny - wirtualizacja to dla mnie rozwiązanie IDEALNE i bez niego nie bardzo wyobrażam sobie pracę. Szczególnie jako pseudo-freelancer jakim jestem teraz, gdy zdarza mi się pracować nad więcej niż jednym projektem jednocześnie. Temat ... [More]

Należy starać się, abyśmy to MY dyktowali narzędziom JAK mają działać, a nie odwrotnie. Zbyt często okazuje się jednak, że jest inaczej... Ile razy zmienialiście swoje nawyki, aby przypodobać się wymogom tego lub innego wspomagacza pracy? Albo: ile razy okazuje się, że bez pomocy tychże narzędzi po prostu NIE DA się pracować? The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities. Bywają niezastąpione. Potrafią uzależnić.... [More]

Logiczne UI byłoby fajne...

16 kwietnia 2010 06:26 w kategorii: pro
Tagi: , , ,
Czasami zadziwia mnie, że komercyjne, wcale nietanie aplikacje mają w UI takie rozwiązania że chyba nawet ja bym nie wpadł na tak beznadziejną ich realizację. Za przykład niech posłuży narzędzie do zarządzania projektami - OnTime. Elementy skojarzone z projektem podzielone są na różne grupy, dwie z nich to Features i Defects. Zobaczmy jak wygląda okienko edycji defektu: ... a jak okienko edycji feature: Za KAŻDYM razem gdy otwieram któreś z tych okienek (a robię to kilka razy dziennie... [More]

Katalog widoczny jako dysk?

15 kwietnia 2010 06:30 w kategorii: pro
Virtual Box, z którego na dzień dzisiejszy korzystam jako swojej "platformy wirtualizacyjnej", ma niestety dość dużą wadę: nie wspiera operacji drag'n'drop, czyli przeciągania plików pomiędzy systemami hosta i gościa. To był mój podstawowy sposób przemieszczania plików gdy jeszcze używałem Virtual PC i bardzo mi się podobał. W VBox jedyne wyjście to udostępnienie katalogu maszynie wirtualnej - czy to przez zwykłe network sharing, czy też przez mechanizm Shared Folders. I w sumie nic s... [More]

Krótki tip sprzedany mi przez zioma Karola, który przyczynił się do znacznego wzrostu komfortu mojej codziennej pracy. Zwykle na dużym ekranie mam odpaloną wirtualkę w (aktualnie - choć już niedługo) VirtualBox. Mniejszy ekran służy do zadań innych niż programowanie. W wirtualizacji uwielbiam między innymi absolutną separację środowiska "programistycznego" od całej reszty. Tyczy się to również takich czynności jak przełączanie pomiędzy oknami za pomocą alt+tab. Medal ten prześwietny m... [More]

Profile w Automapperze

17 marca 2010 08:04 w kategorii: pro
Tagi: ,
Automapper oferuje coś takiego jak profile. Dokumentacja nie mówi nam o nich na dzień dzisiejszy zbyt wiele (link) (dla leniwych - nie mówi NIC:) ). Po czymś o nazwie "profil" spodziewałem się możliwości utworzenia mniejszych "podkonfiguracji" charakterystycznych dla konkretnego scenariusza. Na przykład gdybym chciał mapowanie int->string mieć wspólne dla całej aplikacji, to nie umieszczałbym go w żadnym profilu. Natomiast wspomniane kiedyś mapowanie z czasu UTC na czas l... [More]

W przykładzie z ostatniego posta wielu mogła nie podobać się następująca linijka: 1: string targetTimeZoneName = Config.TargetTimeZone; I mają rację, gdyż można by to zamodelować jako zależność konwertera od konfiguracji - najlepiej przez constructor injection. Ale przecież Automapper sam tworzy konwertery, resolwery, formatery i wszystkie inne szmery bajery (reklama Ery?)... HA! Nie było łatwo się do tego dokopać, ale poniższa instrukcja spowoduje, że wszystkie te "pomocnic... [More]

Automapper i mapowanie z czasu UTC

11 marca 2010 06:59 w kategorii: pro
Niedawno popisałem troszkę o czasie UTC i dlaczego tylko taka reprezentacja czasu powinna znajdować drogę do bazy danych. A teraz... w jaki sposób przygotować datę do podróży w drugą stronę, czyli do użytkownika. Z Automapperem jest to zadanie doprawdy banalne, wystarczy odpowiedni Type Converter: 1: public class UtcToLocalTimeConverter : TypeConverter<DateTime, DateTime> 2: { 3: protected override DateTime ConvertCore(DateTime source) 4: { 5: string targetTime... [More]

Skrypt AutoHotkey ułatwiający pracę z Git

16 lutego 2010 08:15 w kategorii: pro
Tagi: , ,
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 znają, gorąco polecam ściągnięcie i kilka chwil zabawy, świetna sprawa). Mój poniższy skrypt jest banalny: ogranicz... [More]

Git a ignorowanie plików

11 lutego 2010 06:43 w kategorii: pro
Tagi: ,
System kontroli wersji zbierający WSZYSTKO z naszego working copy byłby bardzo ciężki w użyciu. Dlatego też każdy z nich w ten czy inny sposób umożliwia ignorowanie wybranej zawartości. Kiedyś pisałem o obsłudze tego scenariusza w SVN (post "Ignorowanie "zewnętrznych" plików w repozytorium SVN"), zobaczmy więc dla porównania jak to jest zrealizowane w Gicie. Ignorowanie nowych plików Standardowym zachowaniem jest ignorowanie plików, których w ogóle nie chcemy w swoim repozytorium. Do... [More]

Co to jest AutoMapper i dlaczego warto go znać

4 listopada 2009 06:28 w kategorii: pro
Tagi: ,
W każdej aplikacji klient-serwer następuje komunikacja. Masło maślane - gdyby nie było komunikacji, nie byłoby aplikacji klient-serwer. Pomiędzy klientem i serwerem muszą być przesyłane jakieś dane. Szymon pisał jakiś czas temu o tym dlaczego warto wyrzucić ze swojej architektury DTOs, czyli Data Transfer Objects. Ja natomiast przedstawię pokrótce narzędzie, które pozwoli bardzo efektywnie WYKORZYSTAĆ koncept DTOs. Dane tak czy siak przesłać w jedną i drugą stronę trzeba a nie zawsze opłaca się... [More]

Moje środowisko pracy z MaxiVista

2 listopada 2009 06:29 w kategorii: pro
Tagi: ,
Minął ponad rok od kiedy zwiększyłem swój "obszar roboczy" ponad 2x: do 19" Benq dorzuciłem 24" Hyundai. Od kiedy zmieniłem miejsce pracy na domowe zacisze krok ten doceniam oczywiście o wiele bardziej niż wcześniej, gdy w domu programowałem jedynie hobbystycznie. I któregoś pięknego dnia zapaliła się w nienasyconej głowie lampka: "a może by tak... jeszcze więcej?". No tak, łatwo powiedzieć. Trzeci monitor to, pomijając wydatek na sam ekran, kolejna karta graficzna... [More]

Shared folders w Virtual Box

9 września 2009 06:29 w kategorii: pro
Po bardzo długim okresie korzystania z Virtual PC postanowiłem spróbować jak to jest z Virtual Box, czyli darmowym środowiskiem od Suna. Powodów jest kilka, zaczynając od wsparcia dla maszyn 64 bitowych, przez wykorzystanie więcej niż jednego rdzenia fizycznego procesora, a kończąc na zwykłej chęci poznania alternatywnego rozwiązania. Już na początku okazało się, że w VBox brakuje jednej funkcjonalności, której w VPC używałem dość regularnie. Nawet po doinstalowaniu dodatku Guest Additions for ... [More]

Linkowanie repozytoriów: svn externals

29 lipca 2009 06:05 w kategorii: pro
Chyba każda firma ma zestaw własnych bibliotek czy konfiguracji pomagających tworzyć oprogramowanie w ten "jedyny właściwy", wymyślony przez kogoś ważnego sposób. Narzędzia te wykorzystywane są przez wszystkie tworzone projekty oraz nieustannie rozwijane wraz z ewolucją wymagań czy zmianami na jakimś ważnym stanowisku :). Ale jak dopilnować, żeby nie mnożyły się identyczne (a z czasem oczywiście rozjeżdżające się) KOPIE takich wspólnych plików? Taka sytuacja – każdy projekt w osobnym r... [More]

LLBLGen Pro – płatny O/R Mapper. Czy warto?

8 czerwca 2009 06:48 w kategorii: pro
Tagi: , ,
A cóż to i dlaczegóż to Niedawno Szymon napisał posta o O/R Mapperach. Korzystając z impulsu postanowiłem także popełnić co nieco w tym temacie, tym bardziej że tą konkretną notkę zaplanowałem przynajmniej 2 miesiące temu. Może ona być uzupełnieniem dla projektów wspomnianych przez Szymona, czyli NHibernate, Linq2Sql i Entity Framework. Słowem wprowadzenia... LLBLGen Pro to płatny O/R Mapper od firmy Solutions Design. Najważniejszym człowiekiem za nim stojącym jest Frans Bouma – na to n... [More]

Niedawno moje życie stało się lepsze. Nie jestem może w raju, ale przybliżyłem się o jeden kroczek. A wszystko za sprawą małego hotfixa. Ale od początku: Kilka miesięcy temu pisałem o megairytującej cesze Virtual PC, która uniemożliwiała pracę w rozdzielczościach wyższych niż 1600x1200. Co prawda w poście podałem pewien łorkaraund, lecz w moim przypadku nie do końca się on sprawdzał. VS w mojej konfiguracji współpracował z połączeniem przez Remote Desktop mniej niż idealnie (pojawiały się pew... [More]

Scenariusz: ściągamy repozytorium SVN na lokalny dysk. Nie życzymy sobie jednak, aby ograniczało to w jakiś sposób naszą możliwość przechowywania tam plików związanych z projektem, ale niepożądanych w repozytorium. Mogą to być na przykład nasze notatki, kawałek dokumentacji, klucz prywatny, plik z hasłem, prywatny plik sln... generalnie jakiś śmieć, o którego istnieniu reszta zespołu nie powinna wiedzieć. Standardowo korzystając z Tortoise SVN mamy dwa wyjścia: 1) wyłączyć pokazywanie niew... [More]

Resharper 4.5 gotowy

9 kwietnia 2009 08:43 w kategorii: pro
Tagi: ,
Wczoraj została udostępniona kolejna wersja tego mega narzędzia, o którym wielokrotnie pisałem. Tym razem największy nacisk położono na wyeliminowanie zarzutów, które pojawiały się pod adresem R# najczęściej. Chodzi o szybkość działania (czasami pozostawiała wiele do życzenia, szczególnie przy większych projektach) oraz pamięciożerność (podobno udało się pamięciowe łakomstwo toola zauważalnie poskromić). Oprócz tego dodano kilka nowych funkcjonalności, pełna lista na stronie “What’s new”. Czy w... [More]