Windows 7

Ostatnio postanowiłem wypróbować nowe dziecko Microsoftu. Poprzez uczelnię mam dostęp do wydania Windows 7 Professional, dlatego chciałem dać mu szansę do zaprezentowania się i może nawet zastąpienia Linuxa (sic!) na moim dysku na stałe.

Mój zapał dotyczący nowego systemu trwał kilka godzin. Były to godziny poświęcone na ściągnięcie i nagranie na płytę odpowiedniego obrazu…

Po zbootowaniu z płyty ujrzałem piękne okienko ze sporym przyciskiem na środku „Install now…”. Pomyślałem, że to dobry punkt wyjścia więc klikąłem ów przycisk. Pojawił się wówczas napis „Setup is starting…”. To by się nawet zgadzało z intuicją. Niestety później było już tylko gorzej.

Po ostatniej informacji o startowaniu instalatora pojawiło się nowe okienko wraz z informacją, że nie mam sterownika CD/DVD i jeśli mam płytę/pendrive/cokolwiek ze sterownikami to mam to wykorzystać i załadować go.

Zadanie to nie wydaje się przesadnie trudne jeśli się nad nim głębiej nie zastanowić. Hej, czy ja nie bootowałem systemu z płyty? To teraz nagle odkrył, że nie może z niej czytać? Jeśli dodać do tego fakt, że przy poszukiwaniach sterownika mogę przeglądać sobie płyty, pendrive’y i zawartość dysku twardego to ktoś tu zmyśla.

Zacząłem poszukiwania internetowe dotyczące feralnego komunikatu. Jak się okazało nie byłem odosobnionym przypadkiem. Niektórzy sobie z tym poradzili i znalazłem kilka zaleceń how-to. Jedno z nich dotyczyło pogmerania przy ustawieniach RAID dla SATA w BIOSie. Niestety BIOS w moim laptopie (Acer Aspire 5610Z) pozwala jedynie zmienić kolejność bootowania…

Później ktoś poradził, aby zainstalować system z pendrive’a. Nagrałem więc obraz Win7 na 4GB patyk i zbootwałem z niego system. Podbudowała mnie szybkość bootowania ale dzięki niej o wiele prędzej dowiedziałem się, że nic to nie dało.

Kolejną poradą było załadowanie sterowników SATA z dysku lub pendrive’a. Próbowałem to na kilka sposobów i również się nie udało.

Ostatnia moja próba wynikająca już mojej własnej inwencji twórczej polegała na wymontowaniu napędu CD z laptopa. Jako, że nigdy tego nie robiłem to rozmontowałem wszystko co się dało, żeby odkryć, że wystarczyło wykręcić jedną śrubkę i po prostu napęd wyjąć. To było pouczające.

Tak czy inaczej – po wyjęciu napędu CD/DVD problem dotyczący sterowników nadal występował.

Spróbowałem zainstalować Windows Vista, który dostałem razem z laptopem i uruchomić z płyty instalator i po prostu zupgradować system z Visty do 7. To również nie dało efektu ponieważ 2 pliki DLL ( spwizeng.dll i wdscore.dll ) sprawiają problemy i nie daje się uruchomić instalacji pod Win Vista.

Wydaje mi się, że to nie jest dobry start dla Windowsa, aby przekonać mnie o swojej wyższości…

Jeśli ktoś ma jeszcze jakiś pomysł w jaki sposób można zmusić ten…. system do działania to proszę się nie ograniczać i napisać w komentarzach swoje przemyslenia.

Reklamy

Komentarz i odpowiedź

Przedytałem przed chwilą komentarz człowieka podpisującego sią przem997 w moim poscie na temat klawiszy multimedialnych w Acerze (https://moriturius.wordpress.com/2008/05/18/klawisze-multimedialne-acer-aspire-5610-i-ubuntu/#comments) i pozwolę sobie go tu zacytować i skomentować 🙂 [bo kto mi zabroni]

przem997:

dlatego zrezygnowalem z linuxa, jak cos chcesz zeby dzialal to musisz sie napracowac, nowych urzadzen nie obsluguje, a jak chcesz je obsluzyc to szukasz w necie godzinami, kompilujesz, swirujesz jak autor powyzej, i to ma dac satysfakcje? pewnie daje, ale po co odkrywac ameryke gdy ktos juz ją odkrył, w windows wszystko dziala 3 kliknieciami, nie skreslam linuxa ale czekam juz 5 rok i co jakis czas sprawdzam czy dogonil windowsa, niestety nadal nie

Właściwie to wszystko zależy od tego czego wymagasz od swojego systemu. Jestem gotów założyć się, że 99% użytkowników komputera miałoby głęboko w… poważaniu to z jakiego systemu korzysta i tak czy siak wszyscy byliby zadowoleni. Zwłaszcza ludzie, którzy nie widzieli Windows’a w ogóle na oczy bo wówczas nie byłoby problemów typu: „A gdzie ja mam kliknąć? W Windowsie było tu, a teraz to już nie potrafię pomyśleć i znaleźć!”.

Problem z systemem pojawia się dopiero kiedy ktoś chce grzebać w systemie i zmieniać go, a nie bardzo potrafi. Z własnego doświadczenia wiem, że ludzie wówczas nie są nastawieni na naukę, a jedynie na „chcę mieć tak”. Stąd pojawia się frustracja odnośnie niedziałającego czegośtam, a to najczęściej wynika ze zwykłej niewiedzy i nieznajomości systemu.

W moim przypadku poszukiwania godzinami, o których wspomina też przem997 również spowodowane były nieznajomością tematu. Wszystkiego się uczyłem na bieżąco i dlatego trwało to dłużej. Dzięki temu jednak wiem już jak działa jakaśtam część systemu i jak będę chciał coś zmienić albo skonfiguować to nie będę już musiał poświęcać na to tyle czasu.

Na sam koniec napiszę tylko, że po pewnym czasie obcowania z Linuxem wszelkie modyfikacje są przeprowadzane w odpowiednio krótkim czasie, a człowiek przestaje widzieć wszelkie różnice pomiędzy Linuxem a Windowsem.

Ostatnio instalowałem MPD wraz z phpMp (zarządza MPD przez HTTP)  i demona pbmpcd (serwer do zarządzania MPD z komórki przez bluetooth) i na koniec dorzuciłem Icecast aby dźwięk był streamowany przez sieć. Brzmi groźnie i pomimo tego, że nie miałem zielonego pojęcia o konfiguracji tychże poradziłem sobie z tym w miarę sprawnie. W tej chwili mogę sobie słuchać muzyki z mojego komputera gdziekolwiek jestem pod warunkiem, że tam gdzie jestem jest internet i odtwarzacz muzyki z obsługą strumieni (np. WinAMP). No i oczywiście mój komputer musi być włączony 🙂

Podsumowując: wszystko zależy od doświadczenia oraz stopnia zepsucia Windowsem. Mówię zepsucia ponieważ Windows (tak jak wiele rzeczy w dzisiejszym świecie zresztą) przez to, że da się w nim zrobić wszystko dwoma kliknięciami przyczynia się do zaniku mózgu lwiej części społeczeństwa. Efekt jest taki, że informatyk w firmie musi trłumaczyć pani Zosi, że drukarka powinna być włączona jeśli pani Zosia chce drukować.

Nie będę już nikogo przekonywał, że Linux jest lepszy, fajniejszy i ładniejszy. Kogo to obchodzi? Każdy ma prawo do własnego zdania tak jak Amerykanie do hamburgerów. Btw. dzisiaj w TV słyszałem, że co trzeci (o ile dobrze pamietam) dorosły Amerykanin ma konkretną nadwagę.

Ech, czuję, że mi się dostanie za tego posta i ludzie będą mnie gnębić i bluzgać…

Code::Blocks Tools

Jak każdy wie (przynajmniej niektórzy 😉 ) w Code::Blocks istnieje menu Tools. Do tej pory nie korzystałem z tego zbynio bo nie przychodziło mi do głowy cóż mogę tam wrzucić. Dzisiaj wpadłem na pomysł jak można wykorzystać ten feature (tak – wiem, że tego wyrazu nie lubią niektórzy z Warsztatu).

Otóż jak trzeba coś robić często i na dodatek pożera to więcej czasu niz powinno to zaczyna to być wkurzające. Taka jest również moja (w tym wypadku niezbyt smutna) historia. Chodzi o przejście do folderu projektu. W moim przypadku chciałem pozmieniać conieco w plikach graficznych itp. i za każdym razem musiałem wchodzić w kilka podfolderów dysku. Dziś postanowiłem powiedzieć takiej pracy stanowcze „NIE!” i sprawdzić czy da się wykorzystać te narzędzia Code::Blocks aby robiły to za mnie. Okazało się, że tak!

Na początku kliknąłem „Tools->Configure Tools”. W okienku nie było zbyt wielkiego wyboru: „Add”. W nowowyskoczonym, że tak to ujmę, okienku pojawiło się kilka pól tekstowych i lista zmiennych jakich można użyć. Fajnie – nie trzeba tego szukać w internecie albo helpie. Wpisałem nazwę dla tego „nadrzędzia”, następnie w polu Executable wpisałem explorer, a jako parametr: ${PROJECT_DIR}. Na końcu wystarczyło wybrać sposób uruchamiania i kliknąć OK.

Werble, klik, chwila niepewności, napięcie rośnie, udało się! Moim oczom ukazał się folder z projektem. Pozostaje pytanie – dlaczego nie wpadłem na to wcześniej?

Skryptowanie w EasyUO

Wstęp

Ten post troszkę odchodzi od tematyki programowania zwyłego. Mam nadzieję, że koledzy programiści nie zlinczują mnie za to 😉

Od dosc dlugiego juz czasu lubię sobie pograć w Ultimę Online. Tym, którzy grali kiedykolwiek nie trzeba tłumaczyć jakie nudne może być trenowanie postaci (koxanie 🙂 ). W celu ułatwienia gry sobie i przyszłym pokoleniom ludzie stworzyli całe megabajty programów automatyzujących pewne czynności. Powstały jakieś proste języki skryptowe dzięki, którym można „rozkazywać” postaci.

Najbardziej znanym i lubianym jest EasyUO. Niewątpliwie też najbardziej rozbudowanym. Daje to możliwość oskryptowania czynności od najprostszych (jak ścinanie drzewa, aż nie zetnie się całego) po tak złożone jak wyszukiwanie pobliskich drzew, podchodzenie do nich i ścinanie oraz przy okazji podjadanie czegoś jak postać zgłodnieje.

Jak to w każdym programowaniu – czytelność kodu jest priorytetem. Co mi po tym, że działa, skoro aby coś zmienić muszę szukać odpowiedniej linijki dobrych kilka minut.

Ubolewanie

Niestety. Większość graczy UO nie miała styczności z programowaniem, a nawet jeśli mieli w liceum trochę Pascala to tylko widać na jak niskim poziomie oscyluje poziom nauczania programowania w szkołach. Mam tu na myśli głównie polskę ale skrypty ludzi z innych krajów nie są o wiele lepsze… O dobrze napisane skrypty w internecie trudno, a przecież każdy serwer jest zupełnie inny i prawie zawsze trzeba dostosować skrypt do swoich potrzeb.

Oglądając skrypty co niektórych autorów przekonałem się dlaczego instrukcja goto jest tą-której-nazwy-nawet-się-nie-wymawia. Kod pociety przez kilka takich instrukcji na dodatek nie respektujący jakichś wcięć i nie mający jakiejś ładnej budowy czyta się makabrycznie. Problem w tym, że większość skryptów, które można znaleźć w internecie jest właśnie taka…

Wnioski

W ciągu wielu godzin spędzonych przed EasyUO celem napisania dobrego skryptu doszedłem do pewnego schematu, który powtarzam w większości skryptów. Czasem coś zmienię i obserwuję efekty.

Dobry skrypt powinien składać się z dwóch części:

  • ustawienia – tutaj użytkownik może ustawić sobie parametry sterujące skryptem. Część ta oczywiście nie jest obowiązkowa ponieważ nie zawsze jest co ustawiać 😉
  • pętla główna – tutaj dzieje się całe życie skryptu

Przy czym warto zaznaczyć, że pętla główna powinna być rzeczywiście pętlą, a nie dowodem na to jak bardzo nieczytelne jest goto.  Zazwyczaj pętla główna wygląda tak:

while #true
{
   ; czesc 1
   ; sprawdzanie stanu postaci itp.
   ; np. monitorowanie zdarzenia onhotkey
   ; lub też odczytywanie wartosci z menu

   ; czesc 2
   ; sprawdzanie czy aktualnie wykonywane zadanie
   ; zostalo juz zakonczone i jesli tak, to
   ; rozpoczecie wykonania od nowa
}

Zapewne w części drugiej po zakończeniu wykonywania jakiejś czynności znajdzie się jeszcze kawałek kodu odpowiedzialny za zjedzenie czegoś, bądź wywołanie umiejętności biernej (np. anatomia czy ukrywanie). Lub też oba. Nie można bowiem wykonać tych czynności podczas gdy postać już coś robi.

Ostatnio jeszcze tworzę sobie okienka do kontroli pracy skryptu za pomocą polecenia menu. Standardowo są to dwa przyciski – Pauza i Koniec. Nietrudno domyślić się do czego służą 🙂 W zależności od sktyptu dodaję też inne kontrolki.

Na koniec jeszcze powiem, że bardzo dobrą praktyką jest stosowanie funkcji (czy jak je tam nazwać 🙂  )deklarowanych za pomocą słowa kluczowego sub:

sub Hello
   event sysmessage Hello World!
return

gosub Hello ; uruchomienie funkcji

Koniec

No, ponarzekałem trochę. Mam nadzieję, że obejrzy to choć jedna osoba skryptująca w EasyUO i choć jednej osobie pomoże pisać skrypty przyjazne dla środowiska 🙂

Pomoc w zawładnięciu światem

Od kilku dobrych tygodni jestem szczęśliwym użytkownikiem systemu Ubuntu (najpierw werji 7.10,  a teraz już 8.04 LTS). Tutaj – jak w każdej dystrybucji Linux’a – komunikat o błędzie uruchomienia jakiegoś programu (który zdarza się i tak dość rzadko) motywuje do znalezienia tego błędu i wyeliminowania go. Po tej czynności czeka nas wieczna chwała, a jeśli nie chwała to chociaż satysfakcja… Nie muszę chyba mówić, że takiej satysfakcji często nie można mieć w systemie firmy z Redmond, w którym można co najwyżej zmienić tapetę 🙂

Odnośnie tematu postu – od jakiegoś czasu staram się przedstawiać moim znajomym różne zalety Ubuntu. Nie namawiam ich explicite do zmiany systemu, ale udało mi się w ten sposób nawrócić już kilka osób 🙂 W tym jedna z nich ma teraz u siebie na kompie tylko Linuxa – pozostałe testują sobie Ubuntu a pracują nadal na Winzgrozie. Pozostaje mi wierzyć, że kiedyś nawrócą się całkowicie 🙂

Osobą, która ma na dysku w tej chwili tylko Ubuntu jest moja młodsza siostra. Jako, że siostra nie zna się jeszcze na tym systemie, a tym bardziej na linii komend (zresztą na Windowsie też się za mocno nie zna :P) co chwilę wołała mnie aby coś ustawić – to zrozumiałe, bo system trzeba sobie dostosować. Nie widziało mi się jednak łażenie do niej i ustawianie tam wszystkiego choćby dlatego, że ma niewygodne krzesło 😛

Postanowiłem więc administrować nim zdalnie. Okazało się to być bajecznie proste. Wystarczyło na komputerze siostry stworzyć dla mnie konto administratora i zainstalować tam serwer SSH. Dodatkowo w konfiguracji klienta (u mnie) i serwera (u siostry) SHH włączyć opcję X11Forwarding. Tym chytrym sposobem mogę się zalogować na komputer mojej siostry odpalić u niej np. komendę:

sudo gedit /etc/fstab

Po chwili pokazuje się u mnie okienko GEdita z zawartością pliku /etc/fstab z komputera mojej siostry. Takie rozwiązanie ma również tę zaletę, że moja siostra nie musi przerywać swojej pracy przy komputerze.

Nie wszystko jednak wiąże się z ustawieniami całego komputera – czasem trzeba zmienić coś w środowisku graficznym, a najłatwiej zrobić to po prostu wyklikując odpowiednie opcje. No tak, ale żeby wyklikać to najpierw trzeba być przy tamtym komputerze, prawda? Nie, nieprawda.

Tutaj z pomocą przyszedł mi program vncviewer, który był już zainstalowany na dysku. Przypuszczam, że każdy spotkał się już z tym programem więc nie będę opisywał co robi ale dla niezorientowanych powiem krótko, że dzięki niemu mogę u siebie na komputerze uruchomić w okienku podgląd pulpitu z innego komputera. Właściwie to nie tylko podgląd – mogę również przekazywać do niego wejście klawiatury oraz myszy.

Takie narzędzia istnieją także dla Windows i właściwie nazywają się tak samo – VNC Serwer i VNC Viewer. Wadą tych narzędzi jest to, że osoba, która prosi nas o pomoc musi przestać pracować u siebie.

Tak czy inaczej zabawa z większa ilością Pingwinów w domu jest pouczająca i wciągająca 🙂 Polecam każdemu na długie nudne wieczory (na te nie-nudne też).

Żyję!

Aktualnie miałem tylko sporo zaliczeń i innych rzeczy i nie miałem czasu ani siedzieć nad kodem ani na forum ani wymyślać postów ^^

Wczoraj miałem pierwszy egzamin – Wstęp do Informatyki… Jak tak popatrzyłem na zadania i porównałem je z zadaniami z egzaminu zeszłorocznego to ciężko było nie zauważyć znaczącego spadku poziomu trudności ^^

Najciekawsze było zadanie z dowodzenia poprawności algorytmów 😉 Polegało na „wymyśleniu” i zapisaniu algorytmu do zamiany dwóch wartości miejscami w tablicy. Później trzeba było wyznaczyć warunek końcowy (Q) i w końcu udowodnić te całe 3 instrukcje przypisania 😀

Dzisiaj jeszcze jedno koło i troszkę wolnego aż do egzaminu z Elementów Logiki i Teorii Mnogości. Niestety nie obiecuję, że poświęcę ten czas na kodowanie ponieważ będę go prawdopodobnie spędzał z moim słońcem ^^

Reasumując: idę zjeść śniadanie.

Co potrafi AGE?

Stworzyłem podstronę zawierającą informacje o ważniejszych umiejętnościach AGE: https://moriturius.wordpress.com/age/
Oczywiście nie jest to spis wszystkich rzeczy jakie tam wklepałem kiedyś pewnie wrzucę tutaj dokumentację i będzie można sobie pooglądać co tam natworzyłem jednak póki co musicie się zadowolić tym 😉

Jeśli macie jakieś uwagi czy może macie pomysł na to co jeszcze by się przydało to napiszcie ^^