2017-07-23 23:00:31
PowerController - automatyczne zarządzanie planami zasilania

Intel, produkując wynalazek o nazwie EIST, jak zwykle zawiódł. EIST, czyli Enhanced Intel Speedstep Technology, w założeniach działa poprzez obniżanie taktowania procesora kiedy nie jest wykorzystywany i zwiększania pod obciążeniem do nominalnych wartości. Nie neguję oczywiście zalet tego rozwiązania, ale jest ono tak czy siak niepełnosprawne. Przykładowo, znakomita większość obecnych procesorów bez problemu obsługuje serwis Youtube bez konieczności wykorzystywania pełnej jego wydajności. Niestety, specyfika działania sprawia, że przeglądarka "ogłupia" procesor i ten bardzo często na ułamek sekundy przełącza się w tryb pełnej mocy, zużywając niepotrzebny prąd oraz obciążając zasilacz wahaniami zapotrzebowania na moc. Ponieważ dzieje się to często, przekłada się to na skracanie żywotności zasilaczy, zwiększenie rachunku za prąd i zwiększanie temperatury systemu.
Pewnym rozwiązaniem jest zmiana planu zasilania - od Windows Vista w górę możliwe jest sterowanie maksymalną mocą procesora i zachowanie tej wartości w "planie zasilania". Nie jest to do końca wygodne, bo na systemach biurkowych nie ma możliwości wygodnego przełączania się między planami (należy się przeklikać przez gąszcz opcji). No i w końcu, fajnie by było, gdyby "coś" automatycznie zmieniało plan w zależności od realnego zapotrzebowania.

I tu pojawia się PowerController.

2017-07-20 23:56:32
Mozilla/5.0 Jorgee

Po sieci krąży robactwo które infekuje maszyny i które rozprzestrzenia się przez dziury i proste hasła w phpMyAdmin oraz MySQL Manager. Ten jeden konkretny przypadek jest o tyle charakterystyczny, że pojawia się znikąd, zasypuje serwer zapytaniami i w razie braku powodzenia znika. I łatwo go ciąć.

2017-05-08 18:45:18
Greylisting czyli znowu żyjemy w średniowieczu

tl;dr - coraz częściej spotykam się z efektami ciężkiej pracy umysłowej admina-debila, który nie umie skonfigurować serwera/farmy zgodnie z protokołem SMTP.

2017-05-03 17:11:09
I po pierwszym polskim Ceph Day

tl;dr: Było fajnie, mogło być lepiej, myślałem że będzie dużo gorzej.

2017-03-21 18:00:44
Ceph Days Warszawa - 25 kwietnia 2017 (Ceph Day Warsaw)

Nareszcie - po raz pierwszy w Polsce - dzień Cepha odbędzie się 25 kwietnia w Warszawie! Na terenie Międzynarodowego Instytutu Biologii Molekularnej i Komórkowej (Księcia Trojdena 4) organizowany jest całodniowy event poświęcony Cephowi. Na razie wielu szczegółów nie zdradzam (a te zdradzone są i/lub będą umieszczone tutaj - razem z linkami do darmowej rejestracji), ale na pewno będzie można posłuchać jak wygląda praca z i nad Cephem, powymieniać się doświadczeniami z innymi użytkownikami oraz poznać ludzi którzy siedzą w cyberkałamarnicach po uszy osobiście. Ja na pewno będę i wszystkich fanów Cepha, Linuksa i technologii storage'owych gorąco zapraszam w imieniu swoim, polskiego oddziału OVH oraz firmy Red Hat.

Do zobaczenia w Warszawie!

2016-07-26 13:54:07
Dolina krzemowa

Podobno każdy liczący się programista powinien choć raz odwiedzić Dolinę Krzemową, czyli z angielska "Silicon Valley". Tak się zdarzyło, że z okazji kolejnego (i dla mnie na razie ostatniego) zjazdu "Cephoklikaczy" znowu wsadzono mnie do samolotu i posłano w pizdu, czyli do Stanów Zjednoczonych - i tym razem jeszcze dalej niż poprzednio, bo aż do San Jose, w Kalifornii. Czyli centrum Doliny krzemowej! :)

2016-07-26 20:17:27
Sleep considered harmful

Funkcji Sleep() powinni zabronić. Powinna być zamieniona na coś dużo bardziej skomplikowanego tak, by programiści nauczyli się wreszcie programowania asynchronicznego/zdarzeniowego i nie korzystali ze sleepów bez sensu. Sama funkcja nic nie szkodzi - wstrzymuje pracę wątka na ileś czasu rzeczywistego, w niektórych implementacjach pozwala oddać procesor innemu wątkowi. Przydatne. Ale niektórym się wydaje, że to idealna metoda synchronizacji międzykomponentowej...

2016-01-16 19:01:49
Marketingowego bełkotu c. d.

Pewnie niektórym z was się obiło o uszy, że nowa generacja procesorów Intela nie będzie obsługiwana w Windows 7 i 8, jedynie 10. I co z tego wynika? Absolutnie nic. To marketingowy chwyt polegający na zastosowaniu "oczywistej oczywistości" do wymuszenia na kliencie zakupu. Windows 95 nie obsługuje instrukcji SSE i na procesorach z nimi, aplikacje korzystające z SSE najzwyczajniej w świecie ulegają różnorakim awariom (zwisy, segfaultgopodobne błędy, etc), co wynika z tego, że podczas przełączania wątku rejestry XMM (używane w SSE) nie są zachowywane i odtwarzane i wątek 1 nagle zaczyna mieć dane wątku 2, co raczej nie jest pożądanym działaniem. I co z tego? Nic, świat się nie zawalił, a część programistów po prostu wyłącza obsługę SSE na Win95 i program, cudownym zrządzeniem losu, nagle pracuje poprawnie, nawet jeśli wolniej.

2015-03-23 24:56:53
VIA popsuła swoje API! :P

Taki szybki protip dla wszystkich, którzy chcą z tego skorzystać i utknęli - VIA Padlock SDK jest popsute. Konkretnie, to funkcja padlock_phe_partial_available() wewnętrznie wywołuje funkcję asm_is_nano(), która wygląda tak:

cglobal asm_is_nano
asm_is_nano:
    xor eax, eax                ;get vendor ID
    cpuid   
    ;cmp ebx, 0x746e6543        ;means "tneC"
    ;jne NO_VIA
    ;cmp edx, 0x48727561        ;means "Hrua"
    ;jne NO_VIA
    ;cmp ecx, 0x736c7561        ;means "slna"
    ;jne NO_VIA
    
    ;verdor ID cannot got now, since our board has errata.
    mov     eax,  0xC0000000
    cpuid
    cmp     eax, 0xC0000001
    jb      NO_VIA
    mov     eax,  0xC0000001;
    cpuid
    and     edx, 0x0C00;        PHE_MASK,CPUID EDX code for PHE
    cmp     edx, 0x0C00;        PHE_MASK,CPUID EDX code for PHE
    jne     NO_VIA
    
    mov eax, 1              ;get model
    cpuid
    or  eax, 0x000f
    cmp eax, 0x06ff         ;3rd bit is F, then nano.
    jne NO_VIA
    
    mov eax, 1              ;return 1
    ret
    
NO_VIA:
    xor eax,eax
    ret;

... No właśnie. Instrukcja CPUID zamazuje wartości rejestrów EAX, EBX, ECX i EDX, i nic nie przywraca ich wartości, wobec czego po wywołaniu padlock_phe_partial_available() program przestaje zachowywać się przewidywalnie. Rozwiązanie? Przepisać sobie ręcznie asm_is_nano(), dodając pushe i popy odpowiednich rejestrów w odpowiednich miejscach.

2015-02-20 00:40:22
Ograniczenie liczby MIBów w sub-agentach Net-SNMP

Szybki protip dla tych, którzy tworzą własne sub-agenty dla Net-SNMP, a dla których problemem może być duża liczba trzymanych w systemie MIBów i wynikające z tego zwiększone użycie pamięci przez sub-agentów.

Wcześniejsze wpisy »

Powered by:
Hellcore Mailer - polski program pocztowyOpera Web BrowserFreeBSD - The Power to Serve!Slackware
RSSy:
Sidekick:
Projekty:
O autorze:
Zobacz:
Kategorie:
Archiwum:
Szukaj: