Generating random reals

Michał ‘mina86’ Nazarewicz | 26 grudnia 2016

A well known way of generating random floating point numbers in the presence of a pseudo-random number generator (PRNG) is to divide output of the latter by one plus its maximum possible return value.

extern uint64_t random_uint64(void);

double random_double(void) {
	return random_uint64() / (UINT64_MAX + 1.0);
}

This method is simple, effective, inefficient and wrong on a few levels.

Czytaj dalej »

Poradnik wyboru prezentów

Michał ‘mina86’ Nazarewicz | 25 listopada 2016

Tak, ponownie nadeszła ta pora raku. Musisz się postarać, jeśli chcesz być/pozostać ulubioną ciocią, wujkiem, bratem, siostrą lub rodzicem. Ale jak z szerokiego asortymentu zabawek, wybrać najlepszy prezent?

Niestety nie mam odpowiedzi na wszystkie pytania, ale poniższy diagram może pomóc w przynajmniej jednym aspekcie:

Diagram „Czy zabawka jest dla chłopców czy dziewczynek?”

Czytaj dalej »

Strach

Michał ‘mina86’ Nazarewicz | 28 września 2016

English version available on The Codeless Code.

Niedawno przyjęty do świątyni mnich zbliżył się do mistrza.

― Otrzymałem zadanie dodania kilku nowych funkcji do systemu obsługi zamówień Cesarskiego Szewca, ale nie jestem w stanie zrozumieć, jak on działa. Logika jest rozproszona pomiędzy wiele aplikacji zaimplementowanych przy użyciu najróżniejszych technologii. Zamiast stworzyć wspólne biblioteki, autorzy najzwyklej skopiowali fragmenty kodu pomiędzy różnymi miejscami, często wprowadzając subtelne rozbieżności. Zadania pracujące w tle wyszukują i modyfikują rekordy w bazie danych bez żadnego udokumentowanego powodu. Sama baza danych wydaje się spiskować przeciwko mnie: prosta modyfikacja jednej tabeli może wyzwolić kaskadę zmian w wielu innych.

Czytaj dalej »

Python tips and tricks

Michał ‘mina86’ Nazarewicz | 1 września 2016

Python! My old nemesis, we meet again. Actually, we meet all the time, but despite that there are always things which I cannot quite remember how to do and need to look them up. To help with the searching, here there are collected in one post:

Czytaj dalej »

Website move

Michał ‘mina86’ Nazarewicz | 1 kwietnia 2016

Photo of a truck on a road.

(photo Ikiwaner, CC-BY-SA)

Some regular visitors of the web site may be aware that the page used to run on Jogger.pl platform. Some will also be aware that the service closes shop, an act which forced me to move to another hosting.

In moving the page, I’ve tried to keep old URLs work so even though canonical locations for posts have changed, the old links should result in a correct redirect.

This is also true for feeds but while Jogger provided customisation options (RSS and Atom, excerpts only, no HTML and posts count), currently only full-content HTML Atom feeds limited to newest ten entries are provided.

If anything broke for you, please do let me know at mina86@mina86.com.

I have not yet figured out what to do with comments which is why commenting is currently unavailable. Since I want my whole page to be completely static, I’m planning on using a third-party widget. So far I’ve narrowed the choice down to HTML Comment Box and the new hotness, Spot.IM. Any suggestions are also welcome.

Graph showing drop in response time from 300 ms to 60 ms

On the bright side, the page now loads five times faster! Jogger.pl took its sweet time when generating responses. A static page and better optimised infrastructure of my current provider allows to drop response time from 300 to 60 ms.