Embedded webapp mini profiler

If your’re ASP.NET MVC developer you should already know about MVC Mini Profiler released by Stack Overflow, if you don’t, go get it now.

Google App Engine developers have the appstats, a tool that does similar things but requires you to explicitly look for profiling info.

Now GAE has mini-profiler to — this is old news apparently 😉 — an appstats wrapper mini app that you can embed in your web app, check out Google App Engine Mini Profiler and have stats in your face, all the time.

Advertisements

Tak powinno być w każdej firmie

To są w skrócie moje przemyślenia w odpowiedzi na to co napisał Maciej Aniserowicz.

Po pierwsze rodzina. Mam małego syna, chcę uczestniczyć w jego rozwoju — czynnie — i dlatego odmówiłbym, gdyby mi ktoś zaoferował kontrakt za który mógłbym kupić mieszkanie, ale musiałbym spędzić w na 6 miesięcy w Chinach — trudno wracać stamtąd na weekendy ;).

Sorry, ale pierwsze kroki — które stawiał przy mnie — czy inne jego odkrycia są warte więcej od nowego mieszkania. Arogancja? Nie, zdrowy system wartości! ;P

Praca zdalna ma dla mnie ogromną wartość, nie tracę czasu na dojazdy i mam więcej czasu na do spędzania z synem.

Warsztat pracy. Od kiedy miałem wpływ na to na jakim sprzęcie i w jakich warunkach pracuje mój zespół, dbałem o to by komputer nie spowalniał naszej pracy i miał wystarczająco dużo pikseli by widzieć to co mamy widzieć. A biurko + krzesło nie powodowało u nas bólu pleców.

Przerażają mnie corpofabryki, w których ludzie ślęczą nad latopikami, tłukąc się łokciami z kolegami “konsultantami” i siedzą na rozwalających się krzesłach z makro.

Godziny pracy, testy jednostkowe, rozwój według własnych upodobań. Wszystko to składa się na jakość pracy.

PS. IMO podstawą warsztatu każdego programisty są:

  • Do pracy w drodze: porządny laptop (polecam ThinkPad T520) – z dodatkowym RAMem i dyskiem SSD
  • Do pracy na co dzień: szybki desktop z masą RAMu i 3 dużymi monitorami (np. 24″ 1920×1200)
  • Do siedzenia: dobre ergonomiczne krzesło (polecam Humanscale Freedom)
    Humanscale Freedom

e-Deklaracje bez instalacji dodatku Flash Player

Na stronach MF umożliwiających instalację programu e-Deklaracje czytamy, że do instalacji on-line niezbędna jest wtyczka Flash Player.

Prawda, że do instalacji on-line Flash Player jest niezbędny, ale nie jest to wymóg by w ogóle zainstalować e-Deklaracje. Można to zrobić bez Flash Player’a, po staroświecku pobierając pliki i instalując off-line:

  1. Instalujemy Adobe Air:
    http://get.adobe.com/air/
  2. Instalujemy e-Deklaracje:
    http://e-deklaracje.gov.pl/files/dopobrania/e-dek/app/e-DeklaracjeDesktop.air

Tekstowy animowany licznik (odometer)

Od czasu do czasu fajnie jest pokazać jakiś licznik, a to klientów, a to czasu do otwarcia. Fajnie by licznik był ładny i robił efekt wow.

Jeśli pasuje nam grafika, lub mamy czas by przygotować sprite do animacji to polecam Apple Style Counter, jeśli nie chcemy się bawić w robienie grafiki dla każdej cyferki to dość łatwo można zrobić licznik przy pomocy CSS i JQuery.

Część graficzną i CSS pozostawiam Tobie bo to zwykle i tak każdy robi po swojemu. Możesz też podejrzeć nasz licznik nauczycieli i uczniów użytkowników naszego edziennika

odometer

Część licząca w JQuery jest dość prosta jak ogarniemy zasady. Oczywiście nie będzie efektu przewracanych kafelków tylko prosta zamiana cyferek, ale dla tak prostego wkładu, uzyskany efekt jest przyjemny dla oka.

 

//  0 ){
    return new Array( width + 1 ).join( '0' ) + number;
  }
  return number + ""; // always return a string
}

window.onload = function(){
    $.ajax({
        'url': 'http://dziennikel.appspot.com/counters',
        'dataType': 'jsonp',
        'success':function(data, textStatus, jqXHR) {
            jQuery({count:0}).animate({count:data.teachers}, {
                duration: 2500,
                step: function() {
                    $('.counters .teacher-count').text(zeroFill(this.count.toFixed(0), 6));
                }
            });
            jQuery({count:0}).animate({count:data.students}, {
                duration: 2500,
                step: function() {
                    $('.counters .student-count').text(zeroFill(this.count.toFixed(0), 6));
                }
            });
        }
    });
};
// ]]>

Bezpłatne wdrożenia Google Apps dla firm

Od grudnia 2012 Google Apps dla firm nie można już zarejestrować w wersji bezpłatnej. Skoro i tak musimy zapłacić za konta użytkowników, to z tej okazji warto skorzystać z pomocy specjalistów zajmujących się konfiguracją i wdrożeniem Google Apps.

Bezpłatne wdrożenie Google Apps przez profesjonalistów pozwala wykorzystać pełen potencjał platformy. Nie ma już sensu samemu ślęczeć nad dokumentacją w celu opracowania najlepszej strategii wdrożenia, specjalista zrobi to za nas.

Google Apps to nie tylko poczta i dokumenty, to wiele różnych usług Google połączonych w ramach korporacyjnej domeny i skupionych wokół firmowych kont użytkowników. Dzięki wdrożeniu możemy zaoszczędzić na licencjach na innym oprogramowaniu, na kosztach operacyjnych opieki nad firmowym IT, a nawet na podróżach służbowych 🙂

Create test directory tree with PowerShell

I needed to create directory tree structure to test something and I thought that it might be the right time to try out PowerShell.

An hour ago I didn’t know PowerShell, and I still don’t — I’m pretty sure there this is noob script… Nonetheless it does what it meant to and is better than “hello world” for a first script 😉

function New-TestFS ([string]$Path = "c:fstest", [int]$Depth = 1) { 
	if ($Depth -gt 10) { 
		return
	}
	Write-Host "#### NEW DIR: $Path $Depth"
	New-Item -ItemType directory -path $Path -ErrorAction SilentlyContinue 
  	900..999 | % { 
		New-TestFS -Path ("$PathDir$_") ($Depth + 1)
	} 
	Write-Host "#### NEW FILES: $Path $Depth"
	for ( $i=1; $i -le (Get-Random -Minimum 100 -Maximum 199); $i++ ) { 
		Write-Host "FILE: $PathFile$i.txt"
		fsutil file createnew ("$PathFile$i.txt") 0
	} 
	
}

Kudos to Jeff Wouters for his powershell example 🙂

FooBar i klawiatura multimedialna pod Windows

Od samego początku moja ulubiona klawiatura multimedialna Microsoftu miała problem by obsługiwać cokolwiek innego niż Windows Media Player. Kiedyś udało mi się doprowadzić do tego by działa ok z Winampem, ale ten stał się bloatware i zamiast grać muzykę, zaczął tańczyć śpiewać i gotować, przyszedł czas na ascetyczny, minimalistyczny i lekki FooBar.

Okazało się, że oczywiście nie można go zintegrować z moją klawiaturą jako domyślny-media-player, ale FooBar ma piękny w swojej prostocie interfejs sterowania przy pomocy linik poleceń 🙂

Dzięki temu można w moim InteliType przypisać klawiszom polecenia i wszystko działa jak powinno:


"d:usrappfoobar2000foobar2000.exe" /playpause
"d:usrappfoobar2000foobar2000.exe" /stop
"d:usrappfoobar2000foobar2000.exe" /prev
"d:usrappfoobar2000foobar2000.exe" /next