Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Ostatnio dość dużo bawię się biblioteką pozwalającą na dodanie efektu WOW do aplikacji. Dla niewstajemnicznych: Efekt WOW polega na tym, że klient otwiera aplikację i mówi WOW :). Chodzi oczywiście o wykresy. Poniżej zrzut ekranu z aplikacji (ASP.NET), którą udało mi się wyklikać w dwa wieczory. Stosunek kosztu (nauka + development) do efektu jest naprawdę ogromny. Biblioteka jest rewelacyjna!

image

Na powyższym ekranie można zauważyć kilka fajnych elementów:

  • Wykres świecowy - pokazuje kurs otwarcia, zamknięcia, max, min z każdego dnia dla danej spółki giełdowej.
  • Marker - taki mały, żółty dziubek na wykresie - znacznik. Ten akurat symbolizuje zakup akcji w danym dniu.
  • Tooltip - akurat tego nie ma ekranie bo nie udało mi sie złapać :). Z każdym z tych elementów na wykresie jest powiązany tooltip, który pokazuje precyzyjnie wartości liczbowe.
  • Obroty - na poniższym wykresie (ChartArea) są pokazane obroty daną spółka w danym dniu.
  • Złamanie wykresu - te niebieskie linie na wykresie z obrotami. Bez nich skala byłaby tak duża, że te małe słupki miałyby wysokośc 1 pixela.
  • Legenda - do legendy są dodane obrazki z markerów oraz dynamicznie pokazany jest procentowy wzrost lub spadek (tutaj 43.72)
  • Dwa typy wykresu na jednym obszarze - tutaj mamy wykres świecowy + wykres schodkowy.

Przydatne linki

Polecam wszystkim do zabawy i użycia komercyjnego. Jeśli będziesz drogi czytelniku na konferencji 4developers to zobaczysz jak zrobić takie wykresy przy użyciu tej biblioteki. Jeżeli natomiast chcesz wiedzieć więcej o tym jak grać na giełdzie (podstawy) to zasubskrybuj mój blog o samorozwoju: http://blog.cioswnos.pl/

Postaram się napisac troche więcej o tym jak robić wykresy przy użyciu tej biblioteki.

Jak zarządzać czasem, celami i zadaniami? Jak osiągnąć sukces w dowolnej dziedzinie? Jeżeli chcesz się tego dowiedzieć, zapisz się na darmowy kurs mailingowy przygotowany przeze mnie. Po zarejetrowaniu się na formularzu dostępnym na stronie http://www.cioswnos.pl będziesz otrzymywać po jednym mailu dziennie przynajmniej przez 8 dni. Na razie lekcji jest właśnie 8, ale jak się pojawią kolejne to również je otrzymasz. Nic Cię to nie kosztuje a być może uda Ci się zmienić swoje życie.

Zapisz się na kurs: zarządzania celami i zadaniami

Od razu dodam, że www.cioswnos.pl to portal, który powolutku tworzymy wraz z Pawłem Łukasikiem. Stronka ma traktować o samorozwoju i samodoskonaleniu. Tematy, którymi chcemy się dzielić to:

  • Kariera
  • Zarządzanie czasem
  • Fnanse osobiste i inwestycje
  • A na koniec o wielkim napędzie dla tego wszystkiego - czyli o motywacji

    Te kilka kategorii po prostu interesują nas samych. Na razie jesteśmy na bardzo wczesnym etapie i jeszcze męczymy się z problemami technicznymi a nie merytorycznymi. Jak tylko się z tym uporamy to pojawią się tam artykuły i kolejne szkolenia. Zacząłem od szkolenia z zarządzania czasem mimo iż strona nie jest do końca gotowa żeby ją pokazać na światło dzienne.

    Mam nadzieję, że kurs ten wyda Ci się wartościowy drogi subskrybencie :).

  • Po długich miesiącach oczekiwania są juz nareszcie dostępne nagrania sesji z krakowskiego codecamp.

    Można je znaleźć tutaj: http://codecamp.pl/pl/PostConference/Videos.aspx

    W szczególności polecam nagranie z sesji Tadka Golonki, którego zawsze warto posłuchać.

    Dzięki tym nagraniom sam mogę w końcu obejrzeć co się tam działo. Byłem tam jako współorganizator więc nie bardzo była szansa obajrzeć wszystkie sesje. Dodatkowym atutam sesji Tadka jest to, że nie trzeba jej oglądać :) mam ją właśnie na uszach i siedzę sobie dziarsko w pracy pomnażając PKB Polski.

    Crack me to niewielkich rozmiarów program, mający na celu pokazać możliwości zabezpieczania kodu. Dla osób zajmujących się na co dzień zabezpieczeniami jest to również rodzaj łamigłówki. C*rack me służą również jako żywy przykład zabezpieczeń, czyli materiał edukacyjny, którego łamanie nie pociąga za sobą nieprzyjemnych skutków prawnych. Ostatnim zadaniem crack me jest możliwość pokazania własnych możliwości (zarówno jako twórca jak i osoba pokonująca zabezpieczenia), zademonstrowanie własnego kunsztu oraz reklama.


    Celem konkursu na najlepsze crack me jest rozpowszechnienie wiedzy na temat zabezpieczania kodu zarządzanego. Efektem ubocznym uczestniczenia w konkursie będzie lepsze zrozumienie mechanizmów działania środowiska .NET.


    Po zakończeniu portal z crack me oraz ich rozwiązaniami będzie stanowił doskonały materiał do nauki o zabezpieczeniach.

    Więcej informacji na stronach KGD: http://ms-groups.pl/kgd.net/Konkurs_CrackMe

    Aby wziać udział w konkursie należy się zarejestrować do grupy KGD.NET. Na stronie dostępne jest przykładowe CrackMe wraz z rozwiązaniem.

    Nie wierzcie w ani jedno słowo, które tutaj piszę tylko sami sprawdźcie. Ten wpis będzie mało techniczny, ale myślę, że intersujący dla wielu osób. Jednym z moich zainteresowań są finanse osobiste i inwestycje. Ostatnio modny jest kryzys i zauważyłem, że dużo osób pyta jak inwestować w fundusze. Przedstawiam tutaj moją strategię inwestowania w ten instrument. Strategia ta jest moja i jeśli poniesiecie przez nią jakiekolwiek straty to proszę nie przysyłać do mnie Rosjan :)

    Zanim zacznę opisywać samą strategię najpierw wyjaśnię dlaczego strategia 'kup i trzymaj' moim zdaniem nie działa. Mało kto sobie uświadamia, że procentowe wzrosty nie są równe procentowym spadkom. Jeśli pozwolisz aby Twoja inwestycja spadła o 50% będzie musiała wzrosnąć o 100% żebyś mógł być w punkcie wyjścia. Naprawdę niewiele inwestycji daje takie stopy zwrotu w krótkim (kilka lat) okresie. Dodatkowo dla wyjaśnienia średni zwrot z funduszy akcji z ostatnich 10 lat w Polsce wynosił około 10%. Pytanie: Czy będziesz czekać 10 lat (statystycznie) na to żeby być w punkcie wyjścia? Nawet dla mnie to trochę długo a wszystko co robię jest zaplanowane naprawdę długoterminowo. Poniżej tabelka pokazująca spadki i wzrosty, które muszą nastąpić żeby wyjść na zero:

    spadki-wzrosty

    Przejdźmy do założeń mojego systemu:

    • Zanim zaczniesz inwestować oblicz ile wydajesz rocznie i zaosczędź tyle żeby przynajmniej przeżyć 6 miesięcy bez dochodów (zalecam roczny bufor). To co pozostaje podziel według swojego uznania na różne kategorie: akcje, obligacje, itp.
    • Nigdy nie wchodź / wychodź na rynek z całą gotówką jaką posiadasz. Wchodź transzami po 10%, 15%, 20% lub 25%
    • Zazwyczaj wzrosty są powolne - możesz sobie pozwolić na wchodzenie 10%, 15% lub 20% transzami
    • Zazwyczaj spadki są gwałtowne - wychodź z rynku szybko w transzach po 25%. Będziesz potrzebować tylko 4 transakcji żeby opuścić rynek
    • Obserwuj co się dzieje na rynku - wystarczy raz w tygodniu sprawdzić co się dzieje

    Teraz opis strategii:

    • Raz w tygodniu w weekend wchodzę na wykres indeksu WIG20 i sprawdzam jego wygląd- poszukuję punktów przecięcia wykresu ze średnią kroczącą z ostatnich 45 sesji (SMA3)
    • Jeżeli wykres WIG20 przecina średnią od dołu (wzrost) zaczynam kupować fundusze akcji (transzami to 10%, 15% lub 20%)
    • Jeżeli wykres WIG20 przecina średnią od góry to zaczynam sprzedawać - transzami po 25%

    To jest właściwie skrócony opis strategii. System ten czasem generuje fałszywe sygnały kupna / sprzedaży, ale szybko się o tym dowiesz gdyż wykres wróci powyżej / poniżej SMA3. Poniżej zrzut ekarnu obrazujący działanie strategii oraz fałszywe sygnały. Wykres ograniczyłem do historii nowożytnej (po 2000 roku).wig20

    Wykres ten można zobaczyć na stronie: http://stooq.com/q/a/?s=wig20

    Po otwarciu domyślnie zobaczysz wykres w układzie dziennym. Przestaw go na układ tygodniowy (wykres w układzie dziennym generuje zbyt dużo sygnałów kupna / sprzedaży). Zaznaczyłem czerwonymi prostokątami na obrazku jak to zrobić. Dodatkowo zaznaczyłem jak włączyć średnią kroczącą SMA3.

    Strategię tą nazywam bezpieczną. Reaguje ona z opóźnieniem na zmiany rynkowe. Jendakże gdyby stosować tę strategię to w paźdiernku 2007 opuściłbyś rynek w 4 tygodniach i do tej pory nie kupił ani grama funduszy akcji. Dodatkowo można wzbogacić tę strategię o przeliczniki typu: za każde 2% spadku w danym tygodniu sprzedaję 10% portfela. Wtedy przy bardzo gwałtownych spadkach szybko opuszczamy rynek.

    Ostatnie słowa:

    • W inwestycjach największym wrogiem jesteśmy sami. Tutaj ścierają się dwie namiętności - chciwość i strach. Stosując dowolną strategię człowiek wielokrotnie myśli 'trzeba było zrobić inaczej'. Niestety zazwyczaj dowiadujemy się o tym po fakcie. Należy ustalić twarde reguły i cieszyć się, że postępuje się według rozsądnych zasad.
    • Nie daj się zwieść wykresowi, który tutaj załączyłem. To, że ta strategia w miarę działała na danych historycznych nie oznacza, że nadal będzie działać.
    • Ta strategia nie zadziała w przypadku trendu bocznego. Takiego czegoś nie było w Polsce od wielu lat. Rozpoznasz taki trend tym, że SMA3 mocno zbliży się do kursu i obie linie będą się poruszać w poziomie z 'drobnymi' drganiami. Wtedy generowane będą sygnały co chwila.
    • Nie napisałem nic o tym jakie fundusze kupować - sami sobie to wymyślcie. Ja tylko polecam http://www.fund24.pl/, gdzie jest publikowany co miesiąc ranking funduszy.
    • To jest MOJA strategia. Dopasowana do mojej tolerancji na straty, słabej odporności psychicznej :) oraz długości inwestycji i moich cełów. Niekoniecznie będzie pasować do kogolwiek innego. Znajdź swoją własną strategię, byle jakąś mieć. Jeśli wybierasz 'kup i trzymaj' to się jej trzymaj (ona również daje dobre rezultaty, wystarczy poczekać) ale dla mnie jest nie do zaakceptowania przez stres jaki powoduje.

    Prostota idei tiddlywiki jest dla mnie osobiście wręcz zdumiewająca. Jest to samozmieniający się kawałek HTML. Jeżeli potrzebujecie dokumentu edytowalnego w stylu wiki, który można przesłać / obejrzeć / edytować w różnych środowiskach to tiddlywiki jest dla Was. Jeżeli wejdziecie na stronę http://www.tiddlywiki.com/ i naciśniecie przycisk download to ściągniecie plik 'empty.htm' na dysk. Plik ten można otworzyć w przeglądarce i edytować. Ma on 'magiczną' właściwość zapisania samego siebie (czyli nadgrywa plik na dysku). Ten plik po ściągnięciu ma prawie 300KB i jest to praktycznie sam kod javascript. Naprawdę szacunek dla tego kto to napisał. Nie będę wymieniał wszystkich funkcji, któr posiada tiddlywiki, ale jest tego dużo i za darmo :). Powstało też mnóstwo adaptacji tego mechanizmu do różnych celów. Polecam przykłady na stronie http://www.tiddlywiki.com/#Examples. Dodtakowo niejako za free mamy publikację takiego dokumentu na WWW - wystarczy go położyć na serwerze i jest on zwykłym (prawie) plikiem html.

    Miłego wikowania.

    Jednym z elementów Microsoft Robotics Studio jest Visual Programming Language. W skład MRS wchodzą jeszcze superciekawe Decentralized Software Services oraz Concurrency and Coordination Runtime. Jendakże o tych mechanizmach napiszę innym razem.

    Jeśli chodzi o VPL to zainteresował mnie on w kontekście koncepcji wizualizacji algorytmów - czyli jak oddać programowanie w ręce 'normalnego' człowieka.

    Aby szybko zobaczyć w jaki sposób można używać VPL obejrzyjcie screen-cast, który nagrałem: http://vimeo.com/1313420
    Nagranie jest nieme przerwane jedynie głosem robota :). Jest również krótkie - 4 minuty więc można obejrzeć w trakcie oczekiwania na skompilowanie się aplikacji :).

    Poniżej ekranik z jednego z algorytmów, na których to testowałem wraz z opisem co w której akcji się dzieje:

    vpl-increment-and-say
    1. Stała typu int równa 2
    2. Okienko z pytaniem o podanie początkowej wartości zmiennej używanej w pętli
    3. Rzutowanie rezultatu zgromadzonego w okienku na int
    4. Podstawienie zmiennej używanej w pętli
    5. Wyliczenie tekstu do wymówienia (rzutowanie zmiennej na string)
    6. Akcja mówiąca wartośc zmiennej (odlicza liczby)
    7. Warunek if kończący pętlę
    8. Wyrażenie zwiększające wartość zmiennej o 1
    9. Podstawienie wyliczonej wartości do zmiennej
    10. Połączenie przepływów - akcja merge działa w ten sposób, że to co w nią wchodzi w tym samym momencie wychodzi

    Miłej zabawy z VPL.

    Od czasu do czasu muszę tworzyć harmonogramy w MS Project. O ile tworzenie małych harmonogramów w tym 'niesamowitym' narzędziu jest w miarę proste o tyle przy około 1000 zadań kończy się moja cierpliwość. Kiedyś używałem do tego świetnego (i płatnego) narzędzia do mapowania myśli - Mind Manager. Ponieważ jestem fanem tego typu narzędzi polecam jednak coś darmowego - FreeMind. Dzięki niemu można stworzyć strukturę harmonogarmu na drzewie - chyba nie muszę nikogo przekonywać o potędze drzewiastej wizualiazcji. Poniżej obrazek pokazujący przykładowy harmonogram w FM. Co prawda nie można w nim estymować a jedynie budowć strukturę, ale z mojego doświadczenia wynika, że 50% czasu pracy nad harmonogramem to właśnie praca nad WBS (Work Break Structure) - pozostały czas polega na sprawieniu, żeby projekt nie kończył się w 2020 roku.

    freemind 

    Po stworzeniu takiego harmonogramu wystarczy przejść na węzełek środkowy (zwany rutem) i nacisnąć Ctrl+C. Mamy harmonogram w schowku.

    Następnie otwieramy MS Project i robimy Ctrl+V. Mamy harmonogram w MSP, ale jest mały problem (patrz obrazek z lewej poniżej). Otóż nasz harmonogram nie jest pozagnieżdżany mimo, że na pierwszy rzut oka wygląda OK. Niestety kopiowanie z FM robi wcięcia w postaci spacji. Dlatego napisałem makro, które zamienia te spacje na wcięcia MS Project - efekt można zobaczyć na poniższym obrazku z prawej.

    MSP1 MSP2

    Oto makro pozwalające pozamieniać spacje na wcięcia zadań:

    Sub IndentMyProject()
        Dim mspTask As MSProject.Task
        For Each mspTask In MSProject.ActiveProject.Tasks
          Do While InStr(mspTask.Name, "    ") > 0
            If InStr(mspTask.Name, "    ") > 0 Then
              mspTask.OutlineLevel = mspTask.OutlineLevel + 1
              mspTask.Name = Mid(mspTask.Name, 5)
            End If
          Loop
        Next
    End Sub

    Dlaczego wygodnie jest tworzyć WBS w mind mapperze - otóż dlatego, że wykorzystuje się o wiele więcej powierzchni ekranu. Zobaczcie ile miejsca ten prosty harmonogram zajmuje w MSP (jest strasznie długi). Przy dużej ilości zadań przesuwanie zadania pomiędzy releease'ami jest naprawdę męczące a w mind mapperze jest przyjemnością.

    Mam nadzieje, że ktoś jeszcze tak robi. Jeśli spróbujesz tego to daj znać jak Ci poszło.

    PS: Polecam ściągnąć FreeMind 0.9.0 beta 18 - niby beta, ale działa bez zarzutu.

    Hello World - tak powinien zacząć blogować każdy progrmista więc i ja tak zaczynam. Podobnie zacząłem parę lat temu mój angielskojęzyczny blog. Dzięki uprzejmości Michała Grzegórzewskiego dzisiaj jestem tutaj i będę pisał po polskiemu - co może mi sprawiać trudności.

    Jestem sobie architektem i programistą i stąd myślę, że większość tego co tutaj będę pisał będzie miała właśnie taki charakter. Jestem również maniakiem samorozwoju i myślę, że wiedza z tego zakresu przyda się każdej osobie technicznej. Również małe co nieco o społecznościach się pojawi - liderowanie Krakowskiej Grupy Deweloperów .NET pozwala mi twierdzić, że coś o tym wiem :)

    Żeby nie zacząć pierwszego postu bez merytoryki, zapraszam wszystkich, którzy jeszcze tego nie widzieli do obejrzenia moich dwóch publicznych screen-castów:

    Miłego oglądania i do zobaczenia wkrótce.