Prime numbers less than 100

Posted by Michał ‘mina86’ Nazarewicz on 12th of December 2010

Anyone working in a major company 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; not that I can see how that would help).

By the way, if you’re interested in how this challenge looks solved in Rust, I’ve described that as well.

0 is ambiguous

Posted by Michał ‘mina86’ Nazarewicz on 24th of October 2010

It has been a long time since my last entry, so 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++.

Synchronizacja w jądrze Linux

Posted by Michał ‘mina86’ Nazarewicz on 3rd of April 2010

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

Dni Wolnego Oprogramowania

Posted by Michał ‘mina86’ Nazarewicz on 25th of February 2010

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.

Python, wrażenia

Posted by Michał ‘mina86’ Nazarewicz on 31st of January 2010

Niedawno miałem okazję stworzyć trochę kodu w Pythonie. Popisałem sobie w nim kilka dni i muszę przyznać… język jest tragiczny, zastanowię się kilka razy zanim po raz kolejny go użyję.

Wpis ten dedykuję pewnej osobie, która ciągle mi przypomina, abym pisał nowe wpisy. :)

NTP over HTTP

Posted by Michał ‘mina86’ Nazarewicz on 16th of January 2010

Sitting in a dark office, after swearing for hours at ATI video cards I noticed time on my computer was incorrect. ‘No problem,’ I thought as I started typing ntpdate. That’s where it struck me 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 had neither — nor was looking at GKrellM on another PC — that’s lame.

‘I wish there was a NTP-over-HTTP protocol’ I sighed. And then I realised there was…

Total Control Exchange (No Caps Lock)

Posted by Michał ‘mina86’ Nazarewicz on 11th of October 2009

Have you ever wondered why Caps Lock, a key you press twice a decade (once to turn it on by accident and then to turn it off), is in such a lucrative position on the keyboard? And what about Ctrl? It’s miles away compared to Caps Lock. 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.

tabbed, urxvt extension

Posted by Michał ‘mina86’ Nazarewicz on 16th of May 2009

Some time ago, I’ve modified the tabbed rxvt-unicode extension adding a few useful features. Somehow upstream did not want it while people started modifying the extension even more and so tabbedex fork came to be. The code can be browsed on GitHub or cloned from git://github.com/mina86/urxvt-tabbedex.git

tabbedex carries a lot of changes and it would be futile to try and list them all here especially as the list would likely become out of date soon. Because of that, I recommend taking a look at the source code, which has, at the very beginning, a comment with a list of changes made.

Treasure Hunt w Prologu

Posted by Michał ‘mina86’ Nazarewicz on 17th of January 2009

W poprzednim wpisie pisałem o Google Treasure Hunt, a w szczególności o zadaniu czwartym. Teraz, w ramach przygotowań do kolokwióm z języka Prolog postanowiłem napisać w nim rozwiązanie postawionego problemu:

Czcionki a kwestia tłumaczeń

Posted by Michał ‘mina86’ Nazarewicz on 10th of January 2009

Jakiś czas temu natknąłem się na artykuł opisujący własności wyświetlanego na monitorze tekstu i konsekwencje niskich rozdzielczości. Znalazła się tam również bezmyślna propaganda na rzecz słowa „font”, o której chciałbym pokrótce napisać.

Autor uzasadniał, iż „czcionka” to pojedyncza litera, z której składało się całe strony i ma się nijak do tego czym są obiekty stosowane w komputerze. Zarzucał nieudolność tłumaczom, którzy z braku wiedzy zastosowali złe określenie.

Pragnę jednak wszystkich zachęcić, aby słowa „font” nie używać! Jest ono okropne! Jako ordynarne ściągnięcie z angielskiego brzmi dziwacznie.

Tymczasem zarzucanie, że „czcionka” jest nazwą niewłaściwą, to jak zarzucanie, że nazwa „plik” nie powinna być używana, bo już od dawna dane nie są przechowywane w postaci plików kartek. W kontekście informatycznym istnieje wiele słów, których znaczenie jest odległe od jego znaczenia w innych kontekstach i dlatego nic nie stoi na przeszkodzi, aby stosować nazwę „czcionka”!

Do tego wszystkich Czytelników gorąco zachęcam, a osoby zajmujące się składaniem tekstu niechaj zostawią kwestie językowe językoznawcom.