A few years ago I was playing around with the KDE desktop and found the "Virtual Machine" screensaver.
At first I was puzzled by its screen full of apparently random coloured numbers and a letters, but after it was left to run for some time, something weird happened - the random numbers and letters started forming repeating patterns.
After reading the source code I realised that the letters where instructions for a very simple stack based computer, and the numbers were data. The screen represented the memory of the computer, the numbers data, and the letters instructions.
Over a long period of time some of the memory locations would end up containing a self-replicating program, and that program (or programs) would then have many copies of them made and they would slowly take over the screen.
- Wait - do noting
- Pop - discard the top item on the stack
- Execute - take the top item from the stack add it to the current location, then carry on executing from the new location.
- Stop - stop executing
- Copy - take the top 3 items from the stack, the first is the relative address behind the current location to start copying from, the 2nd is the location ahead of the current location to start copying to, and the 3rd is the number of cells to copy.
If the stack has more than 15 items on it, stop running. If the stack is empty when trying to pop a value from it, stop running. Stop executing after 1000 instructions have been run.
When running stops, start running from a random location with an empty stack and the instruction count set to zero.
This machine is similar (identical?) to the 'Core Wars' virtual machine.
Recent changes to the London Hackspace Website broke my NFC login app thing (It was just doing web scraping).
So if you've got the app, don't expect it to work.
I'm waiting on a new laptop atm, and in any case I probably won't fix it until there's a stable API etc...
The dnssec-validator.cz team released an updated version of their plugin with added support for validating TLSA records, you can get it here for Firefox, Chrome and Internet explorer across multiple platforms and 32 & 64 bit architectures.
You can find the slides here
We've got more and more boxes on the network at London Hackspace. I wanted a way to find them all automatically and give me a menu to ssh into them.
It turns our that it's pretty easy to do with avahi, on the servers - apt-get install avahi-daemon, and then drop this into /etc/avahi/services:
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_ssh._tcp</type> <port>22</port> </service> <service> <type>_sftp-ssh._tcp</type> <port>22</port> </service> </service-group>
Then on your laptop install install avahi-ui-utils and run bssh for a list of things to connect to.
There is one annoyance, if you get an entry for ipv4 and ipv6, and if you have both ethernet and wifi you get an entry for each, so each host is repeated 4 times!
I noticed a few days ago that Postfix had TLSA support added.
I also noticed that there's now another TLSA plugin for firefox, DANE Patrol, unfortunately it doesn't seem to work very well :(