I use get-iplayer to download TV programs so I can watch them on the devices that suit me, when it suits me. What follows is how I install get-iplayer on a headless Debian 6.0 server I have a home. The server is question is really low powered so building from source was not an option.
In order to install the latest version of get-iplayer (currently 2.82) on Debian Squeeze a couple of additional package respositories need enabling.
Enable the Debain Backports repository by adding the following line to /etc/apt/sources.list.d/backports.list.
deb http://backports.debian.org/debian-backports squeeze-backports mainEnable the Debain Multimedia repository by adding the following lines to /etc/apt/sources.list.d/multimedia.list.
deb http://www.deb-multimedia.org squeeze main non-free deb http://www.deb-multimedia.org squeeze-backports mainUpdate the repositories.
sudo apt-get updateInstall the deb-multimedia-keyring package.
sudo apt-get --allow-unauthenticated install deb-multimedia-keyringInstall get-iplayer (currently v2.78) from the official Debian repositories, this will also install the dependencies.
sudo apt-get install get-iplayerInstall the get-iplayer suggested packages.
sudo apt-get install ffmpeg rtmpdump libdata-dump-perl libid3-tools libcrypt-ssleay-perl libio-socket-ssl-perlI have seen it suggested that mplayer should also be installed. I've not determined if that is an absolute requirement. But this is how to install it on a headless Debian computer.
sudo apt-get --no-install-recommends install mplayerFinally, upgrade get-iplayer to v2.82.
sudo apt-get install libmp3-tag-perl libxml-simple-perl wget http://ftp.uk.debian.org/debian/pool/main/g/get-iplayer/get-iplayer_2.82-2_all.deb sudo dpkg -i get-iplayer_2.82-2_all.debAt this point get-iplayer should be good to go and the get-iplayer website and man get-iplayer will assist you.
ReferencesSo via hackernews I recently learned about fight code, and my efforts have been fun. Currently my little robot is ranked ~400
, but it seems to jump around a fair bit.Otherwise I've done little coding recently:
I'm pondering libpcap a little, for work purposes. There is a plan to write a deamon which will count incoming SYN packets, per-IP, and drop access to clients that make "too many" requests "too quickly".
This plan is a simple anti-DoS tool which might or might not work in the real world. We do have a couple of clients that seem to be DoS magnets and this is better than using grep + sort against apache access logs.
For cases where a small number of source IPs make many-many requests it will help. For the class of attacks where a huge botnet has members making only a couple of requests each it won't do anything useful.
We'll see how it turns out.
It's a while since I bought my desktop PC. I tend to keep kit a lot longer than most of the people I know, indeed I still use kit that is older and slower than what some people throw away!
My desktop system is now getting too slow and full. I would never say I'm a good photographer but I do take pictures and the ancient 120 GB drive on my desktop system is full. I've got a lot of that backed up on my home server but even so the drive is just full. It also doesn't have enough memory or CPU grunt to edit a decent sized RAW image in GIMP. It's swapping far too much.
The best thing to do is buy a new box. I think that a 180 GB flash drive for root and a 2 TB hard disk for bulk storage should hold the OS and my pictures for a while. RAM is reasonably cheap so I'll probably go for 16 GiB off the stuff which should allow the system to breath more than it is with just 2 GiB that it has now. Not sure on the CPU, the quad-core AMDs are pretty cheap and come with a decent built in GPU but the twin-core Intels are faster if more expensive.
I bought a budget Android tablet a little while back that turned out to be really rather good. However, there were issues with the initial firmware.
Ployer relased a firmware update in November 2012 which addressed these issues. Here's the translated change log.
However, the updated firmware comes pre-loaded with a selection of Chinese apps and defaults to a Chinese language.
ObjectivesI decided to have a go a making my own custom firmware for the Ployer Momo 8 IPS with the following goals.
I think I've been fairly successful. My firmware includes Android 4.1.2 features and even some Android 4.2 features. Until someone succesfully ports cyanogenmod to the Ployer Momo 8 IPS or Ployer release a 4.2.x update then my firmware is the most complete "Google Experience" you'll find for the device.
ChangesBelow are the changes I made to the official Ployer Momo 8 IPS firmware.
13.080.1958You'll need RKBatchTool for the RockChip USB drivers and also to flash the firmware. I've modified RKBatchTool to default to English language and removed old logs and transient data to reduce the size of the download. You'll also need the firmware itself.
Unzip both archives when they are downloaded.
How to Flash Recommended Wipe `/data/` and `/cache` from the ClockWorkMod Recovery when installing my firmware for the first time.This will effectively factory reset your tablet to factory defaults and wipe your installed apps, app data and preferences. If you have rooted your tablet your might want to consider making a backup with Titanium Backup * root. If you have not rooted your tablet then you could use Carbon - App Sync and Backup.
The first boot may take a little longer than usual. You will be presented with the Welcome wizard where you can configure language and locale, etc. You can optionally enter your Google Apps or Gmail account credentials and doing so will prompt for which Wifi network to associate with.
RKBatchTool VideoI've also made a video showing how to flash the firmware. Frankly, the hardest part is getting the Rockchip drivers installed.
ClockWorkMod RecoveryBooting to recovery can be achieved using the pre-install Quick Boot app.
The Ployer Momo 8 IPS only has one hardware button (power) so CWM is controlled with gestures.
The Power button also acts as select, which I find to be the most reliable way to select an action.
FeedbackYour feedback is welcome, please use the comments are below.
ReferencesI bought a budget Android tablet a little while back that turned out to be really rather good. However, there were issues with the initial firmware.
Ployer relased a firmware update in November 2012 which addressed these issues. Here's the translated change log.
> 1. System, audio and video decoding, browser, Flash player, 3G module, boot > animation module BUG repair. > 2. Update NandFlash, Mali, Wifi module drivers, while addressing some CTS > tests BUG and the stability of the system as a whole has been further > enhanced. > 3. Optimize Flash stability, improve the efficiency of the implementation of > the DDR. > 4. Default input method Sogou input method. > 5. Update Google Pinyin input method.However, the updated firmware comes pre-loaded with a selection of Chinese apps and defaults to a Chinese language.
ObjectivesI decided to have a go a making my own custom firmware for the Ployer Momo 8 IPS with the following goals.
I think I've been fairly successful. My firmware includes Android 4.1.2 features and even some Android 4.2 features. Until someone succesfully ports cyanogenmod to the Ployer Momo 8 IPS or Ployer release a 4.2.x update then my firmware is the most complete "Google Experience" you'll find for the device.
ChangesBelow are the changes I made to the official Ployer Momo 8 IPS firmware.
13.080.1958You'll need RKBatchTool for the RockChip USB drivers and also to flash the firmware. I've modified RKBatchTool to default to English language and removed old logs and transient data to reduce the size of the download. You'll also need the firmware itself.
Unzip both archives when they are downloaded.
How to Flash NOTE! I recommend wiping `/data/` and `/cache` from the ClockWorkMod Recovery when installing my firmware for the first time.This will effectively factory reset your tablet to factory defaults and wipe your installed apps, app data and preferences. If you have rooted your tablet your might want to consider making a backup with Titanium Backup * root. If you have not rooted your tablet then you could use Carbon - App Sync and Backup.
The first boot may take a little longer than usual. You will be presented with the Welcome wizard where you can configure language and locale, etc. You can optionally enter your Google Apps or Gmail account credentials and doing so will prompt for which Wifi network to associate with.
RKBatchTool VideoI've also made a video showing how to flash the firmware. Frankly, the hardest part is getting the Rockchip drivers installed.
ClockWorkMod RecoveryBooting to recovery can be achieved using the pre-install Quick Boot app.
The Ployer Momo 8 IPS only has one hardware button (power) so CWM is controlled with gestures.
The Power button also acts as select, which I find to be the most reliable way to select an action.
FeedbackYour feedback is welcome, please use the comments are below.
ReferencesI recently switched ISPs at home and now have unlimited high speed broadband.
Finally I can participate in torrenting Linux .ISO images. I always download the latest distros using BitTorrent and can now contribute to the community by seeding the distros I've downloaded.
I have a small (in size and resources) Debian 6.0 headless server at home that I wanted to turn into a torrent box. I'm a big fan of Transmission since it can be managed from the shell, web and Android phone/tablet. Sadly, the Transmission packages in the official Debain squeeze repositories are quite old, 2.03 at the time of writing, and there are no Transmission packages in Debian Backports.
However after flexing my google-fu I found a 3rd party Debian Squeeze repository that includes fairly current (2.73 at the time of writing) Transmission packages specifically for headless use. Yah!
Install Transmission DaemonFirst become root.
sudo -s -HAdd the repository key.
apt-key adv --keyserver keyserver.ubuntu.com --recv-key 92B84A1EAdd the repository.
echo "deb http://apt.balocco.name squeeze main" > /etc/apt/sources.list.d/balocco.listUpdate the package list.
apt-get updateInstall Transmission.
apt-get install transmission-cli transmission-daemon transmission-webinterface Basic ConfigurationThe Transmission settings can be found in /etc/transmission-daemon/settings.json.
Information If `transmission-daemon` is running when you make changes to `settings.json` the changes you make will be discarded the next time `transmission-daemon` is started.Therefore either stop transmission-daemon before you make any changes or you can make the daemon reload settings.json by sending it the SIGHUP signal.
Connect from anywhereIf you want to be able to connect to Transmission from anywhere on the Internet stop transmission-daemon, make the following changes to settings.json and then start transmission-daemon.
"rpc-password": "YourPlainTextPassword", "rpc-username": "YourUsername", "rpc-whitelist-enabled": false,The rpc-username field will need adding but you can edit the existing entry for rpc-password. Enter the rpc-password as a plain text string, Transmission will automatically convert the password to a hash the next time it is started.
Connect via a browserYou should now be able to access the Transmission web interface via http://yourhost.example.org:9091. If you didn't change the username and password (you really should) the defaults are:
I have an Android phone and an Android tablet. I use Remote Transmission on my Android devices to manage my torrent box.
Connect via the shellIf, like me, you spend the majority of you time at the shell. Then transmission-remote-cli is probably for you. All my workstation run Arch Linux so I install transmission-remote-cli as follows.
sudo pacman -S transmission-remote-cliSee the GitHub project page for tramission-remote-cli for instructions on how to connect to a remote Transmission daemon.
Block ListRegardless of how you intend to use Transmission you should enable a block list, this can be done via settings.json and the web interface. The following block list seems to be recommended.
http://list.iblocklist.com/?list=bt_level2&fileformat=p2p&archiveformat=gzThat covers the basics for getting Transmission running on headless Debian 6.0 and how to connect to it from just about anywhere and on any device. I recommend reading the Trasmission Wiki as Transmission is capable of so much more than I have covered in this blog post.
Happy torrenting.
ReferencesThere’s something rather swish happened to my wedding photography website. It has a brand new design which I’m really happy with.
So, why the new design? I wanted more space to show off my photographs which is, after all, what it’s all about. Fewer words, more pictures. All the images are now a much larger resolution and I’m pleased with how much better they look. Each image on the home page now links straight to the blog post for that wedding.
I had to produce larger versions of all the images on the site, as I had been rather too efficient when originally uploading them and made images that were too small for the new theme. It was enlightening going back over old images and re-processing them for the new page layouts. I hope you’ll agree that they look even better than before.
The new design is also much more responsive than the old one, so there’s a much better experience browsing the site from mobile devices. The old design worked well enough, but web designers can now do much more for sites viewed on mobile devices. In the last twelve months mobile traffic to my site has increased by over 10%, so I wanted to be sure those users had a great experience.
The old design
The site runs WordPress, the open source blogging and content management system. One of the nice things about WordPress is that, for the most part, it separates content from presentation. It’s nowhere near as much work to switch to a new design than back in the good old days of hand-crafted HTML. It’s still not exactly easy, as things like widgets and custom menus need changing when you move theme.
Anyway, I hope you like the new design!
Pin ItBack in 2007, my Mum and I got a pair of Internet-connected Nabaztag bunnies. Aside from all the online content we could subscribe to using the bunnies, the most fun thing for me was that we could ‘pair’ our bunnies so that they would talk to each other. If I moved the ears on my bunny, the ears on my Mum’s bunny would move to match, and vice versa. The 250 physical miles disappear for a few seconds when you see the ears move and know that it’s because Mum is physically moving the ears of her bunny. I know exactly what she’s doing at that particular pointing in time, as if we’re briefly in the same room. The technical term for this is, apparently, ambient awareness.
My Nabaztag bunny
The bunny ears experience of ambient awareness inspired my first (and, so far, only) Arduino project: Monitoring electricity using Christmas lights. The red/orange lights indicated the current electricity usage of my house and the blue/green lights indicated the current electricity usage of Mum and Dad’s house. The more electricity currently being used, the faster the lights flashed. Again, it was just that tiny tiny insight into what was happening 250 miles away. Just the mundanity of everyday life shared.
So I was curious about the Kickstarter project for the Good Night Lamp. The Good Night Lamp is a really nice and simple concept. One person has a Big Lamp (shaped like a house) and they give Little Lamps, associated with the Big Lamp, to friends and/or family anywhere in the world. When the owner switches off the Big Lamp (when they go out or go to bed), the associated Little Lamps also switch off. An appealing part of it is that you can collect a Little Lamp from each of your family or group of friends and arrange them on a shelf so that before you go to bed at night, you can see each of them ‘say goodnight’ as their respective lights go out.
Good Night Lamp
The problem I see with the Good Night Lamp is similar to the one with the Nabaztag. While I think it’s great having simple devices that do just one thing well, it doesn’t half clutter up the place. These kinds of devices need shelf-space. And it has to be shelf-space you can see easily in a place you’ll often be or they don’t work. Maybe as people replace all their books with the more easily stored ebooks, living-room bookcases will become filled with ambient devices instead. I got to chatting with Ambient Orb fan Andy Stanford-Clark about it.
While my and my Mum’s’ Nabaztags have now died or gone into hibernation and the Christmas lights never made it as far as the tree, our more lasting providers of ambient awareness don’t even have their own physical forms. Instead, they’re software on our smartphones and tablets, devices that we have around anyway, wherever we are. In particular, SMS updates of my Mum and Dad’s Tweets.
Every morning, my Mum wakes up, has a coffee with my Dad, and reads interesting articles on her iPad. I know this from when I’ve visited them and because when she reads an interesting article, she tweets or retweets it and I receive about half-a-dozen txts in quick succession. Later in the afternoon, after they’ve got home from wherever they’ve been that day (or have found free wifi somewhere while they’re out) and are drinking another cup of coffee or tea, I receive another half-a-dozen txts pointing to interesting articles online. Just receiving the txts gives me an awareness of them waking up or sitting down to read the paper. Clicking the links to the articles gives me an insight into what they’re reading and how they’re probably feeling about the topics of the articles. The fairly mundane, everyday things that we wouldn’t remember, or bother, to talk about on the phone a week or so later.
As drinking coffee or tea seems to play a regular, if side, part in the activities I’m notified about, Andy and I came up with the idea of the Ambient Kettle. In my house, we have a whole house Current Cost monitor that is connected to a server out on the Internet. It was the feed from this server that we used in my Christmas Lights project. Since then, though, I’ve added individual appliance monitors (IAMs) to a few of the appliances around the house, including the kettle. The feeds from these IAMs also go to the server and so can be used by applications that know which data to request.
So Andy hacked up a (private) Twitter account, @ambientkettle, which my Mum follows. Each time the kettle boils in my house, the @ambientkettle account tweets to my Mum:
@ambientkettle tweets
Without being physically present or explicitly letting her know that I am making a cup of tea, she can get a sense of what I’m doing. The messages in the tweets that @ambientkettle sends are pre-canned and chosen at random but made to be chatty enough that it seems a bit like the start of a conversation. Indeed, Mum sometimes tweets back to it to say that she and Dad are also having a cup of tea or are looking forward to one when they get home, or whatever. As I say, it’s mundane but it’s those kinds of mundane things that make everyday life.
I’ll be interested to see how the Good Night Lamp gets taken up. It was featured in the very mainstream Daily Mail yesterday and its founding team has a good record of startups, product design, interaction design, and Internet of Things creativeness. And there’s something very appealing about having ambient awareness of friends and family when we’re geographically spread apart.
I've a collection of about 500 bookmarks which I've barely touched for a few years. I started organizing them late the other night, because I'd been off work sick for two days and that was about the most I felt up for doing with a computer.
The intention was to "tidy" them, and then setup some way of syncing them across browsers/computers. In the end I didn't like any of the syncing plugins I could find - xmarks, etc - so I decided to take a step backwards.
I'd exported my bookmarks to HTML page, via firefox, before I started, and then later in a fit of pique I deleted the whole damn lot of them.
So now a few years worth of bookmarks are stored in a single HTML file. But wait, we can use revision control can't we? We can host that file on github/similar. We can rely upon merges to deal with conflicts - simple if we just add lines to the end, or delete lines.
Maybe that's the best way to store bookmarks? I updated the bookmark file to read:
<ul> <li tags="debian, personal"><a href="http://www.debian-administration.org/">Debian Admin</a></li> .. </ul>Adding "tags" to the LI-container and then some simple jQuery code gave me the ability to search/filter the bookmarks and auto-populate tags.
A small example placed online here:
The obvious comment is that this makes adding new bookmarks a bit harder, but we'll see.. The javascript works in the browsers I tested, and for those that have none the bookmarks will just be a simple unordered list which should be universal.
I expect the javascript could be improved by a real developer.