Family / Rodzina

    9 miesięcy debugowania !

    W 2007 roku zacząłem pisać pewien skrypt:

    #!/bin/sh
    kid1=Antonina
    echo Moje dziecie to $kid1

    Już wlistopadzie działał całkiem nieźle :)

    # sh kid0.sh
    Moje dziecie to Antonina

    W 2010 jednak czegoś zaczęło mi w nim brakować i postanowiłem coś do niego dodać, żeby był bardziej rozbudowany.

    Zacząłem od prostej zmiany nie wiedząc jeszcze co mi z tego wyjdzie:

    #!/bin/sh
    kid1=Antonina
    kid2=""
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    Jak łatwo było przewidzieć wynik nie był zadowalający:

    # sh kid.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to

    ale obrany kierunek mi się spodobał więc brnąłem dalej. Kolejna wersja też nie była zachęcająca, wręcz bezsensu:

    #!/bin/sh
    kid1=Antonina
    kid2=$kid1
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    co dawało nic nie wnoszące:

    # sh kid2.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to Antonina

    Aż w końcu po 9 miesiącach debugowania co jest nie tak

    #!/bin/sh
    kid1=Antonina
    kid2=$kid1
    echo $kid1 > /tmp/tmp1
    cat /tmp/tmp1 | sed "s/Anton/Michal/g" > /tmp/tmp2
    kid2=`cat /tmp/tmp2`
    echo Pierwsze dziecie to $kid1
    echo Drugie dziecie to $kid2

    dokładnie 2 kwietnia o 13:49 – skrypt zadziałał z prędkością 3800g, zajmował też przyzwoicie bo 58 cm, ale najważniejsze, że był w 100% sprawny :)

    # sh kid3.sh
    Pierwsze dziecie to Antonina
    Drugie dziecie to Michalina

    (Tak, wiem, że jest tam brzydki hack z sedem i przekierowaniem wyników do pliku, ale coś nie chciał mi sed na zmiennych działać a pomysł na posta szybko chciałem wcielić w słowo pisane :)

    A dla wszystkich, którzy nie lubią lub nie rozumieją konsolowych krzaczków – GUI w HD !

    To jest właśnie $kid2 czyli Michalina po 9 miesiącach debugowania :)

    To jest właśnie $kid2 czyli Michalina po 9 miesiącach debugowania :)

    Troskliwy $kid1 opiekuje się $kid2

    Troskliwy $kid1 opiekuje się $kid2

    Siostry $kid[1-2] w komplecie ! :)

    A teraz już trochę poważniej, jeśli ktoś nadal myśli co autor palił ;) Dnia 2.4.2011 na świat przyszła nasza druga córka, której nadaliśmy imię Michalina (ładnie koresponduje z Antonina :). Poród odbył się w tym samym lecz wyremontowanym szpitalu św. Rodziny przy ul. Jarochowskiego w Poznaniu i o dziwno trwał około 15 minut (w przeciwieństwie do Tosi, która rodziła się 10 godzin). Tata oczywiście był obecny przy porodzie, mama zresztą też ;) Wszystko odbyło się tak błyskawicznie, że położna ledwo zdążyła z zestawem do rodzenia. Zarówno mama jak i dziecko spisały się wyśmienicie, co potwierdza dziesiątka Apgara dla małej i szybki powrót obojga do domu :) Tosia z kolei pomijając dzień odbioru ze szpitala, w której była bardzo niepewna co się właściwie dzieje, od razu polubiła swoją siostrę (nie mówi o niej inaczej jak Michalinka :) i aktywnie uczestniczy w jej życiu pomagając przy pielęgnacji oraz śpiewając jej piosenki i kołysanki :)

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    Zdalna konsola, instalacja NetBSD i kreatywne lenistwo

    Dzisiaj instalowałem NetBSD na DELL’u Power Edge 2850 przez zdalną konsolę. Po zamontowaniu go w szafie i włożeniu płytki wróciłem do biurka. Instalacja bardzo standardowa, jednak pojawił się problem podczas restartu. Płyta została w środku i zamiast moja bootować moją świerzynkę, serwer cały czas startował z instalacją. No cóż, najprościej byłoby podejść do szafy, wyciągnąć płytę i ponownie go uruchomić. No ale po co się przemęczać, zwłaszcza jeśli obok stoi gorąca kawa i  świeże rogale świętomarcińskie. Załatwmy to po UNIXowemu ! :)

    1. DRAC w pełnej okazałości, serwer startuje (już jest po instalacji).

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    Wykres temperatury serwera w RRD (NetBSD)

    Zastanawiałem się ostatnio jak wyrysować sobie temperaturę jaką ma serwer lub jego otoczenie (zależnie od zainstalowanych sensorów) w serwerowni, bez instalowania mysql i cacti (oraz pluginów ponieważ domyślnie z snmp chyba temperatury zczytać nie można).

    W NetBSD mamy możliwość sprawdzania danych z ACPI przy pomocy envstat. Trzeba przekompilować kernel aby zawierał odpowiednie „hardware monitory”.

    Działanie envstat wygląda nastepująco i różni się w zależności od maszyny, niemniej jednak różnego rodzaju temperatury powinny być widoczne:

    cancer@snort~/rrd[175]13:34#envstat
     Current  CritMax  CritMin  CritCap     Unit
    [ipmi0]
     PS 2 Status:        OFF
     PS 1 Status:        OFF
     CPU Vtt:      1.250                                   V
     CPU 2 VCore:      1.040                                   V
     CPU 1 VCore:      1.260                                   V
     DASD Temp:     26.000                                degC
     VBAT:      3.184                                   V
     -12V Sense:    -11.412                                   V
     12VA Sense:     12.033                                   V
     5V Sense:      5.018                                   V
     12VC Sense:     12.600                                   V
     12VB Sense:     12.600                                   V
     2.5V Sense:      2.590                                   V
     1.8V Sense:      1.810                                   V
     1.5V Sense:      1.550                                   V
     1.3V Sense:      1.400                                   V
     1.25V Sense:      1.310                                   V
     CPU 2 Temp:     29.000                                degC
     CPU 1 Temp:     29.000                                degC
     Fan 12 Tach:       1740                                 RPM
     Fan 11 Tach:       1860                                 RPM
     Fan 10 Tach:       1830                                 RPM
     Fan 9 Tach:       1890                                 RPM
     Fan 8 Tach:       1680                                 RPM
     Fan 7 Tach:       1710                                 RPM
     Fan 6 Tach:       1710                                 RPM
     Fan 5 Tach:       1860                                 RPM
     Fan 4 Tach:       1800                                 RPM
     Fan 3 Tach:       1800                                 RPM
     Fan 2 Tach:       1710                                 RPM
     Fan 1 Tach:       1680                                 RPM
     Ambient Temp:     21.000                                degC
    

    W moim przypadku na tym serwerze interesujące jest oczywiście pole Ambient Temp:. Nie ma tu reguły i różni producenci stosują różne oznaczenia. W IBM jest Ambient Temp, w HP Rear Ambient, gdzieś indziej może być np Aux Temp: itp.  Przyjmujemy wartość Ambient Temp, że to jest to co nam chodzi i przy pomocy grep i awk wycinamy resztę:

    envstat | grep "Ambient Temp" | awk '{print $3}'

    W wyniku dostajemy samą temperaturę czyli 21.000

    Aby oznaczyć dane na wykresie trze je umieścić w czasie, do tego wystarczy nam systemowy date działający tak aby pokazywał „timestamp” czyli czas w sekundach od początku epoki. Za timestampem dostawimy dwukropek który będzie oddzielał znacznik czasu od wartości temperatury, czyli:

    date +%s:

    dostajemy 1272542448: Za pomocą date -r 1272542448 można odczytać jaką dokładnie datę pokazuje timestamp: Thu Apr 29 14:00:48 CEST 2010

    Potrzebne jeszcze jest jedno zewnętrzne narzędzie do gromadzenia danych oraz rysowania wykresu – RRDTool

    Po zainstalowaniu z databases/rrdtool w pkgsrc możemy przystąpić do tworzenia bazy:

    rrdtool create /usr/home/cancer/rrd/temperatura.rrd -s 300 \
    DS:temperatura:GAUGE:400:10:50 \
    RRA:AVERAGE:0.5:1:210240 \
    RRA:MAX:0.5:1:210240 \
    RRA:MIN:0.5:1:210240 \
    RRA:LAST:0.5:1:210240 \

    Taka baza będzie aktualizowana co 5 minut (-s 300), oraz będzie gromadziła dane w zakresie od 10 stopni do 50 stopni Celsjusza (tak, po awarii klimatyzacji w serwerowni może być taka temperatura :).

    W zasadzie mamy wszystko. Przy pomocy rrdtool update /usr/home/cancer/rrd/temperatura.rrd timestamp:temperatura można już wypełniać bazę danymi.

    Teraz trochę automatyzacji, na początek skrypt:

    #!/bin/ksh
    echo -n `date +%s:` >> /usr/home/cancer/rrd/temprrd.txt
    echo -n `envstat | grep "Ambient Temp" | awk '{print $3}'` >> /usr/home/cancer/rrd/temprrd.txt
    echo " " >> /usr/home/cancer/rrd/temprrd.txt
    temperatura=`cat /usr/home/cancer/rrd/temprrd.txt`
    /usr/pkg/bin/rrdtool update /usr/home/cancer/rrd/temperatura.rrd $temperatura
    /usr/pkg/bin/rrdtool graph /usr/home/cancer/public_html/temperatura.png --imgformat PNG --title="Tempertatura w serwerowni" --width 800 --height 300 --vertical-label="Stopnie Celsjusza .C" --end now --start end-2592000s DEF:temp=/usr/home/cancer/rrd/temperatura.rrd:temp:AVERAGE GPRINT:temp:LAST:"aktualna %2.2lf .C" GPRINT:temp:MIN:"minimalna %2.2lf .C" GPRINT:temp:MAX:"maksymalna %2.2lf .C" GPRINT:temp:AVERAGE:"srednia %2.2lf .C" AREA:temp#6060ef LINE1:temp#0000ff
    rm /usr/home/cancer/rrd/temprrd.txt

    Wrzucamy go do dowolnego pliku oraz nadajemy mu prawa do wykonania. Co z czym tu się je:

    1. Pierwsza linia wyświetla timestamp oraz dwukropek oraz zapisuje wszystko do pliku /usr/home/cancer/rrd/temprrd.txt. Opcja -n powoduje, że nie mamy znaku nowej lini i powrotu karetki.
    2. Druga liniawycina nam temperature i wstawia ją w tym samym pliku zaraz za dwukropkiem
    3. Trzecia linia dostawia spacje wraz ze znakiem końca linii.
    4. Przy pomocy polecenia cat podstawiamy naszą daną z pliku temprrd.txt pod zmienną temperatura.
    5. Aktualizujemy bazę danymi ze zmiennej temperatura.
    6. Rysujemy wykres. WAŻNE ! Ta linia aż do temp#0000ff musi być w całości !
    7. Ostatnia linia usuwa plik z danymi tymczasowymi.

    Taki skrypt dodajemy do crontaba aby był uruchamiany co 5 miut:
    */5 * * * * /bin/ksh /usr/home/cancer/rrd/temprrd.sh >/dev/null 2>&1

    Za kilkanaście minut powinien pojawić się wykres mniej więcej taki jak ten poniżej:

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Internet

    Acer Aspire One i szyfrowanie AES w WPA2

    W ostatnim poście wspomniałem, że mam w końcu przyzwoity Internet w domu. Wyposażyłem się wobec tego w ruter ASUS WL-500gP V2 aby nie musieć trzymać cały czas komputera z NetBSD włączonego. Ruter bardzo polecam, nie dość, że można wgrać sobie OpenWRT to jeszcze ma ma dwa porty USB do których można podpiąć zewnętrzne dyski lub drukarki czy kamerki Internetowe, oraz wbudowanego klienta do downloadu (FTP,HTTP,BT) dzięki któremu ruter bez pośrednictwa komputera ściąga pliki na dysk.

    Wszystkie komputery i PS3 elegancko podłączyły się po ethernecie jak i po wifi do rutera, jedynie mój netbook – Acer Aspire One miał dziwny problem. Po podaniu odpowiedniego klucza pobierał adres przez dość długi czas, a następnie nie można było pingować nawet rutera o Internecie nie wspominając. Akurat tak się dobrze składa, że na A1 (konkretnie model AOA 150) mam także NetBSD i po wpisaniu wszystkich danych do wpa_suppplicant.conf sieć i Internet działały bez problemu, zatem problem leży po stronie Windowsa. Wyłączyłem wszystkie wirtualne interface’y które mogły powodować problemy (Cisco, TAP od OpenVPN’a i Bridge od Virtual Boxa) jednak sytuacja taka sama. Przeglądnąłem sekcje downloadu na acer.com ale najnowszy driver do Atherosa był dość stary i obecnie zainstalowany w moim A1.

    Drugą opcją było poszukanie sterowników do chipsetu na stronie producenta i to okazało się strzałem w dziesiątkę. Sterownik nie wiele, ale jednak nowszy, po zainstalowaniu i ponownym połączeniu się do sieci wszystko przebiegło znacznie sprawniej a co najważniejsze wszystko już działa.

    Nie wiem, dlaczego Acer przegapił tak ważną aktualizację, przecież nikt przy zdrowych zmysłach nie używa już szyfrowania WEP czy WPA1, a netbook bez możliwości podłączenia się do WPA2/AES traci dużo ze swojej mobilności. Mam nadzieję, że komuś przyda się link do tego sterownika kiedy doświadczy tego samego problemu :)

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    NetBSD

    mor(r)e .pl developers in NetBSD!

    Dzisiaj będzie nietypowo, ponieważ post nie będzie dotyczył mnie bezpośrednio a kogoś zupełnie innego. Rzadko zdarza się bowiem, że Polak zostaje developerem naszego ulubionego systemu Unixowego. Tym razem radość jest podwójna ponieważ tym Polakiem jest Daniel ’morrHorecki, którego znam „osobiście” z IRC’a i z którym nie jednego priva zapisałem uzyskując wartościowe informacje i pomoc z NetBSD czy pkgsrc.

    Gratulacje i nie obijaj się tam z tym pkgsrc i pl mirrorem ;)

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    SNMP prawde Ci powie.

    O tym, że protokół snmp do monitoringu sieci jest fajny i przydatny każdy administrator wie, obserwując wykresy utylizacji łącza, wykorzystania przestrzeni na storage’u itp.

    Można także podejść do snmp bardziej od strony finansowo-księgowej czy Business Intelligence.

    Od jakiegoś czas monitoruję jak szybko drukarki zużywają toner co pozwoliło na takie poprzerzucanie użytkowników, żeby zużycie toneru rozkładało się mniej więcej równomiernie na 3 drukarki:

    Drukarka nr 1

    Drukarka nr 2

    Drukarka nr 3

    Czyli toner średnio około 7 tygodni, screen z dziurą ma około 8 tygodni, ale dziura oznacz offline z powodu awarii więc nie bierzemy pod uwagę całego przedziału czasowego.

    Drugą rzeczą którą można monitorować i wysuwać jakieś wnioski (choćby statystyczne) to np ilość użytkowników zalogowanych do AS400, czyli pracujących w JDEdwards. Na przełomie roku można zaobserwować fajne rzeczy:

    AS400 - zalogowani użytkownicy

    W tygodniu 51 zaczął się exodus pracowników, w tygodniu 52 mamy minimum i ostatnie dwa dni pracujące nie ma prawie nikogo (święta), następnie tydzień 53 to powolne powroty, przerwa i od razu wracamy po sylwestrze w prawie pełnym składzie, aby od drugie dnia pracującego nowego roku wejść na pełne obroty :)

    Widać, też, że praca zaczyna nam się o 6 rano i trwa do 22 lub dłużej, godzina około północna to czas backupu gdzie loguje się systemowy user odpowiedzialny za niego.

    Jeśli ktoś jest zainteresowany to soft użyty do tego monitoringu to: net-snmpd, rrdtool, cacti, apache+php i standardowe agenty systemowe + kilka gotowych skryptów od społeczności cacti (monitoring poziomu tonerów). Wszystko pod kontrolą (a jakże!) NetBSD! :)

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Internet

    Update Baculi

    Wykonałem update baculi z wersji 2.4.4 do 3.0.2 z pkgsrc. Restart całości spowodował brak mozliwości podłączenia sie do konsoli zarówno na serwerze jak i z klienta. /etc/rc.d/bacula status pokazywała jedynie że file demon i storage demon działają natomiast director nie. Żadnych logów jednak nie ma. Reinstaluję ręcznie, taka sama sytuacja. Odinstalowuję i instaluję jeszcze raz od zera – taka sama sytuacja. Czytam wszystkie komunikaty, między innymi ten:

    If you’re upgrading to bacula-3.0.2 from 1.38.x or earlier, you MUST
    recreate your catalog database or upgrade your old database using the
    /usr/pkg/libexec/bacula/update_bacula_tables script. Later updates will
    not require upgrading the database again.

    Jak widać nie kwalifikuję się na update tabel. Na wszelki wypadek jednak odpalam ten skrypt po uprzednim lekkim poprawieniu z:

    #!/bin/sh
    #
    # This routine alters the appropriately configured
    # Bacula tables for PostgreSQL, MySQL, or SQLite.
    #
    if test xsqlite = xmysql -o xsqlite3 = xmysql ; then
    echo "Altering SQLite tables"
    /usr/pkg/libexec/bacula/update_mysql_tables $*
    fi
    if test xmysql = xmysql ; then
    echo "Altering MySQL tables"
    /usr/pkg/libexec/bacula/update_mysql_tables $*
    fi
    if test xpostgresql = xmysql ; then
    echo "Altering PostgreSQL tables"
    /usr/pkg/libexec/bacula/update_postgresql_tables $*
    fi

    aby nie było:

    Altering MySQL tables

    This script will update a Bacula MySQL database from version 10 to 11
    which is needed to convert from Bacula version 2.0.x to 3.0.x or higher

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    Update of Bacula MySQL tables failed.

    (Jak widać komunikat o konieczności udate’u nadal mnie nie dotyczy)

    na

    #!/bin/sh
    #
    # This routine alters the appropriately configured
    # Bacula tables for PostgreSQL, MySQL, or SQLite.
    #
    if test xsqlite = xmysql -o xsqlite3 = xmysql ; then
    echo "Altering SQLite tables"
    /usr/pkg/libexec/bacula/update_mysql_tables $*
    fi
    if test xmysql = xmysql ; then
    echo "Altering MySQL tables"
    /usr/pkg/libexec/bacula/update_mysql_tables -uroot -p bacula$*
    fi
    if test xpostgresql = xmysql ; then
    echo "Altering PostgreSQL tables"
    /usr/pkg/libexec/bacula/update_postgresql_tables $*
    fi

    i w końcu po chwili:

    Altering MySQL tables

    This script will update a Bacula MySQL database from version 10 to 11
    which is needed to convert from Bacula version 2.0.x to 3.0.x or higher


    Enter password:

    Update of Bacula MySQL tables succeeded.

    Następnie restart baculi i … tadam ! Wszystko ruszyło tak jakby sie nic nie działo!

    Wiadomo, że telewizja kłamie, ale żeby dokumentacja?

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    NetBSD

    BlogDay

    O i na koniec dnia taki news. Nie wiem czy wiecie (ja też nie wiedziałem, ale dzięki 2up już wiem) ale dzisiaj jest dzień bloga! Z tego powodu jak donosi strona blogday.org dzisiaj każdy blogger powinien zarekomendować wraz z krótkim opisem 5 blogów, które uważa za godne polecenia. Zatem aby celebrować dzień naszego hobby oto moja lista w kolejności całkowicie przypadkowej.

    1. 2UP.

    Blog, który odkryłem chyba z dwa lata temu w chwili nudy szukając w google coś w stylu „śmieszne filmiki”. Trafiłem tam i tak już jakoś został w moim readerze RSS dostarczając dziennie kilka postów z gatunku szeroko rozumianej rozrywki. Znajdziecie też tam trailery do ciekawych filmów, różnego rodzaju animacje, a także od czasu do czasu coś poważniejszego. Ogólnie materiały starannie przesegregowane, komentarze na poziomie. Polecam.

    2. Shinden’s Lair

    Blog Daniela Horeckiego znanego bardziej jako morr. Morr to Administrator który rezyduje na #netbsd.pl w sieci IRCNet i nieraz już pomógł nie tylko mnie ale i innym osobom używającym NetBSD. Blog jest osobisto-profesjonalny, niestety dość żadko aktualizowany. Jeśli jednak lubisz NetBSD i motocykle oraz koty – warto mieć go w RSS. Blog pisany po angielsku.

    3. llama.pl

    Blog Lamy – z którym mam styczność także na #netbsd.pl. Jeśli śledzisz mojego bloga od dłuższego czasu zapewne znasz blog Lamy jako mojego oponenta w zakładnie o to co będzie pierwsze NetBSD 5.0 czy Windows 7. Blog traktuje głównie o systemach operacyjnych z naciskiem na produkty MS, chociaż kolega Lama ma także co nie co do powiedzenia w kwestii NetBSD (z wiedzy której autor tego bloga nie raz skorzystał :). Jeśli lubisz flame – komentarze anty MS na blogu Lamy napewno dostarczą Ci wiele rozrywki ;)

    4. http://www.aspireone.pl/

    Jeśli posiadasz netbooka Acera to jest to pozycja obowiązkowa. Wiele newsów, ciekawostek i informacji, na które straaciłbyś bardzo dużo czasu zgromadzone w jednym miejscu. Dodatkowo forum. Blog także prowadzony przez znajomego z którym miałem przyjemność pracować lata temu na państwowej posadzie pewnego monopolisty sanitarnego :)

    5. Hubertf’s NetBSD Blog

    Na koniec po dłuższym zastanowieniu blog jednego z developerów NetBSD. Dość często aktualizowany z zawsze wartościowymi informacjami z okolic naszego ulubionego systemu. Co ciekawe w dobie wordpressów wyróżnia się oldschool’owym designem (białe tło, czarny tekst, niebieskie linki i to wszystko :).

    Jeśli kogoś zainteresuję, którymś z tych blogów to znaczy że blogday spełnił swoje zadanie. A jeśli w referarach zobaczę, że ktoś mnie podlinkował to będę w siódmym niebie :)


    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    In English

    Speedup disk performance in NetBSD

    I got new HP Proliant DL160 G5 with three sata disk. For You interested in details here is a dmesg. Box setup wen’t smooth but disk operations performance was very low. Copy big file wrom disk to disk was around 6Mb/sec, fetching src from cvs stops from time to time for a while. To show how slow this is look how long take inserting backup of this blog to mysql again:

    cancer@quad/usr/home/cancer[52]22:34#mysql -uroot -p cancerwp < /usr/home/cancer/cancer_blog_17.08.2009.sql
    Enter password:
    cancer@quad/usr/home/cancer[53]22:54#

    Yup, 20 minutes and sql file was 85 Mb.

    After checking dkctl against disks, I found (with help of morr) that write cache is disabled.

    dkctl wd0 getcache
    /dev/rwd0d: read cache enabled
    /dev/rwd0d: read cache enable is not changeable
    /dev/rwd0d: write cache enable is changeable
    /dev/rwd0d: cache parameters are not savable

    After enabling…

    dkctl wd0 setcache rw
    /dev/rwd0d: read cache enabled
    /dev/rwd0d: write-back cache enabled
    /dev/rwd0d: read cache enable is not changeable
    /dev/rwd0d: write cache enable is changeable
    /dev/rwd0d: cache parameters are not savable

    … performance went to satisfying level. Copying is now about 40Mb/sec and restoring database above in less than minute.

    Unfortunettly saving this settings is not possible for now.

    dkctl wd0 setcache rw save
    dkctl: /dev/rwd0d: setcache: Operation not supported

    Maybe this have to be turned on in bios of server. For now i put cache enablers into /etc/rc.local.

    System is NetBSD 5.0.1_PATCH i386 with FFSv2 and WAPBL.


    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Fun

    SysAdmin Day + Hawajski Piątek!

    Piątek. Zdecydownia najfajniejszy dzień tygodnia w pracy. Weekend już za rogiem co widać w firmie – luźniejszy ubiór, krótkie spodenki, sandały, itp. Dzisiejszy piątek, pod znakiem spontanicznego „hawajskiego piątku” oraz Dnia Admina wyglądał tak :)

    Atmosfera w firmie jest najważniejsza, a takie akcje wspaniale integrują i pozwalają spojrzeć na wszystkich zagonionych współpracowników z innej perspektywy. Keep going biuro! ;)




    Related Posts with Thumbnails

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Add your widget here