Ostatni zbieg okoliczności sprawił, że na moje biurko trafił ponownie projekt związany z rozpoznawaniem komend głosowych. Poprzedni projekt związany był z platformą sprzętową dsPIC i niezależnym od komputera systemem sterowania. Tym razem jednak będzie to pakiet Microsoft Speech SDK 5.1. Na chwilę obecną powstała już aplikacja, która portafi wykorzystać potencjał SDK. Zadaniem programu będzie odpowiednie wysterowanie nadajnikiem kodu RC5. Nadajnik mam już gotowy z poprzedniego projektu. Wiecej informacji już wkrótce.
wtorek, 30 czerwca 2009
niedziela, 28 czerwca 2009
Dzień z życia admina
Dzisiaj kolejny raz dostałem linka do filmiku na youtube :) słynnego już "Website is down". W chwili zadumy przed urlopem doszedłem do wniosku, że i mi nie brakuje takich sytuacji. Oto dwie sytuacje podsumowujące miniony tydzień.
" *Dzwoni telefon
- Słucham ?!
- Proszę o pomoc, chyba mam robaka.
- Czy uruchamiała Pani potencjalnie niezbezpieczne strony ? Uruchamiała program przesłany załącznikiem ? A może tylko system antywirusowy wyświetla komunikat o blokadzie ?
- To bardzo ciężko opisać, musi Pan podejść do mojego komputera.
* Musiałem się ruszyć ... :)
Ku mojemu zdziwieniu faktycznie w komputerze był robak, a raczej w monitorze ... Po oględzinach okazało się, że mały czarny robaczek dostał się między wartwy wyświetlacza LCD i z dumą odbywał wycieczki po całym ekranie."
Nauczka na przyszłość nigdy nie należy lekceważyć problemów użytkownika :)
Druga sympatyczna sytuacja:
" *Dzwoni telefon
- Słucham ?!
- Przepraszam, że zaspokajam Panu pokój, ale ...
* W tym momencie zaczeło się najlepsze :) 5 minut tłumaczeń
"
Co użytkownik (Pani) miała na myśli ? Nie mnie to oceniać, ale zapewne widok jej twarzy w trakcie tej rozmowy telefonicznej ... bezcenny.
I jak tu nie lubić swojej pracy ? :) Kiedy oprócz bycia informatykiem i administratorem w firmie jest się spowiednikiem, pocieszycielem, źródłem zła wszelakiego, a numery telefonów do działu IT według wybranych użytkowników powinny zaczynać się do 666 ;)
Oto podgląd sprawcy tego posta:
środa, 24 czerwca 2009
Monitorowanie stanu serwera FTP
Kilka dni temu pojawił mi się problem z niedostępnością serwera FTP. Korzystam z stosunkowo mało popularnego TwoFTPd pod Linuxa. Proces otrzymywał bardzo dziwny PID i niemożliwe stawało się zalogowanie do serwera. W chwili występowania błędu nie były wysyłane żadne komunikaty. Aktualizacja i update do najnowszej wersji nie przyniosły rezultatu, a problem pojawiał się w losowych momentach. Tak oto narodził się pomysł sprawdzania stanu FTP przy pomocy skrytpu w cronie.
W skrypcie wykorzystałem grepa to analizy odpowiedzi z serwera. Nie będę zamieszczał całego skryptu, ponieważ dzieje się w nim jeszcze kilka innych rzeczy ;) Generalnie zasada polega na pobraniu odpowiedzi z serwera:
W skrypcie wykorzystałem grepa to analizy odpowiedzi z serwera. Nie będę zamieszczał całego skryptu, ponieważ dzieje się w nim jeszcze kilka innych rzeczy ;) Generalnie zasada polega na pobraniu odpowiedzi z serwera:
ftp -n -v 192.168.0.2 < /home/ducker/FTP_TEST/ftp_cmd.cmd > /home/ducker/FTP_TEST/log_ftp.log
Plik "ftp_cmd.cmd" zawiera zestaw komend, które mają być wysłane do naszego serwera. W moim przypadku jest to "quit". Nie potrzebuję nic robić na serwerze, jedynie odebrać jego nagłówek. Odpowiedź serwera trafia do pliku "log_ftp.log".
STATUS=`grep ready /home/ducker/FTP_TEST/log_ftp.log`
Do zmiennej STATUS wyciągamy przy pomocy grepa linijkę z odpowiedzią serwera zawierającą zwrot "ready".
if [ STATUS=="220-TwoFTPd server ready." ]
then
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
date >> /home/ducker/FTP_TEST/log_run.log
echo ">>> ONLINE" >> /home/ducker/FTP_TEST/log_run.log
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
else
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
date >> /home/ducker/FTP_TEST/log_run.log
echo ">>> OFFLINE" >> /home/ducker/FTP_TEST/log_run.log
sv restart twoftpd >> /home/ducker/FTP_TEST/log_run.log
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
fi
Następnie sprawdzamy zawartość zmiennej STATUS. Jeśli jest ona identyczna ze wzorcem to pozostawiamy serwer w spokoju, w przeciwnym wypadku restartujemy jego usługę. Informacje zapisywane są w pliku "log_run.log". Plik ten przy pomocy sendmail'a wysyłam sobie na koniec dnia. Aby skrypt nabrał funkcjonalności musimy go umieścić w cronie i wywołać z pożądanym interwałem czasowym. W moim przypadku ustawiłem sprawdzanie co 30 minut.
STATUS=`grep ready /home/ducker/FTP_TEST/log_ftp.log`
Do zmiennej STATUS wyciągamy przy pomocy grepa linijkę z odpowiedzią serwera zawierającą zwrot "ready".
if [ STATUS=="220-TwoFTPd server ready." ]
then
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
date >> /home/ducker/FTP_TEST/log_run.log
echo ">>> ONLINE" >> /home/ducker/FTP_TEST/log_run.log
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
else
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
date >> /home/ducker/FTP_TEST/log_run.log
echo ">>> OFFLINE" >> /home/ducker/FTP_TEST/log_run.log
sv restart twoftpd >> /home/ducker/FTP_TEST/log_run.log
echo "---------------------------------" >> /home/ducker/FTP_TEST/log_run.log
fi
Następnie sprawdzamy zawartość zmiennej STATUS. Jeśli jest ona identyczna ze wzorcem to pozostawiamy serwer w spokoju, w przeciwnym wypadku restartujemy jego usługę. Informacje zapisywane są w pliku "log_run.log". Plik ten przy pomocy sendmail'a wysyłam sobie na koniec dnia. Aby skrypt nabrał funkcjonalności musimy go umieścić w cronie i wywołać z pożądanym interwałem czasowym. W moim przypadku ustawiłem sprawdzanie co 30 minut.
Nieobecność
Po długiej przerwie spowodowanej głównie sprawami osobistymi, wracam na bloga. Mam nadzieję, że na dłużej. W ostatnim czasie sporo się u mnie zmieniło, a to głównie za sprawą nowej pracy. Nadal po szyję zanurzony w szeroko pojętym IT. Na szczęście to właśnie w tej branży czuję się jak "ryba w wodzie". Perspektywy do dalszego rozwoju są, a więc nic tylko pracować :)
Subskrybuj:
Posty (Atom)