Friday, September 16, 2011

Sposób na zrywane sesje SSH

Nie wiem dlaczego, ale albo mój router, albo mój dostawca (UPC) wciąż zrywa nieaktywne sesje SSH. Nie ma mowy o zostawieniu Puttego w tle choćby na kwadrans. Po kilku minutach okno informuje mnie iż połączenie zostało zerwane i muszę wracać do mojej pracy ponownie. Frustrujące.

Jest na to sposób. Zostawienie otwartego w konsoli Screena, który na dolnym pasku wyświetla godzinę. Tak więc wpis:
caption always "%`$USER%`@%H: %{kg} %L=%-Lw%45>%{yk}%n%f* %t%{-}%+Lw%-0< %= %{yk}%c%{kg} load:%l"
w pliku ~/.screenrc właściwie załatwia sprawę. Kwestia startowania sesji podczas każdego logowania. Można to załawić dodając na końcu pliku ~/.bashrc
# Start or resume screen
if [[ -n "`screen -ls | egrep '\.default(.*)(Detached)'`" ]]; then
    screen -r default
elif [[ -n "`screen -ls | egrep '\.default(.*)(Attached)'`" ]]; then
    false
else
    screen -S default
fi

Monday, September 12, 2011

Internet i MMSy w Play na HTC Dream

Teoretycznie skonfigurowanie telefonu w play to wysłanie SMSa o treści "play" na numer 9999. Jeżeli posiadasz HTC nie jest to tak proste. Na moim HTC Dream wymagało to podjęcia następujących kroków:
Menu > Ustawienia > Opcje bezprzewodowe > Sieci komórkowe >  Punkty Dostępowe > Menu > Nowa nazwa APN


Internet


  • Nazwa: Internet
  • APN: internet
  • MCC: 260
  • MNC: 06
  • Typ APN: default


MMS

  • Nazwa: MMS
  • APN: mms
  • MMSC: http://10.10.28.164/mms/wapenc
  • Proxy dla wiadomości MMS: 10.10.25.5
  • Port MMS: 8080
  • MCC:260
  • MNC: 06
  • Typ APN: mms
Po zapisaniu uruchom ponownie telefon.

Saturday, September 3, 2011

Ruby On Rails 3.1 - dzień pierwszy

Zawsze uważałem, że najlepszy poradnik, to zbiór wskazówek pisanych przez początkującego, nie koniecznie zaś zapełniane przez mądrego człowieka annały, które jak na początek, mogą być za mądre. Równocześnie, najlepiej aby początkujący miał już doświadczenie z innymi podobnymi zagadnieniami  jednak w danej technologii był początkujący. Taki układ daje duże szanse, że poradnik będzie profesjonalny, pisany prostym językiem i zrozumiały dla maluczkich, którzy oczekują prowadzenia krok po kroku. Mam nadzieję, że moje wpisy o Ruby On Rails 3.1 takie właśnie będą.

Dlaczego?

Mam za sobą już, od jakiegoś czasu, Rails for Zombies, czytałem o Ruby On Rails i jeszcze nigdy nie spotkałem się z osobą, która zaczęłaby kurs Railsów od RVM. Podstawy podstaw - jak na mój gust.

Gdy piszesz jakikolwiek program, aplikację musisz zdecydować się na dwie rzeczy: wersję języka programowania i wersję pozostałych bibliotek, które używasz. U mnie to wygląda tak: zaglądam na stronę języka programowania (w tym przypadku języka Ruby), zaglądam na stronę biblioteki (w tym przypadku Railsów) i nakręcam się na napisanie aplikacji w najnowszej wersji, która wprowadza najświeższe udogodnienia, nowości, nowatorskie technologie i wszystko co sprawia, że bycie geekiem jest piękne i pełne wrażeń jak przejażdżka górską kolejką w parku "Six Flags Great Adventure".

Później przychodzi faza druga, która nazywa się "sprawdźmy co jest na serwerze" i ta przynosi znacznie więcej rozczarowań, niż radości dopóki nie używasz ArchLinux lub nie jesteś twórcą biblioteki, której właśnie zamierzasz użyć. Wtedy klniesz pod nosem, że "przecież administrator mógł przejść na sida" i jakbyś tylko miał uprawnienia użytkownika root!
I tutaj właśnie objawia się piękno RVM. Pozwala ono bowiem bez uprawnienia super-użytkownika zainstalować dowolne wersje języka Ruby, w locie podmieniać interpreter oraz wersje używanych bibliotek, które w wielu różnych kombinacjach mogą koegzystować w wirtualnych środowiskach zwanych gemsetami. Wszystko bez wychodzenia poza katalog domowy.