CoScripter przyjazny język skryptowy

Przez przypadek natrafiłem dzisiaj na język skryptowy CoScripter pozwalający zautomatyzować czynności wykonywane na stronach www.

Bardziej przypomina on instrukcję dla użytkownika niż faktyczny kod, np. skrypt który pozwala zresetować router wygląda tak:

go to "http://192.168.1.1"
click the "Log in" button
go to "http://192.168.1.1/status.stm"
click the "Disconnect" button

Strona domowa projektu oraz mnóstwo przykładowych skryptów na stronie:
http://services.alphaworks.ibm.com/coscripter/browse/about

Hardcore compo

Na stronach forum uw-team pojawiła się informacja o konkursie zorganizowanym przez Gynvaela, cytuję:

OK, więc zabawa polega na tym że uczestnik dostaje wirtualną maszynę (RISCową), baaardzo prostą, pełną dokumentacje wraz ze źródłami do niej (read-only ;>) i hexedytor do ręki (ew jakiś program umożliwiający tworzenie binarnych plików, chodźby nasm+instrukcja db).

I teraz zadanie: napisać coś w tym… powiedzmy jakiś program, kilka programów+malutki fragment OSu, or sth ;> tu już freestyle ;>

Celem compo byłoby sprawdzenie siebie, tzn jak uczestnik by sobie poradził w skrajnie trudnych warunkach programistycznych (hexedytor + dokumentacja procka). Sądzę osobiście że to może być bardzo zabawne, czy nawet pouczające ;>

Więcej informacji i przykładowe kody źródłowe – tutaj

Poinformował: diabeł

MFC w roku 2008

MFC czyli zestaw pomocniczych klas dla środowiska Microsoft Visual Studio C++ od nowego roku zostanie wzbogacony w kilka nowych komponentów graficznych, takich jak m.in. znany z Office11 ribbon, listy menu, kontrolki dokujące znane z Visual Studio i kilka innych:

http://blogs.msdn.com/vcblog/archive/2007/11/09/quick-tour-of-new-mfc-functionality.aspx

Dla mnie jest to duże zaskoczenie, że po tylu latach niepublikowania tych wszystkich komponentów graficznych, które de facto wprowadzały nowe standardy w graficznych interfejsach użytkownika, firma Microsoft zdecydowała się nagle dać szansę na darmowe skorzystanie z tych komponentów (bez używania płatnych, których nie brakuje).

Jedni się cieszą, ale na listach dyskusyjnych pojawiły się głosy, że może to również spowodować upadek firm takich jak CodeJock, BCGSoft lub prędzej indywidualnych programistów, którzy tworzą komponenty zgodne z nowymi elemetami graficznymi wprowadzanymi sukcesywnie w produktach Microsoftu.

Nieudokumentowane funkcje Windows XP

Pierwszy artykuł dotyczy funkcji pozwalających na tworzenie archiwów ZIP korzystając bezpośrednio z funkcji eksportowanych z biblioteki NTDLL.dll

http://www.literatecode.com/2006/11/11/how-to-write-your-own-winzip/

Drugi artykuł prezentuje wykorzystanie nieudokumentowanych funkcji kryptograficznych SHA1 z biblioteki ADVAPI32.dll

http://www.literatecode.com/2006/12/18/undocumented-windows-cryptography/

Nadesłał: antonone 

Jak flushować pliki INI

Jakiś czas temu próbowałem tworzyć kopię zapasową pliku INI, który właśnie został zaktualizowany 2 linijki kodu wyżej i czego bym nie zrobił, wykonanie kopii zapasowej nigdy nie udawało się (plik nie zawierał wcześniej wprowadzonych zmian).

Próbowałem nawet jakichś dziwnych sposobów z użyciem funkcji Sleep, ale nic nie dawało rezultatów, ostatecznie z braku dalszych pomysłów (i nie aż tak ważnej roli tego kodu) porzucilem pomysł na wykonywanie tychże kopii zapasowych.

Dzisiaj zupełnie przypadkowo zobaczyłem na jakiejś stronie wywołanie funkcji WritePrivateProfileString z wszystkimi parametrami ustawionymi na NULL i jak się okazało to było to czego kiedyś szukałem – konkretnie powoduje zapisanie zmian wprowadzonych do pliku INI na dysk lub do rejestru (jeśli plik jest mapowany).

Zgodnie z dokumentacją na stronie MSDN, pliki INI są cache’owane, aby zwiększyć wydajność działania systemu operacyjnego.

Morał z tej historii taki, że jak już się czyta dokumentację, to nie należy kończyć na opisie parametrów i zwracanych wartościach 🙂