my

A Mission to Triton and Neptune Would Unlock Their Mysteries

A town in the Austrian Alps might not seem like the most conducive place to come up with daring space missions. But, for the last 40 years, students and professors have been gathering to do just that in Alpbach, just north of the Lichtenstein/Austrian border. One outcome of the Alpbach Summer School this year was …

The post A Mission to Triton and Neptune Would Unlock Their Mysteries appeared first on Universe Today.




my

Nespokojení policisté protestují. Jak lze řešit problémy v bezpečnostním sboru?

Málo policistů, nízké platy a zbytečné úkony, které by neměli dělat. Policisté jsou dlouhodobě nespokojení s poměry v bezpečnostním sboru. Proto poslední týden protestují, méně závažné přestupky místo pokut řeší domluvou, při níž občanům vysvětlují problémy, se kterými se potýkají. Ministr vnitra Vít Rakušan (STAN) by měl s odborovými organizacemi o řešení jednat příští týden, nejen o platech, ale i zřízení pracovní skupiny.




my

Masakr v My Lai, obchod s otroky a vražedné pesticidy aneb Reportáže, které změnily svět

Před 55 lety zveřejnila nezávislá tisková agentura Dispatch News Service reportáž o vyšetřování incidentu v jihovietnamském městě My Lai. Díky práci reportéra Seymoura Hershe se celý svět dozvěděl o zločinu jednotek US Army, které pod vedením poručíka Williama L. Calleyho zavraždily během průzkumné akce stovky civilních obyvatel. Reportáž znamenala obrat ve vedení vietnamské války, v jejím vnímání americkou i světovou veřejností. Hersh se tak zařadil mezi elitní novináře, jejichž práce změnila světové dějiny.




my

Sexy Mystery Solver




my

the mystery




my

BULLET FOR MY VALENTINE в студии

BULLET FOR MY VALENTINE опубликовали несколько студийных фотографий и подтвердили работу над новым материалом.
#Bullet_for_My_Valentine #BulletforMyValentine #MetalCore #Metal_Core


Full Article


my

JASON BONHAM объяснил, почему покинул тур с SAMMY HAGAR

JASON BONHAM опубликовал следующее сообщение:

«Я хотел бы воспользоваться моментом и объясниться по поводу своего отсутствия в последние несколько недель. Как многие из вас знают, моя мама столкнулась с серьезными проблемами со здоровьем, и это было невероятно сложное время для нашей семьи. Я с благодарностью сообщаю, что она идет на поправку и ее выписали из больницы! Сейчас она дома и восстанавливается, что приносит мне огромное облегчение.

Было очень трудно покинуть тур «The Best Of All Worlds», когда осталось всего четыре концерта. Энергия, общение и впечатления были просто невероятными, но я должен был быть рядом с мамой во время ее борьбы за жизнь.

Я рад сообщить, что JBLZE [JASON BONHAM'S LED ZEPPELIN EVENING] снова отправится в турне, которое начнется 19 ноября! Мне не терпится увидеть всех вас и снова разделить это незабываемое странствие.

Спасибо за ваше понимание и любовь. До скорой встречи!

С большой любовью, JB».
#Sammy_Hagar #SammyHagar #HardRock #Hard_Rock #AcousticRock #Acoustic_Rock #Hard 'n' Heavy #_Hard 'n' Heavy




my

My Review and Questions Answered on Vince Delmonte's Stage Shredded Status

Alright, today we're going to cover some common questions you may have
about the Stage Shredded Status DVD's before
they sell out...

==> Click here to learn how this transformation went down...


If you've seen the video but have some questions before ordering:

Question: Is SSS a documentary of Vince Delmonte's transformation or is there an actual program included?

Answer: Yes, SSS includes an entire program (covered on 3 of the 8 disks) and it was filmed with former NFL lineman and NPC level bodybuilder Ryan Watson! They are both pretty jacked up in this workout so it's pretty motivating too!

What Vince is going to do for anyone who orders is send you the printable workout sheets of the Stage Shredded Status workout program! Just email him your receipt to the help desk for proof of purchase!

You'll love this program because it relies on a variance of rep ranges to target, specifically, the Type 11a & Type 1a muscle fibers which create the training effect of
hypertrophy and strength-endurance. The combos generate a lot of lactate to boost growth hormone levels to assist in fat loss. You don't do super heavy loads because heavy lifting does not involve enough mechanical stress to promote fat loss.
Plus, you would not normally lift super heavy when you get leaner because your joints have less fluid and fat to protect them from the bigger forces.

Question: What if I have more than 50 lbs to lose?

Answer: Heck, Vince had 30 lbs to lose so you're programming
is going to be no different than his. The only difference is that you have an extra 8-10 weeks to travel. Let's go!

==>
Get 6-Pack Abs By Summertime!



Question: Is SSS for a complete beginner?

Answer: If Vince only cared about selling his DVD's I would say yes but if you have less than one year experience in his crazy fitness world, you'll probably find his approach a little too hardcore for now. Sit this one up unless you're absolutely intrigued to see how this goes down.

The weight training program is far too advanced and you would be better off learning the nutritional principles in No Nonsense Muscle Building, which focuses on a balanced approach to eating. You need to master a balanced
approach before implementing some of the more advanced things they did.

Question: I noticed you had an ENTIRE cupboard full of supplements.
Am I supposed to take all of those?!?!

Answer: When it comes to supplementation, that's a personal choice.

In the DVD's Vince explains WHY he takes what he takes and encourages you to just sit back and consider it an educational experience. Then, as you choose, start to add one new supplement a month and measure
the response. There are SO MANY supplements he's interested in trying himself but he likes to add one new thing at a time so he will get there when he gets there.

Question: What if I only have 10 lbs of fat to lose?

Answer: Again, the same principles apply and you'll learn how Vince adjusted his cardio intensity and frequency as he gets closer to the show to ensure he does not lose muscle the last few weeks.

You'll see EXACTLY how he changed his diet from phase to phase (He changed it three times throughout the 16 weeks) and you'll see some creative ways to switch around your macros and food sources
that assist with fat loss, WITHOUT dropping your calories.

==> Get 6-Pack Abs By Summertime!

Question: Is Ben Pakulski in any of the DVD's?

Answer: YES! The first 2 DVDs start off in Toronto when Vince is looking pretty bulky and they get 2 hours of coaching on the gym floor with Ben & Intentions! If you bought MI40 then you already have this footage but it's worth reviewing and owning it on hardcopy. I know that every time I watch this footage, I re learn something new and then BOOM, I have a better workout!

If you don't have this footage, heck, the first 2 hours is worth 3x the price of the DVDs because Ben bills $150 an hour! This is the kind of information that propelled him into the ranks of the top ten bodybuilders in the world this past month!

Question: How long are the DVDs on sale?

Answer: It depends... we have about 550 left in stock now and the $50 off sale ends Sunday night or whenever he sells out... Whatever comes first.

Trust that helps and THANK YOU for your interest in Vince's work. This is, by far, the best fat loss resource he's ever released. Grab it while you can!

Here is the $50 Off Discount link to get your DVDs shipped right now!

Get 6-Pack Abs By Summertime!


P.S. Vince ships all over the world!




my

My Social Life



I have been busy this month! I took my mom to Pit Ed a couple of weeks ago to show her the ropes and I got to see some of my special old Bad Rap friends.

I had a "dog sitter" experience this month, too. This man and lady called Aunt and Uncle came and stayed at my house while my family went away for a couple of days. At first I wasn't sure I was going to have fun with them, but once I saw that they had my magical purple leash I figured they must be great. Here I am wrestling with Uncle.



This is my friend Gordon. He belongs to a lady called Grandma. He's 15 years old and can't play much anymore so we lick each other's faces and sniff stuff on short walks. I really like him.



This is my neighbor, Cooper. Even though he is only 9 months old, he is giant. I kind of like him. He has good manners. I think he has potential. Here we are having some down time, but Cooper told me his dad's command for this is "chillax".



So, that's my report on my social life lately!
Grace




my

My Summer So Far

This summer has been a whole lot of fun so far. I've been going to nosework class and learning circus tricks. When I'm not at school we go for walks at my favorite park and sniff things and look at the squirrels there.
I get to play with my spring pole outside now its not raining all the time.
I've spent a little time doing famous dog stuff and hanging out with friends.
I look at the squirrel in the tree in the back yard every day and I've taught him how to bark just like me.
The only sad part of this summer was saying so long to Winnie when she went to her forever family. I love Winnie, but I'm really glad she found her family.
I wonder who my next foster sister will be? I can't wait to find out.

I hope you're enjoying your summer as much as I'm enjoying mine.
hugs,
Uba




my

My Naughty Knee

For a while now I have been having behavior problems with my right knee. Sometimes I tell my right knee that it is time to jump down the back stairs and chase the squirrel up his tree, and my knee says “nooooooo, I will not participate in that craziness. I am a boring and old knee and I do not want to have fun with my owner, the fabulous Uba”. This makes me pretty annoyed, but I go about my important work of bouncing and running and chasing and having fun and just carry my naughty knee along with me. I even dragged that naughty knee along when I got into the kitchen sink the other day to look for my red rubber ball.
When it is time to relax my naughty knee punishes me for not agreeing with it, and I have to rest it on a soft pillow so it stops yelling at me.
My mom took me and my naughty knee to my regular doctor and then to another special doctor so they could take pictures of it and tell it that it is a naughty knee. After a lot of people talking and looking at me walking and more talking about how my naughty knee is bad, the people have decided that I am going to get a new knee. I am really happy about this. I will have a new knee that will say “woo hoo! Lets chase things and jump and run and have fun!” and I won’t have to carry it around with me and then get yelled at by it later and rest it on a soft pillow.
My mom says it will take a long time for me to heal, just like it did when Lolo and Daisy got their new knees. I will have to wear a donut thing around my neck and I will have an itchy zipper and maybe I’ll even have to wear pants like Audie. I will also have to walk slowly on the boring slow and noisy treadmill instead of running on my most beloved TREADMILL!! I won’t be able to go to nose work class or to circus class and I will have to sit around in my crate and be bored. But then, after a really long time, once the doctors look at my leg again and take more pictures, I will be bionic, just like Lolo and Audie and Daisy.

Boring Treadmill from Letti de Little on Vimeo.

I have been practicing on the boring treadmill so I know what to do when I have to use it while I’m “on drugs”. I don’t know how I could forget how to walk, but she says it might be hard for me to figure out after surgery because of the drugs, so I have to be all bored on the boring treadmill almost every day. My surgery is next Wednesday, but I am not nervous. I get to have all the fun I want now because she says it doesn’t matter if I hurt my naughty knee more. I’ll deal with the drugs and the boredom next week.
hugs,
Uba




my

Two Weeks With My New Knee


It has been almost two weeks since my surgery and it has been boring. I have destroyed two and a half beds and let myself out of my crate one time before she put carabiners on the door. Also, I have destroyed one hard plastic cone,
one nice soft cone that was borrowed and now my mom has to find a new one to replace it,
one horrible blue donut thing from my last post, one pair of pants,
and one stuffy. The stuffy was my reward for not destroying anything on Friday.
I have not removed any of my sutures though. I'm sure everyone will be proud of me for that.

Today my mom stayed home with me to talk on the phone, make faces at paper and stare at the computer all day. I got to go outside and spend some time helping her talk on the phone while staring at paper. It was nice and sunny so I nibbled on some grass,
checked on some of the plants,
and looked for my squirrel friend (without running over and looking up his tree).
Ubas are meant for bouncing and running and having fun. There is nothing fun about all this sitting around in crates. I feel a whole lot better, my knee isn't acting so naughty and I keep telling her I'm healed, but she doesn't believe me. She says I have WEEKS more to go before I can jump and twirl and leap and play with my flirt pole. I only had a tibial crest transposition, a wedge recession sulcoplasty and lateral fascial imbrication. Can someone please tell her that my knee is all better now?

hugs,
Uba




my

My Precious

After dinner treat
the bouncy red rubber ball
it is mine all mine
I am a lucky dog.
hugs,
Uba




my

Cutting-edge test uses DNA sequencing to yield diagnoses for some medical mysteries




my

‘Mystery mollusk’ found in the ocean’s midnight zone is unlike anything researchers have seen before




my

Why do I call myself a Pagan?

Don't forget your Supplies!


In this post, I aim to explore why I think I am a Pagan.  This post will not define Paganism or Neo-Paganism more generally.  These terms are very broad, and it is beyond my ability to express what is or is not a Pagan or Neo-Pagan experience.


1.  I am Pagan because I believe that the natural world is ensouled.  I can't define the soul or its capacity or limitations, but I experience it all around me.


2.  I believe that the Abrahamic religions do not have a corner on truth and that their most valuable messages evolved from far more ancient insights which continue to be available to all human beings whose minds and hearts are open.


3.   I believe that all thea/ological discourse about the sacred is just folks talking about something they'll never understand.  I can tell you what I think God/ess is all day and night.  I can be as clever and convincing as hell, but it still doesn't amount to a hill of beans.  The Ineffable will be what it will be regardless of my cheek.  We aren't going to expand or limit Divinity whatever we say, think, or believe.  However, when we limit our conceptualization of the Sacred to that which most closely resembles the powerful, the conventional, and the abusive in our society, then we limit who we are and what we might become, and that's a shame.


4.  So-- I believe that we should be mindful and creative with our theo/alogical language and musings to encourage ourselves to grow toward our potential.  I believe that when we speak of "God/dess" we are reflecting our best hopes for ourselves into the Cosmos.  When we dream of divinity, we can either sanctify all the meanness and injustice humanity has already mastered or we can sing out our human potential for brilliance, warmth, diversity, and love.


5.  Language may only be a construct, but what a construct!  What we build with our language is our choice.  I am Pagan because I am playful with spiritual language.  We need to remember that God is not male.  Nor is God white or European or human for that matter.  God is not even "God".  That word too is merely a construct, a symbol, a signifier. Learning to imagine the Divine in many forms, genders, cultures, species, relationships, and concepts reminds me that the Sacred is not one objective thing or person but is manifest in all life and in all times.  It helps me remember that I can find divinity in unexpected people and unexpected places.  It helps me look for the Sacred everywhere and in everybody.


That's about it, I guess.  My Paganism doesn't define whether I believe in God or Goddess or a singular or plural deity.  It doesn't tell me how I should worship or with whom.  Paganism is not what I believe.  It is what I do.  It is a strategy and a discipline.  It is not an answer to my questions about life and death or the nature of the Divine.  It is a pattern of thought and intent that encourages me to continue asking unanswerable questions.  It encourages me to play and think and wonder and to try as hard as ever I can to understand not the Cosmic Mystery, but maybe just the little bit that resides in me and which is mine to share.




my

So whats my sign now?

A few months ago The Huffington Post stated that with the additon of the 13th sign Ophiuchus, the chart has changed. So, now what you thought you were, you are no longer. Apparently I’m a Taurus when I’ve lived my whole life believing I was a Taurus. To add insult to injury, this isn’t new, its been changed since about 130 B.C.


Now is this new system correct? I think thats debatable and its up to you to decide. I have always fit the exact representation of a Taurus. Everything from my body frame to my humanitarian ways. I feel I am still an taurian and will address myself as such.


So, just incase you were wondering what you are now, this is the “new” chart:


 


Capricorn: Jan. 20 - Feb. 16
Aquarius: Feb. 16 - March 11
Pisces: March 11- April 18
Aries: April 18 - May 13
Taurus: May 13 - June 21
Gemini: June 21 - July 20
Cancer: July 20 - Aug. 10
Leo: Aug. 10 - Sept. 16
Virgo: Sept. 16 - Oct. 30
Libra: Oct. 30 - Nov. 23
Scorpio: Nov. 23 - Nov. 29
Ophiuchus: Nov. 29 - Dec. 17
Sagittarius: Dec. 17 - Jan. 20


I wouldn’t lose too much sleep over it.


 




my

Write your magic spells with a LAMY Harry Potter fountain pen

NEWS – If you’re a Harry Potter fan and also love writing, the new LAMY Harry Potter fountain pens will be a magical addition to your pen collection! These special edition fountain pens combine the charm of Hogwarts with high-quality craftsmanship, making them perfect for jotting down your own stories or doodling your favorite characters. […]




my

"Untitled Mystery", the untitled mystery.

I briefly interrupt this parade of elephants and bears (not usually a wise thing to do) to bring you news of a new project of mine. 

It's a murder mystery. But really, it's a set of very difficult, interconnected puzzles. But really... it's a box of one hundred picture postcards. I mean, if that's all you need to hear, by all means go straight here to buy it. But for a little more explanation, read on.


In 2020, I spent some of my lockdown trying to solve the newly republished murder mystery / puzzle Cain's Jawbone, written by the famous cryptic crossword setter Torquemada in 1934. The puzzle consisted of a box of one hundred pages of a novel, in a random order. The solver had to work out the correct order of the pages, and then interpret the strange and allusive narrative so as to deduce the killers and victims in the six murders in the story. It turned out to be ridiculously difficult, as it was meant to be; but if the spring of 2020 was good for anything, it was for spending far too long on almost impossible puzzles. Eventually, I submitted a solution, which to my enormous surprise turned out not only to be right, but also the only correct one submitted.  I won a thousand pounds, bought a piano, and thought that was that.  

But then, two things happened. The first was, thanks in part to TikTok, Cain's Jawbone took off in a surprisingly big way. And the second was, I found I missed it. I really wanted to try solving another puzzle in that style. But Torquemada never wrote another one, and nor did anyone else. So it seemed the only thing to do was to try to create one myself.

So this year Unbound, the publishers of Cain's Jawbone, are publishing a new mystery puzzle box by me, the title of which is still secret for now. This time, solvers will receive a box of one hundred picture postcards. As with Cain's Jawbone, they will need to arrange the text sides in the correct order, and understand the story told there, in order to identify the killer and victim in a series of ten murders; as well as a certain crucial address. But in order to do this, they will also need to solve the various puzzles presented by the picture sides.

The picture side puzzles allow me to do two things: firstly, compensate for the arrival of the internet since 1934. You may now be able to google an obscure Walt Whitman quotation, but you can't google 'How on earth is this picture of a tree a puzzle?' Secondly, if Cain's Jawbone had a flaw (which I don't admit) it's that it's a little off-putting and seemingly impenetrable until you make a certain breakthrough. I think a lot of people had a brief look through the cards, thought 'Well, that's impossible' and gave up. I certainly did, before lockdown came along and invited me to have another go. So the picture puzzles - which are also, to be clear, ridiculously difficult - give the solver something they can immediately get their teeth into, while they're grappling with the madness on the other side.

Lastly, they're there because they have to be. There is, within the story, a reason why these cards exist, why they have puzzles embedded in them... and why one of the murderers now keeps them safely locked in a drawer. I hope you enjoy trying to work out what it is. 

For more information, to pre-order a copy, and to gaze in wonder at some exhilaratingly expensive pencils... step this way.  

Oh, and the postcards shown here are not solvable with the information given, so don't torture yourself. Yet. 




 




my

'Untitled Mystery' the untitled mystery update: now titled.



Do you happen to remember I said last year I was writing a murder mystery puzzle in the form of a box of postcards? Well... I've written it. I'm very proud of it. And this is what it's called:

 


Alt text: A trailer, made by the excellent people at Stage Fright Films, which eventually tells you it's called 'The Researcher's First Murder', and revealing the excellent cover illustration by Tom Gauld.

You can pre-order it here, and I won't at all mind if you do. 




my

Ken and Robin Talk About Stuff: The Mystical Land of Hat

In the latest episode of their tantalizing podcast, Ken and Robin talk GMing war for ex-military players, Toronto tow truck gang wars, world-breaking words, and ‘Oumuamua.




my

Ken and Robin Talk About Stuff: Not That My Players Would Do Anything Like That

In the latest episode of their quartz-festooned podcast, Ken and Robin talk TPKs, RCMP misconduct, crystals, and The Mandalorian.




my

The Geographer's Blog: Cuba on My Mind





New and Complete Map of Cuba, supplement to
National Geographic magazine, October 1906; NG Maps.

Since our first post, this blog has addressed the history of cartography at National Geographic, geographic names (toponyms), and even the cartographic exploits of James Abbott McNeill Whistler, the American artist best known for the painting "Whistler's Mother." I hope that these topics have proven of interest to some if not all of you. But what we have not addressed is the personal more intimate side of cartography here at the Society.

Unquestionably, National Geographic is the place to be if you love the science as well as the art of mapmaking. Our production schedules are full of stimulating and challenging projects that often test our knowledge of the cartographic profession. Once in a while, we will be assigned a project so close and near to our hearts that it becomes an overriding passion. Several months ago, I was given such an assignment—a large format (36" x 24") political map of Cuba.

The last time the Society published such a map was in October 1906! Those of you in the exiled Cuban community, both in the U.S. and abroad, know the significance of this map. Anyone who has visited Miami's Little Havana, Tampa's Ybor City, or even Union City, New Jersey, can't avoid seeing maps of Cuba painted on walls, plastered on windows, or even printed on the sides of grocery bags.

Read more:




my

Cuba on My Mind - Part II : Hitting the Geographic Jackpot








I have been assigned the task of researching and compiling our forthcoming map of Cuba. During the early stages of my research, I hit the cartographic jackpot—the possibility of two new provinces forming in 2011. Not only were we going to be publishing a map of Cuba for the first time since 1906, we were also going to be among the first to showcase its new administrative structure. This is considered an exciting event for cartographers here at the National Geographic. Why? Because before any element is mapped, we need to assure that it portrays the most up-to-date information.

My first stop was Cuba’s official government website. Unfortunately, it was a bit difficult to navigate, especially since the English version of the site was “under construction.” My next stop was the Cuban Embassy—well, not exactly since Cuba and the U.S. have not had formal diplomatic relations since 1961. But there is the Cuban Interests Section embedded within the Embassy of Switzerland here in Washington. It was there that I was able to obtain the official document (Gaceta Oficial de la Republica de Cuba, No. 023) spelling out the upcoming changes to Cuba’s new administrative divisions—Artemisa and Mayabeque provinces.

As Cuba is organized administratively by province and municipality, we were able to delineate the new provincial boundaries pretty easily by using a map of municipalities contained in the most recent Nuevo Atlas Nacional de Cuba. In the latter stages of my research I was able to reconfirm the delineation of these boundaries with the Cuban statistics office, La Oficina Nacional de Estadísticas, as they were now providing statistics for these two new provinces.

Now I have to keep abreast of the deepwater oil exploration off the northern coast of Cuba. If possible, we would like our map to also showcase the location of such prospective oil fields.

—Julie A. Ibinson
Map Researcher & Editor
National Geographic Maps




my

Myanmar Crisis.

Philanthropy online has recently published an article on the initial charitable response to the cyclone disaster in Burma. unfortunately bureaucratic red tape has slowed the initial response some; numerous organizations are preparing a herculean response that will save lives, and perhaps improve the domestic situation in Myanmar over the long term.

Events like these confirm the importance of fund-raising in general and telephone fund-raising specifically. Its one thing to hear about a tragedy on television and remind oneself to try and make a donation. Its quite another to receive a phone call as a situation is unfolding and have an opportunity to directly influence the outcome of that situation.

I participated in campaigns after hurricanes Rita and Katrina. I also worked on the campaign to provide relief to the victims of the Asian Tsunami, and issue of personal significance to me as I lived for many years in Indonesia. It is in times like this when innovative fund raising strategies can truly make a significant difference by fully funding humanitarian emergency relief efforts before a crisis can intensify.

There is nothing like a call to action.




my

One of my favorite native flowers

Native wine-cups (aka purple poppy mallow) bookends. This is one of my favorite native flower, so particularly pleased with how nicely it shows up in bookends.




my

vindarel: Running my 4th Common Lisp script in production© - you can do it too

Last week I finished a new service written in Common Lisp. It now runs in production© every mornings, and it expands the set of services I offer to clients.

It’s the 4th service of this kind that I developed: - they are not big - but have to be done nonetheless, and the quicker the better (they each amount to 1k to 2k lines of Lisp code), - they are not part of a super advanced domain that requires Common Lisp superpowers - I am the one who benefits from CL during development, - I could have written them in Python - and conversely nothing prevented me from writing them in Common Lisp.

So here lies the goal of this post: illustrate that you don’t need to need a super difficult problem to use Common Lisp. This has been asked many times, directly to me or on social media :)

At the same time, I want to encourage you to write a little something about how you use Common Lisp in the real world. Sharing creates emulation. Do it! If you don’t have a blog you can simply write in a new GitHub repository or in a Gist and come share on /r/lisp. We don’t care. Thanks <3

We’ll briefly see what my scripts do, what libraries I use, how I deploy them, what I did along the way.

Needless to say that I dogfooded my CIEL (beta) meta-library and scripting tool for all those projects.

Table of Contents

Scripts n°4 and 2 - shaping and sending data - when you can write Lisp on the side

My latest script needs to read data from a DB, format what’s necessary according to specifications, and send the result by SFTP.

In this case I read a DB that I own, created by a software that I develop and host. So I could have developed this script in the software itself, right? I could have, but I would have been tied to the main project’s versioning scheme, quirks, and deployment. I rather had to write this script on the side. And since it can be done on the side, it can be done in Common Lisp.

I have to extract products and their data (price, VAT...), aggregate the numbers for each day, write this to a file, according to a specification.

To read the DB, I used cl-dbi. I didn’t format the SQL with SxQL this time like in my web apps (where I use the Mito light ORM), but I wrote SQL directly. I’m spoiled by the Django ORM (which has its idiosyncrasies and shortcomings), so I double checked the different kinds of JOINs and all went well.

I had to group rows by some properties, so it was a great time to use serapeum:assort. I left you an example here: https://dev.to/vindarel/common-lisps-group-by-is-serapeumassort-32ma

Dates have to be handled in different formats. I used local-time of course, and I still greatly appreciate its lispy formatter syntax:

(defun date-yymmddhhnnss (&optional date stream)
  (local-time:format-timestring stream
                                (or date (local-time:now))
                                :format
                                '((:year 4)
                                  (:month 2)
                                  (:day 2)
                                  (:hour 2)
                                  (:min 2)
                                  (:sec 2)
                                  )))

the 2 in (:month 2) is to ensure the month is written with 2 digits.

Once the file is written, I have to send it to a SFTP server, with the client’s codes.

I wrote a profile class to encapsulate the client’s data as well as some functions to read the credentials from either environment variables, the file system, or a lisp variable. I had a top-level profile object for ease of testing, but I made sure that my functions formatting or sending data required a profile parameter.

(defun send-stock (profile &key date) ...)
(defun write-stock (profile filename) ...)

Still nothing surprising, but it’s tempting to only use global parameters for a one-off script. Except the program grows and you pay the mess later.

SFTP

To send the result through SFTP, I had to make a choice. The SFTP command line doesn’t make it possible to give a password as argument (or via an environment variable, etc). So I use lftp (in Debian repositories) that allows to do that. In the end, we format a command like this:

lftp sftp://user:****@host  -e "CD I/; put local-file.name; bye"

You can format the command string and run it with uiop:run-program: no problem, but I took the opportunity to release another utility:

First, you create a profile object. This one-liner reads the credentials from a lispy file:

(defvar profile (make-profile-from-plist (uiop:read-file-form "CREDS.lisp-expr"))

then you define the commands you’ll want to run:

(defvar command (put :cd "I/" :local-filename "data.csv"))
;; #<PUT cd: "I/", filename: "data.csv" {1007153883}>

and finally you call the run method on a profile and a command. Tada.

Deploying

Build a binary the classic way (it’s all on the Cookbook), send it to your server, run it.

(during a testing phase I have deployed “as a script”, from sources, which is a bit quicker to pull changes and try again on the server)

Set up a CRON job.

No Python virtual env to activate in the CRON environment...

Add command line arguments the easy way or with the library of your choice (I like Clingon).

Script n°2 and simple FTP

My script #2 at the time was similar and simpler. I extract the same products but only take their quantities, and I assemble lines like

EXTRACTION STOCK DU 11/04/2008
....978202019116600010000001387
....978270730656200040000000991

For this service, we have to send the file to a simple FTP server.

We have a pure Lisp library for FTP (and not SFTP) which works very well, cl-ftp.

It’s a typical example of an old library that didn’t receive any update in years and so that looks abandoned, that has seldom documentation but whose usage is easy to infer, and that does its job as requested.

For example we do this to send a file:

(ftp:with-ftp-connection (conn :hostname hostname
                                   :username username
                                   :password password
                                   :passive-ftp-p t)
      (ftp:store-file conn local-filename filename))

I left you notes about cl-ftp and my SFTP wrapper here:

Scripts n°3 and n°1 - specialized web apps

A recent web app that I’m testing with a couple clients extends an existing stock management system.

This one also was done in order to avoid a Python monolith. I still needed additions in the Python main software, but this little app can be independent and grow on its own. The app maintains its state and communicates it with a REST API.

 

It gives a web interface to their clients (so my clients’ clients, but not all of them, only the institutional) so that they can:

  • search for products
  • add them in shopping carts
  • validate the cart, which sends the data to the main software and notifies the owner, who will work on them.

The peculiarities of this app are that:

  • there is no user login, we use unique URLs with UUIDs in the form: http://command.client.com/admin-E9DFOO82-R2D2-007/list?id=1
  • I need a bit of file persistence but I didn’t want the rigidity of a database so I am using the clache library. Here also, not a great activity, but it works©. I persist lists and hash-tables. Now that the needs grow and the original scope doesn’t cut it any more, I wonder how long I’ll survive without a DB. Only for its short SQL queries VS lisp code to filter data.

I deploy a self-contained binary: code + html templates in the same binary (+ the implementation, the web server, the debugger...), with Systemd.

I wrote more on how to ship a standalone binary with templates and static assets with Djula templates here:

I can connect to the running app with a Swank server to check and set parameters, which is super helpful and harmless.

It is possible to reload the whole app from within itself and I did it with no hiccups for a couple years, but it isn’t necessary the most reliable, easiest to set up and fastest method. You can do it, but nobody forces you to do this because you are running CL in production. You can use the industry’s boring and best practices too. Common Lisp doesn’t inforce a “big ball of mud” approach. Develop locally, use Git, use a CI, deploy a binary...

Every thing that I learned I documented it along the way in the Cookbook ;)

Another app that I’ll mention but about which I also wrote earlier is my first web app. This one is open-source. It still runs :)

 

In this project I had my friend and colleague contribute five lines of Lisp code to add a theme switcher in the backend that would help him do the frontend. He had never written a line of Lisp before. Of course, he did so by looking at my existing code to learn the existing functions at hand, and he could do it because the project was easy to install and run.

(defun get-template(template &optional (theme *theme*))
  "Loads template from the base templates directory or from the given theme templates directory if it exists."
  (if (and (str:non-blank-string-p theme)
           (probe-file (asdf:system-relative-pathname "abstock" (str:concat "src/templates/themes/" theme "/" template))))
      ;; then
      (str:concat "themes/" theme "/" template)
      ;; else :D
      template))

He had to annotate the if branches :] This passed the code review.

Lasting words

The 5th script/app is already on the way, and the next ones are awaiting that I open their .docx specification files. This one was a bit harder but the Lisp side was done sucessfully with the efficient collaboration of another freelance lisper (Kevin to not name him).

All those tasks (read a DB, transform data...) are very mundane.

They are everywhere. They don’t always need supercharged web framework or integrations.

You have plenty of opportunities to make yourself a favor, and use Common Lisp in the wild. Not counting the super-advanced domains where Lisp excels at ;)


Links

I have done some preliminary Common Lisp exploration prior to this course but had a lot of questions regarding practical use and development workflows. This course was amazing for this! I learned a lot of useful techniques for actually writing the code in Emacs, as well as conversational explanations of concepts that had previously confused me in text-heavy resources. Please keep up the good work and continue with this line of topics, it is well worth the price! [Preston, October of 2024]




my

My Halloween Season Story, "Unquiet Graves," in CLARKESWORLD

 .


 

I am always happiest when a story of mine comes into print. Today, I have the joy of introducing you to "Unquiet Graves," a seasonal tale of graveyard misbehavior and betrayal. Oh, and there's nothing supernatural about it at all.

You can read the story here. But if you're like me, you'll just go to Clarkesworld, look over the table of contents, and decide which story you want to read first. Mine by preference, but follow your whim.

 

And for those who like trivia . . .

I came up with the handheld's app many long years ago and it took forever to come up with a story for it. You'll notice that it is left unnamed in the story. That's because its secret name was "The Graveyard Reader." Which is the title of a well-known story by Theodore Sturgeon.  While I was writing the story, I thought of it as "The New Graveyard Reader." But Sturgeon's story and mine go off in totally different directions, and giving mine (or even the app) a title suggesting there was some implicit connection between the two would only cause confusion.

The title I finally came up with was derived from "The Unquiet Grave" by that most prolific of all poets, Anonymous. If you look it up, I suggest you do so after reading my story. It gives away some of the plot.


*

 





my

my hands hurt

Today on Married To The Sea: my hands hurt


This RSS feed is brought to you by Drew and Natalie's podcast Garbage Brain University. Our new series Everything Is Real explores the world of cryptids, aliens, quantum physics, the occult, and more. If you use this RSS feed, please consider supporting us by becoming a patron. Patronage includes membership to our private Discord server and other bonus material non-patrons never see!




my

what happened to my sleepy pants

Today on Married To The Sea: what happened to my sleepy pants


This RSS feed is brought to you by Drew and Natalie's podcast Garbage Brain University. Our new series Everything Is Real explores the world of cryptids, aliens, quantum physics, the occult, and more. If you use this RSS feed, please consider supporting us by becoming a patron. Patronage includes membership to our private Discord server and other bonus material non-patrons never see!




my

outta my way

Today on Married To The Sea: outta my way


This RSS feed is brought to you by Drew and Natalie's podcast Garbage Brain University. Our new series Everything Is Real explores the world of cryptids, aliens, quantum physics, the occult, and more. If you use this RSS feed, please consider supporting us by becoming a patron. Patronage includes membership to our private Discord server and other bonus material non-patrons never see!




my

track my candy bar

Today on Married To The Sea: track my candy bar


This RSS feed is brought to you by Drew and Natalie's podcast Garbage Brain University. Our new series Everything Is Real explores the world of cryptids, aliens, quantum physics, the occult, and more. If you use this RSS feed, please consider supporting us by becoming a patron. Patronage includes membership to our private Discord server and other bonus material non-patrons never see!




my

o but my back aches

Today on Married To The Sea: o but my back aches


This RSS feed is brought to you by Drew and Natalie's podcast Garbage Brain University. Our new series Everything Is Real explores the world of cryptids, aliens, quantum physics, the occult, and more. If you use this RSS feed, please consider supporting us by becoming a patron. Patronage includes membership to our private Discord server and other bonus material non-patrons never see!




my

WHAT I SEE IN MY PRESCRIPTION

WHAT I SEE IN MY PRESCRIPTION





my

Musk, Ramaswamy Picked for US Government Efficiency Effort




my

BT has left my 80-year-old dad without a landline for months

After hours of calls to BT, engineer no-shows, complaints raised and multiple promises, nothing has happened I am desperate to help my 80-year-old dad, JF, and his partner who have been left without a landline for more than two months by BT. This is especially difficult as my dad has relatives in…




my

Trump win could be a double whammy for Hungary's economy

By Gergely Szakacs and Karin Strohecker BUDAPEST/LONDON (Reuters) - Donald Trump's victory may be a political boon for Hungarian leader Viktor Orban but on the economy, Trump is bad news for Hungary - adding to inflationary risks due to a weak forint and lower output due to possible tariffs on…




my

Europe Needs Stronger Autonomy After Trump Win, Greek PM Says




my

Trump Forms DOGE With Elon Musk And Vivek Ramaswamy At The Helm: Will It Impact Tesla CEO's Role At The EV Giant And SpaceX?

President-elect Donald Trump, on Tuesday, greenlit the formation of the Department of Government Efficiency or DOGE, the acronym which almost sounds like a parody of the cryptocurrency known as Dogecoin (CRYPTO: DOGE). As the department promises to restructure federal agencies and reduce…





my

My Personal Word of the Year (And How to Find Your Perfect One)

Have you ever had a personal word of the year before? Did you choose the word? Or did a word choose you? I don’t choose my word of the year. It comes to me, generally in December or January, and sometimes it surprises me. It’s something that’s been happening for me for the last seven […]

The post My Personal Word of the Year (And How to Find Your Perfect One) appeared first on Joyful Abode.




my

My heart almost stood still

The following letter was written exactly 100 years ago. It’s a remarkable piece of writing that never fails to move me. And because you deserve it, above the transcript I’ve included audio of the letter being read by the lovely Juliet Stevenson, taken from the Letters of Note: Music audiobook. Born in Alabama in 1880, Helen Keller




my

This is my long leg.




my

Zoomba on my Roomba




my

...I was wondering where my cat was!




my

Why has my friend got a fishie and I don't ?





my

Best Buy MYBB Weekend Gaming Deals 10/20 to 10/22

My Best Buy Plus and Total members get:

  • Get a free extra controller with an Xbox Series X console

  • Save $60 on Xbox Series X Diablo IV bundle. 

  • Save $400 or $700 on select Samsung gaming monitors.

  • Save $30 on Elite Series 2 wireless controllers for Xbox.

https://cag.vg/memberdeals

 

My Best Buy Membership info