Blasphemy Rights Day International is observed September 30. It promotes the idea that one should be allowed to examine, discuss, even criticize, religious beliefs and practices exactly as if it were any other topic. Sadly, in much of the world, this kind of discussion is hampered by laws that criminalize “offending” the religious beliefs of others.
Goodness, I has been a while. Ok, here is a little something for Talk Like a Pirate Day. Or as I like to call it, Code Like A Pirate Day. And so I present to you the language Arrr! The standard “Hello, World” example looks like this in Arrr!
savvy stdio! ahoy! tharbe mate as scrimshaw! extort mate "Who be ye?" says I! parlay mate + " be a scurvy sea dog"! avast!
Arrr! is case-sensitive, with all keywords in lower case. Pirates don’t bother much with capital letters.
Statements end with an exclamation point, following the same rules as the C semi-colon. When pirates speak, they speak emphatically.
Except as needed to separate individual words, whitespace is ignored: tabs, spaces and line breaks can be added as needed to improve readability.
Code libraries are linked using the keyword savvy.
Code blocks begin with ahoy! and end with avast!
Names cannot be a reserved keyword. They may contain any number of alphanumeric characters, but must always start with an alpha. Because Arrr! is case-sensitive, treasure, Treasure and TREASURE will be treated as different names.
Variables are declared with the syntax tharbe variable name as type! There are three intrinsic data types:
- scrimshaw – string
- dubloon – integer
- pieceofeight – floating point
Array variables are declared using the keyword plundered, followed by the number of elements in the array. A variable named “treasure”, defined as an array of eight integers, would be declared using tharbe treasure plundered 8 dubloons! Individual elements of the array are accessed using square brackets. Pirates have more important things to worry about than figuring out zero-indexed arrays so the first element of the array would be treasure.
Input from the default input device is retrieved into a variable using extort variable name text says I! Output to the default output device is sent using parlay text! The text can be any valid text, with string variables concatenated using +.
Like C, Arrr! has only functions. Functions are introduced using chart function name to return type. If a function has no return type, the keyword home is used. Parameters are declared using with, followed by the parameter list. By default, parameters are passed by value. To pass a parameter by reference, use the common keyword. The function’s code block is enclosed in ahoy!/avast! Here is an example of a function declaration:
chart course to dubloons with grog as scrimshaw, common parrot as plundered 12 pieceofeight ahoy! insert code here avast!
Functions are called using the function name. If there are any parameters, they are introduced using with:
course with rum, polly!
Loops are written with the syntax divvy variable name atwix start value to end value! The code executed during the loop is contained within an ahoy!/avast! block. By default, loops iterate with a +1 step; this can be changed by adding step value wise to the end of the statement. For example, a loop that counts down from 10 to 1 could be written:
divvy treasure atwix 10 to 1 -1 wise ahoy! insert code here avast!
That’s all I got so far. Hope you enjoyed this!
I will be at Detcon 1 from July 17 through July 20. I’ve even been given panels! My final (for the moment) schedule is:
Ambassador Salon 2
|Current Voices: LGBT Authors & Artists
Our panelists discuss and recommend recent science fiction and fantasy from LGBT creators.
Mark Oshiro, Gregory Gadow, Jacqueline Carey, Traci Castleberry, Claire Humphrey
|Who Lives & How: SF Potential in Medical Ethics
Genetic manipulation is only just beginning to challenge our understanding of medial ethics. What potential science fiction themes and stories arise from these circumstances? What SF authors and works have already begun to address the questions of genetic manipulation and medical ethics?
Gregory Gadow, Ron Collins, Peter Halasz, Mel. White, Laurie Gailunas, Cliff Winnig
|Humorous Tech Anecdotes
Our panelists relate funny things that have happened in Science and Tech related fields (but you’re really happy they didn’t happen to you!). Warning: you may be sore from laughter after this panel.
David Ifverson, Clark B. Wierda, Todd R. Johnson, Gregory Gadow
|Sexuality and SFF
Science fiction and fantasy are genres with great opportunities to explore ideas and concepts without the constraints of current reality. How have these genres explored the complex and multifaceted subject of human sexuality?
Gregory Gadow, Mark Oshiro, Bernadette Bosky, Leah Bobet, Traci Castleberry, David Sklar
Ambassador Salon 1
Our panelist indulge their penchant for “oh, come ON!” in discussing the science, pseudo-science, and outright balonium in recent SF, whether in print, media, comics, or wherever!
Donna Waltz, Lee Billings, Rich Lynch, Marta Savage, Gregory Gadow
NASFiC is held in North America only in years when Worldcon is held elsewhere. Since Worldcon is in London this year, a NASFiC is taking place.
Martial law and the vaccine had been successful, and the remnant of humanity danced in the street at the destruction of the last monster. But beneath their feet, the virus had found a new host. The city’s vast population of rats began to die and wake again, hungry for human brains. So very hungry.
Flash fiction: complete stories in 55 words, including title.
A few weeks ago, I got laid off from my job. For most of the almost 18 years I was with the company, I was the in-house developer for the desktop applications we used in the back office, and the designer / programmer for the website we had for our field agents. In that time we grew, going from about 150 agents to almost 500. The executives decided a few years ago to start outsourcing a lot of the tech work: since we were a consumer of technology rather than a producer, they saw that it was a better value to contract out the larger projects to people who already had the necessary skills than to have the company cultivate those skills internally. Little by little, projects got turned over to third-party vendors, and for the last year I was largely doing make-work to justify keeping me on the payroll for the minor odds and ends. Eventually, we both acknowledged that there was not much reason for me to stay and came to a mutually agreeable separation, with severance and everything. I still go in occasionally to help train the person taking over what is left of my projects, but that leaves me with a lot of time on my hands and no immediate need to find a new situation. What is a wanna-be writer to do? Hmm….
So, I set up a “writing den,” a nice, reasonably distractionless part of my apartment where I can concentrate on writing. A bright corner with plenty of indirect natural sunlight. A few houseplants to sooth the eye. A fan to improve ventilation on days that are muggy or warm. A padded chair with lumbar support. Desk at the right height. My laptop, which does not have World of Warcraft installed on it, nor Dragon Age, nor The Sims 3.
The first three and a half chapters had been written, so I settled down in this nice, reasonably distractionless part of my apartment and finished chapter four. Then I started work on chapter five. And sat there. Edited what I’ve written. Sat some more. Watered the plants. Sat and stared at the computer. Opened the window and adjusted the shades. Edited what I’ve written. Sat.
It took me two weeks to realize what my problem was. The Longest Night has three narratives, loosely intertwined and only occasionally touching. I was trying to write the chapters as they would occur in the finished novel; makes sense, right? Unfortunately, that meant switching point of view after spending time looking at the world from someone else’s head, and I was having trouble switching gears. Then it occurred to me in a flash of light so blindingly obvious, it hurt: the story has three narratives, loosely intertwined and only occasionally touching!
I spent this morning rewriting the outline, splitting it into three separate works. Once that was done, I split what I had written into three separate files, each of which will become a novella from a single character’s point of view. This way, I can stick with a character for as long as I want and move between them when I am ready, not when the story arc requires. When the novellas are finished, I will interleave them to create the finished novel.
I will be at the Fremont Fair and Solstice Parade tomorrow, so I don’t expect I will get any writing done then. Refresh the batteries by browsing craft booths and eating fair food, you know how that is. Sunday, however, I will make progress on the book. I will. Or at least, I will sit in front of the laptop and try not to edit what I have already written.
The acting could be a bit better — I’ve never imagined Mab as having a Transylvanian accent, and Harry seems just a bit too short and young — but it is a low budget fan production after all. I kind of wish more authors would create trailers for their books, it strikes me as a decent way of getting the word out.
The farms and grasslands were spread out below him, and ice capped mountains shimmered in the far distance. Wonder at the panorama left room for only one small regret: telling his wife two hours earlier, “What could go wrong?”
For the few seconds he had left, he was glad to be alive.
Flash fiction: complete stories in 55 words, including title.
I finally got fed up with GoDaddy as my hosting provider, and have now switched to Arvixe. Since I was moving, I figured the site should become a tad more interesting. I was going for “steampunk horror” without resorting to the much overused gears-and-industry motif. I think I did a reasonably good job, if I do say so myself.
And by an odd coincidence, that is the genre of the novel I’ve been working on! I will be posting more about The Longest Night later on, so check back every week or so.