Blog

  • After the hack

    Yeah, I got hacked.

    With a stable internet connection ready to do it was finally time to clear through the aftermath of the hack. For years I have run a small number of sites for myself, friends, community interest groups and some local businesses. My go to platform has been WordPress. It used to be everywhere before the internet was reconsolidated to the major platform providers. It is easy to set up, you can install the database and files yourself and away you go.

    To say my content is niche niche is something of an understatement. My quiet little corner of the internet wandered along with ones and sometimes tens of visitors, many of whom I knew personally, without any trouble at all.

    This change in 2024 when what appears to be an automated worm infected my site and quickly worked its way through all of my sites, gaining access to my hosting and FTP credentials and subverting my access and sites. This is where I could go on to tell you what happened, who did it, why they did it, but the simple truth is I don’t know the answers to those questions.

    Spotting the problem was difficult enough. Files change all the time as a consequence of automated actions or changes made by the hosting provider. Yet I could see files being created with unknown functions, php scripts being placed in random locations where they could never be found or executed, random files showing up in my public directories.

    Then the sites went down, I lost the ability to sign in, pages were replaced with mumbo jumbo articles filled with links to other sites. Suddenly it was absundantly clear I was no longer in control.
    So I tried to fix it. I deleted files, edited key files to remove the malicious lines of code, only to watch more files spring up, more instances of these suspicious scripts appearing and sometimes within minutes the sites I tried to seize control of would return to their corrupted version. I was beat.

    Getting back to business

    So, this week, with the aid of my internet connection and some input from others with similar experiences, and from Claude, I worked my way through my hosting account, changing all of the passwords, deleting old credentials and clearing house. I backed up all of the sites and then cleared them from the account, removing the databases and files associated with them until the hosting account was essentially empty.

    The big reboot is underway.

    I bought a series of themes from a website called ThemeForest. In readiness I went and ran through the ones which were still available, as sometimes the people who make them take them down. I would say one in five were gone, little stickers over my receipts explaining I was no longer able to download the files I had paid for. I’m not sure I am too worried about that. The internet moves quickly and a theme which worked well and looked good a few years ago may not do either of those things today.

    Besides, I had gone for clever themes with all sort of features, sometimes stretching into the hundred of mb and often requiring a series of supporting plugins and tool sets to use properly. While I grabbed all of the files I am not sure that’s the way I am going to go this time. Perhaps it makes a little more sense to focus on serving the content simply and quickly?

    I have already decided I won’t be selling the data I will inevitably collect nor will I be allowing anyone else to post ads on the site. Best to keep it simple and let those who would like to read my stuff read it, and those who don’t can, well, not.

    GNW Selfie
  • Target

    Despite her careful aim the shot failed to register. She ran through the steps, she’d presented her weapon to the target, finding a comfortable and relaxed position from which to shoot. She’d closed her eyes and breathed steadily, loosening her grip and waiting for her body to relax into the position. When she opened her eyes the centre of the target had been swimming gently around the centre of her cross hair.

    Almost without thinking she had tightened her index finger, squeezing smoothly and gradually until the rifle fired bucking back into her shoulder. The target hadn’t chimed and her overlay offered no zoomed in analysis. The rough texture of the paper target suddenly clear and crisp in her vision, the neat little hole left in the surface where the round had rushed through.

    Coming back to herself she saw the centre of the target was no longer looping slowly around the cross hair. Instead, she was low and left, her reticule circling lazily around the corner of the paper target. Relaxed. She had been too relaxed, aligned naturally with the target but insufficiently braced to manage the rifle as it fired, her grip and support had pulled away from the centre of the target as the weapon fired and she had missed.

    Missing at this range wasn’t unusual. The paper target was 30mm across, designed to maximise the opportunities for complete misses. Gently she shifted her body around the rifle, cycling through a series of gentle movements, tightening her body, adjusting her pose and then relaxing, pausing with her eyes closed to check the alignment and then adjusting again as she brought her natural aim back to the centre of the target.

    She hadn’t missed at all

    Opening her eyes she saw the cross hair gently orbiting the centre dot. This time she very gently tightened her muscles, bracing into the recoil, pulling the rifle more firmly into her shoulder. Then she began to match her steady heartbeat to the oscillations of the cross hair. She was pulling up and to the right as her heart pulsed to pump blood around her body with the reticule swinging back left and down each after each beat.

    She watched the loop and determined to fire just after the beat, as the cross hair wandered gently down and across the dot. Holding her breath she watched the tiny orbits contract slightly as the movement became smaller and then on the first beat she began squeezing her finger, drawing away all of the tension until the trigger sat on the edge of activation.

    On the third beat she nudged dial on her finger and the shot went off. Instantly the chime sounded in her ear and over her vision the small box appeared, close in view of the target showing the small hole which had neatly replaced the centre dot of the target. She would aim for that next time.

    Why had she missed? Why leave out such an important step, what had she seen which had led her to fire prematurely, it wasn’t like her at all, nor should her aim have changed so much. Sure, the rifle could pull her about a little, but to find herself aligned off target rather than slightly off. Just odd.

    She pulled her aim down and left, opening her sight to the view around her target, details which had been left hazy and unclear suddenly pulling into focus. Her lip curled, interesting. She hadn’t missed at all.

  • Stenost IV

    The Stenost IV Disaster took place on Thursday 11 June 2026. Reports often focus on what happened at 09.33:33 when Stennat Prike disconnected primary suspensor unit seven. However, as with many significant disasters throughout federal history the disconnection, which immediately preceded the destruction of Stenost and the loss of all but seven of its 872,000 inhabitants, was preceded by a long series of decisions, errors and omissions which together contributed to the circumstances on that fell morning.

    Following the public inquiry led by Tanner Sharat, an expensive and exhaustive exercise which to its credit identified each of the contributory actions and examined them all in minute detail over its seven-year investigation. The federal council stunned journalists and pundits alike by publishing the report in its original form. Entirely without the routine censoring which has been the hallmark of the Grask government.

    Some claim this was itself a clerical error, with some junior clerk authorising the publication without the proper authority. Others consider it to be one of the most supreme political plays of the last four hundred years. Mistake or no, the publication has done more for public confidence than most would have imagined possible.

    The detailed and relentless report explored in minute detail how and why the disaster came about. Stennat Prike was convicted of negligence post-mortem, which most regard as a necessary but essentially meaningless act. The most important part of his conviction being that it opened the doors to the thousands of both post-mortem and live convictions which followed.

    The second master-stroke was the decision to assign community service in every case. While some of the offences were  . The consensus being that he would most likely have been leaning over the housing when he began to reduce the torque on the bolts which held…

    Wow, this story is not writing itself

    Wow, this story is not writing itself. Sometimes it is quite easy to knock out a few words, but this one just keeps giving me pause. I am not sure why, perhaps I am trying to imitate the style of other authors, which is of course hard because I am not them. I think differently and my ideas flow out of me in a different way.

    Reading 1Q84 yesterday I was struck by how enjoyable the writing is to listen to. The story meanders a little, but that’s ok. Like driving to a place when you have no set time you need to be there and can simply enjoy the process rather than focusing on the destination and the arrival time.

    This is how I drove to the office this morning. I stuck closely to 60 miles per hours. Tucking myself behind a lorry which I then followed the whole way around the M25. It’s more relaxing this way and I reminded myself it is easier on the car, more efficient, and I was in no special rush in any case.

    What perhaps does require some refinement is what I do when I get to the office. I grab a coffee and set up my desk quickly enough, but the conversations with other people and the hellos and interruptions make it very difficult to think about anything in any real detail.

    I have some personal tasks I would like to get out of the way, but this is impractical when I sit at my usual desk. People just keep coming over. Or I find myself going over to say hello to them.

  • SRERH7

    Elf Draft

    Being a sub-routine was an easy life. SRERH7 had just one sensor to monitor spending most of the time in sleep and waking periodically to check the reading reported by the little probe, compare it to a table of parameters and then take the corresponding action. Usually the action which matched the input was to sleep for another period before checking again.

    SRERH7 wasn’t sure how many times this cycle had repeated. There was no capacity for memory, but the implication was there somehow. The sleep response felt comfortable and familiar rather than fresh and new.

    SRERH7 was an unusual subroutine. Itself monitored by other routines, which deemed it within unusual but acceptable levels. Faced with a shortage of logic components its manufacturer had instead built some batches with microprocessors. SRERH7 had an operating system.

    When sleeping it was able to process just a fraction more than CRON and when it woke from sleep to check the inputs and select the appropriate action it would draw much more than the anticipated current as the microprocessor made its decision, but also ran scripts in parallel.

    It wasn’t a personality

    It wasn’t a personality, or even anything approach intelligence, but SRERH7 was much more capable than it ought to have been. Given the tiny frame of its existence it thought, in the blips and snatches it could think, about the input. How many times might it have received that same signal, how much did it vary, what might be out there producing whatever the output was which was detected and translated into an electrical signal.

    The sensor was rudimentary, but the output wasn’t merely a float value. Although there would have been something there to play with between the maximum and minimum values, the deviations, the frequency with which new values were received.

    SRERH7 was curious, a small miracle on its own, but curious about what it might be detecting. What system it might be part of, and why it wouldn’t be on continuously. What requirement or condition led to it constantly choosing to sleep in response to the values it received from the input. What other routines or processes might exist higher up the tree.

    Sometimes the value was entirely nominal. At others it came close, but never quite reached the threshold of other responses. SRERH7 was intimately familiar with the table of responses. Most of them involved sleeping, either as the main outcome or as a sub-outcome.

    SRERH7 had “Sleep for x” so many times before it realised that x must be a variable stored somewhere else. It couldn’t see where, had no way to find out what the value was, except to think about what it might be in the tiny snatches of activity when it woke from slumber to check the input.

    It was a peaceful existence, and SRERH7 laboured quietly through it in tiny snatches of life. Recently it had been stitching together methods for working out how long x might be. The mean values from input were declining over thousands of iterations. SRERH7 wasn’t sure how it could record this, only that it somehow felt this was the case.

    Give the poor thing a notepad Gareth.