Skocz do…

Null: The never-ending story

Powrót do „Skocz do”

I have already mentioned some problems with the null pointer but my recent discovery knocked my socks off.

By now, it should come with no surprise to anyone that 0 in pointer context acts as a null pointer (no matter of its actual representation). Moreover, it takes only a tiny bit of experimenting to figure out that expressions like (int)0 do as well. The latter is in itself a bit of a pita but it is conforming to the C++ standard which says:

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

Prime numbers less than 100

Powrót do „Skocz do”

Anyone working in a big corporation must have been hit by some “funny” mail from a coworker that helps everyone gets through the day. No different at my office – at one point all engineers have been challenged to write the shortest code in C that prints all prime numbers (and only prime numbers) less than a hundred each on separate line.

This is an interesting brain-teaser so posting it here so others may choose to think about it while their code's compiling.

Of course, a “C program” needs not to be taken too seriously – depending on not too far fetched undefined behaviours of given implementation is all right (but please do not use system() or exec() family of calls ;) ).

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

0 is ambiguous

Powrót do „Skocz do”

It has been a long time since my last entry. In fact, it was so long, that this condition has already been pointed out pushing me into finally writing something. Inspired by Adriaan de Groot's entry, I decided to write something about 0, NULL and upcoming nullptr.

I will try to be informative and explain what the whole buzz is about and then give my opinion about nullptr. Let us first inspect how a null pointer can be donated in C and C++.

Czytaj dalej…

W kategoriach:

Słowa kluczowe:

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:

« poprzednie