Every time I go on holiday, I end up writing the same bash script! ... I know, how nerdy is that, I code on holidays.
I really should save the script and bring it with me each time, instead I just re-invent the wheel everytime, so I thought I would write a quick post to record it for next time.
Luckily it's a really simple script to write, all it does is move the photos from my camera's memory card to the laptop HDD, but it puts them in a sub-directory for that particular day, then sorts the files into a 'jpg' or 'raw' sub-directory.
The script is quite dumb, it just creates a directory for the current date. On one of the trips, I had the script pull the date the photo was taken from the EXIF information, but when a series of photos goes over mid-night, it splits them up and I didn't really like that.
A few photography tips
A little while ago, my brother got me a photography course as a gift, so I asked a friend of mine, Amy, to join me and last Thursday night we attended the course. The course was a "Night Landscape" tutorial where we all brought our own cameras and a professional photographer guides us through how to take photos at night. The class was quite small, it consisted of Amy and I with one other student.
The course started out quite basic and we went though some fundamental theory, a lot of which Amy and I already knew, but the other student was a little less experienced so the photographer needed to cater for all of us.
Luckily it was just a small class, because instead of following the standard course structure, the photographer spent more time in conversations with us, answering all our specific questions.
Being self-taught, I am grateful for that, because these conversations were what lead me to learn a few new things that I hadn't picked up in my own research so far. Here is a quick summary of the things I learned:
1. Blowing out the sky, intentionally
The first new tip I learned was a trick the photographer used when the scene has an unusable sky, such as a dull cloud cover (like last night in the rain). He would take another photo that was intentionally over-exposed so the sky was as white as possible. By doing this, afterwards in Photoshop a pure white sky is very easy to select, even through the leaves of a tree or someone's hair using tools like the magic wand, or a color-based selection and can be replaced with a more dramatic sky from another shoot.
2. Hand-holding at night
At night, it is normally quite hard to take photos without blurring the shot unless you have a tripod, but there is a simple rule of thumb that can help with selecting an appropriate shutter speed:
"Make the denominator of the shutter speed match the focal length"
So if you are shooting at a 20mm focal length, the shutter speed should be about 1/20. Of course, this isn't a perfect rule, but it is a great place to start and you can adjust from there.3. Freezing human motion
So the previous tip will make it easy to minimize any blur from yourself when holding the camera, but that wont help with people in your shot moving around. Well this photographer recommends a shutter speed of 1/125 as a baseline to freeze human motion. It turns out that most movement from people is slow enough for this shutter speed to capture it sharply, and of course you can adjust as necessary.
4. Filters to allow for more creativity
So far the only filters I have used are a "Circular Polariser" to enhance sky's, cut out reflections, etc. and a "UV" filter to protect the lens. Our photographer had quite an impressive set of filters and gave us a demo of his "Neutral Density" (or "ND") filter and a "Graduated Blue-Yellow" filter.
Long exposures can look really good at night, but they are normally impossible during the day, but with the ND filter, not much light gets through, so long exposures are needed even during the day. Our photographer had a street art photo with blurred clouds and deep dark colors in the middle of the day - it looked fantastic!
The "Graduated Blue-Yellow" filter changes the color of the light that comes through, and in this case, it enhances the blue colors of a sky at the top of the shot and the earthy yellow tones of the ground on the bottom of the shot. I had only ever known these colors to be improved like this with the use of software, but these filters had a great effect straight from the camera.
So at the end of the day, the course was quite basic, but in our tangential conversations I gained some pretty cool tips and tricks.
I think the most valuable aspect of a course like this is not so much the material presented, but just to experience another photographers style. It's always interesting to see how everyone thinks about things in their own unique way, and going through other peoples photos with a conversation is really intriguing.
Thanks to Rob and Sarah for the gift and Amy for keeping me company!
Bluetooth audio streaming from phone to Ubuntu
I was toying with the idea of making my own "Car Computer" and one of the crucial parts is a Bluetooth connection, but not for P2P file transfer (although that could be useful), I would want this computer to appear the same way a Bluetooth stereo or headset does, so once connected it will stream the audio from my phone through the car speakers. Turns out it's quite easy with Ubuntu :)
PulseAudio is pretty awesome!
First step is ensure Pulse has the Bluetooth module loaded (mine did by default), you can check this by looking at this file /etc/pulse/default.pa
The next step is to configure the Bluetooth daemon to enable "Source" (and/or "Gateway" mode).
To do this, I added the following line to /etc/bluetooth/audio.conf:
Now you'll have to pair the computer with the phone as per normal.
Once the devices are paired, an "Audio Source" connection needs to be created.
For this, the easiest way is via DBus, but so we don't have to write a script and easy way to test this in an ad-hoc manner is to use a tool called 'd-feet', which is available in the Ubuntu repos.
Using d-feet, navigate to the system bus and find the org.bluez key.
In here, there will be another key that has a device number in it. (for me this was /org/bluez/1002/hci0/dev_xx_xx_xx_xx_xx_xx)
Under this key, execute org.bluez.AudioSource > methods > Connect() without any parameters and your phone should now indicate that it is connected to the computer as an audio device.
At this point, I started playing some music so I could tell when it was working, but you probably won't be able to hear anything just yet.
That is because Pulse does not automatically send every source to every output - that could get messy!
To configure pulse to send the audio from the Bluetooth connection to your speakers you need to determine the name of the audio source and the name of the "sink" (or output) and join them together.
You can do this with the PulseAudio shell like this:
(Replace the underlined parts with the names from the preceding two commands)
Now all audio from your phone should be streaming through your computer.
DBus makes it really simple to do this programmatically, so it could easily be (mostly) automated and even controlled by a nice touch friendly GUI to pick the source device, etc..
I thought I would write up a quick post on this because when I finally got my music streaming through my laptop, it was exciting to know that I could actually use this to make a car computer with bluetooth functionality quite easily.
I used "AudioSource" in this example, but the other fun option is the "HandsFreeGateway", where instead of streaming stereo sound for music, it will also connect the microphone from the computer to the phone to be used in-call, etc.
The resources that helped me with this where:
http://jprvita.wordpress.com/2009/
http://ubuntuforums.org/showthread.php?t=1464189
http://ubuntuforums.org/showthread.php?t=1904447
PulseAudio is pretty awesome!
First step is ensure Pulse has the Bluetooth module loaded (mine did by default), you can check this by looking at this file /etc/pulse/default.pa
The next step is to configure the Bluetooth daemon to enable "Source" (and/or "Gateway" mode).
To do this, I added the following line to /etc/bluetooth/audio.conf:
Enable=Gateway,Source,Socket
Then restart the Bluetooth daemon:
$> sudo service bluetooth restart
Now you'll have to pair the computer with the phone as per normal.
Once the devices are paired, an "Audio Source" connection needs to be created.
For this, the easiest way is via DBus, but so we don't have to write a script and easy way to test this in an ad-hoc manner is to use a tool called 'd-feet', which is available in the Ubuntu repos.
$> sudo apt-get install d-feet
Using d-feet, navigate to the system bus and find the org.bluez key.
In here, there will be another key that has a device number in it. (for me this was /org/bluez/1002/hci0/dev_xx_xx_xx_xx_xx_xx)
Under this key, execute org.bluez.AudioSource > methods > Connect() without any parameters and your phone should now indicate that it is connected to the computer as an audio device.
At this point, I started playing some music so I could tell when it was working, but you probably won't be able to hear anything just yet.
That is because Pulse does not automatically send every source to every output - that could get messy!
To configure pulse to send the audio from the Bluetooth connection to your speakers you need to determine the name of the audio source and the name of the "sink" (or output) and join them together.
You can do this with the PulseAudio shell like this:
$> pacmd
>>> list-sources
>>> list-sinks
>>> load-module module-loopback source=bluez_source.xxxx sink=alsa_output.pci-xxxx
(Replace the underlined parts with the names from the preceding two commands)
Now all audio from your phone should be streaming through your computer.
DBus makes it really simple to do this programmatically, so it could easily be (mostly) automated and even controlled by a nice touch friendly GUI to pick the source device, etc..
I thought I would write up a quick post on this because when I finally got my music streaming through my laptop, it was exciting to know that I could actually use this to make a car computer with bluetooth functionality quite easily.
I used "AudioSource" in this example, but the other fun option is the "HandsFreeGateway", where instead of streaming stereo sound for music, it will also connect the microphone from the computer to the phone to be used in-call, etc.
The resources that helped me with this where:
http://jprvita.wordpress.com/2009/
http://ubuntuforums.org/showthread.php?t=1464189
http://ubuntuforums.org/showthread.php?t=1904447
Changing the default boot option with GRUB2
Gone are the days of the nice /boot/grub/menu.lst file, but with new tools comes new features.
Changing the default boot item
In Grub2 you can change the default boot entry by editing the /etc/default/grub file.
In this file you'll see something like this near the top:
Changing the default boot item
In Grub2 you can change the default boot entry by editing the /etc/default/grub file.
In this file you'll see something like this near the top:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
The first line above tells Grub to boot the first boot entry by default (menu item with index 0).
You can simply change this to menu entry you prefer, but whenever you make any change to this file you need to run the following command to make the changes take effect:
$> sudo update-grub
Changing the default boot entry from the command line
A new feature that Grub2 provides is to change this option dynamically from the command-line.
In order for this to work, instead of setting the GRUB_DEFAULT option to the desired index, set it to 'saved' instead, like this:
GRUB_DEFAULT=saved
And run update-grub to make the changes take effect:
$> sudo update-grub
Now you can use the grub-set-default and the grub-reboot commands.
Both commands take the index of the boot entry you want as a command line argument:
$> grub-set-default <entry>This command will permanently set the default boot entry to the index specified on the command line, useful if you tend to change the default regularly.
$> grub-reboot <entry>This command will reboot the machine and boot into the specified boot entry, but only that once. The following boot will use the default.
Getting started with Ruby on Rails
I've been using Ruby on Rails for about a year and half now and I'm really enjoying it! At the time of writing (at least in Melbourne) there is lots of demand for Rubyist's, so it's great time to get involved.
I have a couple of friends who are interested in making the switch from Java to Ruby so I wrote them an email with some pointers on how to get started and then realized it would make a good blog post :)
Join the community!
Ruby and Rails are quite well known for their excellent communities, so the first step is to join your local group. For us in Australia, that group is "Ruby On Rails Oceania" (aka RORO).
They have meetups on the last Thursday of every month in Melbourne and a pretty active mailing list:
Ruby and Rails resources:
- Rails Guides - I use these almost everyday!
- ApiDock - API's for Ruby, Rails and RSpec in one place
- Rails For Zombies - A great beginners tutorial for rails
- Rails Casts - Regular video podcast all about rails
- Ruby5 - Regular 5 minute audio podcast on the latest news
- ... a plethora of good books, such as "The RSpec Book", "Design Patterns in Ruby", etc. (alot of which I still need to read)
To get started you'll need to set up your development environment, here's what I use:
- Vim... of course... although there are lots of alternatives, the most popular ones would probably be:
- RubyMine (IDE) - used alot at work (commercial software)
- Sublime Text 2 (Text editor)
- TextMate (Text editor)
- RVM (Ruby Version Manager)
- Get from here: https://rvm.io
- Follow the instructions to configure your shell to use RVM
- Use RVM to install the latest ruby
- $> rvm install 1.9.3
- A newer alternative to RVM is RBenv
- Once you have ruby installed, you will have the 'gem' command available
- Gems are roughly equivalent to jars in the Java world
- Use gem to install the latest rails
- $> gem install rails
- Once you have rails installed, you will have the 'rails' command available
- Use the rails command to start a new project
- $> rails new todolist
- $> rails server
- browse to http://localhost:3000
- Now you can read the readme, the rails guides and make a simple app with scaffolding!
Things to keep in mind for RoR dev:
- Rails is just a framework written in Ruby, so it will help to learn some straight Ruby too.
- ruby-lang.org is a good place to start
- Ruby on Rails strongly supports DRY principles, don't reinvent the wheel, theres problably a gem that already does what you want.
- To find gems, good places to look are:
- The majority of Ruby projects are:
- Developed using TDD/BDD, so you'll need to learn the testing frameworks:
- Test::Unit (default with rails)
- RSpec (a popular replacement for Test::Unit)
- Cucumber (BDD)
- Developed on MacOSX - for new comers (like myself) some essentials are:
- brew - a mac package manager (like apt or yum)
- iterm2 - really good terminal emulator
- Deployed on Linux
- Basic Linux foo is really useful
- Version controlled with git
- If you need to learn git, I highly recommend Pro git
That's a quick overview of what I can recommend to get going based on my own experience, things will obviously change over time, and others may have other opinions, if so feel free to leave comments below.
Samsung Galaxy S3
At the end of June this year, I upgraded from a HTC Desire HD to a Samsung Galaxy S3, so I thought after a couple of months of having my new phone I should write up a (really long) post on what stood out for me.
The positive
The screen and form factor is awesome! Due to the plastic body and the thin shape, this phone is really light and slips into your pocket nicely. The massive 4.8" screen really shines when watching videos and browsing the web. I regularly watch screencasts on my phone and the 1280x720 resolution gives me plenty of detail. The colour contrast is a lot higher than my previous phone, which makes the blacks look really deep and videos stand out nicely. The marketing video that the phone comes with does demo it off quite well!
The battery is fairly good. My requirement for battery life is that I can use it all day and by the time I get home / go to bed, it hasn't died. Not a high expectation, I know, but these days its hard to expect more. This phone meets that requirement quite easily. On the days I don't use my phone much, I get home after a days work with more than 50% remaining (which is huge compared to my last phone!) and on the days I use it quite heavily, I get home to about 30%-40% which easily lasts me the rest of the night. My usage generally includes syncing gmail, facebook, twitter, weather, RSS reader, work email (during peak hours), I am generally connected to wifi most of the time and I regularly browse the web and watch videos / listen to podcasts during my commute.
The general responsiveness is miles ahead of my last phone too! Day-to-day usage is smooth and rarely experience any lag. This will be improved even more when Jellybean is released (rumoured to be soon!).
"Smart Stay" is a new innovative feature from Samsung where just before the screen is about to timeout and turn off, the phone will take a photo of you with the front-facing camera and use face (or eye) detection to work out if you're still looking at it. If you are, it will keep it on for another minute or so, if you're not, then it will dim the screen and check again soon after, which then will actually turn it off.
This is to avoid that randomly-scrolling-to-avoid-the-screen-turning-off trick that most people will do when reading a long article. Thankfully, this feature is quite effective and I haven't needed to do that for a while, although it doesn't work very well in the dark!
In the settings, there is a section called "Motion". I won't go through all of the options, as there are about 10 different ones, but some are quite handy. By far the best one IMHO is "Direct call", which lets you directly call a contact whose call log details, contact details or message details are displayed on the screen by simply putting the phone to your ear from that screen. Feels very natural.
Another nice one is "Smart alert", which will give a little vibration when you pick it up from a stationary location if you have a missed call or sms.
The camera on this phone is not too bad either. Obviously it will never replace my dSLR, but it has some nice features that even my dSLR doesn't have. The burst fire mode is really quick, but Samsung have introduced a feature called "best shot", which will analyse each of the photos you took in the burst and pick the ones it thinks turned out the best, based on focus and face detection. You can adjust what was picked, and then the others are automatically discarded (saves you having to go through the 14 bad ones and delete them later).
The camera has a built-in HDR mode which works quite well too and the photo editor provides heaps of enhancements and corrections, including red-eye reduction, color balance, cropping, etc.
Another nice feature is found in the video player, it has a "pop-out" button! This means that if you're in the middle of a video and you wanted to quickly google something, or reply to an sms, you can just pop out the video, which turns the full screen player into a small, floating, always on top window that you can drag around, do what you need to do, and then make it full screen again. Not something that I've needed to use very often, but on the rare occasion I have, it's been quite nice.
I use my calendar religiously and on my older HTC, the default app looked nice, but didn't have many features. I ended up swapping it out for Business Calendar Free just so I could get a month view with text, instead of indicators.
The stock Samsung calendar, S Planner, however is not too bad! It integrates with their S Memo, which I don't use, but comes with a good number of viewing options, my favourites being their month view and analogue week view. It also has a nice "Quick add" feature that lets you enter "Dinner at Nandos tomorrow 7:30pm" and it does what you'd expect. This doesn't support anywhere near as much as Google Calendar does, but its better than nothing!
I lashed out and bought an official Samsung Desktop Dock, and comparing this to my cheap eBay special I bought for my HTC, not only does it look quite nice, but it automatically launches the desktop clock app when I dock it and after 5 minutes it dims the screen and hides the other UI elements other than the clock. I like this feature a lot because I otherwise don't have a clock in my room, so its really handy for me!
As with all things, there are pro's and con's. Here are some of the things I don't like.
The negative
Android have decided to remove USB Mass Storage mode (my biggest pet hate with Android right now!) This leaves you with 3 alternative options for copying files to and from the device: Media Transfer Protocol (MTP), Camera mode or using an app such as Kies Air or File Expert.
MTP and Camera mode both don't give you access to all the directories on the phone, but for just transferring media it should be ok. Note that MTP will work out of the box with Windows, but if you run Mac or Linux like me, you will need to install software to get it to work (and Linux is a pain for this!).
The reason for this change is because USB Mass Storage mode will mean you have to unmount the partition from the system in order to mount it to the computer, whereas MTP will allow you to access it in both places at once, but its slower and requires software.
For phones like the Galaxy Nexus, this makes sense as there is only one partition, but with the S3, I would like to see the option of just unmounting the memory card (with is separate from the system storage) and allow that to work with USB Mass Storage mode.
Another annoying thing I have found with this phone is sometimes the home screen will randomly die. This causes lag while all the widgets reinitialise themselves. It doesn't happen often, but when it does, its annoying considering its a simple software issue. Hopefully this is fixed with Jellybean release!
On a related note, I find the random delay between pressing the unlock button and the screen actually turning on to be annoying too, considering my older HTC was basically instantaneous everytime, this phone seems to vary quite a lot. I find myself pressing the button while its still in my pocket, just so by the time I have it in front of me, the screen is ready.
A couple of other minor things include the notification LED being really bright, which is ok, but while the phone is docked my bedside, it will light up the entire room quite easily. This is kind of funny considering "smart stay" doesn't work well at night. Maybe instead of just green and red, the LED should have also included an IR LED for that.
Not only is the LED really bright, but when the battery becomes fully charged, it will turn on the screen and popup a notification, which is also not very nice when I'm trying to sleep.
I know most of you are probably thinking a solution would be to turn it off at night, but I scheduled my phone to download podcasts during these hours with BeyondPod - I think the pro's outweigh the con's in this situation.
Also minor, but there is no stock flashlight app, which I wanted to put in the lock screen shortcuts. It does come with a 2x1 widget, but to get a shortcut on the lock screen, I ended up downloading one of the million flashlight apps out there.
Speaking of widgets, the HTC widgets were really nice, but I find the widgets that came with the Samsung are not quite as useful, luckily they are in abundance on the play store too!
The other stuff
Here are some other noteworthy things which I haven't really made up my mind if I like yet or not.
The music player has a feature called "Music Square" and I love the idea of it, but I'm not sure how effective it is. Basically you index your music library and it categorises each of your songs into 2 scales: 'Exciting to Calm' and 'Passionate to Joyful'. These two scales make up the axes of the music square and by tapping where your mood is will play those types of songs. It's a great idea and I need to experiment with it more to see how effective it is.
A lot of the features in the phone are voice activated. For example, you can say 'answer' or 'reject' when it is ringing (as long as the ringtone isn't too loud); 'snooze' or 'stop' when the alarm is going off (as long as thats not too loud); 'smile', 'cheese', 'capture' or 'shoot' to take a photo (as long as your close enough for the phone to hear you); 'next', 'previous', 'pause', 'play', 'volume', etc. to control your music or the radio (as long as thats not too loud either).
As you can see, the usefulness of these features are dependant on the environment.
S Voice is Samsung's answer to Siri, and even the UI's look similar, but while its great in theory, I think the most useful thing about Siri on the iPhone or S Voice on the Galaxy would be SMS/email dictation, but that is the one thing these features don't work that well for, at least for me anyway - maybe its just my voice!
The conclusion
In the end I am very happy with my new phone, it is leaps and bounds above my old phone, its really responsive other than the random home screen lag and unlock button delay, it has some nice new innovative features and is a joy to use.
Also, with the Jellybean release (hopefully) around the corner, it can only get better.
The positive
The screen and form factor is awesome! Due to the plastic body and the thin shape, this phone is really light and slips into your pocket nicely. The massive 4.8" screen really shines when watching videos and browsing the web. I regularly watch screencasts on my phone and the 1280x720 resolution gives me plenty of detail. The colour contrast is a lot higher than my previous phone, which makes the blacks look really deep and videos stand out nicely. The marketing video that the phone comes with does demo it off quite well!
The battery is fairly good. My requirement for battery life is that I can use it all day and by the time I get home / go to bed, it hasn't died. Not a high expectation, I know, but these days its hard to expect more. This phone meets that requirement quite easily. On the days I don't use my phone much, I get home after a days work with more than 50% remaining (which is huge compared to my last phone!) and on the days I use it quite heavily, I get home to about 30%-40% which easily lasts me the rest of the night. My usage generally includes syncing gmail, facebook, twitter, weather, RSS reader, work email (during peak hours), I am generally connected to wifi most of the time and I regularly browse the web and watch videos / listen to podcasts during my commute.
The general responsiveness is miles ahead of my last phone too! Day-to-day usage is smooth and rarely experience any lag. This will be improved even more when Jellybean is released (rumoured to be soon!).
"Smart Stay" is a new innovative feature from Samsung where just before the screen is about to timeout and turn off, the phone will take a photo of you with the front-facing camera and use face (or eye) detection to work out if you're still looking at it. If you are, it will keep it on for another minute or so, if you're not, then it will dim the screen and check again soon after, which then will actually turn it off.
This is to avoid that randomly-scrolling-to-avoid-the-screen-turning-off trick that most people will do when reading a long article. Thankfully, this feature is quite effective and I haven't needed to do that for a while, although it doesn't work very well in the dark!
In the settings, there is a section called "Motion". I won't go through all of the options, as there are about 10 different ones, but some are quite handy. By far the best one IMHO is "Direct call", which lets you directly call a contact whose call log details, contact details or message details are displayed on the screen by simply putting the phone to your ear from that screen. Feels very natural.
Another nice one is "Smart alert", which will give a little vibration when you pick it up from a stationary location if you have a missed call or sms.
The camera on this phone is not too bad either. Obviously it will never replace my dSLR, but it has some nice features that even my dSLR doesn't have. The burst fire mode is really quick, but Samsung have introduced a feature called "best shot", which will analyse each of the photos you took in the burst and pick the ones it thinks turned out the best, based on focus and face detection. You can adjust what was picked, and then the others are automatically discarded (saves you having to go through the 14 bad ones and delete them later).
The camera has a built-in HDR mode which works quite well too and the photo editor provides heaps of enhancements and corrections, including red-eye reduction, color balance, cropping, etc.
Another nice feature is found in the video player, it has a "pop-out" button! This means that if you're in the middle of a video and you wanted to quickly google something, or reply to an sms, you can just pop out the video, which turns the full screen player into a small, floating, always on top window that you can drag around, do what you need to do, and then make it full screen again. Not something that I've needed to use very often, but on the rare occasion I have, it's been quite nice.
I use my calendar religiously and on my older HTC, the default app looked nice, but didn't have many features. I ended up swapping it out for Business Calendar Free just so I could get a month view with text, instead of indicators.
The stock Samsung calendar, S Planner, however is not too bad! It integrates with their S Memo, which I don't use, but comes with a good number of viewing options, my favourites being their month view and analogue week view. It also has a nice "Quick add" feature that lets you enter "Dinner at Nandos tomorrow 7:30pm" and it does what you'd expect. This doesn't support anywhere near as much as Google Calendar does, but its better than nothing!
I lashed out and bought an official Samsung Desktop Dock, and comparing this to my cheap eBay special I bought for my HTC, not only does it look quite nice, but it automatically launches the desktop clock app when I dock it and after 5 minutes it dims the screen and hides the other UI elements other than the clock. I like this feature a lot because I otherwise don't have a clock in my room, so its really handy for me!
As with all things, there are pro's and con's. Here are some of the things I don't like.
The negative
Android have decided to remove USB Mass Storage mode (my biggest pet hate with Android right now!) This leaves you with 3 alternative options for copying files to and from the device: Media Transfer Protocol (MTP), Camera mode or using an app such as Kies Air or File Expert.
MTP and Camera mode both don't give you access to all the directories on the phone, but for just transferring media it should be ok. Note that MTP will work out of the box with Windows, but if you run Mac or Linux like me, you will need to install software to get it to work (and Linux is a pain for this!).
The reason for this change is because USB Mass Storage mode will mean you have to unmount the partition from the system in order to mount it to the computer, whereas MTP will allow you to access it in both places at once, but its slower and requires software.
For phones like the Galaxy Nexus, this makes sense as there is only one partition, but with the S3, I would like to see the option of just unmounting the memory card (with is separate from the system storage) and allow that to work with USB Mass Storage mode.
Another annoying thing I have found with this phone is sometimes the home screen will randomly die. This causes lag while all the widgets reinitialise themselves. It doesn't happen often, but when it does, its annoying considering its a simple software issue. Hopefully this is fixed with Jellybean release!
On a related note, I find the random delay between pressing the unlock button and the screen actually turning on to be annoying too, considering my older HTC was basically instantaneous everytime, this phone seems to vary quite a lot. I find myself pressing the button while its still in my pocket, just so by the time I have it in front of me, the screen is ready.
A couple of other minor things include the notification LED being really bright, which is ok, but while the phone is docked my bedside, it will light up the entire room quite easily. This is kind of funny considering "smart stay" doesn't work well at night. Maybe instead of just green and red, the LED should have also included an IR LED for that.
Not only is the LED really bright, but when the battery becomes fully charged, it will turn on the screen and popup a notification, which is also not very nice when I'm trying to sleep.
I know most of you are probably thinking a solution would be to turn it off at night, but I scheduled my phone to download podcasts during these hours with BeyondPod - I think the pro's outweigh the con's in this situation.
Also minor, but there is no stock flashlight app, which I wanted to put in the lock screen shortcuts. It does come with a 2x1 widget, but to get a shortcut on the lock screen, I ended up downloading one of the million flashlight apps out there.
Speaking of widgets, the HTC widgets were really nice, but I find the widgets that came with the Samsung are not quite as useful, luckily they are in abundance on the play store too!
The other stuff
Here are some other noteworthy things which I haven't really made up my mind if I like yet or not.
The music player has a feature called "Music Square" and I love the idea of it, but I'm not sure how effective it is. Basically you index your music library and it categorises each of your songs into 2 scales: 'Exciting to Calm' and 'Passionate to Joyful'. These two scales make up the axes of the music square and by tapping where your mood is will play those types of songs. It's a great idea and I need to experiment with it more to see how effective it is.
A lot of the features in the phone are voice activated. For example, you can say 'answer' or 'reject' when it is ringing (as long as the ringtone isn't too loud); 'snooze' or 'stop' when the alarm is going off (as long as thats not too loud); 'smile', 'cheese', 'capture' or 'shoot' to take a photo (as long as your close enough for the phone to hear you); 'next', 'previous', 'pause', 'play', 'volume', etc. to control your music or the radio (as long as thats not too loud either).
As you can see, the usefulness of these features are dependant on the environment.
S Voice is Samsung's answer to Siri, and even the UI's look similar, but while its great in theory, I think the most useful thing about Siri on the iPhone or S Voice on the Galaxy would be SMS/email dictation, but that is the one thing these features don't work that well for, at least for me anyway - maybe its just my voice!
The conclusion
In the end I am very happy with my new phone, it is leaps and bounds above my old phone, its really responsive other than the random home screen lag and unlock button delay, it has some nice new innovative features and is a joy to use.
Also, with the Jellybean release (hopefully) around the corner, it can only get better.
Adding a network printer in Ubuntu 12.04
In the old days, printing was really hard in linux. It was one of the things that was a deal breaker when trying to switch from Windows for a lot of people, but when I first tried Ubuntu (probably around 2006-2007) it made all that pain go away! It was easy! A couple of clicks and you could set up a network printer and its been that easy ever since.
Recently Ubuntu have tried to make their settings screen a bit like a Mac, and to simplify everything they seem to be using a simplified user interface for the printer configuration too:
Well this new interface doesn't work for me, when I try to add a network printer, I get the error message:
Well no matter what I did, I couldn't add my printer. After some googling around, I found how to get to the old user interface... which actually works!
Just type this into a terminal:
And you will be given this old familiar screen:
Clicking the big "Add" button in this screen and following the steps worked great for me. Another alternative is to use the CUPS web interface on http://localhost:631 but that can be a little more complicated.
Recently Ubuntu have tried to make their settings screen a bit like a Mac, and to simplify everything they seem to be using a simplified user interface for the printer configuration too:
![]() | |
| New Setting user interface |
![]() |
| New Printing user interface |
Well this new interface doesn't work for me, when I try to add a network printer, I get the error message:
'FirewallD is not running. Network printer detection needs services mdns, ipp, ipp-client and samba-client enabled on firewall.'
![]() |
| The error that stops me from finding my network printer |
Well no matter what I did, I couldn't add my printer. After some googling around, I found how to get to the old user interface... which actually works!
Just type this into a terminal:
$> sudo system-config-printer
And you will be given this old familiar screen:
![]() |
| The classic printing user interface... the one that works! |
Clicking the big "Add" button in this screen and following the steps worked great for me. Another alternative is to use the CUPS web interface on http://localhost:631 but that can be a little more complicated.



