home.social

Search

166 results for “forex”

  1. Good morning, Mastodon friends! And we continue with the unseasonably warm and sunny weather. In fact, the first time daytime rain is forecast is Saturday -- just in time for the Homecoming football game and little kids trick-or-treating. 😢
    The stroopwafels that I included in our grocery order yesterday are good, but not as special a treat as I'd hoped. They are more cinnamon-y than caramel-y. However, my husband and I are glad to have tried something new.
    I hope this toot goes through. My instance seems to be very slow this morning.
    Have a safe, good day, all; never give up; and if you voted already, THANK YOU!

  2. It is currently clear in #Tshwane, with a temperature of 27°C (Feels like 26°C).

    Over the next 8 hours, the forecast is for a maximum of 34°C, with a 0% chance of precipitation.

    #Gauteng #SouthAfrica #Weather

    * Data provided by @openmeteo

  3. High temperatures were NOT very high around Montana and Wyoming on Saturday... 30s, 40s and 50s, and only Kalispell was above average! I'll have your complete 7-day weather forecast for the final week of October tonight at 10PM!

    #Montana #Wyoming #Sunday #October #weather

  4. It is currently clear in #Tshwane, with a temperature of 22°C (Feels like 21°C).

    Over the next 8 hours, the forecast is for a maximum of 26°C, with a 0% chance of precipitation.

    #Gauteng #SouthAfrica #Weather

    * Data provided by @openmeteo

  5. Jorge Martin dealt MotoGP title blow as he’s declared unfit for Australian GP

    MotoGP title contender Jorge Martin will miss Sunday’s Australian Grand Prix after breaking his forearm in a high-speed…
    #NewsBeep #News #Motosport #ApriliaRacingTeam #AU #Australia #AustralianGP #JorgeMartin #JorgeMartindealtMotoGPtitleblowashe'sdeclaredunfitforAustralianGP #MotoGP #Motor #Motorsports #Motosports #PhillipIslandGrandPrixCircuit #sports
    newsbeep.com/au/939601/

  6. East/South East (8x 400w panels) panels generated - 1.3 kWh
    West/North (6x 400w panels) panels generated - 1.0 kWh
    Solar generated - 2.3 kWh
    Solcast forecasted - 3.1 kWh
    Imported from the grid - 21.1 kWh - Cost (inc standing charge) £2.1
    Exported 0.6 kWh Export profit - £0.05
    13.4 kWh went into the battery
    Battery used - 15.5 kWh
    House consumed - 21.3 kWh
    Electricity cost for the day at 9pm (minus is a profit) is £2.05
    #Solar #SolarGeneration #Solcast #OctopusAgile #SolarPV

  7. Tuesday Oct 20, Hochschwab Südwand Baumgartnerweg. Start 8:45am at Seewiesen, back at Voisthaler Hütte 7:45pm (with coffee and dinner break) Very nice route, the weather forecast said sunny at noon, which meant surprisingly only at noon, so most of the route was foggy. Unbelievable there is such an easy route through such a wall. And autumn colors were so beautiful 🍁🤩
    #hochschwab #climbing #klettern #mountains #baumgartnerweg

  8. ♊ TODAY'S BATHROOM HOROSCOPE: GEMINI
    (May 21 – Jun 20)

    Jupiter favors the bold. Jupiter has clearly never seen that Chinatown bathroom. Go anyway.

    Your sign's full forecast, and NYC restrooms cross-checked against city data: pissandtell1.netlify.app

    #NYC #Horoscope #Astrology

  9. went and counted what people say they are rolling in WoW Forever, X and Bluesky separately. 226 people on X, Horde ahead 55 to 45, and Undead Paladin was the top combo by a lot. not a random sample, but the two networks really do not agree lol

    myazerothlife.com/2026/10/fore

  10. TSR Storm Alert - Typhoon IN-FA kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 26 Oct, 2026 6:00 GMT
    Typhoon IN-FA is currently located near 14.0 N 163.0 E with maximum 1-min sustained winds of 115 kts (132 mph). IN-FA is a category 4 storm on the Saffir Simpson Hurricane Wind Scale.
    IN-FA is forecast to affect land

  11. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 18:00 GMT (Final Warning)
    Tropical Storm CHAMPI is currently located near 31.2 N 127.4 E with maximum 1-min sustained winds of 35kts (40 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the

  12. TSR Storm Alert - Typhoon IN-FA kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 12:00 GMT
    Typhoon IN-FA is currently located near 12.8 N 164.5 E with maximum 1-min sustained winds of 75 kts (86 mph). IN-FA is a category 1 storm on the Saffir Simpson Hurricane Wind Scale.
    IN-FA is forecast to affect land

  13. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 12:00 GMT
    Tropical Storm CHAMPI is currently located near 30.7 N 126.3 E with maximum 1-min sustained winds of 40kts (46 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the given lead time(s):

  14. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 6:00 GMT
    Tropical Storm CHAMPI is currently located near 30.1 N 125.5 E with maximum 1-min sustained winds of 45kts (52 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the given lead time(s):

  15. TSR Storm Alert - Tropical Storm IN-FA kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 6:00 GMT
    Tropical Storm IN-FA is currently located near 12.0 N 165.0 E with maximum 1-min sustained winds of 60kts (69 mph).
    IN-FA is forecast to affect land to the following likelihood(s) at the given lead time(s):

  16. Der Heimspeicher ist gefüllt mit günstigem Strom, eingekauft für unter 25 ct/kWh. Die nächsten Tage verbrauchen wir ihn, wenn der Strom über 35 oder gar 40 ct/kWh kostet.

    Für die Prognose nutze ich Energy Price Forecast. Das gibt's kostenlos bis 48 h oder mit API-Key bis zu 96 h.

    Energy Price Forecast hat eine eigene App, aber auch Integrationen für Home Assistant, EVCC, Homey, Node-RED u.a.

    derschreiben.de/strompreisprog

  17. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 25 Oct, 2026 0:00 GMT
    Tropical Storm CHAMPI is currently located near 29.0 N 124.7 E with maximum 1-min sustained winds of 50kts (58 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the given lead time(s):

  18. Welcome to the dog days... of autumn? Thank you to Pat Mahana for taking this photo of a couple good dog buddies in the pretty autumn leaves! They may be howling at the Moon on this clear chilly night! A brisk start to a cool Sunday... I'll have your complete 7-day weather forecast at 10PM!

    #Montana #dog #autumn #fall #leaves #Moon #photography #Saturday #Sunday #weather

  19. Sevastopol misses its announced deadline to restore electricity, Gov. Razvozhayev says. About 40% of the city has power, the rest gets 2 hours on and 6 hours off. He says unstable power supply means even that schedule can vary, and he can't give a firmer forecast. t.me/razvozhaev/24820

  20. It was a LITTLE brisk Saturday morning around Montana and Wyoming after our cold front, rain, snow and wind moved over the region! It'll also be chilly on Sunday, but we'll warm a bit more in the afternoon. I'll have your complete 7-day weather forecast at 5:30 & 10PM!

    #Montana #Wyoming #Saturday #Sunday #weather

  21. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 24 Oct, 2026 18:00 GMT
    Tropical Storm CHAMPI is currently located near 28.3 N 123.8 E with maximum 1-min sustained winds of 50kts (58 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the given lead time(s):

  22. A last extended ride before the clock switches back from summer to winter time.

    Late autumn was in the air: the sunshine gave little warmth, and the rain was certainly cold.

    When I came home there was still sufficient daylight for servicing the bike: I swapped the sprocket (the chain is again at > 0.05mm wear), and changed the inner cable of the derailleur.

    Tomorrow, the weather forecast has "rain from night to late afternoon". Let's see.

    #cycling #autumn

  23. TSR Storm Alert - Hurricane VANCE kill-the-newsletter.com/feeds/ TSR Storm Alert

    NE Pacific: Storm Alert issued at 24 Oct, 2026 15:00 GMT
    Hurricane VANCE is currently located near 12.9 N 103.0 W with maximum 1-min sustained winds of 90 kts (104 mph). VANCE is a category 2 storm on the Saffir Simpson Hurricane Wind Scale.
    VANCE is forecast to affect

  24. TSR Storm Alert - Tropical Storm CHAMPI kill-the-newsletter.com/feeds/ TSR Storm Alert

    NW Pacific: Storm Alert issued at 24 Oct, 2026 12:00 GMT
    Tropical Storm CHAMPI is currently located near 27.8 N 123.3 E with maximum 1-min sustained winds of 50kts (58 mph).
    CHAMPI is forecast to affect land to the following likelihood(s) at the given lead time(s):

  25. Open-Meteo is a free API that is used to get weather data. It doesn't need a key or even a sign-up, allowing you to run your first request in a snap of your fingers. In this guide I will try to explain this API purely from a Python developer's viewpoint, and I will only cover the two major endpoints:

    • Geocoding - Used to convert the names of cities to their coordinates on a world map.

    • Forecast - The expected weather data for that location.

    Prerequisites: Python 3 installed and basic knowledge of Python.

    Usage terms: Open-Meteo is free for non-commercial use, and the data is licensed CC BY 4.0, so you must credit Open-Meteo. Check the official site for current rate limits and commercial terms.

    Set-up


    For the set-up you will first need to install the requests Python library by running this in your terminal.

    pip install requests

    Starting Out


    To start, let me provide you with the code to get the temperature in, say, Berlin, Germany. It is as follows:

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={
    "latitude": 52.52,
    "longitude": 13.41,
    "current": "temperature_2m",
    },
    )

    data = response.json()
    print(data["current"]["temperature_2m"])

    Save this code in a file such as weather.py and run it in your terminal with python weather.py after installing the requests library. Here is what has been done in this code:

    1) We have imported the requests library to get data from an API.

    2) We have response, which is just a variable that holds the API's reply, set equal to the following:

    2.1) Get data from the API website using the API link.

    2.2) Set the params (parameters) as the latitude and longitude of the place. In this case they are the coordinates of Berlin. Then we ask for the current temperature at 2 metres above ground level (that is what 2m means).

    3) Now we close the parameters and the response query.

    4) Then we convert the response to a Python dictionary with .json() and print the current temperature value.

    Authentication


    None for free, non-commercial use, as requests are plain GET calls with no headers or keys. (Commercial subscription tiers use an API key.)

    Endpoint 1: Geocoding


    We will find exact locations from just the city names. Here is the base URL.

    geocoding-api.open-meteo.com/v…

    Here are the parameters:

    ParameterTypeRequiredDescriptionnamestringYesName of the city you want to check.countintegerNoNumber of results you want (Default 10).languagestringNoThe language you want the result in. Default (en for English).formatstringNoThe data format of the response default is json.countryCodestringNoFilters countries using its two letter code.apikeystringNoAuthentication key required only for commercial subscription tiers.


    Here is an example that looks up the location data for London:

    import requests

    response = requests.get(
    "https://geocoding-api.open-meteo.com/v1/search",
    params={"name": "London", "count": 1, "language": "en"},
    )

    data = response.json()
    print(data["results"][0])

    • You start by importing the requests module.
    • You set up the variable response with the URL as the base URL I provided above.
    • Then you enter the parameters. Only the name is required, everything else is optional.

    The response will be something like this:

    {
    "results": [
    {
    "id": 2643743,
    "name": "London",
    "latitude": 51.50853,
    "longitude": -0.12574,
    "elevation": 25.0,
    "feature_code": "PPLC",
    "country_code": "GB",
    "admin1_id": 6269131,
    "admin2_id": 2648110,
    "timezone": "Europe/London",
    "population": 8961989,
    "country_id": 2635167,
    "country": "United Kingdom",
    "admin1": "England",
    "admin2": "Greater London"
    }
    ]
    }

    Here is what these response fields mean.

    Attribute NamesDescriptionValuesidUnique identifier for the geoname location entity2643743nameName of the specific city or locationLondonlatitudeGeographic coordinate specifying north-south position51.50853longitudeGeographic coordinate specifying east-west position-0.12574elevationHeight above sea level measured in metres25.0feature_codeClassification code mapping the location typePPLCcountry_codeTwo-letter ISO country code for the nationGBadmin1_idUnique ID for the primary administrative division6269131admin2_idUnique ID for the secondary administrative division2648110timezoneWhich region is the location in.Europe/LondonpopulationTotal number of people living in the area8961989country_idUnique identifier for the country2635167countryFull name of the countryUnited Kingdomadmin1Name of the primary administrative level (e.g. state/province)Englandadmin2Name of the secondary administrative level (e.g. county)Greater London
    Note: If nothing matches, the response has no results key at all. Use data.get("results") instead of data["results"] to avoid a KeyError.


    Endpoint 2: Forecast


    Returns the forecast of conditions for the location.

    Base URL:

    api.open-meteo.com/v1/forecast

    Again, these are the parameters for this endpoint.

    ParameterTypeRequiredDescriptionlatitudefloatYesLatitude in decimal degrees (-90 to 90)longitudefloatYesLongitude in decimal degrees (-180 to 180)currentstringNoCurrent-condition variables, comma separatedhourlystringNoHourly variables, comma separateddailystringNoDaily summaries, comma separated. Requires timezonetimezonestringNoe.g. Asia/Kolkata or autotemperature_unitstringNocelsius (default) or fahrenheitforecast_daysintegerNoNumber of forecast days to return


    Now here are some common variable names that you may encounter in this endpoint.

    VariableUsed inMeaningtemperature_2mcurrent, hourlyAir temperature 2 m above groundrelative_humidity_2mcurrent, hourlyRelative humidity (%)wind_speed_10mcurrent, hourlyWind speed 10 m above groundweather_codecurrent, hourly, dailyWeather condition as a WMO codetemperature_2m_max / _mindailyDaily highest and lowest temperatureprecipitation_sumdailyTotal daily precipitation (mm)


    Here is an example:

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={
    "latitude": 19.07,
    "longitude": 72.88,
    "current": "temperature_2m,wind_speed_10m",
    "daily": "temperature_2m_max,temperature_2m_min",
    "timezone": "Asia/Kolkata",
    "forecast_days": 3,
    },
    )

    data = response.json()
    print(data)

    Here's how this works:

    • You first import the requests module like always.

    • You again set up a variable that gets its data from the base URL I provided above. Make sure it is the URL of the 2nd endpoint and not the 1st.

    • You then define the parameters. Only the latitude and longitude of your chosen city are required. I chose Mumbai, India, so I have entered its coordinates.

    • Then you enter additional parameters and variables using the above table as a reference.

    • Then you convert the response with response.json(), store it in the variable data and print it.

    You will see something like this if you did it correctly (the times and values will differ, since this is live data):

    {
    "latitude": 19.07,
    "longitude": 72.88,
    "timezone": "Asia/Kolkata",
    "current_units": {
    "temperature_2m": "°C",
    "wind_speed_10m": "km/h"
    },
    "current": {
    "time": "2026-10-23T14:00",
    "temperature_2m": 32.1,
    "wind_speed_10m": 11.4
    },
    "daily": {
    "time": ["2026-10-23", "2026-10-24", "2026-10-25"],
    "temperature_2m_max": [33.5, 33.2, 32.9],
    "temperature_2m_min": [25.1, 24.8, 25.0]
    }
    }

    This is a trimmed version by the way (btw). Python's print will show it as a dictionary with single quotes, which is the same data.

    In Python this becomes a dictionary. Each key under daily holds a list, and the lists line up by position. Index 0 of temperature_2m_max belongs to the first date in time:

    daily = data["daily"]

    for date, high, low in zip(
    daily["time"], daily["temperature_2m_max"], daily["temperature_2m_min"]
    ):
    print(f"{date}: high {high}, low {low}")

    Errors


    When a request is invalid, the API returns HTTP status 400 and a JSON body explaining why.
    Here is an example of a script that will provide an error.

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={"latitude": 120, "longitude": 72.88, "current": "temperature_2m"},
    )

    print(response.status_code)
    print(response.json())

    The reason for the error here is that latitudes go from -90° to 90° (longitudes go from -180° to 180°), so 120° is an invalid latitude. The error will look something like this:

    {
    "error": true,
    "reason": "Latitude must be in range of -90 to 90°. Given: 120.0."
    }

    Here are some common errors, their codes and fixes:

    StatusCauseFix400Invalid or missing parameter, or unknown variable nameRead the reason field and correct the request429Too many requestsSlow down and retry later5xxServer problemRetry after a short wait


    These were some common errors. You can refer to the official Open-Meteo documentation or the internet if you have an error that doesn't match the ones provided.

    One Final Example: Get the Forecast from a City Name Directly


    In this part you will learn to connect both endpoints to get the forecast by just the city name instead of latitudes and longitudes.

    import requests

    GEOCODING_URL = "https://geocoding-api.open-meteo.com/v1/search"
    FORECAST_URL = "https://api.open-meteo.com/v1/forecast"

    def get_coordinates(city):
    """Turn a city name into a place dictionary, or None if not found."""
    response = requests.get(GEOCODING_URL, params={"name": city, "count": 1})
    response.raise_for_status()
    results = response.json().get("results")
    return results[0] if results else None

    def get_current_weather(latitude, longitude):
    """Fetch current temperature and wind speed for a location."""
    response = requests.get(
    FORECAST_URL,
    params={
    "latitude": latitude,
    "longitude": longitude,
    "current": "temperature_2m,wind_speed_10m",
    "timezone": "auto",
    },
    )
    response.raise_for_status()
    return response.json()

    place = get_coordinates("Mumbai")

    if place is None:
    print("City not found.")
    else:
    weather = get_current_weather(place["latitude"], place["longitude"])
    current = weather["current"]
    print(f"{place['name']}, {place['country']}")
    print(f"Temperature: {current['temperature_2m']} °C")
    print(f"Wind speed: {current['wind_speed_10m']} km/h")

    Now here is what has been done.

    • You first import the required modules like always and provide the URLs for the two endpoints.

    • Now you make a function to get the coordinates of a city from its name, as coordinates are used in the forecast.

    • In that function you use requests.get() to get data on the entered city, and return the first result. If the request failed, raise_for_status() raises an exception.

    • You now make a second function to get the forecast of the city using endpoint 2.

    • You again set response equal to requests.get() from the base URL of the 2nd endpoint, not the first, with the latitude and longitude passed in and the other parameters of your choice.

    • You then get the response and return it.

    • You then call the get_coordinates() function and store the result in a variable place, with the city name in the brackets.

    • You then check if place is empty using an if place is None clause and print an error.

    • If the place isn't None, you use the second function you created to print the forecast of the selected city.

    Here is how the output can look:

    Mumbai, India
    Temperature: 32.1 °C
    Wind speed: 11.4 km/h

    Tips


    • Set timezone (or use auto) whenever you request daily data, or the request will fail.
    • Pass multiple variables as one comma-separated string, with no spaces.
    • Check current_units and daily_units in the response so you know what units you're reading.
    • Use response.raise_for_status() so failed requests raise an exception instead of passing silently.
    • Cache results instead of calling the API repeatedly for the same location.

    Weather data by Open-Meteo.com, licensed CC BY 4.0.#api #documentation #python #software #coding #development #engineering #inclusive #community
    How to get Weather-Data in Python using Open Meteo API.

  26. Second Death

    Hi everyone! I hope you’re all well. Today, I thought I’d share a little horror short that I wrote a while ago and couldn’t decide what to do with. I hope you enjoy it!

    Second Death

    He felt the spark of consciousness fill his mind. He was aware now.

    He tried to move but found that nothing worked; even the muscles that lifted his eyelids failed him. In fact, every muscle in his body was frozen. He was paralysed, though by what or how, he could not say.

    His mind was sluggish and foggy, his memory having all but failed entirely, depriving him of the knowledge of who or where he was, but leaving everything else. The only reasoning for his current situation that he could come up with was that he had been in some sort of terrible accident, perhaps having been run over by a horse and buggy, and was now lying on some bed in the London hospital, a poultice wrapped around his head. The streets were a mess with horses and buggies these days. He knew that, at least.

    The fact that his mind had woken before the rest of his body did not frighten him. He knew this sort of thing happened every day in London; people being brought to the hospital in all manner of conscious states, and since he felt no pain, he was certain that somebody was taking very good care of him indeed.

    As he lay there, waiting for his body to catch up with his brain, some vestigial ember, a flicker of activity deep inside his mind, sparked, sending images rushing to the fore. A jumble of faces accosted him as his memory began to slowly filter through the abstract dam that had thus far held it back; women in long grey dresses with white aprons and white caps, and men, some old and bearded, some young and clean-shaven, but all wearing dark clothes. Somehow, he knew they were doctors and nurses.

    However, since waking up, he had heard no doctors or nurses—nor anybody else for that matter—coming to check on him. Had he been forgotten? Had they left him alone, thinking that he might never wake? His heart began to quicken at the thought that he might actually be stuck like this forever, that he might be trapped inside the confines of his own mind, his own mental walls slowly closing in on him. Surely, he would begin to disappear into insanity.

    The thought of being left in his current state until his body died of starvation and dehydration filled him with anxiety. He had to wake up. He had to force his mind and body to work in unison once more. He had to move, somehow; his very survival depended on it.

    Forcing his mind to work harder, he saw flashes of whitewashed walls and long, narrow corridors, and at first, he thought perhaps he might have been conscious upon his arrival at the hospital. 

    As sensation began to return little by little to his muscles, it occurred to him rather suddenly that there was a lack of sound. For a brief moment, he considered the fact that he may have gone deaf; he had known it to happen with head injuries, although he didn’t know how he knew, but the sound of his own breath leaving his lungs quelled the fear instantly.

    He was further relieved when he began to wiggle his toes, and further still when his fingers began to twitch. With each passing moment and every twitching phalanx, he felt the fear of his being trapped inside of himself ebbing away.

    Straining, he tried to open his eyes. He felt his lids fluttering, but everything remained dark. As he tensed and released each muscle in his legs and arms, still unable to fully move them yet, he willed his eyelids to cooperate—but darkness remained absolute. He tried again, and again, panic surging as he considered that he may have gone blind; he knew this, too, could sometimes happen with head injuries and again, how he knew this eluded him.

    As his heart quickly became a bass drum inside his ribcage, threatening to burst out at any moment, adrenaline surged through his body, and he felt his spine twitch—he willed his body to sit up, but the most he could manage was a slight raising of his head. He tried to gather himself, taking a deep breath, and then tried again, straining against himself as he attempted to fully reconnect his mind with his body. Drawing on every ounce of strength he could muster, he tried again, straining, straining, straining and… yes… yes… and…

    He jerked upward and—SLAM! His forehead collided painfully with something solid. The impact caused a spark, and in an instant, everything came rushing back. He was Eliot Smith, a doctor at The London Hospital. The adrenaline had acted like coal being shovelled into a waiting empty furnace; his whole body was mobile now; he could move his arms, his hands. He reached up, frantically exploring the area around him.

    As he felt the silk lining, the unyielding wood. The truth slammed into him with cold brutality—he had been buried alive.

    Terror consumed him. He screamed and clawed desperately, tearing at the lining and wood until his fingers bled. He pounded, kicked, and screamed until he felt his heart burst painfully in his chest. And with one final gasp of horror, he fell silent again—this time, forever.

    The End.

    Thanks for reading, if you did. I appreciate your time, and I hope you enjoyed it!

    As ever, thanks for stopping by!

    Until next time,

    George

    © 2026 GLT

    #death #horror #horrorStory #shortStories #shortStory #stories #writing
Share on Mastodon

Enter the server where you have an account.