• mina86.com

  • Categories
  • Code
  • Contact
  • Sapkowski & Badowski on what makes a Witcher story

    Ciri from Witcher 4

    The chilly afternoon in Łódź was no match for the warm welcome Andrzej Sapkowski and Adam Badowski received as they entered the stage. The author of the Witcher book series and co-CEO of CD Projekt Red (CDPR) arrived at the 36th International Festival of Comics and Games to explore a simple but elusive question:

    What makes a Witcher story?

    The panel was moderated by Michał Giersz, who wasted no time to start the conversation. According to him, having Geralt, Ciri, Yennefer or Triss by itself doesn’t make a Witcher story. Narratives without those characters may still feel like Witcher tales. In trying to find the essence of the Witcher stories, he asked about aspects that Sapkowski focuses on first when writing.

    Stop Killing Games

    Updated on the 31st of July to reflect the fact deadline for both petitions have now passed.

    The dystopian interpretation of the ‘you’ll own nothing and be happy’ phrase feels increasingly prescient.1 As corporations hide behind lengthy Terms of Service and End User License Agreements,2 the concept of ownership becomes alarmingly ambiguous. This erosion of consumer rights has given rise to the Stop Killing Games (SKG) movement.

    In 2015 I’ve stumbled upon the Classic Tetris World Cham­pion­ship. Even though I’d never played NES Tetris, I started following the event with interest. I keenly remember watching the historic 2018 final which was a prelude to the next generation of players picking up the game.

    In contrast, world of racing games offer an example of fleeting ownership. While generations continue to enjoy NES Tetris, with a 13-year-old famously ‘beating’ the game 34 years after its release,3 Ubisoft’s 2014 game The Crew didn’t even last a decade. In 2024, Ubisoft didn’t just shut down the servers; it began revoking players’ licenses, seemingly doing everything in its power to ensure the game couldn’t be preserved or revived by the community.

    Z archiwów polskich mediów

    Zdjęcia kota wewnątrz obudowy komputera z opisem „Nie martw się. Jestem z pomocy technicznej.”
    Pracownik helpdesku ubrany we frak.

    Przeglądając archiwa swoich starych dysków, natknąłem się na niesłychanie ciekawy artykuł z Gazety Praca. Czas zrobił swoje i na stronie Gazety już go niestety nie ma,1 a szkoda aby zniknął po nim ślad. Pozwolę więc sobie go zacytować w całości, aby przetrwał dla potomności:

    Informatycy najgorzej ubrani

    Michał Stangret, 25-11-2005

    Są przepoceni, rzadko myją włosy i noszą flanelowe koszule wciągnięte w spodnie. Komputerowcy zajęli pierwsze miejsce w rankingu najgorzej ubranych zawodów. Dostało się też księgowym, urzędnikom i dziennikarzom.

    AI images should be copyrightable

    In September 2022, ‘Théâtre D’opéra Spatial’, a work submitted by Jason Allen, won Colorado State Fair’s annual fine art competition in the digital art category. What made the success noteworthy was that the image had been AI-generated. Mr Allen eventually tried to register the work with the US Copyright Office but his attempts turned out fruitless. In September 2023 the Office refused his registration.

    ‘Théâtre D’opéra Spatial’ by Jason M. Allen ‘A Recent Entrance to Paradise’ by Steven J. Thaler’s Creativity Machine
    First, ‘Théâtre D’opéra Spatial’ by Jason M. Allen. Second, ‘A Recent Entrance to Paradise’ by Steven J. Thaler’s Creativity Machine.

    I didn’t think much of it at the time. I wasn’t that invested in the consideration of what kind of ‘two-dimensional artworks’ are protected by copyright and, more notably, I somewhat agreed with the decision. Perhaps the prompt was protected, but if only minor manual edits were made to the image, it felt like a stretch to say the image as a whole could be covered by copyright law.

    Beware of Composable Foundation

    So far I have been lucky in my professional life. I have never had any conflicts with my employers and for the most part maintained good rapport with coworkers and managers alike. Alas, my luck has finally run out.

    Long story short, I left Composable Foundation in October and I am still waiting for my final paycheck. TL;DR: If you are doing business with them make sure you are paid in advance.

    Chronological order of The Witcher

    Last updated in October 2025. See updates below for a full list of changes.

    Ever since Witcher games took off the franchise skyrocketed in popularity. Books, comics, TV show, games, more comics, another TV show… The story of Geralt and his marry company has been told in so many ways that it’s becoming a wee bit hard to keep track of chronology of all the events; especially across different forms of media.

    In this article I’ve collected all official Witcher works ordering them in chronological order. To avoid any confusion, let me state up front that if you’re new to the franchise or haven’t read the books yet this list might not be for you. If you’re looking for the order to read the books in, I’ve prepared a separate article which describes that.

    Skip right to the chronology

    Reading order of The Witcher

    Updated in October 2025 to include discussion of Crossroads of Ravens.

    Without beating around the bush, the reading order for the Witcher books is as follows:

    © Matt Sporek
    © Matt Sporek
    1.The Last WishShort
    stories
    2.Sword of Destiny
    3.Blood of ElvesThe Witcher Saga
    4.Time of Contempt
    5.Baptism of Fire
    6.The Tower of the Swallow
    7.The Lady of the Lake
    8.Season of Storms
    9.Crossroads of Ravens

    Pro tip: You can put URLs in C & C++ code

    Documenting source code is important part of software engineering. Code is read more often than it’s written making it crucial to provide enough context for reader to understand what the implementation is doing. This can come in the form of links to external resources providing description of an algorithm, reference for an API or historic context justifying the code.

    As it turns out, C and C++ languages offer a little-known feature which allows URLs to be included directly in the function source code. For example:

    static float rsqrt(float x) {
    	https://en.wikipedia.org/wiki/Fast_inverse_square_root
    	static_assert(std::numeric_limits<float>::is_iec559);
    	auto i = std::bit_cast<uint32_t>(x) >> 1;
    	auto y = std::bit_cast<float>(UINT32_C(0x5F375A86) - i);
    	y *= 1.5f - x * 0.5F * y * y;
    	return y;
    }

    Primes ≤ 100 in Rust

    In a past life I’ve talked about a challenge to write the shortest program which prints all prime numbers less than a hundred. Back then I’ve discussed a 60-character long solution written in C. Since Rust is the future, inspired by a recent thread on Sieve of Eratosthenes I’ve decided to carry the task for Rust as well.

    To avoid spoiling the solution, I’m padding this article with a bit of unrelated content. To jump straight to the code, skip the next block of paragraphs. Otherwise, here’s a joke for ya:

    Names of operands of arithmetic operations

    Every now and again I need a specific name for operands or results of various arithmetic operations. It usually takes me embarrassingly long time to look that information up. To save time in the future, here’s the list: $$ \begin{align} \left. \begin{matrix} \text{augend} + \text{addend}^† \\ \text{summand} + \text{summand} \\ \text{term} + \text{term} \end{matrix} \right\} & = \left\{ \begin{matrix} \text{sum} \\ \text{total} \end{matrix} \right. \\[.5em] \text{minuend} - \text{subtrahend} & = \text{difference} \\[.5em] \left. \begin{matrix} \text{multiplier} × \text{multiplicand} \\ \text{factor} × \text{factor} \\ \end{matrix} \right\} & = \text{product} \\[.5em] \left. \begin{matrix} \text{dividend} ÷ \text{divisor} \\ {\text{numerator}\over\text{denominator}} \end{matrix} \right\} & = \left\{ \begin{matrix} \text{ratio} \\ \text{fraction} \\ \text{quotient}^‡ + \text{remainder} \end{matrix} \right. \\[.5em] \text{base}^{\text{exponent}} & = \text{power} \\[.5em] \sqrt[\text{degree}]{\text{radicand}} & = \left\{ \begin{matrix} \text{root} \\ \text{radical} \end{matrix} \right. \\[.5em] \log_\text{base}(\text{anti-logarithm}) & = \text{logarithm} \end{align} $$

    † Occasionally used to mean any operand of addition.
    ‡ Occasionally used to mean the fraction itself rather than only the integer part.

    List in big part thanks to Wikipedia.