Android 4.0 or Ice Cream Sandwich (ICS) finally brings screenshots natively to the mobile platform, to a lot of users of custom ROMs such as CyanogenMod or Darkys ROM it may seem like this has been a feature for a while but that isn’t the case.
To take a screenshot:
- Simply hold down the Volume Down button and Power button for about a second.
You’ll see a flash and the screen will be framed which shows the screenshot was taken (I’ve tried grabbing a screenshot of this screen, but it’s pretty tricky and no luck yet!). The screenshot will be saved in a folder /Pictures/Screenshots on your phones internal SD card.
You’ll also get a new notification in the notification bar saying “Saving Screenshot…” and once it’s done there’ll be a “Screenshot captured.” notification in the pull down menu which will take you directly the screenshot in the Gallery.

For more screenshots, check out my first look and impressions post about ICS!
HERE
After installing Ubuntu on a USB stick with the Ubuntu USB Startup Disk Creator (usb-creator-gtk) you might encounter an error such as the following:
stdin: I/O error
stdin: error 0
/init: line 1: can't open /dev/sr0: No medium found
This is actually a bug with the software and isn’t anything you’ve done wrong. It seems to be a bug that’s effecting users running Karmic, Lucid, Maverick and Natty so it’s a pretty wide spread issue.
The best way I have found to get around this issue is to install and run unetbootin to create live USBs. If you’re using linux it should be found in the usual place you can install things.
Installation:
Ubuntu/LinuxMint/Debian:
sudo apt-get install unetbootin
Fedora/OpenSuse:
sudo yum install unetbootin
Create a live USB:
To install a distro it’s pretty simple, either select it from the “Distribution” option and pick a distribution and version, UNetbootin will then actually download it and install it for you. Alternatively you can pick an Diskimage and browse for the ISO file you download (and would usually burn to a CD/DVD) and install from that. Select the USB Drive at the bottom and hit ok and it’ll install a bootloader, the system and you’ll be up and running in no time.

Persistence File:
If you wanted a persistence install which allows you to save files, settings and installed programs you’ll have to do a little manual work as it currently doesn’t support that option.
Go to http://unetbootin.sourceforge.net/diskimg/ and download one of the files (128mb.zip, 256mb.zip, or 512mb.zip) corresponding to the amount of persistent space you want (make sure the size of the persistent disk image is smaller than the free space you have on your USB drive).
You’ll then need to edit the syslinux.cfg file that was created by UNetbootin in the root of the directory (just open it with a text editor) you should see something similar to the following:
label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash –
So on the line that starts “appen initrd=” you’ll want to add the option of “persistent”, it should then look like the following:
NOTE: Wordpress changes my double dash at the end of the last line to a single long dash, this won’t work. It’s easiest just to add the final word before the double dash in the file, do not copy and paste this in to your file. If you do, you will get more errors.
label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash persistent –
I added this line to all that used the “file=/cdrom/preseed/ubuntu.seed” option, since that’s the image that’s being opened and it should then change all options on the bootloader that will load the ubuntu install.
Text to speech (tts) is a difficult task to get right and there are quite a few packages that show just how hard with their terrible tinny voices, these are also usually only limited to English, which for the larger part than most people would like to believe don’t find it very useful. Nevermind, Google to the rescue, their Translation tool has had the ability to also voice translations for a while now. So wouldn’t it be awesome if we could utilize this, stable, constantly developing and ultimately free utlilty? Yes? Well luckly for you it’s possible. It’s been done before with the use of JavaScript, like here but those more used to scripting and desktop programming don’t worry, you can use it too.
Basically it works by sending a request to the Google translate servers which then, pretty much instantly, reply with an MP3 file which contains the requested words in their most sexy of robot voices.
Check this URL for an example of said voice – http://translate.google.com/translate_tts?q=check+out+my+sexy+robot+voice (if it doesn’t load in your browser, open VLC, CTRL+N and paste the URL in)
First, we want to be able to get python to stream an MP3 file off the web:
More info on this can be found here, the following code was is a stripped down version of the code found at codeboje.de.
[gist][/gist]
Now we want to make a string to send :
We’re going to use command line arguments as the string which wants to be read by the Google TTS engine, the following code will grab those arguments and concatenate them into a string. It also has to be in a format like a usual Google URL, these usually replace white space for the ‘+’ sign, that’s easy to do.
[gist][/gist]
Now let’s just pass this URL to the bit we wrote to stream an MP3 and watch it go:
Full Source Code:
(Uses command line arguments as it’s input, run like ‘python ttsString.py Hello World‘)
[gist][/gist]
That’s pretty much how easy it is to use Google’s free online TTS engine, one main thing to watch out for is the 100 character limit to the use of this service in this way along with the API call limits which apply to each IP address. There are loads of cool things this can be used for and I’d love to see what anyone comes up with, keep me posted and have fun!
If you want a clock that’s a little more human, there’s no better way than a ‘Fuzzy’ clock, essentially this converts the time in to a more brain friendly format such as “Twenty past Twelve” rather than 12:22.
Writing a simple fuzzy clock
Source Code:
[gist][/gist]
Output:
$ python fuzzytime.py
It’s 25 to 2
Writing a more readable fuzzy clock:
Now, this returns in a form of “It’s 20 past 1″ rather than “It’s twenty past one”, if you’re going to want this then it’s only a little more tricky. For this I used a lookup table which would essentially replace the numbers for the written numbers.
Source Code:
[gist][/gist]
Output:
$ python fuzzytime.py
It’s two o’clock
The mediaplayer widget found on github, created by eonpatapon – (https://github.com/eonpatapon/gnome-shell-extensions-mediaplayer).
I’ve been searching for a while for a good, solid widget style thing that’ll sit in the top of the gnome-shell panel which can control the music that’s playing in banshee, rhythmbox or whatever else you want to use to play your tunes.
Installation:
1. First you’ll need to grab some dependencies:
sudo apt-get install git gnome-common gnome-tweak-tool
2. Next download the files from the git repository as below (this will download the folder to whatever directory you’re currently in, in terminal):
git clone https://github.com/eonpatapon/gnome-shell-extensions-mediaplayer.git
3. Once it’s finished download (it shouldn’t take too long it’s only about 2.30MB as of writing this guide), you’ll want to install using the following commands:
cd gnome-shell-extensions-mediaplayer
./autogen.sh --prefix=/usr
make
sudo make install
4. That’s it, it’s installed. Next you’re going to want to enable it, run gnome-tweak-tool and under extensions slide the newly installed extension to ON and it should appear next to the “Universal Access Settings” in the top right.

Okay so, with Google Plus just being released to a select few (and invites) you might be wanting to export all your Facebook photos, tagged and albums you’ve uploaded to Google+. There are several ways of going about this, a few webapps, apps and through Facebook itself, the problem is that most of these don’t work in Linux making it a little more tricky to do without switching to Windows or OSX or borrowing some ones laptop for a while.
Through Facebook Route:
This way is actually pretty easy, which came as a surprise to me since I would have though it be in Facebooks best interest to keep users there just because it’s too much hassle to change.
First head over to Facebook.com, login and make your way through the labrynth that is Facebook settings to
‘Account Settings’ > Next to ‘Download Your Information’ click ‘Learn more’ > click ‘Download’.
This way you’re going to have to wait for Facebook to process all your data, they’ll then send you an e-mail once it’s done to a download link. This is a compressed (ZIP) file which contains all your information from Facebook, in the Photos folder you’ll find all your pictures which can then be uploaded to Google Plus.
The problem with this way is that it can take a reasonable amount of time (a couple of days depending on how much information you have..) and I’ve had it fail on a couple of occasions.
Alternatively you can use the following:
The PhotoGrabber Option:
For this you’ll need a couple of dependencies installed, it’s a desktop app that downloads the files for you.
Install dependencies:
sudo apt-get install python python-tk
Install PhotoGrabber:
svn checkout http://photograbber.googlecode.com/svn/trunk/ photograbber-read-only
cd photograbber-read-only/
./pg.py
Once you’ve ran all that and the ./pg.py bit it should load up with the following:

Click Login and then proceed to login and allow PhotoGrabber to do its thing, once you’ve done that you’ll get to a screen similar to below with a code:

Copy and paste that into the PhotoGrabber window (you’ll need to use Ctrl+V no right click to paste) and then it’ll let you choose which photos to take. Once you’ve picked, hit Download and watch them download to the folder you specify. There’ll be a lot folders, one for each place you were tagged. Once it’s done you can upload them however you want to Google Plus otherwise just keep them.

In ROS (Robot Operating System) it’s really easy to publish variables to be used between nodes running on the same roscore however I was having some difficulty doing the same for arrays. The problem came when there was no real examples of how to use them, so here is a working example of std_msgs/*MultiArray in ROS.
Publishing:
[gist][/gist]
Subscribing:
[gist][/gist]
After installing Steam on my linux machine in wine I noticed a really annoy bug, the windows of steam are tiled across my screen as shown in the screenshot below.
Fix:
I managed to fix this by opening up the ‘Configure Wine’ program that comes with wine and under the Applications tab switching from Windows XP mode to Windows 7, this fixed this bug and I now also have system borders on the steam windows.

Installing Wine:
If you’re interested in getting steam installed I used this guide - https://wiki.ubuntu.com/UbuntuMagazine/HowTo/InstallingSteam – It’s pretty simple and only takes a few minutes to do. Below is a quick, simple breakdown of what that guide says to do.
Download wine:
sudo apt-get install wine
Download the steam installer from here:
http://www.steampowered.com/v/index.php
Copy over the tahoma.ttf font from a Windows install (or Download it here – http://source.winehq.org/source/fonts/tahoma.ttf ). Do this command from the folder you downloaded the font to.
cp tahoma.ttf ~/.wine/drive_c/windows/fonts/
(If it doesn’t work and says the folder is missing or somthing like that do the following and then re-do the cp)
mkdir ~/.wine/drive_c/windows/fonts/
Finally install Steam (Do this command in the directory you downloaded the Steam installer to):
msiexec /i SteamInstall.msi
In GNOME 3 it seems that the keyboard shortcut to delete a file in Nautilus is actually Ctrl+Delete, this is fine I guess if it’s trying to stop people accidentally deleting files or something but it’s pretty annoying.
To change the keyboard shortcut from Ctrl+Delete back to the usual Delete do the following:
Open a terminal and type:
dconf-editor
If you don’t have it, install it the usual way.
In the application that just opened, on the sidebar click:
org > gnome > desktop > interface
And check the box entitled: can-change-accels.

Now, leave this window open and open up Nautilus.
Select a file that you want deleting and then click on Edit in the Nautilus menu, hover over the Move To Trash button and here press the button you wish to assign to the action, so for example Delete. You may have to press it twice (the first time it will remove the old key-binding and the second will assign it the new one.)

Go back to dconf-editor and uncheck the can-change-accels option to stop any other keyboard shortcuts being changed and you’re all done!

Install RPM Fusion
su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'
– http://rpmfusion.org/Configuration
Enable unsupported video and audio codecs
Get enhanced audio and video support in applications that rely on GStreamer:
sudo yum install gstreamer-plugins-ugly gstreamer-plugins-bad gstreamer-ffmpeg
Get enhanced audio and video support in applications that rely on xine backend:
sudo yum install xine-lib-extras-freeworld
– http://rpmfusion.org/FAQ
Install Chromium Browser
Make a file called “fedora-chromium-stable.repo” in /etc/yum.repos.d/ and open:
sudo gedit /etc/yum.repos.d/fedora-chromium-stable.repo
Paste in the following, save and exit:
# Place this file in your /etc/yum.repos.d/ directory
[fedora-chromium-stable]
name=Builds of the "stable" tag of the Chromium Web Browser
baseurl=http://repos.fedorapeople.org/repos/spot/chromium-stable/fedora-$releasever/$basearch/
enabled=1
skip_if_unavailable=1
gpgcheck=0
[fedora-chromium-stable-source]
name=Builds of the "stable" tag of the Chromium Web Browser - Source
baseurl=http://repos.fedorapeople.org/repos/spot/chromium-stable/fedora-$releasever/SRPMS
enabled=0
skip_if_unavailable=1
gpgcheck=0
– http://fedoraproject.org/wiki/Chromium
Install Flash
Download the YUM for Linux version from the adobe site – http://get.adobe.com/flashplayer/
Run the following in the folder you downloaded the file to:
su -c 'rpm -ivh adobe-release-i386-1.0-1.noarch.rpm'
Import the GPG key:
su -c 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux'
In 32bit run:
su -c 'yum install nspluginwrapper alsa-plugins-pulseaudio flash-plugin'
on 64bit run:
su -c 'yum install nspluginwrapper.{x86_64,i686} alsa-plugins-pulseaudio.i686 --disablerepo=adobe-linux-i386'
su -c 'yum install flash-plugin'
If you’re using Firefox, that should be all done but if you’re using Chromium you’ll need to open Firefox and play a video then close it and run the following:
32bit:
sudo ln -s /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/chromium-browser/plugins/libflashplayer.so
64bit:
sudo ln -s /usr/lib64/mozilla/plugins-wrapped/nswrapper_32_64.libflashplayer.so /usr/lib64/chromium-browser/plugins/nswrapper_32_64.libflashplayer.so
Close and re-open Chromium and head to YouTube to check that it’s working.
– http://fedoraproject.org/wiki/Flash
Install Dropbox
Download and install the correct rpm for 32 or 64 bit from the Dropbox website – http://www.dropbox.com/downloading.
Follow this guide to remove the YUM errors you may encounter once the package is installed – http://alexsleat.co.uk/2011/05/24/how-to-fix-error-cannot-retrieve-repository-metadata-repomd-xml-for-repository-dropbox-please-verify-its-path-and-try-again/ .
Install VLC
sudo yum install vlc
|
About Hi, my name is Alex. I just got through studying Robotics at UWE and I am continuing to do a MSc by Research also in Robotics.
I enjoy a whole heap of things but on this website I mostly post linux, programming, machine vision and other similar topics.
You're free to redistribute anything you find on here, unless it states otherwise, as long as you are not selling it for profit and you link back to my site. Cheers.
Disclaimer Just to cover my ass.
Any information on this site is for informational purposes only, I take no responsibility for the accuracy, reliability, bla, bla or bla to it. Any information you use, you are using at your own risk. I am in no way liable for any loss, damage of data, hardware or anything else in connection with the use of this website.
|