ja i moje hobby

O mnie

Ja
Piotr D.

Wiek: 25
Hobby: IT, DIY, rower, działka
XMPP: piotrek[na]pioder.pl
Email: piotrek[na]pioder.pl
GG: 6802998

Kalendarz

« Październik 2017 »
P W S C P S N
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Rower

Dystans w sezonie:
  • 2008 - 336 km
  • 2009 - 949,4 km
  • 2010 - 1141,8 km
  • 2011 - 2224,1 km
  • 2012 - 1779,9 km
  • 2013 - 1155,3 km
  • 2014 - 1355,5 km
  • 2015 - 4518,1 km
  • 2016 - 4050,9 km
  • 2017 - 3637,5 km
  • 2018 - 1457 km (1.06)

Rekordy:
  • MXS: 74,2 km/h (8.04.18)
  • DST: 304,6 km (31.05.18)
  • AVS: 25,2 km/h (28.05.18)

GPSies

Grupa Turystyki Rowerowej Politechniki Krakowskiej

Styl

Subskrypcja

RSS Articles
RSS Comments

Licznik odwiedzin

91908

NRR #25 - Raciborowice

Kategoria: Rower '17
Wysłano: 18.10.2017 11:04, Edytowany: 04.02.2018 22:03

Cześć!
Wczoraj pogoda była niezła, dlatego postanowiłem pojawić się na 25. Nocnym Rajdzie Rowerowym (pt. Tam, gdzie nic nie ma, jest ćwiartka). O 19 wyruszyliśmy z PK, kierując się w stronę Bieńczyc, a dalej Wzgórz Krzesławickich. Na os. Architektów zaopatrzyliśmy się w prowiant (ja colę, hehe) oraz przy okazji napompowaliśmy koło jednej z rowerzystek :)
Dojechaliśmy do Zesławic i zatrzymaliśmy się na drodze między zbiornikami. No, ale miejsce takie jednak niebardzo, więc przemieściliśmy się nieco dalej. Tutaj znowu nic z tego - od Dłubni tak "ciągnęło ściekiem", że nie szło wytrzymać. Na szczęście udało się ogarnąć miejscówkę na stadionie w Raciborowicach. Nikomu nie przeszkadzaliśmy oraz mieliśmy miejsca siedzące :D
http://blog.pioder.pl/upload/20171017_01.jpg
W Raciborowicach
Tak sobie rozmawialiśmy, gadka się kleiła, ale w końcu trzeba wracać. Nawet nie wiemy, kiedy zrobiło się przeraźliwie zimno: zaszła mgła, temperatura oscylowała wokół kilku stopni Celsjusza. Miałem na sobie tylko bluzę i myślałem, że zamarznę! Przyspieszyliśmy trochę i chwila moment dotarliśmy do Krakowa. Oby tylko nikt się nie pochorował od tego wyjazdu, ja natomiast chyba już mówię pas dla NRR do wiosny.

Statystyki trasy
DST: 27,676 km
MXS: 42,2 km/h
AVS: 15,5 km/h
TM: 1:47 h
Link Komentarze (0)


Do bocheńskiej żupy

Kategoria: Rower '17
Wysłano: 14.10.2017 23:09, Edytowany: 04.02.2018 21:39

Na dzisiejszą wycieczkę wybieram się w zasadzie już drugi raz. Kolejny, ponieważ za pierwszym razem kolana powiedziały dość i niestety musiałem wrócić :( (wpis Rowerowa niemoc)
Dzisiaj natomiast o 9:30 w składzie: Martyna, Szymon i ja wyruszyliśmy, aby zdobyć niezaliczone punkty trasy! Na początek Wieliczka i wdrapywanie się pod sakramencką górę. To już chyba trzecia ulica kierująca się na południe i niestety równie stroma jak poprzednie :roll: Na dodatek Szymek zerwał łańcuch.
http://blog.pioder.pl/upload/20171014_112214.jpg
Naprawa łańcucha
Nie ma lekko, jedziemy dalej. Skierowaliśmy się w stronę Chorągwicy, dokładnie tak samo jak zjeżdżaliśmy rok temu. Teraz mieliśmy pod górkę :cool: Będąc w okolicy podjechaliśmy jeszcze pod przekaźnik.
http://blog.pioder.pl/upload/20171014_115249.jpg
Widok z Chorągwicy w stronę Krakowa
Nie zatrzymując się zbyt długo (zimno i wietrznie) ruszamy w stronę naszego kolejnego punktu trasy - wsi Hucisko oraz Domu i Krzesła Tadeusza Kantora (malarza, reżysera, artysty).
http://blog.pioder.pl/upload/20171014_122306.jpg
Krzesło Kantora
Po wcześniejszych "wspinaczkach" dalsza część trasy to istny relaks. Przez Liplas, Niegowić docieramy do Krakuszkowic. Obieram ślad na GPS, szukamy kopca, nie ma i nie ma. Objeżdżamy inną stroną. Nie mając innego wyjścia idziemy na przełaj, wchodzimy między kukurydzę. JEST! No, ale mimo to jestem trochę zawiedziony, liczyłem na coś fajnego, a tu hałda ziemi między polami, mocno zarośnieta drzewami...
http://blog.pioder.pl/upload/20171014_133036.jpg
Kopiec Kraka II (za kukurydzą)
Odrobinę zdegustowani jedziemy do Bochni. Przemeszczaliśmy się DK 94, jednak od czasu otwarcia A4 droga nie jest tak zatłoczona jak dawniej i poza ruchem lokalnym jest spokojnie. Na chwilę zatrzymujemy się przy kościele św. Mikołaja (do środka nie wchodziłem bo akurat był ślub) i monumentalnej drewnianej dzwonnicy, pod którą rozmawiamy z bochnianinem oraz...
http://blog.pioder.pl/upload/20171014_143709.jpg
Dzwonnica przy kościele św. Mikołaja
... jedziemy do rynku.
http://blog.pioder.pl/upload/20171014_143934.jpg
Bocheński rynek
Był plan, aby wrócić przez Puszczę Niepołomicką. Stwierdziłem, że jednak na dzień dzisiejszy wystarczy atrakcji i wracamy pociągiem. Jako, że mieliśmy jeszcze chwilę do odjazdu to skoczyliśmy na Kebaba, a w czasie oczekiwania Martyna skoczyła po bilety. Na spokojnie wsiedliśmy w SKA i wróciliśmy do Krakowa.
http://blog.pioder.pl/upload/20171014_155109.jpg
Na peronie w Bochni

Statystyki trasy
DST: 62,033 km
MXS: 57,3 km/h
AVS: 17,6 km/h
TM: 3:31 h

Link Komentarze (0)


Czym jest właściwie loadavg?

Kategoria: IT
Wysłano: 08.10.2017 13:07, Edytowany: 04.02.2018 18:34

Cześć!
Dzisiaj chciałbym poruszyć kwestię ważnego parametru na systemach POSIX (Linux, Unix etc.) jakim jest load average (średnie obciążenie). Jak wygląda typowy load? Zobaczmy co mamy w pliku /proc/loadavg:
piotrek@piter-laptop:~$ cat /proc/loadavg
0.69 0.95 0.84 2/771 13831

Poszczególne liczby oznaczają kolejno: obciążenie w ciągu ostatniej minuty, pięciu minut i dziesięciu minut. Dalej mamy stosunek liczby aktualnie wykonywanych procesów do całkowej liczby procesów oraz ID ostatniego procesu. Większość osób skupia się jednak na pierwszych trzech liczbach. Na internecie można spotkać się z różnymi interpretacjami, generalnie sprowadzającymi się do jednej idei. Na przykład:
Jednostka LOAD
Jednostka pierwszych trzech wartości oznacza użycie procesora (ang. "CPU Load" ).

Na moc jednego wątku ( /rdzenia ) procesora przypada jedna jednostka LOAD.

W przypadku LOAD większego od (ilości) WĄTKÓW_CPU następuje spadek wydajności, ponieważ procesor jest w 100% obciążony, a programy generują większe obciążenie niż może on wykonać pracy. Powoduje to zmniejszenie wydajności pracy maszyny.

Żródło: dobreprogramy
(...) Natomiast cyfry oznaczają liczbę procesów wykonywanych w danej chwili i liczbę procesów czekających na dostęp do procesora.

Żródło: osworld
Jest to definicja częściowo poprawna, ale niepełna. Przyjrzyjmy się, w jakich stanach może znaleźć się proces:
PROCESS STATE CODES
R running or runnable (on run queue)
D uninterruptible sleep (usually IO)
S interruptible sleep (waiting for an event to complete)
Z defunct/zombie, terminated but not reaped by its parent
T stopped, either by a job control signal or because
it is being traced

Jednym z ważnych stanów jest właśnie stan D, czyli de facto proces czeka na zasoby I/O i nie musi to być koniecznie procesor, może czekać chociażby na dostęp do dysku.

Uściślając - loadavg pokazuje nam w zasadzie liczbę procesów zajmujących czas procesora lub czekających na zasoby w stanie D. Posiłkowanie się jedynie tym, że load oznacza wykorzystanie 100% czasu jednego rdzenia przez procesy jest błędem. Można mieć load 100, a procesor obciążony na 10% i w żadnym wypadku nie będzie to błąd systemu. Dość dobra definicja dostępna jest w dokumentacji Red Hata/CentOS'a:
3.2.16. /proc/loadavg
This file provides a look at the load average in regard to both the CPU and IO over time, as well as additional data used by uptime and other commands. A sample /proc/loadavg file looks similar to the following:

0.20 0.18 0.12 1/80 11206
The first three columns measure CPU and IO utilization of the last one, five, and 10 minute periods. The fourth column shows the number of currently running processes and the total number of processes. The last column displays the last process ID used.

Żródło: Red Hat Enterprise Linux Deployment Guide
Inna, też niezła definicja znajduje się na blogu /dev/random, choć nieco inaczej ujęta.

Mam nadzieję, że rozjaśniłem nieco temat :)

Pozdrawiam
Link Komentarze (0)


PHP 7 na serwerze

Kategoria: Blog/Serwer
Wysłano: 03.10.2017 21:06, Edytowany: 04.02.2018 17:34

Ostatnio z nadmiaru czasu ( ;) ) zacząłem grzebać w Debianie i zauważyłem, że w repo jest wersja PHP 7.0. Akurat coś testowałem, postanowiłem zaktualizować na laptopie oraz serwerze. Przy okazji PHP zainstalowałem jako FPM, przez co nie bedę musiał "ubijać" całego Apache'a w razie zmian php.ini, instalacji modułów etc. Wygląda ładnie, uruchomienie odpowiednich daemonów, wpisuję adres tego bloga i...
nie działa.
Myślę sobie, co jest grane? Przecież nic nie ruszałem. Jako, że nie jestem na czasie, nie wiedziałem, że nowy interpreter nie wspiera już rozszerzenia mysql, co w połączeniu z dość leciwym silnikiem mojego bloga dało mieszankę wybuchową :roll:. Nie piszę stron od dawna, więc nie jestem na czasie. Nie zostało mi nic innego jak stworzyć wrapper dla funkcji mysql, a w pod spodem oprzeć wszystko o mysqli. Warunek był jeden: nie ruszać implementacji silnika bloga. Na szczęście udało się. Jedyne co musiałem zmodyfikować to plik inc/mysql.php:

//modified by PioDer, 3.10.2017
if (phpversion() < '7.0.0')
{
@mysql_connect($conf_mysql_hostname, $conf_mysql_username,
$conf_mysql_password)
or die('MySQL error: ' . mysql_errno() . ' ' . mysql_error());
@mysql_select_db($conf_mysql_database)
or die('MySQL error: ' . mysql_errno() . ' ' . mysql_error());
@mysql_query("SET NAMES 'utf8'");
}
else
{
global $db;

$db = new MySQLi($conf_mysql_hostname,
$conf_mysql_username, $conf_mysql_password,
$conf_mysql_database);
$db->query("SET NAMES 'utf8'");

if (!function_exists('mysql_query'))
{
function mysql_query($query)
{
global $db;

return $db->query($query);
}

function mysql_fetch_array($result)
{
return $result->fetch_array();
}

function mysql_fetch_assoc($result)
{
return $result->fetch_assoc();
}

function mysql_num_rows($result)
{
return $result->num_rows;
}

function mysql_result($result, $number, $field = 0)
{
return $result->fetch_row()[$number];
}

function mysql_data_seek($result, $number)
{
return $result->data_seek($number);
}

function mysql_real_escape_string($string)
{
global $db;

return $db->real_escape_string($string);
}

function mysql_insert_id()
{
global $db;

return $db->insert_id;
}

function mysql_close()
{
global $db;

$db->close();
}
}
}

sBLOG na szczęście wstał. Do pełni sukcesu musiałem jeszcze zmodyfikować funkcjonalność BBCode - PHP 7 w preg_replace nie zezwala na umieszczanie nazwy funkcji przeształcającej w wyrażeniu regularnym. Do tego służy nowa funkcja preg_replace_callback. Może już czas żeby zabrać się i napisać i nową stronę i nowy silnik bloga?

Pozdr
Link Komentarze (0)



Powered by sBLOG XHTML 1.0 Strict PHP CSS
Cytowanie wypowiedzi oraz kopiowanie zdjęć z bloga bez informacji o źródle surowo zabronione!
Lokalny czas: 20.06.2018 00:15 GMT+1

Powered by sBLOG © 2006 Servous
Theme & mods: 2008-2017 © PioDer