Although I am not 100% serious about Susan, I do occasionally update her. Susan is a command-line driven, ASCII-based personal assistant app for Windows.
Susan version 1.1.0.42, follow the links to find out more.
I have pushed out a new version which you can download now. What's new?
Susan's messages now occur more frequently, and are date-specific. For example, tomorrow she will be wishing you a happy new year.
Various bug fixes, specifically solving a problem with BBC RSS feeds which made the news appear with extra characters.
Bug fix that caused the time to appear as 12am rather than 12pm.
Load your Instagram page with the command 'insta'.
Susan main page showing news feed. If you feel the need for a command-line driven ASCII-based personal assistant, then Susan is your girl.
If you ran a previous version of Susan then you will be directed to the new Download location as soon as you boot her up again.
Day clock on my Lumia 950. Click the image to load the new Day Clock.
I managed to export the data from the Perpetual Calendar for the BBC microcomputer using BeebEm and then wrote a script to convert the data from a BBC text file into a JSON file. The data contains the dates of various interesting anniversaries, and so I thought it would be a nice touch to show these on the new day clock, including a calculation of how long ago the event took place. For example today is the 41 year anniversary of the UK Sex Discrimination Act 1975.
BeebEm has some really useful tools, most notably the 'export' function which allows you to export one or more files from a BBC disk image to a PC format. This means that I can code a file on the BBC microcomputer, but still access or edit it on my Windows 10 machine. Yay!
I then added in 'red-letter' days, or other recurring events including holidays and Pagan festivals (from Pagan Calendar). I cannot be absolutely sure I haven't made any errors here, but I'll keep checking that this works and then add some more date/time information as and when.
The final touch was to put the current time into the new page tab so you can check the time in your list of browser tabs without navigating back to the page.
Well that's it for now. In the future I may add some other features, perhaps a background image that changes with each passing month. Maybe I shall put a Google search box in, or other widgets such as weather. Maybe I'll just sack it off and build something else.
The Dementia Day Clock is a clock that tells the time simply as 'morning', 'afternoon', 'evening' and 'night' and is specifically designed to be of help to people with memory problems.
The Dementia Day Clock running in my Edge Browser.
I intend to keep my Dementia clock available for as long as I can continue to run the server. It will be available advert-free forever. Any suggestions are welcome and if you wish to help support this project then there is a donate button on my website.
I recently discovered the Microsoft Hyperlapse app. This app allows you to create smooth, time-lapse video either from existing video, or captured directly from your phone camera.
I thought I would try it out whilst building some Christmas LEGO. Here I am building the Imperial Assault Hovertank. This is a really easy but fun build. There's a link below should you want to build one yourself. The tank has a couple of missiles which shoot out of the model at remarkable speed, so do be careful.
The first problem was to set up my phone so it could view the action on the table. I used a egg-carton to hold the phone, although the phone did fall out of the container at the end of the first video! I then improved this impromptu set-up before ordering a decent stand for my phone.
What I think about Hyperlapse.
It's pretty good, although I don't know why time-lapse isn't an option in the default camera app with Windows 10. Microsoft really should work on this as it will show Windows 10 to be the professional OS that it should be.
Time lapse is very easy to do, although it is rather power-hungry, and an external supply would be needed for any videos longer than the ones shown above.
Videos are created very easily and there is an option to create them at 1x, 2x, 4x, 8x, 16x or 32x. In fact you can create multiple videos of different speeds from the same capture. It would be good if there was some editing features built into the app, even just the ability to trim the start and end. Some filters or other effects would be a useful feature, however the basic app does a job well and I shall definitely be using this again.
Rest in peace Carrie Fisher
Whilst creating this StarWars related post, I have just heard of the tragic passing of Carrie Fisher. She will be in the hearts of all geeks everywhere as undoubtedly she was not just my first crush.
The most bad-ass female role models film has ever seen.
She will be missed by all geeks everywhere. A sad day.
It has been one hell of a year. What with Brexit [2], Trump and the death of so many of our much-loved celebrities, the year 2016 has been rather demonised [3].
.
There have, however, also been some good highlights of 2016. Here are just a hand-count few:-
In the blogosphere it's been a busy year too, with many geek experience points awarded, and various of my own projects on the go. Here are few superdecade games posts that deserve more love...
Wishing all my nerdy readers a happy, prosperous and geeky 2017.
1. If you are reading this in a future, post-apocalyptic world, then kudos to you for getting the Internet working again. +1 geek experience point for you, but please look out for mutant cockroaches.
2. I am not sure what this means, however I am told that this means 'Brexit' but I have no further information (see note 1 above).
3. why so many celebrity deaths?It's because there are more celebrities
I recently discovered this awesome BBC BASIC program for simulating spider webs through natural selection. It was written by Matthew Tizard for the BBC Acorn User magazine October 1992.
Natural selection left running on a BBC Master 128 for a couple of days.
The program generates nine 'spider webs'. The fittest spider web is the web that catches the most 'flies'. This web is then chosen to go into the next generation.
Natural selection running on BeebEm with 6502 Second processor showing nine generations with 'flies' turned off.
I found that the program is best run with your second processor turned on (for hopefully obvious reasons). In fact I found that you get approximately three times improvement in speed, with one generation taking about twenty seconds to generate, draw and test on screen.
You can easily switch on your second processor using BeebEm as shown above.
Another version of the program allows you to control evolution by choosing which web you wish to survive into the next generation. In this way you can select for characteristics that you like, not necessarily the ones that will catch the most flies.
Assuming that the program is in the public domain I have put the files onto a BBC disk image which you can download from the link below. BBC Disk Image
I dropped a pepper on the floor which causes some bruising to the fruit, but was surprised to discover that when I cut out the offending damaged flesh, the President Elect Donald Trump was hiding inside. He made me pay for the pepper as well.
scary - complete with bile-filled, forked tongue.
If you have parachuted into this page from somewhere else on the Internet, then you may wish to gather up your thoughts, dust yourself down, and check out the following Donald Trump fruit-a-likes.
So I have had a lazy Sunday afternoon watching Star Trek movies. All the references to 'photon torpedoes' and transporter beams put me in mind of a retro DOS game action that I actually spent many hours playing throughout the 90's. I is for Intra-Galactic Battles
IGB is a strategy game by William D. Hause released back in 1990. Although not endorsed in any way by the owners of the Star Trek franchise, the look and feel of the game places in the Star Trek universe. Four factions battle for control of the game world: The Federation, Klingons, Orions and Andromedans.
The aim of the game is to destroy or capture all of your opponents space craft. This is not a game for people you need graphics and storylines to enjoy a game. IGB is simple great because of the gameplay.
The alien races are differentiated by their method of attack. The Klingon weapons never miss, although their destructive power decreases with distance. The word Klingon is replaced by 'Gorgon' in all game documentation, presumably to avoid a nasty law suit. The Federation weapons have a chance of missing based on the distance they are from their target, however they always do maximum damage for each successful strike. The Orion weapons do minimal damage to the hull integrity of enemy ships but instead murder the crew onboard. Once an enemy ship has been thus 'softened up' a bit, Orions use transporter beams to try to take over control of the enemy ship.
An Intra-Galactic Battles skirmish. The green base has fired a laser at the pink klingon. What is klingon for "All your base are belong to us"?
My favourite race is the Andromedans whose weapons have no maximum value - they can simply be charged up to any level, thus can be significant one-shot killers, provided you have not been destroyed while you wait to charge.
Game play involves management of resources, so that there is a healthy balance between energy used to charge your defensive shields, weapons, tractor beams and engines.
When you first load IGB you will be presented with half a dozen options for scenarios to play out, although you can also select a 'custom battle' in which you can add your own ships at will. You can play with a friend or select 'Computer' when prompted with the question 'Who will control this ship?'. You can also add ships at anytime to the battle either on your own side or your enemies, so an IGB battle can theoretically last forever, although I did find my IBM PS/1 actually ran out of memory during a very long battle.
With the pagan festival of Yule figuratively around the corner, you may wish to curl up in front of an open fire with a good book. Or you may wish to go out and buy one for your nerdiest significant other(s). Listed here are a selection that I recommend.
Presented in this wonderful book is the (alternative) story of Ada Lovelace and Charles Babbage and their comic-book adventures with the Difference Engine. Enter a parallel universe where Victorian computers compute pi, correct spelling errors and offer guidance on etiquette.
This comic book tells the life story of one of the greatest minds of the twentieth century: safecracker, musician, romantic and Nobel-prize winning physicist Richard Feynman. If he isn't already on your fantasy dinner party list then he should be, and this book should also be on your list for Santa Claus.
Even though the English language has many hundreds of thousands of words, there remain many commonly-shared experiences that do not have a word assigned to them... until now, thanks to Douglas Adams and John Lloyd. For example, there once was no word for the act of dribbling involuntarily into one's own pillow, until now: Sompting.
What would happen if you fired a nuclear weapon at a hurricane? How much physical space does The Internet take up? What would happen if a rainstorm dropped all of its water in a single giant drop? Could you build a bridge of Lego across the Atlantic ocean?
All these absurd questions and more are answered in this book by XKCD comic creator Randall Munroe. It's like having this website printed out into book form.
And if XKCD is your thing, then do also find the website is available in book form as well...
Randall Munroe describes xkcd as a webcomic of romance, sarcasm, math, and language. It is practically required reading in the geek community.
One geek experience points are awarded each to Sydney Padua, Jim Ottaviani, Leland Myrick, Hilary Sycamore, Douglas Adams, John Lloyd and Randall Munroe.
I was shown this life hack today, so I thought I would share it. A plastic container, like the ones you get inside chocolate eggs that all so contain a surprise... (and something to play with) make handy containers for earphones. That is all.
Extra geek experience points for anyone who remembers this...
Described in the superdecade games dictionary as noun: Mischievous imp, this post is about a game for the BBC microcomputer by David Parsons. H is for Hobgoblin
In this game you have three lives to recover 'The Golden Orb of Altoris' by marching headlong to the right of the screen, avoiding ghouls and ghosts who can kill with one touch. The gameplay involves a great deal of precisely-time jumps to avoid spike-tipped pits and an endless hail of arrows fired from zombie Robin Hood type characters. You are armed only with a set of infinite throwing knives, a fairly useless suit of plate-armour and a rather tidy ginger beard.
Oh no, a baddy! JUMP! No fire! Quick!
Hobgoblin is a clone of the more-popular Ghouls 'n Ghosts available from Capcom for a variety of platforms.
Success in Hobgoblin demands careful attention to detail - for example not dying - as well as upgrading one's weapons so as to better squish the army of undead that are perpetually waiting somewhere to the right of the screen (as well as occasionally to the left!).
The old 'climb on a rock' trick
Particularly difficult sections involve precise jumping and picking your fights very carefully. One slip and you are inconveniently teleported several screens to the left where you are forced to attempt the difficult section again, only with downgraded weapons (and, of course, your trusty beard).
From simple rules can arise incredible complexity.
There are those who have spent entire careers exploring it. All programmers should be familiar with it. I once spent an entire night coding it on a BBC microcomputer. It is, of course, recreation mathematics time, because.... G is for Game of Life
Conway's Game of Life has been described as a 'zero-player game'. In Game of Life cells exist on a two-dimensional game board who live or die based on four simple rules:
Any live cell with fewer than two live neighbours dies, as if caused by under-population.
Any live cell with two or three live neighbours lives on to the next generation.
Any live cell with more than three live neighbours dies, as if by over-population.
Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
The resulting effect is something that resembles life in a petri dish. Some patterns repeat themselves, as though moving across the canvas like spacecraft. Others reach stable or oscillating states, and other configurations complete vanish after a few generations. It is also possible to build logic gates and thus create a Turing Machine using the rules of Game of Life, that is you can actually perform calculations within Game Of Life that could be performed on any other computer.
Just because I was set this challenge this morning, I have written my first attempt at a number converter in Python 3. You simply pass a positive integer and the program returns that number in words.
For example, if you pass 1234, it will return "one thousand two hundred and thirty-four".
The program works for all positive integers up to ten to the power 48, which should be good enough for most practical purposes.
def numberConvert( num ): # pass a string containing a positive integer # will return the number as a string of words # for example 1234 will return # "one thousand two hundred and thirty-four" number = str(num) digitlist = [] groupedlist = []
for digit in number: digitlist.append(digit) #puts text into grouped list eg #567893 --> ['893', '567'] while len(digitlist)>0: s = "" c = 0 while c<3 and len(digitlist)>0: s = s + digitlist.pop() c += 1 groupedlist.append(s[::-1])
out = "" power = 0 a = ["thousand", "million", "billion", "trillion", "quadrillion", "quintillion", "sextillion", "spetillion", "octillion", "nonillion", "decillion", "undecillion", "duodecillion", "tredecillion", "quattuordecillion", "quidecillion"] for item in groupedlist: if power >0: out = parseNumber(item) + " "+ a[power-1] + " "+out else: out = parseNumber(item) power += 1 return out
def parseNumber( number ): #pass a 3 digit string , eg '456' if len(number) == 1: return(parseDigit(number)) elif len(number) == 3: if number[0:1] != '0': if int(number[1:3]) != 0: return(parseDigit(number[0:1])+" hundred and "+parseTwoDigit(number[1:3])) else: return(parseDigit(number[0:1])+" hundred ") else: if int(number[1:3]) != 0: return("and "+parseTwoDigit(number[1:3])) else: return(parseTwoDigit(number[1:3])) else: return(parseTwoDigit(number))
def parseDigit( number ): #deals with one digit numbers a = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] return a[int(number)]
def parseTwoDigit( number ): #deals with two digit numbers a = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'] b = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'] if (number[0:1]) == '1': return(b[int(number[1:2])]) elif (number[0:1]) == '0': return(parseDigit(number[1:]) ) else: if number[1:] != '0': return(a[int(number[0:1])-2]+ "-" +parseDigit(number[1:]) ) else: return(a[int(number[0:1])-2])
#test program while True: num = int(input("Enter integer: ")) print(numberConvert(num))
I have spent most of Sunday having very daft conversations with my chatbot, Mac, and I am pleased to say that I am happy with progress so far. His dictionary files have increased in size and he is becoming a much better conversationalist.
If you want to have a pointless conversation with Mac, then you can find him waiting for you here. Try asking him who he thinks will win the race for the White House, or what his opinions are on current affairs. I'm not actually claiming that he will make any sense, but it will be fun finding out. Enjoy!
Every year I carve a pumpkin for Hallowe'en. This year's effort is the most frightening yet.
Introducing the Superdecade Games Donald Trumpkin...
Orange skin, hate-filled eyes. It's a trumpkin. I'm not too pleased with it myself, but at least I had a go. The pumpkin was quite expensive from my supermarket, however I'm going to get Donald to pay for it.
Some notable pumpkins from previous years.
Alien pumpkin with a petroleum jelly finish.
nom nom nom
There's something in my eye.
Wishing all my readers a happy Hallowe'en!
If you liked this post then you might like to see some other seasonal posts from back in history:
Primary school children throughout the 1980's got their first experience of computers via an adventure game called Granny's Garden. In this game you had to solve various puzzles with the vague aim of rescuing some fictional children from the evil witch, who would often show-up unannounced, play some horrible music, kill you and annoy your teacher, who had lost count of the number of times they had heard it happen. Granny's Garden was rather well-known (and well-loved), however many people are not aware that 4-Mation software released a sequel....
F is for Flowers of Crystal
In Flowers of Crystal the planet Crystal is in danger, and only primary school children transported across the galaxy can save it. It seems that the evil antagonist, Mr Grubble, an industrialist and entrepreneur, has put the entire planet in danger. Along the way you will meet Jim, protector of the planet Crystal and after a long, convoluted back story, you will discover that your mission involves finding the Flowers of Crystal which have the power to save the entire planet, or something.
I am scared...
As in Granny's Garden, success in Flowers of Crystal involves carefully solving puzzles. The first puzzle involves reading the 'weather report' which gives a hint as to which items will be needed. For example, if the weather report tells you that it is likely to rain, then taking the raincoat might be a good idea.
Part of the world of Crystal - thanks to Super Jim
The next puzzle does not provide you will such an easy hint. You are required to navigate through a map of the game world moving from location to location using or finding other objects along the way. I am sure that when I was a child we managed to make much greater progress through the game (or at least we had guessed the code word for getting onto the second level). I do know that you need a disguise kit to get into Mr Grubble's bubblegum factory, in which you will discover the security pass allowing you access to the City. The world of Flower's of Crystal is a fascist police state in which one must always obtain the correct paperwork in order to be granted permissions to travel. I wonder what 4-mation were trying to teach us?
Teachers across the land would plug children into the Flowers of Crystal, and then sneak out for some of their own 'special water'.
Another teletext monster murders you for no reason. So senseless.
Choose wisely or you will be murdered and then some other kid will get a go, and you have to go back to your seat and do long division problems
If you somehow survive the first map, then you will find out a code that allows you to access the second level, which, from memory, was much more fun. It involved a few more puzzles, but crucially, the mini-games were more 'arcade' in style. I seem to remember one puzzle where you have to fly through a cavern avoiding lightning bolts. Or maybe I am just remembering our school corridor at lunchtime. There was also a game of Nokia snake built in, and some sort of creature known as the Exiles who were literally hopping mad. I have no screenshots of that part of the game because I haven't managed to survive long enough however there is a video below. Playing this game will be much improved by using the 'save state' feature of your emulator, because being randomly killed is no fun.
Not again....
So, if you enjoyed this post and you fancy having a go, stock up on some bubble-gum (the only way to protect yourself from underground worms - obviously), and award yourself some geek experience points.
What follows is some of the most impressive code written for the Little Man Computer that I have ever seen.
Thanks to Eric and Will, here is a 'general purpose calculator' program, squeezed into the one hundred available memory locations of the LMC.
The program can perform Square root, DIV, addition, square numbers, Integer powers and multiplication.
In order to use the calculator the two operands are entered into the keypad first, and then lastly the operation is entered by selecting the corresponding operation code (listed in the comments).
For example, in order to perform the operation 13 DIV 2,
firstly enter 13 then 2, then 0 to select DIV.
When I was knee-high to a grasshopper, I persuaded my father to spend £15 of his hard earned cash on software that I assured him would 'really help me understand astronomy and physics'. In reality, it was a game of intergalactic trade and combat. What followed was many a Friday night of my youth spent battling with pirates and Thargoids on my BBC model 'B'. Buckle your space-seatbelt for a trip through a procedurally-generated universe...
E is for Elite
Created by a young Ian Bell and David Braben, Elite was the first 3D space simulation game of all time. It featured a universe of 8 galaxies, populated by harmless bug-eyed birds, communist rodents, various coloured frogs, birds, lizards and edible arts graduates who have an exceptional loathing of sitcoms.
Elite running on the BeebEm BBC emulator. Here I have travelled from the starting point at Lave to Diso (a planet populated by 4 Billion democratic cats).
The aim of the game is: do anything you want. This was rather a new concept for computer games for at the time games gave your three lives and expected you to play for ten minutes. In Elite you can fly to any planet you wish; trade with the various alien species you encounter; do battle with pirates, aliens, trade ships or the police. You can upgrade your space-craft with missiles or lasers, or buy from a variety of other space-technology.
Trying to dock at a space station required matching the roll of your spacecraft to the roll of the space station in addition to some careful initial 'lining up', all the while being careful not to press the trigger on your laser cannons (they don't like it - not one bit).
A photo of the manual showing artistic representation of various polygons, I mean spacecraft that you will encounter.
A list of fun stuff you can do in Elite
Watch planets spin below you at ludicrous speed (as the inhabitants all fly into space due to centrifugal force).
Wait outside space stations and glooping the police as they emerge to arrest you for glooping the police, who then send more police, who you can gloop...
Travel the galaxy by only using your fuel-scoops to refuel.
Travel into deep space looking for pirates to gloop (and using your escape pod to get home again).
Fill up your cargo bay with questionable products and try to blast your way into the nearest system.
Sell your defeated enemies to the slave trade!
Gloop innocent traders and steal their stuff (then sell the traders as slaves).
Try and find the space-dredgers and the generation ships indicated in the manual (SPOILER: they don't exist).
If you like this game, then you might like...
A few years ago I wrote a 2D space shooter game for Windows. It is called Starfunk. You may wish to go and play it.
Introducing Star Funk for Windows. Kind of like Elite, but 2D. Visit strange new worlds and encounter mysterious beings, then kill them to death and steal their stuff.