Skocz do…

New C features proposal

Powrót do „Skocz do”

As the committee gathered to discuss how the new C standard will look like I did some thinking of my own. I thought about features that I would love to see in C. I even collected thoughts of my twisted mind and condensed them into a text file.

What is outrageous is that since I believe information and ideas want to be free and shared I have decided to post my concepts on the net instead of imprisoning them in my wicked brain.

Maybe someone will find it useful somehow. Maybe even some committee member will read those and bring them out on the next meeting.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

Synchronizacja w jądrze Linux

Powrót do „Skocz do”

Prezentacja z seminarium dyplomowego na temat mechanizmów synchronizacji w jądrze Linux. Pokrótce przedstawia bariery pamięci, zmienne atomowe, semafory, spinlocki itp.

Komentuj…

W kategoriach:

Słowa kluczowe:

Dni Wolnego Oprogramowania

Powrót do „Skocz do”

UPDATE: Od jakiegoś czasu, dostępne jest nagranie z prelekcji. Nagrania z innych wykładów wraz z dodatkowymi materiałami dostępne są w archiwum Dni.

UPDATE: Dni ciągle jeszcze trwają, acz moja prelekcja już się odbyła, w związku z czym umieszczam nowszą, a tym samym poprawioną wersję prezentacji wraz z pełnymi kodami źródłowymi.

Niektóry wiedzą, inni właśnie się dowiedzą, iż w przyszły piątek (5 marca) ruszają III Dni Wolnego Oprogramowania w Bielsku-Białej. Będę miał przyjemność nie tylko bycia na tej imprezie, ale również aktywnego uczestnictwa. Dla wszelkich osób zainteresowanych udostępniam wersję alfa prezentacji, którą będę przedstawiał. Po zakończeniu wystawię wersję finalną wraz ze wszystkimi kodami źródłowymi.

Komentuj…

W kategoriach:

Słowa kluczowe:

NTP over HTTP

Powrót do „Skocz do”

Sitting in a dark office, after swearing for hours at ATI video cards I noticed time on my PC was incorrect. “No problem” I thought as I started typing ntpdate but before finishing I realised that our beloved IT department had blocked most of the Internet. Checking the time on a watch or a mobile phone was not an option – I have neither – nor was looking at GKrellM on another PC – that's just lame.

“I wish there was a NTP-over-HTTP protocol” I dreamed sighting. And then, a few curses on the IT department later, I came up with an idea…

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

Total Control Exchange (No Caps Lock)

Powrót do „Skocz do”

Have you ever wondered why Caps Lock, a key you press twice a decade (once to turn it on and then to turn it off), is in such a lucrative position on the keyboard? And how about Ctrl? Compared to Caps Lock it seems like miles away. If you think about it old unix keyboards with those keys swapped seem to got it right.

I've gone one step further and recommend turning Caps Lock into Ctrl key altogether. In this article I will describe how to do that in various systems and platforms. But lets start with some propaganda.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

x86_64, wrażenia

Powrót do „Skocz do”

64 bitowe procesory x86_64, x64, amd64, intel64, czy jak je tam chcemy zwać, zdobywają coraz większą popularność. Jest również coraz więcej systemów operacyjnych wykorzystujących ich potencjalne możliwości. Nareszcie pozbyliśmy się problemu przekręcenie licznika w 2038! Nareszcie możemy zaadresować 1 TiB fizycznej pamięci (to, że nasza płyta główna obsługuje 3 GiB, a jak mamy szczęście 3,5 GiB to już szczegół). Nareszcie mamy 48 bitową (tj. 256TiB) logiczną przestrzeń adresową! Do tego dochodzi lepsza obsługa instrukcji SIMD, więcej rejestrów, 64 bitowa arytmetyka itp.

Rzecz jasna nie ma nic za darmo. Za te udogodnienia musimy płacić i bynajmniej nie chodzi mi o pieniądze, bo to raczej najmniej istotne – istotniejszą kwestią jest większe zużycie pamięci z powodu użycia ośmiobajtowych wskaźników, czy wyrównania stosu do ośmiu bajtów nawet jeżeli zrzucamy na niego liczbę 32-bitową. Do tego dochodzi jeszcze bardziej skomplikowany, a przez to wolniejszy, proces tłumaczenia adresów logicznych na adresy fizyczne.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

Sieci Komputerowe

Powrót do „Skocz do”

Ponownie coś z serii „ja juz zaliczyłem na 5,0, a może komuś się przyda”. Odpowiedzi na pytania przygotowawcze przed kolokwium z przedmiotu Sieci komputerowe II. Jak w przypadku poprzedneigo wpisu, plik ten największą wartość ma dla studentów Elektroniki Politechniki Warszawskiej, ale może też ktoś inny będzie miał ochotę przejrzeć.

Komentuj…

W kategoriach:

Słowa kluczowe:

Systemy Operacyjne

Powrót do „Skocz do”

Coś z serii „ja już zaliczyłem na 5.0, a może komuś się przyda”, czyli przygotowany przeze mnie plik z odpowiedziami na pytania przygotowawcze do egzaminu z przedmiotu Systemy operacyjne. Zapewne największa wartość mają one dla studentów Elektroniki Politechniki Warszawskiej, niemniej jednak może ktoś się tym zainteresuje.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

ARP ping

Powrót do „Skocz do”

Czas jakiś temu zainstała u mnie potrzeba sprawdzenia, na komputerze bez przydzielonego adresu sieciowego, czy komputer o danym adresie istnieje. Chciałem mianowicie, zależnie od wyników sprawdzenia skonfigurować sieć statycznie lub dynamicznie. Stosunkowo szybko doszedłem do wniosku, iż szczególną uwagę należy zwrócić na protokół ARP.

W protokole Ethernet urządzenia są rozpoznawane za pomocą adresów MAC, a więc, aby móc wysłać pakiet do komputera o danym IP należy najpierw poznać jego adres sprzętowy. Do tego właśnie służy protokół ARP (gwoli ścisłości, może on być wykorzystany również przy innych protokołach warstwy drugiej i trzeciej).

Jak to działa? Pierwsza strona rozsyła do wszystkich (na adres broadcast, tj. FF:FF:FF:FF:FF:FF) zapytanie, wypełniając swój adres IPMAC oraz adres IP, o który chce się zapytać. W odpowiedzi, druga strona wysyła ramkę ze oboma adresami swoimi i komputera wysyłającego pytanie.

Nie każdy zdaje sobie sprawę, iż protokół ten można wykorzystywać nawet jeżeli nie ma się swojego adresu sieciowego–wówczas w odpowiednie pole wpisujemy same zera. W niczym to nie przeszkadza–w żadnym momencie protokół warstwy trzeciej nie jest wszak wykorzystywany.

Warto wspomnieć, iż mechanizm ten jest wykorzystywany przez klientów DHCP, do sprawdzania (na wszelki wypadek), czy adres im nadany jest faktycznie wolny–nazywa się to Adress Conflict Detection.

Dla zainteresowanych aplikacja, która próbuje wykryć adres sprzętowy urządzenia o podanym adresie sieciowym.

Komentuj…

W kategoriach:

Słowa kluczowe:

Bezpieczeństwo logowania

Powrót do „Skocz do”

czyli czemu OpenID jest trzy razy mniej bezpieczny od zwykłego hasła.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

« poprzednie