Za Cenę Uroku – fragment

“Za Cenę Uroku” to opowieść o magicznym Krakowie i o przewodniczce, która oprowadzi Cię po najlepszych częściach miasta – zarówno w przestrzeni, jak i w czasie.

To również opowieść o samotności, poczuciu własnej wartości, lojalności, rodzinie, przełamywaniu narzuconych wzorców, stereotypach i przesądach, zachwycaniu się światem dookoła, korzystaniu z okazji podsuwanych przez życie i o miłości.

(tej miłości to dużo będzie, bo to jest jednak romans fantasy)

((będzie też miejscami nieco okropnie, bo to jednak również prawdziwe życie)) 

Strona powieści na FBStrona powieści na Instagramie

Fragment powieści do pobrania w pliku PDF.

Fragment do pobrania w formacie MOBI.

Tom 1, pierwsza 1/12 tekstu, plus minus.

Tekst jest po wielu przejrzeniach i kilku czytaniach, ale jeszcze przed jakąkolwiek profesjonalną redakcją. Wszystkie błędy i nieciągłości są tylko moją winą :)

Tom 4 – skończony :)

No to napisane.

Skończyłam wczoraj, i jest to na razie najdłuższe tomiszcze (274k słów). Całość 5 tomów ma szansę się zamknąć w 1165k, co da jakieś 4,3k stron standardowych.

Teraz muszę się rozprawić z tym, co już mam napisane dla tomu 5 (ponieważ piszę nie po kolei, są tam kawałki, które powstały nawet w 2020). Trzeba to poprawić, naregulować, przepisać (te części, które mam w zeszytach) i ogólnie dostosować. I mam nieprzyjemne wrażenie, że akt 3 jest dramatycznie niedoszacowany. Ale na razie zostaje jak jest.

Zrobiłam sobie takie śmieszne wykresy trochę podobne do widma (a niektórym, bardzo słusznie, przypominające defragmentację dysku), które pokazują mi, gdzie w książce jako takiej mam największe skupisko ciężkich rzeczy do obrobienia:

Seledynek to kawałki przeczytane przez profesjonalną osobę, które następnie nie były bardzo zmieniane. Może 1-2 słowa..

Zielone to “draft1”, czyli “Napisałam jak umiałam, teraz nie widzę, żeby czegoś brakowało”. Żółte to “followup”, czyli to samo co zielone PLUS coś. Komentarze i dopiski typu “sprawdź cyferki” “różnica stref czasowych” “popraw imiona” etc., czyli ciągłość i spójność. Albo jakieś detale, o których sama sobie przypominam, że powinnam uwzględnić w innym miejscu tekstu.

Pomarańczowe to “uzupełnij” (jasne) i “popraw” (ciemne).

Czerwone to “zero treści”, co mi przypomina, że tu jest scena, w której będzie tyle-a-tyle tekstu i wiem +- co tam ma być, ale na razie tekstu tam niedobór.

Ciemny niebieski to… Wyzwanie. Rzeczy, które już napisałam, ale mają wadę. Albo wali się ciągłość, bo pisałam bez wielkiego zwracania uwagi, albo pisałam na czas (3300 słów na godzinę to jest możliwy wynik, jak mi ktoś wjedzie na ambit), albo pisałam przez sen. Wszystko to podpada pod “dziwne cosie, które mogą mieć jakieś zalety”, więc nie mogę tego tak po prostu wyciepnąć na hasiok, tylko trzeba przejrzeć, podzielić, użyć tego co ma sens etc.

Muszę teraz zdecydować, czy zabrać się do ponownego przeglądu tomu 1, pierwszego znaczącego przeglądu tomu 3, czy może zabrać się za wszystkie komcie do rozwiązania… Czy pisać tom 5 i jak najszybciej dojść do końca fazy twórczej, a potem wrócić do etapu redakcji.

Pewnie skończy się na mieszaniu

Mam też taki cudny wykresik kolumnowy, który pokazuje mi, jaki udział procentowy mają elementy w poszczególnych statusach w każdej książce

Więc tak, tom 5 to jest trochę dramat. Oraz to czerwone prawie na pewno powinno być większe…

Writing an actual novel

There is a girl who knows her city by heart but loses what was the very point of her existence in the most dramatic of circumstances, while gaining quite a lot in exchange.

There is a prince and a bodyguard, sworn brothers-at-arms, guarding each others’ backs since they were nearly toddlers, through thick and thin, school exams, assassin attacks and love woes.

There is a royal widow, a lady of great magical and earthly powers, willing do to anything for her country-by-marriage, but quite ready to see said country to go down in flames, if her son’s good required it.

There is an old city, so old its roots go down to the base rock of the continental tectonic plate, overgrown with intrigue, light, cruelty, beauty, magical exploitation and happiness so much so that the inhabitants don’t even notice how wrong it is anymore.

There is a tiny new country on the Indian Ocean, so new it hadn’t managed to establish itself sufficiently, with nearly no roots and very few actual allies and with a ruler so young people fear he will fall should the time of trial come.

There is an ancient empire that stretches its tentacles towards the little country, hungry for the treasures that grow in its soil and soul, willing to rip them all out and suck the minuscule archipelago dry, taking away their independence and the life of their young prince in the process.

The working title is “For the Price of a Charm” and it’s my novel.

An urban fantasy/magical realism romance, to be specific.

Now 190k of volume one written, should hit 200k and be OK. In Polish, so it’s a more-or-less-ish equivalent of 250k in English.

Volume two is 136k, should hit 230. Which makes it a maybe-290k equivalent in English.

Volume three is drafts and pieces for the total of 20k and not sure if it will ever actually become a book.

So, yeah.

I’ve written around 350k words since July. 100k of them in November, making a double NaNoWriMo plan.

Scrivener Tips: How to list chapters by POV?

In a variety of software there is an in-built field for Point of View for a chapter, but Scrivener doesn’t have it. In order to be able to filter or search for POV (which is sometimes useful if you wish to balance out how much screen time each character is getting), you can do one of the following (click for more, there are screenshots).

The result will be a neat list like this:

Option One: Chapter Title Hack

1. Put the POV character in the chapter title:

2. Go to Search and pick Title from the dropdown list:

3. Type one of the character names INCLUDING the “:”

4. Open the Search dropdown list again and pick the very last option:

5. Name the collection “POV: (character name)”

6. You will now see it on the left, together with Binder:

 

Important: The contents of this collection will be updated dynamically, which means that any time I add “John:” to the title of any chapter, it will be updated accordingly.

Remark: Why include “:” – because one of my POV characters is named “Luisa” and one of John-POV chapters is called “John: Luisa”. If I included just pure name, it would list this chapter under Luisa’s POV. The same would happen with any “Meeting Sherlock” titles etc.

Option Two: Custom Meta-Data field

1. Open the first chapter and open Inspector window (or press Ctrl+Shift+I)

2. Click on the Custom Meta-Data tag:

3. In the bottom section click Define Meta-Data Fields:

4. In the window that displays, click [+] button

5. Call the new field POV and press Enter; Click OK

6. In the newly created field, type in your POV character name:

7. Go to other chapters and update them accordingly.

8. Go to Search and pick “Custom Meta-Data” from the dropdown list:

9. Type the name of your first POV character

10. Open the dropdown again, pick “Save search as collection”, name the collection accordingly.  You will now see it on the left, together with Binder.

Again, as in the first option, the content of the collection is updated dynamically, so whenever you add another POV tag to a new chapter, it will appear on the list automatically.

Double Pride Double Trouble oneshots – research

Over the last few months I’ve thoroughly messed up my search history and cookies. Now I’m getting offers of postgraduate courses at various UK universities… ;)

For my next piece (the one that just dropped on me suddenly) I’ve collected this humble set of links:

https://www.southampton.ac.uk/uni-life/accommodation/halls/glen-eyre.page

https://www.southampton.ac.uk/uni-life/accommodation/rooms/en-suite-2.page

https://catering.southampton.ac.uk/176-cafe#_ga=2.136022072.808596810.1593946754-139349773.1593946754

https://www.southampton.ac.uk/uni-life/campus/boldrewood-campus.page

https://www.jbs.cam.ac.uk/programmes/executivemba/funding/
https://www.jbs.cam.ac.uk/programmes/executivemba/for-employers/

https://www.jbs.cam.ac.uk/programmes/executivemba/programme/programme-structure/

https://en.wikipedia.org/wiki/Drawing_board

https://www.bouwkunst.ahk.nl/en/study-programmes/master-in-landscape-architecture/

https://forbiddenplanet.com/302300-marvel-faux-leather-cross-body-bag-captain-marvel/

https://www.jbs.cam.ac.uk/programmes/executivemba/programme/programme-structure/practical-projects/

https://www.southampton.ac.uk/uni-life/key-dates.page

https://www.jbs.cam.ac.uk/programmes/executivemba/programme/colleges/

How (not) to write computer-related stuff in your story.

My qualifications: degree in Computer Science, 16 years as a software analyst, database specialist, programmer and tester. Also, web design, basic/good knowledge of 10+ programming languages, reasonably good knowledge of two operational system families (linux, windows) and generalised knowledge of How These Things Work.

Also, common sense. And being married to an admin/programmer. Not ashamed to admit I use him as an important resource.

And an ability to spot serious bullshit in stories ;)

How to write about computer stuff?

If you know that shit, you already know how to. Just don’t put too much technobabble.

If you know more or less but not really, only vaguely, read on below.

If you know nothing… be vague. If you had never ever seen anyone using anything more complex than a text processor, write the situation in a nice and generalised fashion. Describe how the person hacking looked focused as they typed rapidly or stared at the darkened screen, deep in thought… Just don’t mention what they have on the screen.

If you know nearly nothing about computers (or at least no more than how to use Windows)

First, for basic reference, watch this clip: https://www.youtube.com/watch?v=SZQz9tkEHIg and try hard to stay away from the more crappy solutions, as per the expert’s comments (so no typing on one keyboard by two people to make it faster, sorry NCIS). Really, being fuzzy and poetic about the hacker’s partner watching them as they struggle is better than making the hacker send stuff from Emacs through Sendmail and have a reader die of sheer second-hand embarrassment.

What you CAN write (these are reasonable scenarios of what can happen)

X spend several hours trying to crack the security on the target server. The certificates were up to date, the passwords changed often and the admin seemed to be more paranoid than average. To no avail. He would have to take the oldtimey route of starting with the weakest link in the chain. The people.

It was a tough job, and no doubt about it. X wasn’t yet ready to throw in the towel, but it seemed as if someone had paid their IT security team very well. He would need to find a new angle of approach. Like, going through the mail server. First, overload the e-mail system. Second… will be later.

After all the trouble he went to, the password was simply stuck to the bottom of the manager’s drawer, on a post-it note. The only thing he had to guess now was – which system did it apply to?

Learning a new programming language was not as easy as some claimed it to be, especially when you had to switch from another, using a completely different logic and syntax. Old habits die hard and X caught herself putting the semicolon in the wrong place yet again, making the whole compilation crash.

The code was pretty complex, with multiple loops and a huge tree of logical conditions branching at several levels. Analysing what exactly went wrong in it would take X several hours, considering the mess Y had made of the comments and the shitty formatting he had applied. First things first. She cracked her knuckles and started to add indents, to make the whole thing easier to read for a human being.

The pop-up window suddenly closed by itself. Uh-oh. Either a virus or someone had quietly taken the control of her system… but how? She had blocked remote desktop connections, her Skype was offline, her… Another window closed. Whatever it was, it must have come from one of the pages she had visited. That was the price of trawling that part of the internet. Quickly, she pulled out the network cable and sighed in relief. The computer didn’t have wifi, so as long as she didn’t reconnect it, no new damage could be done. Hopefully.

Facts and truths

In general, there are some things you should remember, and here I’m listing them based on fanfiction I’ve read recently, mostly MCU (because here people try to get into details in order to give Peter, Tony or Ned some tech content to talk about and fail, a lot – if you recognise your fic or plot device here, pls don’t be angry, just accept that it was an example of how it goes wrong, sometimes hilariously).

  1. If someone doesn’t know a specific programming language, they aren’t going to learn it in one afternoon. Or a week. At least not to the level needed to write an AI.
  2. Writing an AI is a Totally Separate Thing. Person learning programming at school or at the uni, even if they are pretty smart, will not just “write an AI” like that. It requires making a complicated analysis, thinking up the algorithms, writing specification, making a prototype, proof of concept and then a tons and tons of testing.
  3. Amount of code one can write and analyse reasonably is limited. One fic I saw mentioned trillion lines of code. Nope. Windows 10 has (estimated) 50 million lines of code. If a person had a trillion lines of code, it would take them 300 years to write them. If they wrote 100 lines per second. Seriously, check your numbers for order of magnitude.
  4. When you write code, it doesn’t change by itself on the screen, unless you have a virus in your system.
  5. Typing code in the editor does not affect the rest of the code (one already entered). It can affect subsequent reruns of your program, but not the code. Code is a text document.
  6. Nobody can debug a piece of software by just glancing at the screen. Unless the error is so obvious that a basic-level programmer would notice it – comma instead of a dot, for example – the issue will usually be found by reworking the code to make it show more messages and tracking where it fails (note: the amount of time needed depends on the complexity of the program itself, language used, operational system and hardware on which you are working).
  7. You can’t just interface computer with alien tech and expect it to Just Work. Unless you want the ‘work’ to be limited to ‘go up in flames’, of course. Computer needs drivers to use hardware and Windows 10 doesn’t come equipped with the correct set of libraries to manage a battery that used to be a part of Chitauri ship. Unless there is something about Bill Gates that we don’t know.
  8. You usually can’t fix a too-slow mobile phone by cleaning it physically (but it may work with an overheating laptop, especially if there is cat fur involved).
    1. You can fix a too-slow smartphone by closing all 40+ tabs in Chrome (done it recently, not on my mobile)
  9. Every deleted data can be undeleted, unless someone plays with a heavy magnet near the drive in question. Usually it will be the data you don’t wish anyone to undelete (while your master thesis will be, without a doubt, eaten by the black void of your disk space)
    1. Freezing the drive and then working it all over with a hammer works lovely as a permanent delete, in most cases
  10. Operational systems come in several flavours.
    1. Windows (variety of versions) is what everyone knows. Graphical user interface, but good old MS DOS that is under it somewhere still remains. You can use the clickable interface happily all your life and never touch the text mode window. But you also can do a lot of complicated and/or cool stuff by using Power Shell (which is a program that allows you to type a variety of commands, more complex than just “open file X in application Y”).
    2. Apple MacOS – the thing that you have on your Apple-whatever computer. Graphical user interface. Many graphic designers use it. Never touched it myself, the closest I came to it is my iPhone and iPad (which run on iOS, which is not the same, even if it looks similar and connects to the greater whole of Apple systems).
    3. Unix – usually a server OS, has both text and graphical mode. Really powerful control of the user over the system, if user is admin (root). If user is not admin, user may turn out to not be able to do anything. That depends on the admin’s mood.
    4. Linux – like Unix, only written in Open Software model, free and comes in many many many varieties. Traditional flamewars between fans of Slackware and the proponents of Debian are well-known (the same for any other combination of distribution codenames). Open Software means that every piece of software is distributed to users in an open form, plain code. So if you know the language, you can try learning about the way application works by reading it. NOT an easy or quickly-done thing.
  11. Programmers occasionally use other people as rubber ducks, to work through a logical process. They talk to the other person as if they were talking to a rubber duck who knows nothing about the subject, thus going into details they usually would have missed, due to making certain shortcuts and assumptions. The other person may be another programmer (playing dumb) or a non-IT/layman who knows when to ask “but what does that really mean”. Or a rubber duck, as such.
  12. Programmers occasionally use pseudocode (not all of them, but some do) in order to NOT actually write the program yet, but to show the logic of it. It may be the equivalent of making a rough draft of a picture or an outline of a story.
    1. Note: I used this method multiple times, mixing syntax of different languages to better envision certain parts of code, adding human-readable text and notes to it. Including doing it on paper, while discussing the idea with someone.
    2. Textbooks on algorithms and similar subjects use the pseudocode to show certain examples and logic in order to not force the students into using specific language, but to remain agnostic to the technology used
  13. A bit of off-topic, but many of the same rules apply to maths and physics. If your protagonist is really really smart but doesn’t know the topic of the equation in question or doesn’t know the aspect of physics being discussed, they will not spot the “obvious error”, because persons involved would have already spotted it before.
    1. So, yeah. All the “Peter visits SI on field trip and everyone asks for his opinion and he tells people they forgot the minus here” stories are very much unrealistic. Even in the world of people mutated by a spider bite, certain rules should be kept. Scientists check their work multiple times and they don’t forget to correctly carry the minus. They are not middleschoolers.
  14. Being very smart doesn’t mean you can understand a complex algorithm immediately. Just faster than others. But never at a glance. You will not fix someone’s AI at a glance. At a glance you can see stuff like:
    1. “You forgot to give an ending condition to this loop” (this means some operation will be repeated infinitely, see also: Magician’s Apprentice)
    2. “This if clause else seems to be ignoring all negative numbers” (so it will not show any result for some values, making the program crash or do something idiotic if certain conditions are met)
    3. “You used single = instead of ==” (and yeah, it’s a problem in C and C++; “x = 7” is “let x equal 7”, assignment; while “x == 7” is a comparison operator, “is x equal to 7” – https://www.includehelp.com/c-programming-questions/what-is-difference-between-assignment-and-equalto-operator.aspx)
    4. “it’s an off-by-one-error, this loop runs one additional time” (common issue in many, many languages and probably every programmer has done this at least once: https://en.wikipedia.org/wiki/Off-by-one_error)
  15. Being experienced will make the programmer more knowledgeable about the types of algorithms used, so it may potentially give such programmer the ability to spot approaches that won’t fit the problem (less effective sorting method, wrong regular expression)
    1. Sometimes it may turn out that a change of programming language will help with solving the issue more effectively
  16. If you want to write scary shit, mention Internet of Things (smart fridge that orders for you) affected by something common (smart fridge that orders food for you but you forgot to turn it off when you went for vacation so the delivery guy kept dumping food on your porch for 2 weeks, in July, because the fridge was empty…)
    1. It doesn’t have to be a HAL-level intelligence, it can be a dumb smart fridge that will eat through your credit card and make your house smell of mold, old cabbage and rotten meat. It’s already BAD, we don’t need a whole space station full of bad.
  17. Destroying the monitor doesn’t mean the computer isn’t working anymore. It still is and if there was a virus eating the hard drive, it’s still munching away on it. Unless it’s an iMac or a HP that has the central processing unit in the butt of the monitor.
  18. If the user (player) manages to convince the game to let him get out of the boundaries (survive while dropped off the map etc), they will not find themselves in an unexpected, wonderful no-rule level. Most probably, the game will just freeze on them, not knowing how to handle the exception. Unless the game is being live-developed by an underlying AI (Hi, Ender) and so every attempt to break out of the standard is anyway monitored and immediately cushioned against, there is nothing for the player to explore – if it wasn’t written by the author, it won’t exist.
  19. If you ever manage to find yourselves (your playing character) in such a weird place in the game, be assured – the authors planned it and it was put there on purpose.
  20. Human and human-similar beings can’t catch a computer virus. Unless the being in question is Nebula, but she probably keeps her antivirus software religiously up to date.
  21. Virus, trojans and other backdoors don’t need graphical representation to do damage to your computer. In fact, unless we move to ones that are supposed to be scary and not just fisking annoying or dangerous, the majority of viruses and so on are quiet and tell you nothing about themselves until they are done damaging your stuff or want you to pay for the safety of your data.
  22. The Jurassic Park One: “It’s unix, I know this system” – NOPE. You wouldn’t sit in front of a computer running complex genetic experiment and say “Oh, it’s Windows, I know how to click it” and proceed to easily gain control over a power grid of a park full of dinos. Nope. No.
    Just, no. Sorry, Lexie.
  23. You don’t need 7 separate computers for 7 separate chat windows with 7 separate people, unless you can’t use browser window tabs. Sorry, Sherlock.
  24. It is possible to snoop on anything people do in your wifi network. There were cases of hackers setting up access points that simulated Mc Donalds or other places with free wifi and then logging all the traffic in order to trawl for usernames and passwords.
    Happy browsing next time you eat a Mc Chicken.
  25. The thing you write in is a programming language. To do this, you use an editor. You can write any kind of code using Windows Notepad or Linux pico editor, but it will be annoying and slow. Specialised software with highlighting and automatic formatting make it easier to work with code.
    Think about it like writing text. You can write the same story in Word, LibreOffice, Notepad, Wordpad or OneNote. The story doesn’t change, just your ability to publish or share it changes. You can write any kind of text in Word – a poem, a short story or a novel. Or you can write it in Notepad, but it will be… not as comfortable! And then there is specialised software like Scrivener that makes it so much easier to organise. Right?
    Same rule applies to coding. So the fact that someone’s screen is showing Notepad and not fancy multicoloured text in cryptic editor doesn’t mean they aren’t programming. It just means they are stubborn and use the most primitive tool available in Windows system ;)
    I could use Notepad to write the code of a webpage in HTML, a perl script, a bash script or a Python program (perl, bash and Python are programming or scripting languages). So the tool in which we write doesn’t affect the general ability to create code, just the comfort.
    Not many people write their own language just to code something special, unless the payoff of creating a whole new language (with all required dependencies, libraries etc – huge amount of hassle) is significant and will give them some kind of large benefit.
  26. SPOILER!!! EDITH in Spider-Man FFH
    Seriously, FFS, not FFH.
    I mean.

    Yeah, Peter took her back from Beck. And yes, there was no “handover” from Beck to him, so why the hell did EDITH even obey? Or what? Tony hardcoded Peter as superuser?
    (that’s why an IT analyst and a security specialist should not be watching movies about teen wannabe hackers, we get migraines)
    Why EDITH didn’t identify Beck as a dangerous wacko on sight…? She was so ready to read everyone’s e-mails and texts on the bus and NOW she gets shy? Also, how come she didn’t react when someone used her to attack her designated superuser…!?!
    Yeah, IT-related plotholes make me break out in hives.

  27. More electric power doesn’t mean more computing power. The fact that you connect your computer to stronger source of electricity won’t make it calculate the password faster.
  28. You can’t compress very well an already-compressed file. You can’t just compress files infinitely, making them fit on a smaller disk space. Sorry, Mr Finch.
  29. There are the following types of data carriers:
    1. USB pen drives – common, cheap, you can buy them everywhere, many companies, many sizes
    2. Memory cards – same, physically smaller, require a reader to get data from them
    3. DVDs – these round ones, can hold ~4,5 gigabytes of data
    4. CDs – also shiny round ones, a bit older, can hold ~750 megabytes of data
    5. Floppy disks
      1. 3,5’’ – the ones that look like the Save button in your software – can hold 1,44MB of data (which is an enormous amount of GIF files, really astounding number of karaoke midi files or 4-8 games from the 80’s); the drive for these is the one with a small button to push the floppy out
      2. 5,25’’ – the bigger, softer ones – up to 1,2MB of data (slightly less than 3,5’’); drive for these is the one with a switch that moves 90 degrees and locks the floppy in
    6. 8’’ – even bigger, also up to 1,2MB of data, I’ve never seen the drive for this with my own eyes; last new model of the disk introduced in 1976
    7. Tapes – Spectrum, Commodore and several other computers used tapes as source of software. Very funny noise you at some point learnt to interpret as “this is loading” and “this is not loading at all, damn it, just wasted an hour waiting…”
    8. There is always an option of carrying around a full-sized hard drive and connecting it to a computer though a specialised enclosure that uses USB.
  30. Hackers (the more social ones) use USB drives left in random places like meeting rooms of a company to fish for stupid employees – people tend to plug in “found” usb sticks to see what’s on them; this is the best way to lose access to your laptop and give your company’s data to the Bad Guys.
  31. Other data carriers usage in text should depend on when you put your story and where. At my uni in early 2000 we still used floppy disks (3,5’’) for various purposes, but CDs (both Audio and data) were in use, too. CD writers were slow, clunky and ate a lot of memory
  32. Theoretically, if you are very patient, you can connect to a dial-up by whistling.
  33. There is no tech available currently that would actually read your thoughts as such. Electrical activity, yes. Content of the thoughts, no.
  34. Even if we put our story in a world with magic, high-tech with no explanation and near-magical inventions, still some reason has to be applied to the way this all works. Unless a machine is programmed and prepared to do something (perform certain task) it will not do it correctly. The more specialised the machine, the less likely you are to be able to use it for a purpose it was not intended for.

A bonus story that is here just to explain why I’m so sure about some of this

It was late evening (maybe 22:30, 23:00) and I was sleepy, but my boyfriend was sitting over a piece of code that was just giving completely buggy results. I was falling asleep propped on his shoulder, he was torturing the keyboard and muttering. I finally asked what the problem was and he started explaining.

(Background: it was our 4th year at the uni, me studying computer science in econometry and he studying just plain old good computer science at one of the major unis in our country, he had much bigger experience in programming than me, but I wasn’t exactly an idiot; just sleepy)

So he started explaining that this part does this, and this is that and I was yawning and squinting at the screen and finally, being – as I said – rather sleepy, I asked “but does the table start from 0 or from 1…?”. It turned out to be the solution (at least to that error).

Now, in order for this to work, you need BOTH people involved to have a non-zero experience in programming and the one needing help to be in a hurry or really distracted. If he had had time to go over it (see “rubber duck”), he would have found the problem. I, on the other hand, had had already at the time a good dose of theory and experience in programming using at least 5 different languages. The concept of the table of data having first element at key = 0 was common among them, and so was the error of people assuming it should be key = 1, just because it seems more natural.

It was an example of an Off By One Error: https://en.wikipedia.org/wiki/Off-by-one_error

When it won’t work? When the person who is looking doesn’t know shit about coding or has minimum experience just putting stuff together in one language and has no theory basics.

In summary: It’s not enough to just be bright. You also have to learn stuff before you are able to do it.

Dragon’s prisoner

His armour shone in the sun, his horse was stomping his fore leg in a very military fashion and the whole picture looked like something taken straight from a tournament at her father’s castle. She sighed at the way he moved across the green at the foot of her tower and opened the window.

“FAIR MAIDEN!” he cried, his lungs obviously well-trained in voicing his orders in battle. “FEAR NOT! FOR I AM ARRIVED TO SAVE YOU FROM THE FOUL BEAST THAT HAS IMPRISONED YOU HERE!”

Continue reading “Dragon’s prisoner”

Strictly Professional

“This jury now calls Glenda McTavish, also known under her professional pseudonym of ‘The Fairy Godmother’. Ms McTavish stands before us accused of multiple cases of impersonation, manipulation of public plebiscite, kidnapping, mobbing, theft and, finally, witchery. We will be hearing witnesses to these deeds over the duration of this day and the following ones until such time as either the accused one admits she had been in the wrong and recompenses her victims accordingly or it is proved beyond all doubt that the accused had nothing whatsoever to do with the crimes listed.”

The guardian of the court chamber smashed the bottom of his staff three times against the stone tiles of the floor.

“Glenda McTavish!” he announced, as a plump, jolly-looking woman in an orange jumpsuit was walked to stand in front of the judge, guarded by two well-built young men in uniform.

“Please state your name for the protocol.”

“Glenda Alberta Augusta McTavish.”

“Please confirm, in your own words, what is your understanding of the topic of today’s proceedings.”

“I am accused of multiple crimes that had been perpetrated on various people of this kingdom.”

“And how do you plead?”

“Not guilty, your honour.”

“You do understand the seriousness of the charges laid against you?”

“Well, your honour,” she smiled serenely from under her lacy, frilly cap. “If I tell you I understand, and I do not know what I should know, what will it change? I will still be honest and you will still get the wrong answer.”

The man behind the large table squinted.

“Very well. One case of being an accessory to impersonation. One case of interference with royal succession. One case of distributing potentially poisonous plants to minor children. Nine confirmed cases of impersonating a prophet or claiming to have prophetic abilities. Seventeen cases of interfering with already promised engagements. Two confirmed cases of affecting a child’s appearance for no obvious reason. Two confirmed cases of gifting children with actual, openly-stated misfortune. There is at least a score of lesser charges laid at your door, each amounting to at least a year in gaol. However of the major charges, they can cost you a lot, Ms McTavish.”

“I see, your honour. Am I allowed to say anything to my defence? I would not like to be judged in contempt of the court.”

“You may, Ms McTavish, but be brief about it.”

He sat back, looking down at the wrinkled face that twisted up in concentration.

“I admit to having perpetrated these actions,” she said, and the room behind her started booing her. “I admit. But I do not agree that any of them had been an actual crime. All that you have listed has been done in order to deliver alms to the ones who needed them and correcting wrongs that had been done to the suffering ones.”

She looked up and the judge found himself smoothing out the frown that usually marred his forehead.

“Very well. Let’s go through the list and you can explain everything to us step by step. If that will be fine with you?

The woman nodded slowly.

“For the record, please state your acceptance aloud.”

“Yes, that will be fine with me,” she sighed.

“You may sit, Ms McTavish. It is not the task of this court to torture the people giving statements, even if they are the suspects. Very well. Comfortable?”

“Yes, your honour,” she said simply, sighing again.

For a person her age she certainly looked well.

“First case we have on the list is the fact that you had aided in an impersonation of a noble-born woman, aiding a… scullery maid to gain social advancement through the means of unscrupulous deception, forgery and plain trickery, perpetrated upon the highest born of that land. Now, what say you?”

“I say, if what you are alluding to is the case of Ella, the cleaning girl, named by her family for the task she did the best, ‘Cinderella’, that this was a case of a specific contract that I had been sent to fulfil and I can only claim that I did the best that I could for my client. He wanted a wife that would have no links to the local nobility or even gentry, no hangers-on in the family to feed off her and have mind open to the opportunities granted by her elevated station.”

There was a sound of unrest in the chamber, so he signalled for order and turned back to the kindly-smiling woman in the witness chair.

“Are you claiming that this had been a business arrangement?”

She sighed yet again, as if impatient.

“Of course it was! There is a contract that the side who seeks my services signs and it delineates in detail what they wish to achieve and what conditions they put as to the completion of the deal. How else could I work? I’m not in the business of straightening everyone’s messes.”

“But that would mean that the prince… I mean, His Royal Highness…”

“Knew perfectly well who he was marrying. The whole glass slipper trick was part of the agreed communication. He knew perfectly well which house to go to and where to demand to be shown all young ladies living there. After all, how many girls are there in the capital itself with this shoe size? It would be absurd as an actual means of identification.”

“Are you claiming then that… the heir of the kingdom…”

“Had availed himself of my services as a matchmaker. Indeed. I even have the letter of thanks he had sent me on their first anniversary.”

He frowned and looked at the long list of similar accusations that had been collected by the officers of the court and a variety of more and less shady personages from the local constabulary.

It was going to be a long day.

#

It was. As the interrogation of the suspect – or rather, an interview with the shrewd local businesswoman – progressed, people kept changing in the chambers. To nobody’s surprise at all, most of the people slotted to be witnesses against her quietly slunk away before their turn could even come, and journalists of varied kind appeared, taking down her words, keenly attentive to the details pertaining to the high and mighty of local society, eyes open for the tiniest suggestion of a scandal.

There was a slight frisson of excitement when the discussion turned to the two specific royal children that the woman had, as she had claimed, gifted with misfortune, but her answers were so dispassionate and calmly stated that nobody could fault her in her reasoning.

“I went with the newest trends in child-rearing,” she smiled tiredly. “Children should not be isolated from the realities of the wold surrounding them and should know from their first steps that the world is out there, waiting to hurt them. I didn’t actually give them anything specific, but simply told so in front of their families. This way they would blame at least the minor accidents on me and yet would not pack the children away in cotton wool and wrap them in soft covers – they’d know that some pain and some unhappiness is a crucial part of the growing process.”

“You read the new publications on child minding then?” he asked idly. “I would assume, at your age…”

“Young man, at my age and with my profession, I am practically required to be up to date with the theories put forward by the modern scientists. Your honour.”

He dearly wished he could ask her for her favourite lemon biscuit recipe. He was quite sure she was one of these grandmas who baked for their favourite grandchildren.

But he remained professional, as one does in such cases, and continued with the list.

“Item the thirty-eighth, the…” he frowned at the paper and looked up to check with the court secretary. “The singular case of teaching young children how to operate heavy… Excuse me, who had put it on the list?”

“Ah, I did, sir,” a young officer from the local municipal force rose from his place. “I had been on the team that responded to the initial call for support in the case that resulted from this… inopportune knowledge sharing on the side of the accused.”

“And what did the accused have to do with the case you mention?”

The young man stood there, cringing in his spot like a victim of an overly long queue to the privy.

“It was a case of the late widow of the baker Thomas, the one who used to live in the woods a few leagues from our town. It seemed that she had been keeping some servant children who had been given instruction by the accused as to how the heavy oven door is operated and thus, in the process of practising these skills, had pushed the late widow Thomas inside and closed the door upon her. As the job training should be, by law, provided solely by the members of relevant guild, society or worker’s union, the accused Ms McTavish had broken the regulations pertaining to these and so should be prosecuted for that infarction, being as she is unlicensed in the profession of baking.”

The constable certainly looked triumphant at his pronouncement. It was obvious to the judge that the young man’s grandmothers had been stingy with sweets when he was a child.

“Very well. This is a complicated matter and so would need to be heard in front of the guildmasters of the town, too, but I’d like to first give Ms McTavish the chance to explain herself, for the record.”

She was already shaking her head.

“These poor, poor children,” she heaved another sigh. “She left them with no instruction at all. She might have been the widow of the Guildmaster and so accepted as a member of the Bakers’ Guild, and I am all for the emancipation of women and acceptance in the craft community, but there are some who abuse that rule and so did widow Thomas. To put it frankly, she knew only how to bake one thing – and that was her world-famous, construction-grade gingerbread. She always overheated the oven and so anything else came out of it less than edible… or, to be frank, more on the ‘scorched’ side of the ‘well-done’ scale. And she never taught the children any kind of work safety rules! She even caged one of them – for his own good, she claimed – but what kind of a solution is that? I thought we were moving towards more modern ways of managing unruly children than chaining them to the wall or locking them in a broom closet.”

“Well,” he frowned and tongued the spot where one of his incisors used to be – the one he had lost in an uneven battle with a piece of widow Thomas’ world-famous gingerbread. “I think we can put this one under ‘household instruction of minors’ which is an acceptable action for any adult to take when faced with a child exposed to dangerous conditions, I hope we can agree to that,” he looked from over his glasses at the court secretaries and the young constable. “Is there anything else?”

Nobody made a sound.

“Very well then, Ms McTavish is free to go – I only ask you not to leave the town boundaries, in case there are any points raised by the officers of the court based on the testimony you have provided.”

She rose slowly, stiffly and a bit shakily even.

“Thank you, your honour,” she smiled at him kindly. “I will have my lemon tart recipe sent to your wife tomorrow morning.”