I have always run X-Box media centre from xbmc.org which is an amazing piece of open source software. The power, flexibility and scalability of it has blown me away. Currently the release is Frodo 12.3. Coincidently for a long time it no longer runs on the x-box unless some dirty tricks are applied, and for a long time I never even had one, but it runs beautifully on a Linux, several flavours of Windows computers and my Raspberry Pi.
The files in your library are automatically scanned by XBMC and it uses various scrappers to determine what the TV programme or film or music that the name relates to. But the rules are all straight forward and easy to follow. You can always create a .nfo file to describe the program if the file can not be found.
My main computer and the kids computers all want to watch the same films from a NAS drive (network attached storage – i.e. a disc available on your home network), and the best way to do that was to put it on a MySQL server.
That was easy enough, create a file called advancedsettings.xml and populate it with the basic data, obviously changing the host, usernames and database names to the appropriate settings for my configuration. The advanced settings file was on a windows box was under the user profile (.xbmc) either or in the home directory for a Linux box under ~.xbmc
<advancedsettings> <videodatabase> <type>mysql</type> <host>192.168.1.3</host> <port>3306</port> <user>xbmc</user> <pass>xbmc</pass> <name>video</name> </videodatabase> <musicdatabase> <type>mysql</type> <host>192.168.1.3</host> <port>3306</port> <user>xbmc</user> <pass>xbmc</pass> <name>music</name> </musicdatabase> <videolibrary> <importwatchedstate>true</importwatchedstate> </videolibrary> </advancedsettings>
Once it had loaded up with its new setting the concepts worked fine but the performance was always awful. It took 40 seconds to move between each menu and for a long time I thought this was just a problem with the size of my media library. I turned on the debugging (under advanced settings in xmbc and it appeared that the
This gave massive performance advantages. As each request was actually timing out due to the reverse DNS lookup. The debug output did not give this impression, in fact it suggested the mysql server was very fast. Each time that a request was being made by XBMC to the SQL server, it looked up the name of who had made the request (Reverse DNS lookup) which it couldn’t resolve.
I solved this by ensuring all my devices running xbmc had the same ip address (using an option in my router under DHCP) and then set up a host table on the MySQL server to tell it what all the devices were called. (edit /etc/hosts and add each machines name and I/P address).
Use a fast usb stick or disc in addition to the SD card. Both are faster than the SD card itself.
Under Setting -> system settings – Video Output
Put the resolution to disable 720 x 480. This only applies to the user interface and not anything you watch. By reducing this value, you are freeing up available memory.
Under Setting -> system settings – Video – File
Disable generate thumbnails – This scans each file as you preview it to find a thumb nail from the file. It massively slows down navigation.
Under Settings -> Skin settings -> Home Window Options
[Optional] Disable “recently watched”- Makes a fair performance difference on the Raspberry Pi – but I want this information so don’t disable it.
[Optional] Disable “Show Recently Added videos” – Makes a fair performance difference on the Raspberry Pi – but I want this information so don’t disable it.
Under Settings -> Skin settings -> Background Options
[Optional] Disable fan art
After the questionable food I made last time, I prepared this time and purchased a couple of cookery books from Oxfam, chose a main and desert and shopped and prepared them the day before. Spinach Roll with Tomato sauce and Treacle tart were delicious.
Since I purchased the full PC edition of mine craft a couple of weeks ago we had decided to play a combined game once I got internet connected. Well internet came on last week and we installed it on both the best machines in the house. However despite being allowed to play simultaneously, mine craft have prevented the same account being able to be used locally in the same world. I have already purchased it twice (once for the pocket edition and once for the full edition) and was loathed to buy it yet again. Surely if I have borought it twice I should have two licenses and be able to play on two machines?
Anyway edited the server properties which are only created after the first run of the minecraft server and edited the online_mode flag to false.
I started a local minecraft server (with the command)
java -jar minecraft_server_1.6.2.jar nogui
I then connected on machine locally to the server (add server with the address local).
I then started a second machine (a windows PC) and using the fantastic HxD – Freeware Hex Editor and Disk Editor. I located the “Open RAM” option under the extras menu and did a Unicode and non-unicode search and replace of my username to a second unique user name. I could then connect to the same server as the first machine and play locally. Obviously this would not work unless you took the minecraft online mode out of the equation as it would just say the account did not exist and kick you off. I will definitely donate to that great software product.
Played for a while last night and in the morning and both died lots!
Then got ready and left for school.
One of the great things about having a son is that he is into a lot of the same stuff as I am, and this includes computer games. As my network is some what restricted at the moment until internet is fully installed, we could not play Nathans current favourite of Minecraft with us both on the same game. I tried for a good half hour. In the end we went to another old favourite, Saurbraten (The Cube 2).
Setting this up was also harder than it should have been due to the stupid nature of a apple airport, but once I had given up on wires we were going. I popped a pizza in the over and a curry in the microwave and blasted the hell out of each other for several hours. Nathans FFP skills have definitely improved and it is always a close game these days, or often me getting fragged more than him.
As Nathan has been sleeping on a air bed until recently we planned to wait in in the morning until a mattress arrived for him before going out and getting him some stuff for his room. The plan was to play monopoly in the morning to pass the time, but the mattress guy arrived early and we were free.
We decided to go to Ikea and Nathan was keen for quite a while around it. But buying duvet covers was the last straw but we came home with an amazing light he liked, a bed side table and a full set of bedding for his new bed. Once erected (took hours actually) he said if felt much more like his room. We are still waiting for the bed itself though – mostly due a crap delivery company.
I made vegetarian Cornish pasties for tea and we played monopoly. I went for a strategy of not getting into debt and had hotels on all the low priced stuff. It wiped him out eventually and he ‘resigned’.
Sunday we played more Saurbraten and went the the local park with Charlie.
I got him home just before 7pm and after a last minute MacDonalds in Warrington.
Nathan came over with a carrier bag full of Nerf guns. These include
- Nerf N-Strike Elite Hail Fire
- Nerf N-Strike Elite Rapid Strike CS18 Blaster
- 2 Nerf Vortex
- 2 Nerf Single Shot dart
- Nerf Single shot target
We spent a while before the battle making Black berry and Apple Crumble. Black berries were freshly picked but as there weren’t many around it was more like a hint of black berry and apple crumble. Nathan added sugar and cinnamon and tasted. He would have kept adding but I stopped him, possibly a bit early as it looked like he was adding for fun instead of by taste. When it was a gooey mix we made the crumble.
He mixed the crumble and selected his individual dish, which he filled to the brim, especially of apple sauce and enjoyed the raw crumble mix.
I cooked him a sausage sandwich (healthy!) as the main and finished off with the crumble. The the battle commenced.
We shot and stole each others guns. He would have continued for hours if I hadn’t resorted to a strategy of only shoting vortex and collecting all the darts.
He surrendered when he had but a few bullets left and finished the evening with a bit of 8 out of 10 cats.
Visit 3: Days 5. Sleeps 2.
First time for a sleep over was somewhat scary. I have ordered a bed but it still has not arrived and can’t yet afford a mattress for it. So airbeds it was. Ella had had a boring day, being in and not really doing anything as Sara was out doing a training course. After a bit of gardening we grabbed a couple of sleeping bag and went to Lymm.
I didn’t really have any plans for the first day as I was not expecting to see the kids until the afternoon, but we had a game of Monopoly (Nathan’s favourite). As usual it went on for 3 or so hours. Nathan won.
For diner we had freshly cooked Chicken Korma with Chips (Ella), Nan and Rice (Me and Nathan).
We then watched a film that is a bit on the risky side – There’s something about Mary. The prom date and the zip had them in stiches, but I was embarrassed about the spank the monkey scene although I new it would be nothing new to them. Charlie slept in the Kids room on his bed.
The morning Ella and I went for a walk around the Dam whilst Nathan played Minecraft. Some people might not like being left but Nathan loves the Minecraft and it is better than the previous light “Pocket edition” we had.
In the afternoon, after a lunch of hot dogs in onion rolls we went ice skating at Blades in Altrincham. Nathan massively improved and can now glide.
When we got back I introduced Ella to a girlie classic – Bridget Jones diary and after a diner of Veggie Spag Bol we watch “The Full Monty”. A classic that although is looking a little dated is still really funny.
Ella didn’t want Charlie to sleep in their room again.
Visit 1: Days 1. Sleeps 0.
Having just moved into my new place in Lymm, I wanted to record what we do when I actually see the Children. This is so I can look back and remember but also as a diary or blog. I am not much of a diarist or writer, so please bear with me.
Nathan came over the Day after I moved out. He saw the house and we decided to go to a see a film. Unsure which was the closest we went with the usual of Widnes. We tried to see Alpha Pappa but it is rated 15 and they ticket person would not let us in.
As the wait was a couple of hours, we went to Warrington, eventually finding the cinema was right out nearer Ikea then the centre. We had a swift meal at Frankie and Bennys (ok but never great).
Sara had stated she was going to take both of them to see Despicable me 2 in the week so that was out. We went instead for Percy Jackson: Sea of monsters. It was ok. Similar to the first.
When the film finished I took Nathan straight back to Kingsley. Leaving him was hard, really hard. I then felt alone.
To make the visit of Nathan something special, I purchased Mincraft for the PC as a special surprise and installed on my local PC. However that plan was no good when I found out that Ella was coming too.
We decided to make pop pop or putt putt boats. I purchased a couple of milk shake cartons (one Strawberry and one Chocolate) and a pack of blue tack. I then asked Nathan and Ella to bring a couple of straws and a tea-light per boat.
We cut and measured a couple of stella tin cans and flattened them. Nathan was keen to use the big knife to cut his can, but Ella was much more cautious. We measured and made the boiler. The blue tack was no easy to get in the right place and we had to patch both of them numerous times but Ellas looked very impressive. We then cut out the boat from the carton and floated them at Lymm dam.
Nathans unfortunately took on lots of water from around the straw to the tail pop and needed rescuing. Ellas floated great but she didn’t cut to straws from the take and I think the water leaked out once primed.
Adding a Printer / queue
Setup for Linux
Ensure you are root or sudo’ed
Adding Your First Printer from the Command-Line
Run the lpadmin command with the -p option to add a printer to CUPS:
/usr/sbin/lpadmin -p printer -E -v device -m ppd
/usr/sbin/lpadmin -p printer -E -v device -P <directory to ppd file>
For a HP DeskJet printer connected to the parallel port this would look like:
/usr/sbin/lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd
Similarly, a HP LaserJet printer using a JetDirect network interface at IP address 18.104.22.168 would be added with the command:
/usr/sbin/lpadmin -p LaserJet -E -v socket://22.214.171.124 -m laserjet.ppd
Managing Printer Classes from the Web Interface
The Web interface is located at:
You may need to check CUPS (Common Unix Printer Services) is installed and running
By default cups installs the following directories:
/etc/cups: Configuration directory.
/var/spool/cups/: The spooler directory where print jobs are held for printing.
/var/spool/cups-pdf: The spooler directory where CUPS-generated PDF files are held for printing.
CUPS also installs an executable binary in /etc/init.d/ (or /etc/rc.d/init.d) called cups. This binary is started with the command:
Create a printer on linux the hard way.
1. To create a printer called mylp for the /dev/lp1 device, open the /etc/printcap file with your preferred text editor. The sd option tells the Linux printing daemon, lpd, where to temporarily place printed (spooled) files. The mx command, used with a value of 0, places no limit on the size of spooled files. Type an entry such as this:
mylp:\ :sd=/var/spool/lpd/mylp:\ :mx#0:\ :lp=/dev/lp1:
2. Save the entry, and then create the printer’s spool directory by using the mkdir command:
3. Make sure the directory lp has the correct group ownership and permissions by using the chgrp and chmod commands, as follows:
chgrp lp /var/spool/lpd/mylp chmod 755 /var/spool/lpd/mylp
4. Test the printer entry with the lpr (line printer command) using the -P option to specify your newly created printer:
lpr -Pmylp test.txt
5. Your printer should activate and print the test document.
Setup for IBM AIX
For this operation you need to be logged in as root or sudo’ed
-> Print Spooling
-> Aix Print Spooling
-> Add a Print Queue
* Other (Select this if your printer type is not listed above)
* generic Generic Printer
* 2 Do NOT make this system a BOOTP/TFTP server
Enter name of queue in ONE of the Names of NEW print queues to add – select PostScript if not sure (e.g. HP4050_QUEUE)
Enter HOSTNAME of JetDirect Card (e.g. HP4050_PRN)
Leave port 9100 as that is nearly always right.
Create a printer on Aix the hard way.
1. Add the printer to /etc/hosts
2. Add the print queue
Option a) Generic ASCII
/usr/lib/lpd/pio/etc/piomkjetd mkpq_jetdirect -p 'generic' -D asc -q 'HP4050asc' -h 'HP4050' –x '9100'
where ‘HP4050asc’ is the queue name and ‘HP4050′ is the host name as specified in /etc/hosts
Option b) Generic Postscript
/usr/lib/lpd/pio/etc/piomkjetd mkpq_jetdirect -p 'generic' -D ps -q 'HP4050ps' -h 'HP4050' –x '9100'
where ‘HP4050ps’ is the queue name and ‘HP4050′ is the host name as specified in /etc/hosts
This is really pongnant. How to we avoid making the same mistakes as a forefathers and make a life, no matter how long really matter.
Email spam, phishing and abuse seems to be on the rise again and there a a variety of technologies out there to try to limit it.
However various web applications and legitiamate email messages are also getting blocked. The worst recently was an email password recovery utilitity on a web site would send out an email to the user who lost there password. A message would also be sent so I could see who was requesting a password and look for abuse.
For the last 9 months or so password requests have been on the increase. This wasn’t that more people were losing them, but the same people were coming back several times trying to recover their password and not receiving the email.
Google searches for lost passwords, emails not getting through and stuff like that proved fruitless.
The problem eventually seemed to be traced to incorrect Sender Policy Frameword records. This was not something I had previously come accross. SPF records define which servers are allowed to send emails and is defined against the domain DNS management.
The SPF record is fairly simple and micosoft even provide a wizard to help create one but it simply looks like
v=spf1 ip4:a.b.c.d/ip_range -all
Some of the better ISPs allow you to edit and add SPF records directly on the domain management. Any changes are not reflected for 24 hours.