lace

Bubba Wallace condemns Larson's use of slur but calls apology 'sincere'




lace

A new vision for 'social security'. Home healthcare smart sensors help keep Italian seniors living in place.

Faced with a stagnant, 10-year budget forecast, restricted resources and the need to address healthcare and safety needs of a rapidly growing percentage of healthy citizens over the age of 70, city leaders got creative. Partnering with IBM, TIS Innovation Park, the technological park of Bolzano, and Dr. Hein GmbH, the city sponsored the Secure Living project to help seniors safely 'age in place' at home.




lace

City of Bolzano honored by Computerworld. Socially-enabled 'aging in place' solution wins high marks for innovation.

The City of Bolzano's Living Safe Project was one of the top five Laureates, or nominees, in the "Innovation" category at the ComputerWorld Honors program, and was recognized publicly at the Laureate Medal Ceremony and Gala Evening.




lace

Nine Favorite Posts from Thin Places

The best of faith, family, disability, and culture as I say goodbye to blogging.

One of the wonderful aspects of blogging is that I get to write about pretty much anything that is on my mind and might connect with readers. Over the past 15 months of blogging for Christianity Today, I've written or edited nearly 200 posts. As I wrote last week, many posts soar to the top of the charts for predictable reasons (i.e., the word sex is in the title or it relates to pop culture). In highlighting the "best" posts of this blog, I didn't only pay attention to the number of pageviews they garnered, but also to the ideas contained within. Here are my nine favorites posts:

The Problem with Quiet Times

As a mother of three small children, when I stopped having disciplined set apart time with God, my faith grew.

Why We Still Go To Church

It's inconvenient and inefficient and sometimes doesn't even feel spiritual. But I'm glad we keep showing up.

Want a Better Devotional Life? Buy a Bird Feeder

What my grandfather and my son taught me about patience, love, and a gentle spirit.

The Serious Pleasure of Summer Reading

An argument for why reading matters, and a list of ten books—for kids and adults—to challenge and entertain.

How Christians Should Talk About Sex

"Although I want to hold out a biblical ideal of sex, I want to do so in very unbiblical terms." What Rolling Stone and Paul have taught me.

John Perkins: The Sin of Racism Made Ferguson Escalate So Quickly

In the wake of the events in Ferguson last summer, I had a chance to interview Christian civil rights leader John Perkins.

What Slowing Down Teaches You That Rushing Never Will

Although there have been a number of wonderful guest posts here, this is my very favorite: Elisa Fryling Stanford,mother of a ...

Continue reading...





lace

Seven Seas Music Places Three Tracks In Apple TV+ Series ‘Little America’ From Creators Of ‘The Big Sick’

Authentic International Music Chosen From Seven Seas Music Catalog To Highlight Immigrants Stories In New Heartwarming Show Out This Fall.




lace

Tips and Tricks Section Replaced by New Website

Kindly note that our tips and tricks section will no longer be maintained (but will still be available for future reference). All new tips and tricks will now be published on a website dedicated to free computer tips and tricks. Visit www.nicetoknow.co.za for more information.




lace

Kafer: The summer of isolation is the time to replace your grass with water-friendly plants

You can reduce water use not by forgoing the recommended eight daily glasses of water, showering less often, or draining the fishbowl but by cutting back on grass, the turf kind, that is.




lace

Kafer: The summer of isolation is the time to replace your grass with water-friendly plants

You can reduce water use not by forgoing the recommended eight daily glasses of water, showering less often, or draining the fishbowl but by cutting back on grass, the turf kind, that is.





lace

2020 NHL draft could take place next month; Avs might have 29th pick

NHL deputy commissioner Bill Daly issued a memo to teams recently outlining what could be a June 5 virtual draft based on points percentage for those not in a position to be included in the draft lottery.




lace

Morehouse Students Get Relief After COVID-19 Displacement



The “Funds for Morehouse” campaign gave more than $260,000.




lace

Flicks of the Week: Discover Hip Hop Like Chris...Wallace



'Fresh Dressed" premieres on Monday, October 13 at 10P/9C.



  • BET Star Cinema

lace

NASCAR’s Only African-American Driver Bubba Wallace Addresses Kyle Larson’s Racial Slur

The stock car racer emphasized it’s ‘NOT just a word.’





lace

Clarien Services During ‘Shelter in Place’

Clarien Bank clients are advised that the following banking services remain available, to minimise virus spread and adhere to the Government-issued “State of Emergency” and “Shelter In Place” advisory. A spokesperson said, “As we work collectively to minimise virus spread and adhere to the Government-issued “State of Emergency” and “Shelter In Place” advisory, Clarien Bank […]

(Click to read the full article)




lace

BCB Bank Services During “Shelter In Place”

Bermuda Commercial Bank [BCB] will open its branch, located at 34 Bermudiana Road, for any of their vulnerable clients on Thursday, April 9 and Thursday, April 16 from 9am to noon. A spokesperson said, “Bermuda Commercial Bank [BCB] has obtained approval from the Minister of Finance to open its branch, located at 34 Bermudiana Road, […]

(Click to read the full article)




lace

Motocross Racing To Take Place This Sunday

The Bermuda Motocross Club will be holding races on Sunday [Dec 3], with the action to get underway at 1.00pm. A spokesperson said, “There is motocross racing this Sunday December 3, 2017. Bring the whole family out for an afternoon of excitement. We have riders from the age of 4 to over 40+. There are […]

(Click to read the full article)




lace

Motocross Racing To Take Place This Sunday

The Bermuda Motocross Club will be holding races on Sunday [Apr 15], with the action to get underway at 1.00pm. A spokesperson said, “There is motocross racing this Sunday, April 13. Bring the whole family out for an afternoon of excitement. We have riders from the age of 4 to over 40+. There are seven classes […]

(Click to read the full article)




lace

Evans Moves Up Three Places In Australia

A total of nine races have been sailed as the 2019 Finn Gold Cup continued for the 60-boat fleet in Australia. Bermuda’s Rockal Evans was back on the water for two races sailed on the day. He started the day in 43rd, and at the conclusion of the day he came off the water in […]

(Click to read the full article)




lace

Pilot Gig Regatta To Take Place On Thursday

On Thursday [Sept 21], the Spanish Point Boat Club will be hosting a regatta against the Lyme Regis Pilot Gig Club from Dorset, England. Lyme Regis will compete against four mixed local crews representing Argus, BF&M, Chubb and Mariners RFC. The regatta will comprise of two races starting at 6p.m. The finishing line will be […]

(Click to read the full article)




lace

ZOOMA Women’s Race Series To Take Place

The ZOOMA Women’s Race Series will be held in Bermuda for the first time on February 15-16. Race options include a 2-Mile run on Saturday [Feb 15], which will start at Gibb’s Lighthouse as well as a 10K or Half Marathon race on Sunday [Feb 16], which will start at Front Street, Hamilton. According to […]

(Click to read the full article)




lace

Video: Duffy Takes First Place In Virtual Race

As the ongoing Covid-19 pandemic continues to prevent sporting events from happening, Bermudian triathlete Flora Duffy recently used virtual technology to earn her latest win as she took top spot in a Zwift Pro Triathlete Race Series “eRacing” event. Photo of Ms Duffy in the virtual race via her Instagram page: The race saw athletes […]

(Click to read the full article)




lace

MarketPlace Offer 5% Discount For FA Recipients

[Updated] MarketPlace announced a “daily 5% discount for recipients of financial assistance for six months to support them through the challenging times ahead.” A spokesperson said, “The new daily 5% discount offering, which comes into effect from Thursday, May 7, is our way of continuing to support our community members who need it most. “The […]

(Click to read the full article)




lace

Regiment Help Enforce “Shelter In Place” Rules

Royal Bermuda Regiment soldiers have completed their first weekend since “shelter in place” rules to combat Covid-19 were introduced. The new regime – a 24-hour lockdown except for essential trips – was enforced by RBR manned checkpoints and mobile patrols over the hours of darkness. RBR Commanding Officer Major Ben Beasley said soldiers were also […]

(Click to read the full article)




lace

Police Warn About Fake MarketPlace Website

The Bermuda Police Service [BPS] is warning the public about a fake website claiming to represent The MarketPlace that is “deceiving residents with an alleged $250 gift card giveaway.” A police spokesperson said, “The Bermuda Police Service is aware of a fake website claiming to represent The MarketPlace that is deceiving residents with an alleged […]

(Click to read the full article)




lace

Little known beautiful places: Johns River – Westport, WA

This isn’t in the photos, but it’s foggy and cold this morning in western Washington. It’s the weirdest summer I’ve ever experienced — foggy, frigid mornings, cool days, and then freezing nights! It’s not very pleasant for a desert creature like myself, but it’s quite nice to sit inside and write in my blog a least. I have to say, it sure is weird, though. It’s August and I wear a sweater or sweatshirt most of the time and then I’m still cold! ^^; There are a few sunny days here and there, though. I get out on those days, into the wilderness and bright blue beyond. Sometimes, I just drive and drive in my still-unnamed yellow bug, and other times I find something that not a lot of people know about. This is about one of them. ^^ I love to wander, to find all of the nooks and crannies of wherever I happen to be. Tourist sites? Well, they’re usually cool and I want to see them, but it’s the little, hidden things off the beaten trail that really get my soul revving. So, Johns River (no apostrophe, it was named back when apostrophes weren’t used on maps) was one of those things. I found out about it by googling and googling, thinking that someone, somewhere, must have written about something other than the two really traveled trails in Grays Harbor. I mean, this area is the gateway to the wild peninsula of Washington, where according to Stephanie Meyer and Patricia Briggs, vampires and werewolves run wild. I also loooooooove mountain meadows. Johns river is not in the mountains, so I suppose that it mostly qualifies as grassland surrounded by trees? It’s just a little concrete path, and it’s not even a mile (0.6 miles one way) long, but with the river on one side and a huge expanse of pasture to the other side, it took my breath away.   Just look at this. Elk supposedly graze around here a lot, and I didn’t see any since I went during midday, but I bet it’s really a sight at sunset. It’s not far, so I will definitely have to come back. Can’t you just imagine little river sprites lounging on the bank, cleaning themselves? And little fairies flitting through the air? I bet this is a really magical place at sunset.   The little shack in the distance is off the trail. It’s supposedly for hunters (YUCK) and photographers. It would make a wonderful place to watch the sprites from. This shack is at the very end of the trail, and the same thing. It’s boring inside. I didn’t see any geldings, but I saw a few mosquitoes and a spider. If you’re lucky enough to have a horse that loves to take you along on its adventures, you can continue. I was wearing shorts, so I didn’t go, because ticks! But I will come back. Yes, I will come back. :3 Road to nowhere. Ignore the buildings. They’re only there for magical curse removal. Here’s a panorama of wildness. I’m feeling really magical today, can’t you tell? I think it’s because I have Daniel Waples playing in the background, and it’s all foggy outside. That reminds me that I want a handpan so badly. I need to find a handpan that I can afford soooooo badly, because I think it’s a music that speaks to my inner essence. Does anyone know what these gorgeous purple flowers are? They’re not lavender. The River People watch over this creek. Be careful to please them. It’s me. Sometimes I wear bright colors, sometimes I wear pastels. I don’t think that a magical being has to stick to  neutrals. (That hand thing is a shaka, a very cool gesture that I learned during my time in Hawaii that means “hang loose.” I like to think that it also means that you should be yourself and follow your instincts.) I think that I’ll go research handpans again. I should write down how much they cost so that I can be sure to stock my Airstream with one when I get it. ???? Here’s to the future! Excelsior! (Is that a good “to infinity, and beyond!!” kind of quote? If not, what should I use instead? I feel like “banzai!” is overused) Oh, and I’ve been arting on my Tumblr lately. I’ve been writing a serial ficiton that is mysterious connected to my soon-to-come comic, Denkiki on my other tumblr. Go check them out!  I’m going to start using my mailing list soon, too, to keep people updated, so stay tuned and I’ll post the link soon! Or make it a popup, I’m not sure. But I want to offer something cool for when people sign up. ???? Chaoness!

(779 geeks have read this)





lace

Sheltering in place

We started Evil Mad Scientist Laboratories in 2006 as a “personal project blog”, to capture, organize, and share some of the things we do for fun. It has evolved over time to become a resource for our customers as well as a way for us to share interesting and educational information from a variety of … Continue reading Sheltering in place




lace

IBM and West Virginia University’s Center for Disability Inclusion Unveil Mobile Workplace Accommodation Case Management App

IBM and West Virginia University’s Center for Disability Inclusion (CDI) today announced they are developing a first generation mobile workplace accommodation case management app to help U.S. businesses create inclusive workplaces for employees with disabilities.




lace

How to Lace Yourself into a Corset







By request, this is how I get myself into a corset.


Retro Rack is also on facebook where I post additional images and fashion thoughts.

You can shop my recommendations via the following lists:
Steampunk, Retro Jewelry, Makeup, Retro Clothes, Lifestyle



Product links on this blog are usually to Amazon using my associate code. At no additional cost to you this means I get a slight kick back if you make a purchase. Thank you! This allows me to continue to produce this blog without sponsors.




lace

RACE THE SANDS Book Necklace Countdown: Book 3

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 3 (YA): ICE, a fantasy adventure about an Arctic research scientist & a talking polar bear. The #booknecklace for this one is an adorable polar bear pendant. At the book launch, a reader asked my favorite question ever: "Do you like bears that aren't polar bears?" Yes, I do.

ICE is a modern retelling of the Norwegian folktale East o' the Sun and West o' the Moon. I was inspired by a picture book illustrated by the phenomenal PJ Lynch -- specifically, the moment when the bear asks the "lassie" if she's afraid, and she says defiantly "No."

I wrote this book as a love letter to my husband. And to polar bears.






lace

RACE THE SANDS Book Necklace Countdown: Book 4

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 4 (YA): ENCHANTED IVY is about getting into college. And talking gargoyles and were-tigers... It's set at Princeton University so my #booknecklace is a Princeton tiger.

There's a legend at Princeton that if you walk out the front gate before commencement, you won't graduate. That's what inspired ENCHANTED IVY, except I said if you walk out the gate, you cross into an alternate magical Princeton.






lace

RACE THE SANDS Book Necklace Countdown: Book 5

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 5 (YA): DRINK SLAY LOVE, a snarky fantasy about a 16-year-old vampire who is stabbed through the heart by a unicorn and develops a conscience. My husband tried for a fang #booknecklace, but it was absurdly huge -- the size of actual teeth. So he also got me a unicorn.



DRINK SLAY LOVE was made into a TV movie starring the fabulous Cierra Ramirez. I wore the fang #booknecklace on the day it premiered. That might be the only time I've ever worn it. It doesn't exactly go with everything...







  • Book Necklace
  • Countdown to Pub Date
  • Drink Slay Love
  • Race the Sands

lace

RACE THE SANDS Book Necklace Countdown: Book 6

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 6 (YA): VESSEL is about defying destiny. Liyana is destined to sacrifice herself so a goddess can inhabit her body, but the goddess never comes. There are glass dragons in her world, so this #booknecklace is a glass dragon. I wear this one to book events all the time.

VESSEL is the only book I've ever written that was inspired by a dream. I dreamed about a girl dancing barefoot on the sand beneath the moon. She knew that when the dance ended, she would die. I woke up worrying about her and knew I had to write her story.






lace

RACE THE SANDS Book Necklace Countdown: Book 7

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 7 (YA): CONJURED is the creepiest book I've ever written. So creepy I couldn't go into our basement while I was writing it. It's about a teen in the paranormal witness protection program. Lots of magic, a carnival, and a serial killer. Here it is with its #booknecklace.






lace

RACE THE SANDS Book Necklace Countdown: Book 8

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 8 (adult): THE LOST is about a woman who is trapped in a town full of only lost things and lost people. My husband had a #booknecklace made for it that reads "Welcome to Lost," which is what it says on the sign outside of the town of Lost.



There's a myth that ideas spring into existence fully formed, like Athena from Zeus's head. But often they begin with a single moment. For this book, I was at a stoplight, blinker on to turn, and I wondered what would happen if I just went straight instead and didn't stop...

It was only after I started writing about that moment that I developed the idea for the town of Lost. I loved creating my town and imagining all the lost things that could be there: buttons, socks, paperclips, stolen artwork, foreclosed homes, dreams, lives...





lace

RACE THE SANDS Book Necklace Countdown: Book 9

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 9 (YA): CHASING POWER, an Indiana-Jones-style adventure about a girl with telekinesis and a boy who can teleport. Three magic stones play a key role in the story, so my #booknecklace (and earrings) contain three stones, possibly magical.

This book was so much fun to write! Kayla, the protagonist, has a minor power -- the ability to lift small (and only small) objects with her mind. Her true strength is her cleverness. I loved thinking up ways for her to have a big effect with a small amount of magic.






lace

RACE THE SANDS Book Necklace Countdown: Book 10

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 10 (middle grade): THE GIRL WHO COULD NOT DREAM is about a girl whose family owns a dream shop where they buy, bottle, and sell dreams, and the adventure she goes on with her best friend, a monster named Monster who loves cupcakes. My #booknecklace is an adorable monster.

Usually my characters develop over the course of many revisions. But with Monster... It felt like he plopped down on my desk fully-formed and said, "Write my story! And feed me cupcakes!"





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Girl Who Could Not Dream

lace

RACE THE SANDS Book Necklace Countdown: Book 11

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 11 (adult SFF): THE QUEEN OF BLOOD, Book 1 of The Queens of Renthia, is an epic fantasy set in a world filled with bloodthirsty nature spirits. Only queens have the power to control them. So my #booknecklace is a crown with a tiny blood-red stone.

Writing The Queens of Renthia was such a wonderfully immersive experience. Every day I sat down at my computer, it felt like walking through the wardrobe into Narnia... except it's a Narnia where the trees want to kill you.





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Queen of Blood
  • The Queens of Renthia

lace

RACE THE SANDS Book Necklace Countdown: Book 12

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 12 (middle grade): JOURNEY ACROSS THE HIDDEN ISLANDS is a fantasy adventure for kids about two sisters, one winged lion, and a LOT of monsters. My #booknecklace is a winged lion!

This book was born one day when I wandered into the kitchen and announced, "I want to write a book about a winged lion." My husband said, "Great! How about plot, characters...?" "Winged lion!" I shouted. And then I wrote it.





  • Book Necklace
  • Countdown to Pub Date
  • Journey Across the Hidden Islands
  • Race the Sands

lace

RACE THE SANDS Book Necklace Countdown: Book 13

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 13 (picture book): ROAR AND SPARKLES GO TO SCHOOL is my first picture book, art by the amazing Ben Whitehouse. Roar the dragon is worried about his first day of school, but luckily he has his big sister Sparkles to help him through it. My #booknecklace is a little dragon!

My favorite part of writing this book was inventing the dragon school -- imagining a day in the life of a draconian kindergartner. I knew from the start he'd char his lunch with his breath, play hide-and-seek-the-princess in gym, and ride a dragon bus to school!





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • Roar and Sparkles

lace

RACE THE SANDS Book Necklace Countdown: Book 14

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 14 (adult SFF): THE RELUCTANT QUEEN, Book 2 of The Queens of Renthia. Bloodthirsty nature spirits, a dying queen, and a middle-aged woman who wants nothing to do with the power she could wield. This book shares a #booknecklace with THE QUEEN OF BLOOD but we added blood-red earrings!

I actually wrote 90 pages of THE RELUCTANT QUEEN (book 2) before I wrote THE QUEEN OF BLOOD (book 1). My editor at Harper Voyager, the awesome David Pomerico, read the pages and said, "Can this be book two?" And now I can't imagine it being any different.

In THE RELUCTANT QUEEN, I wrote my first middle-aged heroine. She's definitely not the last! The protagonist of my upcoming RACE THE SANDS is a badass middle-aged single mom!





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Queens of Renthia
  • The Reluctant Queen

lace

RACE THE SANDS Book Necklace Countdown: Book 15

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 15 (MG): THE STONE GIRL'S STORY is about a twelve-year-old girl made of stone who, when the carvings that brought her and her stone friends to life begin to fade, must go on a quest to save them all. So my husband gave me a #booknecklace made of stones!

THE STONE GIRL'S STORY is, at its heart, a story about stories. I believe that stories are as essential to life as food, water, and shelter. They're how we understand who we are. I wrote this book for everyone who wants to shape the story of their life and choose their own destiny.

It was surprisingly tricky to write about a character made of stone. She can't smell, taste, or sleep. Her stomach never drops, clenches, or feels butterflies. I couldn't use any of the common physical reactions to convey emotions, because stone. Made for a fun writing challenge!








  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Stone Girl's Story

lace

RACE THE SANDS Book Necklace Countdown: Book 16

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 16 (adult SFF): THE QUEEN OF SORROW, Bk 3 of The Queens of Renthia, is the final battle between vicious spirits and three strong-willed queens. I loved writing these books so much that I cried when I finished. This book shares its #booknecklace with the first two in the series.

I loved writing an epic fantasy trilogy! It's something I've wanted to do ever since my mom introduced my eleven-year-old self to the SFF shelves in the Northboro Public Library and placed THE SWORD OF SHANNARA by Terry Brooks in my hands.





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Queen of Sorrow
  • The Queens of Renthia

lace

RACE THE SANDS Book Necklace Countdown: Book 17

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 17 (YA): FIRE AND HEIST is about a sixteen-year-old socialite from a family of master thieves... who can also breathe fire. Think Ocean's Eleven with were-dragons! My #booknecklace for this one is, quite appropriately, a flame!

While I was writing FIRE AND HEIST, I watched so many YouTube videos on how to pick locks, read so many articles on real-life heists, and researched the specs of so many secure vaults that I wanted to add a disclaimer to all my Google searches: "This is for a book! Really!"





  • Book Necklace
  • Countdown to Pub Date
  • Fire and Heist
  • Race the Sands

lace

RACE THE SANDS Book Necklace Countdown: Book 18

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 18 (adult SFF): THE DEEPEST BLUE is a standalone epic fantasy set in the same world as The Queens of Renthia (but you don't have to have read the trilogy first -- it's a true standalone). It features a LOT of sea monsters so my #booknecklace is a sea monster!

When I saw the cover for THE DEEPEST BLUE, I was thrilled to see that the artist (Larry Rostant) had depicted the sea monsters precisely as I'd imagined them. The sea dragon, the kraken, and the multi-headed snake -- those are my murder-babies!





  • Book Necklace
  • Countdown to Pub Date
  • Race the Sands
  • The Deepest Blue

lace

RACE THE SANDS Book Necklace Countdown: Book 19

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 19 (MG): SPARK is my newest book for kids. It's about a girl and her lightning dragon (a storm beast), and how even the quietest voice can change the world. My #booknecklace is a lightning bolt, and I wore it so much that I broke the chain.

I wrote SPARK for all the quiet kids out there. But it's not about a quiet kid who learns to be loud. It's about a quiet kid who discovers that she's strong exactly as she is. She doesn't have to change herself to change the world.

I also wrote it because I not-so-secretly want my own lightning dragon.....






lace

RACE THE SANDS Book Necklace Countdown: Book 20

I'm counting down to the publication of my 20th book, RACE THE SANDS, out 4/21, by sharing pics of each #booknecklace my husband gave me to celebrate each of my prior books...

Book 20 (adult SFF): RACE THE SANDS. And this brings us to my newest book and newest #booknecklace! Tomorrow my 20th book comes out! It's a standalone epic fantasy about monster racing. The primary monster is a metal lion, and my husband found the most perfect necklace on Etsy!



My cat Gwen claims she's the inspiration for this book since she loves to run around the house at top speed. And it is true that I wrote most of the book with her sitting on me!


Funny thing is that my husband forgot he already gave me a #booknecklace for RACE THE SANDS -- a tiny hourglass with sand inside. But don't tell him, because I love both.



Thanks so much for joining me on my #booknecklace countdown to RACE THE SANDS pub day! It will be out in the world tomorrow!!! I hope all of you are safe, healthy, and happy. Sending so much love to everyone!






lace

Leo Zovic: Places, Peeps And Plagues

(in-package #:cl-pestilence)

;;   This is _not_ a simulation. It's just a game. And any resemblance
;; to any world, real or imaginary, is entirely coincidental.

;;   You can copy/paste this post in its entirety into a Common Lisp
;; REPL and play around with it if you like. I'm documenting it where
;; possible, but it's just a small toy to poke at for the moment.

;;   I've been thinking a lot about asymmetric multiplayer games and
;; <gestures wildly to world at large> all this.
;; I'm not actively _trying_ to model it accurately, but it's probably
;; obvious what's been consuming my thoughts lately.

;;   Let's get right into this. I'll explain as I go, and tie a few things
;; together neatly at the end. I hope. Regardless, there will absolutely
;; be a repo sometime fairly soon.

;; A place can be tagged arbitrarily, and can contain occupants.
;; They also collect points.

(defclass place ()
  ((tags :initarg :tags :initform nil :accessor tags)
   (occupants :initarg :occupants :initform nil :accessor occupants)
   (points :initform 0 :accessor points)))

(defun place? (thing)
  (eq (find-class 'place) (class-of thing)))

(defun place (&key tags occupants)
  (make-instance 'place :tags tags :occupants occupants))

(defun gen-place ()
  (let ((tag (pick '(:apartment-building :house :cottage
		     :office-building :factory :store
		     :cafe :lounge :theater))))
    (place :tags (list tag))))

(defmethod details ((place place))
  (format nil "====================~%~a {~{~a~}}~%~{  ~a~^~%~}~%"
	  (first (tags place))
	  (rest (tags place))
	  (mapcar #'details (occupants place))))

(defmethod show ((place place))
  (format nil "~20@a ~5a [~{~a~}]~%"
	  (first (tags place)) (points place)
	  (mapcar #'show (occupants place))))

;; A peep goes places.
;; They have
;;  - their daily routine (a list of places to visit)
;;  - their todo (the part of their routine they still need to do;
;;                they are currently at the first place in this list)
;;  - their health (a number from 0 to 100)
;;  - a list of plagues
;; Finally, they _also_ collect points.

(defclass peep ()
  ((routine :initarg :routine :initform (list) :accessor routine)
   (todo :initarg :todo :initform nil :accessor todo)
   (health :initarg :health :initform 100 :accessor health)
   (plagues :initform nil :accessor plagues)
   (points :initform 0 :accessor points)))

(defun peep? (thing)
  (eq (find-class 'peep) (class-of thing)))

(defun peep (&key places)
  (make-instance 'peep :routine places :todo places))

(defun health->string (health)
  (cond ((>= health 90) "@")
	((>= health 80) "0")
	((>= health 70) "O")
	((>= health 50) "o")
	((>= health 30) ":")
	((>= health 1)  ".")
	(t "☠")))

(defmethod details ((peep peep))
  (format nil "[~a ~3d [~{ ~a~^ ->~}]]"
	  (health->string (health peep)) (health peep)
	  (mapcar
	   (lambda (place) (first (tags place)))
	   (routine peep))))

(defmethod show ((peep peep)) (health->string (health peep)))

;; A world is a list of places, occupied by peeps. The world we start
;; peeps in also determines their routine.

(defun gen-world (&key (num-places 20) (num-peeps 100))
  (let ((places (loop repeat num-places collect (gen-place))))
    (loop repeat num-peeps
       do (let* ((routine (loop repeat 5 collect (pick places)))
		 (peep (peep :places routine)))
	    (push peep (occupants (first routine)))))
    places))

(defmethod details ((world list))
  (format nil "~%~{~a~}~%" (mapcar #'details world)))

(defmethod show ((world list))
  (format nil "~%~{~a~}~%" (mapcar #'show world)))

(defmethod all-peeps ((world list))
  (loop for place in world append (all-peeps place)))

(defmethod all-peeps ((place place))
  (loop for o in (occupants place) if (peep? o) collect o))

;; `tick!`ing a world means moving every peep through their routine once.
;;   We `tick!` each peep, then `tick!` each place until all the peeps are
;; done. Then we reset their routines.
;; You can think of this as a turn in the game.

(defmethod tick! ((world list))
  (let ((peeps (all-peeps world)))
    (loop while peeps
       do (setf peeps
		(loop for p = (pop peeps) while p
		   for res = (tick! p)
		   if res collect res))
       do (mapc #'tick! world)
       do (format t "~a" (show world)))
    (loop for p in (all-peeps world)
       do (setf (todo p) (routine p))))
  world)

;; Don't worry about the details of how to `tick!` peeps or places yet.

;;   Ok, here's where it gets a bit darker. Although we _did_
;; foreshadow this in the definition of `peep`. And also in the title
;; of the accompanying blog post.

;; A plague is another living thing.
;; It has
;;  - a host (a peep that it's infecting)
;;  - a signature (a token representing its lineage and strain)
;;  - health (how well it's doing inside its host)
;;  - virulence (how likely it is to spread to another host)
;;  - efficiency (how efficient they are at feeding)
;;  - reproduce (a function that returns a new instance to push into a new host)
;;  - and a strategy (a function, possibly closed, that takes
;;    itself and its host peep and mutates)

;; Plagues do not collect points; they score differently.

(defclass plague ()
  ((host :initarg :host :initform nil :accessor host)
   (signature :initarg :host :initform "SIG" :accessor signature)
   (health :initarg :health :initform 10 :accessor health)
   (virulence :initarg :virulence :initform 10 :accessor virulence)
   (efficiency :initarg :efficiency :initform 0.2 :accessor efficiency)
   (reproduce
    :initarg :reproduce
    :initform
    #'plague
    :reader reproduce)
   (strategy
    :initarg :strategy
    :initform
    (lambda (plague peep)
      (feed! plague peep 30))
    :reader strategy)))

(defun plague ()
  (make-instance 'plague))

;; Plagues can `feed!` on peeps or plagues. To feed means to
;; take away some of the targets' health and add some to your own.

(defmethod feed! ((self plague) (peep peep) (amount integer))
  (decf (health peep) amount)
  (incf (health self) (* (efficiency self) amount)))

(defmethod feed! ((self plague) (plague plague) (amount integer))
  (decf (health plague) amount)
  (incf (health self) (* (efficiency self) amount)))

;; Plagues can also `infect!` peeps by `reproduce`ing into them.

(defmethod infect! ((self plague) (peep peep))
  (unless (infected-by? self peep)
    (let ((child (funcall (reproduce self))))
      (setf (host child) peep)
      (push child (plagues peep)))))

(defmethod infected-by? ((self plague) (peep peep))
  (member (signature self) (mapcar #'signature (plagues peep))
	  :test #'string=))

;;  `tick!`ing a plague causes it to weaken and also carry out its strategy.
;; This models the background effect of the immune system of its host.

(defmethod tick! ((plague plague))
  (decf (health plague) 1)
  (funcall (strategy plague) plague (host plague))
  plague)

;;  `tick!`ing a peep means moving them to their next place, and also
;; `tick!`ing any plagues they may have contracted. Also, peeps are
;; resilient; they heal a small amount each time they tick (to a
;; maximum of 100).
;;  If a peep dies, they no longer move. And their plagues probably
;; won't do well. Peeps like to go places. They score points for each
;; place they go to.

(defun dead? (thing) (>= 0 (health thing)))

(defmethod tick! ((peep peep))
  (unless (dead? peep)
    (let ((location (pop (todo peep))))
      (incf (points peep))
      (setf (occupants location) (remove peep (occupants location)))
      (push peep (occupants (or (first (todo peep)) (first (routine peep)))))
      (setf (health peep) (min 100 (+ 5 (health peep))))
      (mapc #'tick! (plagues peep))
      (unless (empty? (todo peep))
	peep))))

;; `tick!`ing a place causes it to score for each `peep` present. And it causes
;; any `plague`s on present `peep`s to try to `infect!` other nearby peeps.
;; Places also lose points for each dead peep they contain.

(defmethod tick! ((place place))
  (incf (points place) (length (occupants place)))
  (loop for peep in (all-peeps place)
     if (dead? peep)
     do (decf (points place) 2)
     else do (loop for plague in (plagues peep)
		do (loop for victim in (remove peep (all-peeps place))
		      if (>= (virulence plague) (random 100))
		      do (infect! plague victim))))
  place)

;;  So, now we've got the basic framework of the game in place. There are three
;; players in this game: places, peeps and plagues.
;;   A plague player automatically loses if they are completely cured, and
;; automatically wins if they manage to kill everyone. That's fairly simple.
;;   A place player wins if they manage to cure the plague. They automatically
;; lose if all the peeps die. Also, fairly simple.
;;   A peep player is trying to survive. If they manage to make it some numer
;; of turns before dying, then we have to score the game instead of declaring
;; an outright winner regardless of game state.

;;   A peep player's score is the total number of points plus remaining health
;; on all of their peeps, minus the number of active plagues on said peeps.
;;   A plague player's score is the total number of health of their plagues,
;; with a multiplier equal to the number of places fully infected by
;; their plague.
;;   A place player's score is the total number of points in their places.

(defun score (world)
  (list :peep (let ((score 0))
		(loop for p in (all-peeps world)
		   unless (dead? p)
		     do (incf score (+ (health p) (points p)))
		   do (decf score (length (plagues p))))
		score)
	:place (let ((score 0))
		 (loop for p in world
		    do (incf score (points p)))
		 score)
	:plague (let ((score 0))
		  (loop for victim in (all-peeps world)
		     do (loop for p in (plaguesvictim)
			   do (incf score (max 0 (health p)))))
		  (loop for target in world
		     if (every
			 (lambda (victim)
			   (not (empty? (plagues victim))))
			 (all-peeps target))
		     do (setf score (* 2  score)))
		  score)))

;;   I think that's all I've got for now. This is definitely an idea I want
;; to run with. At the moment, it's just a tiny, in-repl proof-of-concept,
;; and not particularly fun, but I'm going to try developing it further with an
;; eye towards turning it into an actual web game playable from this site.

;; As always, I'll let you know how it goes.

(defun pick (lst)
  (nth (random (length lst)) lst))

(defun empty? (lst)
  (null lst))