Informatyk, podróżnik, fotograf

Informatyczne podejście do życia w obrazkach, kolorach i dźwiękach

Kamil Porembiński

Płonący autobus MPK - znowu

Pasażerowie MPK po raz kolejny w krótkim czasie przeżyli chwile grozy. Wczoraj po południu w centrum miasta zapalił się silnik jeżdżącego na linii zastępczej jelcza. Na szczęście nikt z pasażerów nie ucierpiał. Strażacy chwalą przytomność kierowcy autobusu, który ugasił pożar.
Źródło: lodz.naszemiasto.pl

MPK chyba naprawdę nie lubi Łodzian i chce nas pozabijać. Każdy autobus to jakaś pułapka na pasażerów........

ikonka ikonka 22 września 2007, 05:45:22 ikonka 1 komentarz

Z życia MPK

A oto kolejne ciekawostki z życia w mieście, gdzie rządzi MPK Łódź:

Zamiast punktualnego przyjazdu autobusu... MPK bardzo przeprasza

Łódzkie MPK w specyficzny sposób zareagowało na skargi pasażerów, którzy mają dość notorycznie spóźniających się autobusów albo wypadania z rozkładów niektórych kursów (pisaliśmy o tym np. 10 września). Na przystankach sześciu linii autobusowych: 57, 69, 70, 85, 96 i 98 naklejono... przeprosiny: "W związku z pracami modernizacyjnymi sieci wodno-kanalizacyjnej, budową ŁTR i robotami drogowymi występuje zatłoczenie ulic (...). Za utrudnienia przepraszamy MPK".

Z7 jeździło bez siódemki - Błąd zmylił pasażerów

Pojazdy z numerem Z7 miały zastępować tramwaje przejeżdżające przez remontowane skrzyżowanie ul. Zielonej, al. Kościuszki i ul. Zachodniej. Ale na trasę wyjechały autobusy tylko z literą Z.
- Błąd w systemie nie pozwala nam pokazać symbolu Z7 na elektronicznych tablicach w autobusach. To niezależne od nas. Nasi informatycy będą nad tą wadą pracować w nocy, aby rano było już wszystko w porządku - mówi Marcin Małek z biura prasowego łódzkiego MPK. - Możemy tylko wszystkich pasażerów serdecznie przeprosić.

Ciekawe co jeszcze nam powiedzą :)

ikonka ikonka 20 września 2007, 06:00:37 ikonka 2 komentarze

CPU Frequency w C++ - Rozwiązane

Po długich walkach z Windowsem udało mi się dokopać do kodu, który rozwiązywał mój problem.

int GetCPUSpeed()
{
const
  DelayTime = 500;
  DWORD TimerHi, TimerLo;
int  PriorityClass, Priority;
  PriorityClass = GetPriorityClass(GetCurrentProcess);
  Priority      = GetThreadPriority(GetCurrentThread);
  SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
  SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
  Sleep(10);
  asm
  {
    dw 310Fh
    mov TimerLo, eax
    mov TimerHi, edx
  }
  Sleep(DelayTime);
  asm
  {
    dw 310Fh
    sub eax, TimerLo
    sbb edx, TimerHi
    mov TimerLo, eax
    mov TimerHi, edx
 }
  SetThreadPriority(GetCurrentThread, Priority);
  SetPriorityClass(GetCurrentProcess, PriorityClass);
  return  TimerLo / (1000 * DelayTime);
}

Kod działał idealnie, kiedy kompilowałem go w Dev-C++, ale miał problemy w C++ Builderze. Kompilacja przechodziła bez problemu, lecz program się wywalał pokazując ładny komunikat z błędem pamięci w adresie. Wystarczyło w opcjach projektu, zakładka Compiler zaznaczyć opcję Stack frames. I wszystko byłoby pięknie, gdyby nie Avast.

Kiedy wysyłałem binarkę koledze, by sprawdził działanie aplikacji, antywirus stwierdził, że aplikacja zawiera szkodliwy kod. Ciekawe ;-)

ikonka ikonka 18 września 2007, 18:58:21 ikonka Dodaj komentarz

CPU Frequency w C++

Od kilku dni męczę się z napisaniem prostej funkcji, która pobierze aktualną wartość częstotliwości z jaką pracuje procesor pod systemem Windows. Korzystając z Pana Googla dowiedziałem się, że wartość tę można odczytać z rejestru z klucza:

HKEY_LOCAL_MACHINE\\Hardware\\Description\\System\\CentralProcessor\\0

Niestety wartość jaka się tam znajduje jest stała i nie pokazuje częstotliwości z jaką obecnie pracuje CPU. Kolejną rzeczą jaką zrobiłem było wkorzystanie kodu, który znalazłem na stronie codeproject.com.

__int64 GetMachineCycleCount()
{      
   __int64 cycles;
   _asm rdtsc; // won't work on 486 or below - only pentium or above
   _asm lea ebx,cycles;
   _asm mov [ebx],eax;
   _asm mov [ebx+4],edx;
   return cycles;
}

Niestety podczas uruchomienia aplikacja się wywala. Próbowałem też skorzystać z MFC. Najpierw męczyłem sie z zainstalowaniem Visual C++ 2005, a potem z całym Windows® Server 2003 SP1 Platform SDK Full, w którym są jakieś automagiczne biblioteki.

Teraz zastanawiam się nad jakąś prostą funkcją, która policzy / oszacuje z jaką obecnie częstotliwością pracuje procesor. Nie mam zielonego pojęcia jak wydobyć tę informację. Na Linuksie jest prościej :)

ikonka ikonka 09 września 2007, 07:52:45 ikonka 11 komentarzy

Allegro - Przerwa konserwacyjna

Właśnie chciałem wejść na Allegro.pl, żeby wystawić komentarze i sfinalizować kilka aukcji, a tymczasem przywitał mnie ładny komunikat:

Przerwa konserwacyjna - przepraszamy W godzinach 00:00 do 09:00 serwis Allegro będzie niedostępny. Oferty sprzedaży, które powinny zakończyć się w tym czasie, zostaną przedłużone o 24 godziny.
Przepraszamy.

Zespół Allegro

Czyżby Allegro zabrało się do roboty za łatanie swojego systemu aukcyjnego, czy może wprowadzają jakieś nowości? Nie zdążyłem przeczytać żadnego komunikatu na ich stronie. Wiecie coś na ten temat?

ikonka ikonka 07 września 2007, 07:44:51 ikonka 10 komentarzy

Powered by Jogger. Copyright © 2002-2003 Justin Mecham & JabberPL Group

Licencja: Creative Commons Uznanie autorstwa 3.0