Pokazywanie postów oznaczonych etykietą tools. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą tools. Pokaż wszystkie posty

piątek, 15 marca 2013

PowerShell w matematyce

PowerShell jest fantastycznym narzędziem do poprawienia swojej produktywności. Może przydać się w prostych zadaniach matematycznych.


Między innymi możesz w szybki sposób sprawdzić co zwraca dane wyrażenie matematyczne:
PS>19 * 17 / 13 + 11 - 7
28.8461538461538
Ale należy uważać, gdyż PS nie kieruje się matematyczną kolejnością wykonywana działań, dlatego poniżysz wynik jest inny niż spodziewany:
PS>2 + 2 * 2
6
PowerShell sprawdza jaka operacja jest na pierwszym miejscu oraz jaki jest typ pierwszej zmiennej. Wywołując wyrażenie 1+"2" mamy inny wynik niż wywołując "1"+2.
PS>1+ "2"
3

PS>"1" + 2 
"12"
Śmieszną możliwością PS jest sposób mnożenia stringa:)
PS>"z" * 5 + "...."
zzzzz....
Jak będziesz potrzebował przeliterować od 1 do 10 to wystarczy zapisać 1..10 (poniżej przykład)
PS>write-host (1..10) -NoNewLine -separator " _ "
1 _ 2 _ 3 _ 4 _ 5 _ 6 _ 7 _ 8 _ 9 _ 10
Taki zapis jest znany z innych języków. Pierwszy raz zobaczyłem taki sposób inicjalizacji w Matlabie. Dodawanie zakresów jest też bardzo intuicyjne. Aby przeiterować od -5 do 5 bez zera to wystarczy zapisać:
PS>write-host ( -5..-1 + 1..5 ) -NoNewLine -separator " _ "
-5 _ -4 _ -3 _ -2 _ -1 _ 1 _ 2 _ 3 _ 4 _ 5
Do tego masz możliwości użycia klasy [math], która posiada najważniejsze funkcje matematyczne:
PS> [math] | Get-Member -Static 
I tak możemy w szybki sposób obliczyć procent składany
PS> $initialInvestment * [math]::pow(1+$interestRate, $times) 
PS> 1000 * [math]::pow(1+0.05, 2)
1102,5
Natomiast, aby obliczyć na jaki procent w skali roku zwróciła się inwestycja wystarczy napisać:
PS>[math]::pow($value/$initialInvestment,1/$times) - 1
PS>[math]::pow(1102/1000,1/2) - 1
0,0497618777608568
Co jest bardzo ciekawe w PS to możliwość operacji na jednostkach pamięci.
PS> 1MB
1048576

PS> 9MB
9437184

PS> 1TB
1099511627776
Możesz przedstawić wielkość jednostki pamięci w innej jednostce, na przykład w postaci megabajtów:
PS>1TB / 1MB
1048576
Czasami taki zapis pomaga przy obliczaniu zajmowanej przestrzeni na dysku.
PS>"{0:n3}"-f ((gwmi win32_logicaldisk -Filter "DeviceID='C:'").freespace/1GB)
Uważam, że PowerShell jest narzędziem matematycznym do bardzo prostych zadań. PS nigdy nie będzie (nigdy nie mów NIGDY) narzędziem dla matematyków, ale w pracy administratora fantastycznie się sprawdza jako proste narzędzie matematyczne.

środa, 13 marca 2013

Wizualizacja społeczeństwa na świecie

Miałem przyjemność zapoznania się z narzędziem, które wizualizuje dane statystyczne. To narzędzie nazywa się GapMinder. Za pomocą tego narzędzia można ciekawe rzeczy wywnioskować np. ilość urodzonych dzieci na jedną matkę jest odwrotnie proporcjonalne do PKB, albo wraz ze wzrostem długości życia wzrasta PKB. Za pomocą tego narzędziu można znaleźć pewną korelację rządzącą światem np. PBK i przeżywalność urodzonych dzieci.



Bardzo zachęcam do pobawienia się narzędziem. Poniżej zamieszczam filmiki pokazujące co można z GapMinderem zrobić.












Zastanawiam się czy można zastosować ten tool w nauczaniu dzieci w polskich szkołach. Jak ja chodziłem do szkoły to nie miałem takich możliwości wizualizacji danych. Gdybym jednak miał taką możliwość, to do tej pory bym został statystykoholikiem :)





Możesz pobrac wersje desktopową GapMindera pod tym adresem


poniedziałek, 27 lutego 2012

Jak przyspieszyć kodowanie cz.2



Już wcześniej pisałem o jednym ze sposobów przyspieszenia pisana kodu, a tym razem powiem więcej o Zen-Coding. Jest to silnik umożliwiający automatyczne generowanie kodu używanego w językach bazujących na SGML. Zapisując nazwy i specjalne symbole można w prosty sposób wygenerować wiele linijek kodu. Możliwości Zen-Codingu przedstawia poniższy filmik:



Jest dodatek do Visual Studio, a opis można znaleźć pod tym adresem.
Resharpera też można wzbogacić poprzez plugin. Lista innych programów jest przedstawiona na stronie Wikipedii

sobota, 3 września 2011

Jak przyspieszyć kodowanie cz.1

Pisząc aplikacje wielokrotnie powtarzam te same zwroty, nazwy zmiennych oraz instrukcje. Jednym z podstawowych narzędzi jakie pomagają mi w pisaniu aplikacji jest CodeSnippet.



Co to takiego?
Jest to mechanizm, który sam uzupełnia kod za Ciebie.
NP:
Dla każdego eventa Page_Load masz do napisania metodę, która będzie działać tylko w stanie debagowania. Wybierając z listy odpowiednie słowo, Visual Studio utworzy potrzebny kod.


Jedynie co Ci pozostanie to zmiana nazwy metody.


Możesz sam tworzyć CodeSnippety, aby kod był dopasowany do Twoich potrzeb.


Poniżej filmik przedstawia MyCodeSnippets w akcji:

piątek, 22 lipca 2011

Office w sieci

Czytałem Life Hackera i natrafiłem na ciekawy wpis o google docs. Był o możliwości przeglądania nowych formatów plików. Te formaty to m.in.
Microsoft Excel (.XLS and .XLSX)
Microsoft PowerPoint 2007 / 2010 (.PPTX)
Apple Pages (.PAGES)
Adobe Illustrator (.AI)
Adobe Photoshop (.PSD)
Autodesk AutoCad (.DXF)
Scalable Vector Graphics (.SVG)
PostScript (.EPS, .PS)
TrueType (.TTF)
XML Paper Specification (.XPS)
plus DOC, DOCX, PPT, PPTX, XLS i XLSX

Najbardziej zainteresował mnie wpis o możliwość przeglądania plików w formacie AutoCada. Co prawda w .dxf, gdzie większość ludzi nie korzysta z tego formatu. Większość projektantów korzysta z .dwg i czekam na taką możliwość.




Microsoft też ma pakiet biurowy w chmurze - office web apps. W tej usłudze masz do dyspozycji 25 GB oraz takie aplikacje jak Word, Excel, PowerPoint oraz OneNote. Co prawda mają podstawowe możliwości edycji, ale to w zupełności wystarcza.

piątek, 24 czerwca 2011

Too many tabs!!!

W dzisiejszych czasach jak przegląda się strony www to automatycznie otwiera się dodatkowe zakładki, aby dało się przeglądać jednocześnie kilka stron, aby 'zaoszczędzić' trochę czasu. Ale czy możesz sobie wyobrazić ludzi, którzy przeglądają tylko jedną stronę (zakładkę)? Kiedyś tak, teraz dla mnie jest to prehistoria. Jesteśmy 'rozpieszczeni' tą możliwością wykonywania kilku czynności na raz. Strony bombardują nas linkami, banerami, dodatkowymi informacjami oraz możliwością gromadzenia danych, z nadzieją na późniejsze wykorzystanie tych 'cennych' informacji.



Posiadanie dużej ilości zakładek w przeglądarce ma wady:
- tracimy czas na przełączanie między zakładkami
- dłużej ładują się strony
- trudniej jest zdecydować, która zakładka jest ważniejsza
- nie kończymy już rozpoczętej rzeczy
- otwieranie nową stronę to takie sprawdzanie co kryje się pod tą stroną nie znając czasu ładowania ani treści tej strony.
- zwiększając ilość stron zwiększamy ilość szumów myślowych


Podobno optymalna liczba wątków(operacji) jaką nasz mózg mógłby wykonać jest równe 1!!
Pewien dobry programista powiedział, że nie potrafi jednocześnie żuć gume i schodzić po schodach :)




Przy problemie otwierania zakładek pomógł mi dodatek do Google Chrome - Controlled multi-tab browsing, gdzie znalazłem na lifekacker.com. Ja mam ustawione maksymalnie na 8 zakładek. Na samym początku bardzo złościło mnie to, że nie mogę nowych stron otwierać, ale dzięki temu byłem bardziej produktywny. Mógłbym powiedzieć, że jest on jednym z moich ulubionych dodatków do chroma.

piątek, 17 czerwca 2011

Oldies

Wcześniej pisałem o moim pulpicie.Ale co robię jak mam za dużo starych plików w archiwum. No cóż... skoro nie są już potrzebne powinno się je usunąć. A skąd wiem, że nie będę ich używał. Z prostej zależności, – jeżeli przez pół roku nie używałem tych plików to prawdopodobnie w przyszłości też nie będę używał. Od tej reguły są wyjątki takie jak zdjęcia, muzyka czy specjalne dokumenty. Nie wiem ile to razy w folderze trzymało się pliku i zawsze się miało się nadzieję, że jeszcze się przydadzą.


Specjalnie do takiego dylematu napisałem małą aplikacje konsolową, która usuwa stare pliki. Aplikacje nazywa się Oldies i można pobrać z codeplex.. Wystarczy wpisać jak stare pliki ma znaleźć (np: pliki, które maja więcej niż 20 dni i 1 miesiąc) oraz jaką operację należy wykonać na nich. Możemy usunąć, wyświetlić w kolejności od najstarszego pliku lub przenieś do folderu Oldies. Aplikacja jest na szybko napisana i jest bardzo prosta w obsłudze.



Jeżeli tak jak ja masz folder o nazwie Download lub staff, w którym znajdują się przeróżne stare rzeczy, o których nie wiesz nawet, po co były Ci potrzebne, to Oldies pozwoli ci na 'oczyszczenie' problemu. Napisałem Oldies.exe, bo pozwoliło mi to mieć kontrole nad niepotrzebnymi rzeczami.

Oldies

niedziela, 29 maja 2011

VALID your Goals

Wyznaczanie celów życiowych jest jedną z najtrudniejszych rzeczy w osiąganiu sukcesu oraz budowaniu swojej świadomości.


Nieodzowną metodą w tym kreowaniu jest koncepcja SMART (SMARTER), ale brakuje mu jednego bardzo ważnego elementu, jakim są wartości osobiste.
Metoda, która to poprawia nazywa się VALID i obejmuje nasz myślący jak i emocjonalny mózg. Ona nie definiuje pojęć, ale grupuje pytania, na które powinieneś sobie odpowiedzieć w trakcie wyznaczania celu. Z metodą pierwszy raz spotkałem się w książce coaching inteligencji emocjonalnej.

Values (wartości) - wartości osobiste są jedne z najważniejszych elementów definiujących człowieka. Postaraj się odpowiedzieć sobie, co jest ważne w tym celu? Jaką wartość wprowadza w twoje życie wykonanie tego celu? Dlaczego ten cel będzie ważnym elementem twojego życia? Co będziesz myślał, kiedy ten cel osiągniesz? Jak będziesz się wtedy czuć?

Attitudes (nastawienia) - pozytywne nastawienie dużo mocniej oddziaływać niż negatywne (a tym bardziej obojętne) nastawienie. Powiedz, jakie masz nastawienie do tego celu? Jakie przekonania przeszkadzają Ci w osiągnięciu tego celu i co chcesz z tym zrobić?

Awareness (świadomość) - bądź świadomy swoich myśli, uczuć oraz kolejności działań zmierzając do celu. Monitoruj to, co wykonujesz. Pozwoli ci to zauważyć potencjalne przeszkody jak i możliwości. Odpowiedz sobie, co czujesz w procesie dążenia do tego celu? Gdzie znajduje się to uczucie?
W korporacjach taką świadomości stanowią anonimowe ankiety, samooceny pracowników, raporty oraz spotkania zespołowe.

Likely (prawdopodobieństwo) - oblicz, jakie jest prawdopodobieństwo osiągnięcia tego celu, świadomy będziesz czy to zadanie jest osiągalne. Czy jest to zadanie realistyczne? Co może pokrzyżować twoje plany? A co może pomóc w osiągnięciu ich?

Intention (intencje) - jeżeli wiesz, dlaczego dążysz do określanego celu to potrafisz wyznaczyć właściwą drogę. Intencja jest mocna związana z wartościami.
Odpowiedz sobie, nad czym masz kontrole i jakie są Twoje mocne strony?

Do( działanie) - zapisz, jakie zachowania należy wykonać, aby osiągnąć ten cel. ZAPISZ, jaki masz plan działania oraz PIERWSZY KROK. Co będziesz czuł, kiedy zaczniesz wykonywać ten pierwszy krok? Jest to bardzo ważna część metody, która wyznacza początek procesu.

Done Date( data zakończenia) - jeżeli cel nie ma daty zakończenia to możemy go całe życie robić. Wiedza na temat ostatecznego terminu zwiększa szansę na sukces. Wyznacz sobie datę zakończenia wykonywania celu. Czy jest to cel krótkoterminowy czy długoterminowy? Jak uczcisz osiągnięcie swojego celu w tym wyznaczonym terminie?

Metoda VALID jest świetna i pozwala naprawdę zmotywować się do działania w realizacji swoich celów.




Jeżeli po metodach smart i valid nadal nie zacząłeś wykonywać swojego celu to Richard Wiseman w swojej książce 59 sekund pisze, że dzięki ogłoszeniu swojego celu publicznie (swoim znajomym, rodzinie, w Internecie, w pracy) oraz rozmowy z osobami, które ten cel osiągnęły, można bardzo zwiększyć swoją motywacji do działania.

Innymi takimi kwestiami wyznaczania celów jest tworzenie otaczającego środowiska. Jeżeli twoje środowisko jest głośne, mówi Ci, że tego nie osiągniesz lub pochłania Twoją energie, to zmień to środowisko. Odpowiedzenia sobie też na pytanie, „Dlaczego nie możesz tego rozpocząć?". Na ogół staram się nie zadawać pytania ze słowem, „dlaczego", gdyż czasami takie pytanie brzmi jak oskarżenie lub jest infantylne. Odpowiedzenie sobie na to pytanie uświadomi Cię, co trzeba zmienić.

Mam nadzieję, że ten wpis pozwoli ci lepiej wyznaczać cele.

środa, 22 grudnia 2010

Visual Studio 2010 na sterydach

Jestem wariatem jeżeli chodzi o dodatki do Visual Studio. Mogę powiedzieć o każdym z nich do czego służy i dlaczego nie powinno się go stosować.
Chciałbym przedstawić My Top 5 Most Have Free Visual Studio Addins.

1) Pierwszy dodatek to Productivity Power Tools.
Moje ulubione featury to Solution Navigator oraz podświetlanie wybranej linijki kodu (proste a cieszy).


Więcej o dodatku można przeczytać tutaj oraz tutaj.

2) Kod na scrollu
Przypuszczam, że pomysł na taki dodatek powstał dzięki dodatkowi RockScrollowi lub jego kopii . Ja teraz stosuję Code Map, a ciekawą przejrzystość ma AllMargins.

Jak widać na Code Map masz wyszukiwarkę pól oraz informację jakiego typu jest dany element. Oprócz tego możemy zaznaczyć na dany kolor kod elementu.


3) Podświetlacze słów.
Czy kiedykolwiek wodziłeś oczami po całym ekranie i nie mogłeś znaleźć jakiegoś tekstu albo zmiennej. Z pomocą przychodzi ci Highlighter. Podkreśla dany wyraz na kolor dobrze widoczny dla oka.

Spójrz na kod. Powiedz mi ile razy jest wykorzystane słowo TestClass??






A teraz:


4) PowerCommands
Czym byłby Visual Studio, gdyby brakowało takich opcji jakie są w PowerCommands. Odpowiedz brzmi: wersją ULTIMATE, PREMIUM lub PROFESSIONAL:) Gdyby nie ten dodatek to za każdym razem, kiedy chciałem skopiować plik bym musiał klikać setki katalogów :) już nie wspominając o cmd. Dlaczego standardowo tych opcji nie ma w VS??

5) Dziel obszar na regiony
Przejrzystość kodu to podstawa, aby szybko znaleźć interesujący cię kod. Mistrzem w układaniu kodu jest Regionerate.
Regionerate pozwała na dodawanie regionów, tak aby kod był poukładanych i czytelny. Podział na regiony jest m.in. ze względu na metody, pola, klasy, zdarzenia, stałe, statyczne, konstruktor, dostęp, atrybut oraz ich nazwę. Dodatkowo można dodać komentarz lub liczbę tych elementów.
Możesz wprowadzić swój własny sposób tworzenia regionów.

Razem z GhostDociem tworzą niezły duet.

Nie powiedziałem o jednym z dodatków do VS, który jest moim ulubionym dodatkiem, a mianowicie resharper. Ale ten deserek zostawię na później na całkiem nowy wpis :)