Asm
Napisałem dziś pierwszy w życiu program w assemblerze. Dla 8051 akurat, bo takie coś teraz laboratoriujemy, jest niezmiernie zaawansowany i jest rozwinięciem tego, co zrobić na laboratorium powinienem.
Program piskami symuluje takie coś w szpitalu, wiecie, robi tak [pip] [pip] [pip] szybko i ciągłe [piiiiii] jak pacjent umarł :-)
; Symulacja umierania :-)
ACT EQU P1.5 ; 1.5 - będziemy pipczeć
LJMP START
ORG 100H
START:
CLR ACT ; pipczemy albo świecimy
MOV R0,#18 ; ilość powtórzeń pętli
LOOP:
MOV A,#1 ; ustawianie czasu trwania pauzy
LCALL DELAY_100MS ; pauza
CPL ACT ; wyłączamy
DJNZ R0,LOOP ; pętla
CLR ACT ; ciągły pisk (umarł! :-))
LJMP $ ; i zapętlamy się!
Notabene to DJNZ i rejestrów poza akumulatorem to ja nie powinienem umieć ;-)
Do zapamiętania
bash standardowo sobie z liczbami zmiennoprzecinkowymi nie radzi, potrzeba mu bc. A potem działają już takie rzeczy jak przykładowo:
[ktos@avril ~]$ echo 20/19 | bc -l
1.05263157894736842105
RocketDock
Podpatrzywszy u Piotrka (przypadkiem, bo screen wrzucił z kimś dyskutując o Konnekcie ;-)) takie fajne coś na górze jego pulpitu zapytałem się cóż to jest i usłyszałem o RocketDock.
Zabawka ta jest podobna do tego, co użytkownicy MacOS X mają w standardzie, w sumie nie dziwne, że i inni chcą mieć, jest fajna, pozbyłem się ikon z pulpitu (i QuickLaunch) w większości przerzucając je na docka, pogrzebałem w ustawieniach, dostosowałem jak trzeba, między innymi zmieniając aby zapisywało dane w pliku INI, bo łatwiej jest wtedy ustawienia przenosić, a ja szykuję się do przejścia w końcu na wersję finalną Visty. I to był błąd się okazało przy konieczności restartu komputera.
Po ponownym uruchomieniu zobaczyłem RocketDocka w takim samym stanie jak po pierwszym "przypadkowym" zamknięciu. "WTF?!" w myślach szybko zmieniło się, w "[piip]!". Wiecie dlaczego tak się stało? Pierwsze uruchomienie było tuż z instalatora, a zatem na prawach administratora. Po przypadkowym zamknięciu tamte dane zostały zapisane, ale następne, po uruchomieniu na prawach moich, już nie. Dlaczego? Ano dlatego, że mimo iż program podobno z Vistą współpracuje z jakimiś dodatkowymi ficzerami, których nie używam, o tyle stosuje złą praktykę zapisu pliku INI swojego w katalogu własnym. Pal licho to, że powoduje to, że ustawienia są globalne dla każdego użytkownika komputera, gorzej, że praw do zapisu do swojego pliku INI ten program nie ma, ale w żaden sposób tego nie sygnalizuje (prawie jak Gadu-Gadu, które nie zapisywało archiwum i listy kontaktów w podobnej sytuacji). Wyjściem okazało się nadanie plikowi INI prawa do zapisu i modyfikacji przez mojego użytkownika. Chciałem zgłosić bug reporta, ale widzę, że opcja ta jest ogólnie dla środowisk typu Portable - i tam faktycznie zapisywanie w katalogu programu jest pożądane, więc dam sobie spokój. I faktycznie w angielskiej wersji jest "Portable INI File", więc można by się było domyślić. Można też (zamiast nadawać prawa) skasować plik INI, ustawienia wtedy będą zapisywane gdzieś indziej (rejestr?) i już per-user.
No cóż, mi teraz już program działa tak jak ja chcę, ale ciekawy jestem ilu użytkowników by się na tym przejechało. A może by nie zmieniali tego ustawienia normalni ludzie? :-)
A zatem mój desktop ma mniej ikon, za to pasek na górze.
Przyszło
A do mnie przyszły jakieś zarazki i już drugi raz w tym roku leżę, zdycham, pociągam nosem i łzawią mi oczy. Ech.
Cytaty
Jeśli kręcą Was półnagie, uzbrojone po zęby i demoniczne kobiety (...)
Hmm. Czemu nie? :-)
Oczywiście w cytacie wyżej chodziło o grę. Bodaj Bullet Witch czy jakoś tak, ale mimo iż z pierwszym zdaniem się zgadzam, to nie zagram, jako że Xbox360 only.
Zbyt restrykcyjny
No chciałem przetestować możliwości podobno najlepszej (najlepszej polskiej? nie jestem teraz pewien) napisanej w PHP księgi gości. Po ściągnięciu obejrzałem sobie trochę kodu, załamałem się (ale jednocześnie jestem pełen podziwu - trudno jest napisać tak skomplikowany kod i cokolwiek z nim robić bez komentarzy i wcięć - niektórzy lubią sobie życie utrudniać) i nadszedł czas na pierwsze uruchomienie. I co ujrzałem u siebie na lokalnym serwerze? Ano pustą stronę.
CJK? zabrzmiało w myśli i sięgnąłem do opcji "Pokaż źródło". I zrozumiałem natychmiast gdy zobaczyłem kod.
<?
// [ciach, nazwy ujawniać nie będziemy]
include("kgengine/kg.php");
?>
Short open tags. Kiedyś już na nie narzekałem przy innym darmowym skrypcie, tylko że tamten był przedhistoryczny, a ten jest z zeszłego miesiąca.
Zaczynam coraz bardziej przekonywać się, że mam zbyt nowoczesny lokalny serwer, PHP i konfigurację PHP zbyt ostrą dla popularnych skryptów. No, ale chociaż MySQL mam stare, bo 4.1...
Zdalna autodestrukcja
Posiadacz urządzenia wyposażonego w Windows Mobile 6 będzie mógł np. zdalnie wykasować dane zapisane na jego dysku czy w pamięci flash dane (ta opcja będzie przydatna w przypadku kradzieży czy zgubienia urządzenia).
Znając Microsoft i ich bezpieczeństwo to nie tylko właściciel będzie mógł taką zdalną autodestrukcję wykonać. Choć pomysł niegłupi, trzeba przyznać.
Podstawy florystyki, ziom!
[18:30:33] <x> teraz slysze, ze czerwone roze sa banalne
[18:30:35] <x> ; )
[18:30:39] <x> docenia widac
[18:30:58] <Ktos> a to jest jasne! ja na przykład kupuję białe, żółte i pomarańczowe :P
[18:31:18] <x> zolte to zdrada
[18:31:21] <x> biale to niewinnosc
[18:31:23] <x> czy cos w ten desen
[18:31:30] <x> w znaczeniu, ze nie masz zadnych zamiarow
[18:31:31] <Ktos> stereotypy!
[18:31:33] <x> pomaranczowe - nie wiem
[18:31:37] <x> nie stereotypy
[18:31:41] <x> podstawy florystyki
[18:31:42] <x> ziom
Ataraid
W nawiązaniu do poprzedniego wpisu na temat serwera - dzisiaj kolejna próba uruchomienia RAID na tym naszym Linuksie zakończyła się znów niepowodzeniem. Ale teraz już mniej więcej wiemy czemu.
Otóż obsługa ataraid do spółki z naszym kontrolerem PDC20265 jest dostępna tylko w jądrach 2.4.x. W 2.6 się tego wyzbyli i się 2.6 jeszcze (sic!) nie dorobiło. Stąd też null, zero i raida nie ma, zostaje na razie tylko soft-raid, który średnio zadowala mnie, albo jądro 2.4. Do czego też nie jestem przekonany. Swoją drogą dziś była pierwsza moja, a druga Adama kompilacja jądra i ciut za dużo wwaliliśmy rzeczy, bo było ze 4-5 razy większe, od tego co ten system ma świeżo po instalacji. Tak, za duże było według lilo, nie ma to jak mikrokernel ;-)
A teraz pod koniec to nawet się z bliżej nieznanych powodów system nie może odwołać do /dev/hde, a do /dev/hdf nie ma problemu. Nie wiem czemu, nie mam zielonego pojęcia, głupie to jest jakieś.
Notabene okazuje się, ze ten nasz kontroler, który był jednym z ważnych czynników odpowiadających za tą płytę główną to on jest takim soft-hard-raidem. Znaczy sterowniki robią wiele rzeczy, a sterowniki są... do RedHata 7.2. Ciut stare. I tak się zdziwiłem że są, ale to inna sprawa. Spodziewałem się tylko czegoś do Windows i tyle, a tu producent nawet się postarał. A że nowszych nie ma, to ja przy dacie tamtych, chyba z 2002 roku, mogę zrozumieć. O tyle jednak braku ataraid w jądrze 2.6 nie rozumiem. Niepotrzebne? Wszyscy teraz na SATA RAID robią, czy jak? A może soft-raid i tyle?
Obawiam się, że znów mdadm -C /dev/hde1 /dev/hfd1 --raid-level=1 mnie czeka.
Nadszedł czas
Nowy szablon od jakiegoś czasu można było zobaczyć na stronie głównej. Teraz znalazł się na Joggu, a "Notatki" są w następnej kolejności. CTRL+F5 chyba nie jest wymagane, ale może się przydać.
Jakie wrażenia, jakie błędy, jakie niedociągnięcia? Od razu jednak powiem, że pojawiający się od czasu do czasu w linkach kolor oliwkowy nie był zamierzony, aczkolwiek całkiem nieźle wyszedł przypadkiem ;-) I zadam też główne pytanie - czy archiwa i kategorie powinny być, tak jak to było poprzednio, zwijane i rozwijane? Bo obecnie jest to trochę długie i mnie zastanawia sensowność tak długich list.
Minibloga nie ma, raczej nie będzie. Pole do komentarzy mam nadzieję wszędzie wygląda jak powinno, pod Operą jednakże nie testowałem, a u niezalogowanych kod się rozłazi strasznie i nie mam pomysłu co z tym zrobić. Ręcznie tworzyć całego formularza średnio mi się chce, wolę jeden znacznik Joggera ;-)
A ja myślałem, że najgorsze już za mną
Jak wspominałem, dorobiliśmy się prywatnego serwera. Jako, że Adam wyjechał do Poznania chyba pomóc bratu, to ja zostałem z maszyną sam na sam, próbując na niej zainstalować Linuksa. I wczoraj, po różnych dziwnych kombinacjach, PLD Ac osiągnęło pierwszy raz runlevel 3. O już tak nawiasem mam pytanie - jak nakazać programowi aby szukał swoich .so we wskazanym przeze mnie katalogu? Do $PATH się tego nie dodaje, to już wiem, a problem rozwiązałem innym sposobem, ale nadal jestem ciekawy.
Do rzeczy. Nasz serwer posiada układ obsługujący RAID na ATA, co było jednym z ważniejszych elementów które zadecydowały o tej płycie głównej (oprócz dwóch gniazd na S370 rzecz jasna). I trzeba ten RAID, a dokładniej mirroring, na nim uaktywnić. Na szczęście układ obsługujacy macierz jest popularny, w Internecie znalazłem odpowiednie howto... ale dotyczy ono jądra 2.2. A ja mam 2.6. Zadziała? Przekonamy się :-)
[root@leia ~]# lspci | grep RAID
00:0c.0 RAID bus controller: Promise Technology, Inc. PDC20265 (FastTrak100 Lite/Ultra100) (rev 02)
Jednak oprócz tego, że howto jest dla prehistorycznego RedHat 7.3 (znalazłem też wersję dla Mandrake 8.2 z jądrem 2.4.18, więc powinno być lepiej) to wymaga rekompilacji jądra. Czyli tego, co miałem zrobić kiedyś, a jak dotąd - nigdy tego nie robiłem. I tak, jeden z moich pierwszych kontaktów z Linuksem i już muszę bardzo lubianą przez wszystkich rzecz uprawiać, nie ma to jak prosty system. Wiem, sam się prosiłem ;-) Choć może lepiej zanim zacznę to poczekam, aż Dot wróci, on chociaż sie coś niecoś na tych systemach zna, a nie tak jak ja...
Wracając jednak o co chodziło z dziwnymi kombinacjami. Automagiczny instalator PLD (który notabene ma genialne teksty i bardzo go za to lubię ;-)) uparcie twierdził, że mój główny dysk to /dev/hde, choć jest do master podłączony. A przy starcie system wykrywał go jako /dev/hda i /dev/hde w ogóle nie istniało, co za tym idzie powodowało kernel panic. Wot, technika. Edycja lilo.conf i fstab spod ubuntu live i zadziałało. I naprawdę ja się dziwię sobie. Kiedyś to bym nie wiedział co zrobić, obecnie omijam różne dziwne zawiłości, wiem mniej więcej gdzie leżą pliki, które trzeba przeedytować... No i umiem omijać dziwne zachowania automagicznego instalatora wspomnianego PLD z MINI-ISO (dotyczące konfiguracji sieci).
Swoją drogą to te edycje plików konfiguracyjnych weszły mi na tyle w krew, że kiedyś zdarzyło mi się edytować konfigurację sterowników Bluetooth pod Windows aby zmusić odbiornik do działania. Zaczęło działać prawie poprawnie, wykrywało, ale nie umiało uruchomić. A powinno działać, na szczęście jednak nic nie uszkodziłem ;-)
Jak tak dalej pójdzie to chyba może kiedyś Jess ujrzy na swoim dysku Linuksa... O ile znajdę dla niego miejsce.
PS.
Now, build and install the kernel like you normally do (...)
Za takie coś to normalny użytkownik porzuciłby to czym prędzej w cholerę ;-)
O składaniu serwera. Tragikomedia w trzech aktach.
Dziś uruchomiony po raz pierwszy został nasz, to jest mój i Adama serwer, który w przyszłości ma być super-ekstra maszyną, która za zadanie będzie miała uciągnąć ktos.info, pilorz.net, winmyths.pl i wszystko co obecnie na pewnym serwerze hostingowym stoi. A do tego dodać, to co było na pewnej innej mojej maszynie, czyli serwer CVS i pewnie jabberd i setkę innych rzeczy. A dzisiejsze składanie tego komputera to nowa dziedzina w składaniu komputerów, którą nazwałem "extreme computing" ;-) Niestety dokumentacja fotograficzna wskazuje tylko ostatni etap prac.
Czas i miejsce akcji: mieszkanie Ktosia, 2 lutego 2007, godzina 13:35.
Akt pierwszy: Genesis
Adam przynosi płytę główną, zakupioną na Allegro. Jest to MSI 694D PRO RAID na dwa gniazda PGA370, z czterema kanałami IDE, czterema złączami na SDRAM, po prostu cudo dla serwerów albo stacji roboczych dużej mocy. Oczywiście parę lat temu ;-) Płyta zostaje zamontowana na blacie obudowy, zanim zostaje włożona jednak podłączona zostaje do zasilania ściągniętego uprzednio z góry szafy Ktosia, podłączone zostają przycisk zasilania, pc speaker z obudowy, włożona karta graficzna, pamięć RAM przyniesiona przez Dota (512 MB), włożone zostają dwa procesory Celeron 600. Włączenie... i nic. Płyta testowa, która dotychczas była w tej samej obudowie, po podłaczeniu zasilania - nic. Zatem zasilacz wymieniony zostaje na inny. Płyta dostaje napięcie, wentylatory się kręcą... i nic. Pierwsze podejrzenie - pamięć. Jej wyjęcie powinno powodować piski - nic. Drugie podejrzenie - pc speaker. Odwrotne podłączanie, zabawy, grzebanie - nic. W końcu, aby zwiększyć ilość miejsca, Ktos sięga do swojej szafy, z której sięga po oddzielny od obudowy power switch i pc speaker. Komputer leży na dywanie, zasilacz obok płyty, następuje grzebanie w poszukiwaniu dlaczego nie działa. Wymiana procesorów w tak nieznanych mi już proporcjach powoduje jednak upragniony pisk braku pamięci.
Akt drugi: Procesory i pamięci
W końcu start, upragniony tak... jednak jedyne co udaje się uzyskać, to wykrycie JEDNEGO procesora, gdy włożone są dwa. Po długich męczarniach ujawnia się fakt, że na 3 posiadane przez Ktosia procesory, dwa są uszkodzone... Potem następuje proces upamięciowania serwera. Aby zbadać pojemność posiadanych przez Ktosia kości należy włożyć, zobaczyć co wykryje, wyłączyć. I tak dla 5 posiadanych. W końcu serwer otrzymuje 512 MB + 3x64 MB.
Akt trzeci: Uruchomienie systemu
W międzyczasie tak zwanym nastąpiło jeszcze bawienie się rozbudowanym BIOS-em, próby konfiguracji macierzy RAID w sprzętowym kontrolerze i wiele innych rzeczy. W końcu system operacyjny PLD Linux, z poprzedniego komputera, na dysku twardym, podłączonym teraz do nowego serwera, uruchomił się, wydając piękny komunikat "Kernel panic". Dla nas i tak miłe było, że działa, że wystartowało, że nic się nie wysypało. Tak wyglądał szczytowy moment:
Potem komputer znalazł się w obudowie, obecnie na stworzonej macierzy RAID okazuje się że jeden z dysków padł, zainstalowany świeżo system się nie bootuje i w ogóle są problemy, ale będzie dobrze.
Nigdy jednego dnia nie włączałem tyle razy komputera. Nigdy nie miałem tylu komputerowych części w pokoju naraz. Nigdy nie spodziewałem się, że przycisk do właczania komputera ze starej obudowy do czegokolwiek mi się przyda.
I czy to prawda, że normalni ludzie nie trzymają 5 procesorów w pudełku? Bo ja trzymam, ale okazuje się, że dwa są uszkodzone...
Pomysł głupi jak zawsze
Fuck, miałem napisany wpis, przypadkiem klikłem nie to co trzeba, i się skasowało. Niemniej jednak miało być znów o horoskopach. Tym razem trafiłem na jakiś miesięczny, gdzie "Sekstyl Neptuna zapowiada powodzenie w miłości.". I mam wrażenie, że w zeszłym miesiącu też było coś takiego. NIe pamiętam czy akurat sekstyl Neptuna, ale powodzenie w miłości na pewno...
Samotne Strzelce nawiążą w tym miesiącu wiele ciekawych znajomości, które mogą potrwać dłużej, niż wszyscy będą się spodziewać. Szczęście w miłości sprzyjać ci będzie w środkach komunikacji miejskiej, podczas robienia zakupów czy na wykładach lub kursach. Rozejrzyj się dookoła, może w sąsiedztwie przybył właśnie ktoś interesujący i samotny?
Zaznaczony fragment czytelny jest tylko dla niektórych, którzy kojarzą moje dziwne znajomości. Ale mniejsza o niego.
Chodzi o to, że jakiś czas temu założyłem, że gdy będę się musiał uczyć z okazji sesji, to jak zwykle zajmę się czymś głupim. Tym razem - napiszę "Generator Horoskopów" :-). Potem będzie go można sprzedać jakiejś gazecie w rodzaju "Pani domu", taniej im to wyjdzie niż umowa z jakimiś astrologami. Skąd taki idiotyczny pomysł? Rano, czytając bezpłatne "Metro" ja i kolega porównujemy swoje horoskopy. I co jakiś czas albo pisze to samo, albo się powtarzają całe frazy... Jak nic generator się psuje ;-) Więc, dlaczego by nie napisać własnego?
