M is Merry: M is for Macaronic:
What is the Macaronic poetic form?
Macaronic verse was invented by a poet named Tisi degli Odassi in 1488 who mixed Italian and Latin in his work titled Carmen macaronicum (Macaronic Songs).
It was later popularized by Teofilo Folengo, a Benedictine monk, who combined Latin rules to Italian vocabulary in his burlesque epic titled Baldus published in 1517. He described the macaronic as the literary equivalent of the Italian dish, which, in its 16th-century form, was a crude mixture of flour, butter, and cheese. The Baldus soon found imitators in Italy and France, and some macaronics were even written in mock Greek. (source: Britannica)
How to write the Macaronic?
Well, there is no meter or rhyme mentioned anywhere for this form that I could see. All that it requires is a combination of two (or more) languages are used; and the rules of grammar of one of them are applied on another to bring out comic effects(or make it ungrammatical overall – see my example below)
So, the Macaronic:
- has any number of lines – left to the writer
- no specific meter or rhyme to follow – left to the writer
- combine two or more languages – the more the merrier!
- make up (nonsensical or not) words combining the languages to use in your poem
- you know only one language – then fear not
- you could also use slang with prosaic in the same ‘language’, Shakespearean English with #hashtags/acronyms, regular speech with textbook ‘language’
- use Google translate to come up with words in your favorite language – the one you always wanted to learn but never did so far (this can be a start! – I know I have at least one such language)
My example Macaronic:
Reusing one from a previous post so I can complete playing catch-up:-) This one was a result of a dVerse prompt about two years ago. I used a combination of three of the four languages I know (English, Tamil and Hindi) (and totally understand if I leave you confused)
Mmmmm my heart go music makes
Rhythm to dance some cool shakes
Smile my heart does my kids see I
Glee with laugh sometimes till cry
their actions their words make me
Dil* for books it tudichify**
I reading ennaku*** time no knows
Grammar police to sorry from me
Writing always fun poetry
– ©2019 Vidya Tiru/LadyInRead@LadyInReadWrites
*Dil means Heart (Hindi)
**tudichify– use of ‘fy’ at the end of Tamil words is a common pattern noticed in Tanglish (Tamil + English) – Tamil word here is tudichu (or tutippu) meaning beating
***ennaku – means ‘for me’ in Tamil
“Meditation is the tongue of the soul and the language of our spirit.” Anonymous
M is Merry: M is for Mutation Testing
What is Mutation Testing?
I first though of talking about Monkey testing. First a gorilla, then a monkey. What are apes doing in the world of testing anyways? You can read more about Monkey Testing here as I have decided I will talk about Mutation Testing indeed. I knew a bit about this but learned more while researching for this post.
Mutation here should not get any of you start thinking of sci-fi/aliens or cell mutations causing problems or superpowers in us humans. In the world of testing, mutations refer to mutated code. Instead of creating more tests to test a specific piece of code/application, this testing creates variants of the code itself to test the ‘tests’ themselves – or more specifically, to check for the quality and effectiveness of the tests being used to test the software.
One definition below: from this source:
Faults (or mutations) are automatically seeded into your code, then your tests are run. If your tests fail then the mutation is killed, if your tests pass then the mutation lived. The quality of your tests can be gauged from the percentage of mutations killed.
Hows and Whys of Mutation Testing?
Mutation testing is achieved by a few different types of variations, including but not limited to:
- statement mutation where we add/remove/update/move around statements of code
- using the inverse of operators – like true for false; != for = (not equal for equal)
- replacing arithmetic or boolean expressions with others – like + for -; > replaced by < or >= or = ; and so on
- replacing variables with compatible but dissimilar variables
Once developers/testers create the variants, the test suite is run against both the original code and the mutants. A good test suite typically detects the mutations and fails automatically (tests failing with the mutation is good!).
Effective mutation testing results in identifying, at the least, untested code and weak tests. A calculated mutation score helps identify the quality of the test suite (Mutation Score = (Killed Mutants / Total number of Mutants) * 100).