Saturday, 31 December 2011

In iOS you can copy and paste images

Was a pleasant surprise for me so wanted to share. In case in the middle if writing an email you decided to attach an image, that is actually possible - just go to photos app or any other app that supports copying images to clipboard, do a traditional long press on an image, copy, then paste into the email! Oh joy.

Tuesday, 13 December 2011

Don't forget: MMS messages are not included in your mobile contracts

After seeing charges for MMS on my bill, let me give you a word of warning: as far as I understand, most if not all UK mobile operators do not include MMS (picture/video messaging) into contract allowances. Simple text message + data traffic they may be, operators choose to bill them separately. Better get iPhones and use iMessage (transparently :) as most of your friends have iPhones anyway.

Sunday, 4 September 2011

Skype for iPad is there (how could I've missed it?)

As many frustrated readers of this thread on the Skype's official forum, we were waiting for iPad 2 release only with the Skype in mind hoping that they'd release the iPad native one quickly as naturally iPad 2 now's got camera and all. But... we had to wait again for months for Skype to release the iPad native app. When Microsoft bought Skype I buried my dreams and started looking at Google Talk and Yahoo Messenger both having iPad apps for video conferencing.

But they've released it and apparently long time ago - on 2 August. A happy end to today's gloomy day.

Sunday, 10 April 2011

AirPrint from iPhone via Ubuntu Linux server works!

Just set up AirPrinting from iPhone via my Ubuntu 10.10 server. I basically followed this http://www.finnie.org/2010/11/13/airprint-and-linux/ but you have to have a second linux box to run avahi-discover, so I took the service XML from here: http://www.rho.cc/index.php/linux2/48-misc/104-printing-from-ipad-airprint-via-cups and modified it to have the right rp and adminurl parameters.

Useful summary about how to do the whole thing is also http://gyttja.wordpress.com/2010/11/11/airprint-on-ubuntu/. Below are my tips.
  1. To find out your adminurl go to CUPS GUI, then to Administraton, Manage Printers, then click on your printer name. URL in the browser's address bar is what you need. Replace https with http if applicable.
  2. Do not forget to add "ServerAlias *" to your /etc/cups/cupsd.conf otherwise you'll get cups error "Request from "fe80::6233:4bff:fef5:fe14%br0" using invalid Host: field "yuserver.local" in /var/log/cups/error_log.
  3. To find out your "printer-type" I installed "bonjour print services for windows" from here http://support.apple.com/kb/dl999 on my Windows machine, then ran wireshark, set it to capture all UDP packets, then started the bonjour wizard and got the CUPS packet in wireshark:
    User Datagram Protocol, Src Port: ipp (631), Dst Port: ipp (631)
    Common Unix Printing System (CUPS) Browsing Protocol
    Type: 0x0080105e
    State: idle (0x03)
    URI: ipp://192.168.1.30:631/printers/SAMSUNG_Network_Printer
    Location: "Local Printer"
    Information: "SAMSUNG CLP 500"
    Make and model: "Samsung CLP-500 Series (SPL-C)"
    So printer-type here is 0x80105E.
  4. rp is just part of adminurl.
  5. I was also getting "Unable to execute /usr/lib/cups/filter/rastertosamsungsplc: insecure file permissions (0100755)" error in CUPS error log, presumably because I added my printer via CUPS GUI while logged in as non-root user. I just went to /usr/lib/cups and done
    chown -R root:root filter/
  6. Below is what I had to change in cupsd.conf:
    --- cupsd.conf.default  2011-01-04 18:18:31.000000000 +0000
    +++ cupsd.conf  2011-04-10 20:17:23.000000000 +0100
    @@ -1,5 +1,4 @@
    #
    -# "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"
    #
    # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
    @@ -18,11 +17,14 @@
    
    
    # Only listen for connections from the local machine.
    -Listen localhost:631
    +Listen 631
    Listen /var/run/cups/cups.sock
    
    +# For printing via AirPrint
    +ServerAlias *
    +
    # Show shared printers on the local network.
    -Browsing Off
    +Browsing On
    BrowseOrder allow,deny
    BrowseAllow all
    BrowseLocalProtocols CUPS dnssd
    @@ -34,11 +36,15 @@
    # Restrict access to the server...
    
     Order allow,deny
    +   Allow localhost  #added by Carl
    + Allow @LOCAL     #added by Carl
    
    # Restrict access to the admin pages...
    
     Order allow,deny
    + Allow localhost  #added by Carl
    + Allow @LOCAL     #added by Carl
    
    # Restrict access to configuration files...
    @@ -46,6 +52,8 @@
     AuthType Default
     Require user @SYSTEM
     Order allow,deny
    + Allow localhost  #added by Carl
    + Allow @LOCAL     #added by Carl
    
    
    # Set the default printer/job policies...
    @@ -122,5 +130,4 @@
    
    
    #
    -# End of "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $".
    #
    

Saturday, 12 March 2011

Is iRobot Roomba Good For You?


I got iRobot Roomba 581, a robotic vacuum cleaner, about 2 months ago, after an advice given by my friend, without conducting any extensive research. It seemed a very good idea and I've been told iRobot was pretty much the inventor of robotic vacuum cleaners and this is like hundredths model in their range so most the quirks and bugs must have been fixed already and functionality polished. Today I am selling it on eBay. Why is that?

Well, this little pet is not bad at all. It cleans well, it does it automatically, all the rooms one by one (with all these virtual lighthouses). But I would generally say if you've got young kids and one of parents does not work, this robot is not for you. In order for it to become routine part of your life you have to have regular intervals during the week where no one is at home and the floor is clean of toys and other debris. At our place floors get cluttered so quick that it's more practical to use regular vacuum. It gets stuck on pieces of fabric or ropes. It closes the doors behind itself and gets stuck in the kitchen. It gets hair rolled onto brush aisles pretty quickly and you have to use tweezers to free them almost once every 3 days. We have 2 kids' chairs and because of their unusual low profile design they act as roadblocks so you have to put them away before every vacuuming session.

Who would like it? Households with all inhabitants working/studying and so regularly out so you can just program it to clean at a particular time on particular days. Where there are no kids or they are grown up enough not to leave toy debris scattered on the floor. Where no one has long hair. Where there are lockers on the doors so that they cannot be shut by just a gentle push.

But it's a very nice bit of technology. It's got bluetooth remote control (quite monstrous in size though) and there are API libraries out there that allow you to connect to it and remotely control it from the web, for example, and also see its position. Maybe when the kids grow older I'll rethink the idea.

Monday, 13 September 2010

EasyJet? No thanks, too expensive.

When our easyJet flight from London Gatwick to Larnaca, Cyprus was delayed because of the problems with aircraft's engine, then delayed again and eventually cancelled, I thought this way. OK, we had enough trouble staying on the airport for around six hours, then being transferred to the hotel, then back to airport next afternoon only to find out that he flight was delayed again. Yes we eventually flew out but I thought, will I fly easyJet again? Hardly. Not with two young kids aged 9 months and 2.5 years anyhow.

But when on my way back to Gatwick, now without wife and kids, the flight was delayed again for at least 6 hours because the pilot got sick and they have been short on crew to replace him, what did I think then? The only feasible alternative was the afternoon flight the next day and I had to ask my friend who took me to the airport to do a U-turn to pick me up and drive back to Limassol. Thank goodness I had a place to stay overnight. No more of easyJet nonsense, I now thought. My family's return flight in November will be the last one. There are plenty of other budget and regular airlines to choose from. easyJet has proven to be very expensive for us. Not in monetary terms, but in terms of the amount of nerve cells and energy spent.

And as one of the fellow passengers who had to stay overnight in Gatwick put it, it's less about he fact that the plane broke down as these things do happen. It is more about how the airline handled it. There were no easyJet representatives in Gatwick to explain what exactly was going on. Hotel transfer was very badly organised with a single person for us to follow whom we kept constantly losing sight of and only 3 buses for all passengers and a 30 minutes bus turnaround. We were given vouchers for the dinner but the Holiday Inn's kitchen struggled to cope with the storm of people.

When we were checking in to the replacement outward flight 25 hours after the scheduled departure time in front of the lady at the desk I called ourselves the survivors of the Oceanic flight 815. Only later I found that I could not have been closer to truth: our flight number was 8815. Bitter fun.

Friday, 7 May 2010

Mac Time Machine backup to a shared volume hosted on Linux

Just as a reminder for myself, this is how I managed to make my Mac running OS X 10.6.3 to make time machine backups to a shared volume hosted on my Ubuntu 9.10 Linux home server.
I used a combination of this howto and this howto. As far as I remember, on the server I also made the following changes as daemons were not starting up correctly on server boot:

In /etc/network/interfaces, at the end of the section that configures internal interface, add this (my interface is called br0):

post-up ifconfig br0 allmulti

hdiutil command I used:
hdiutil create -size 100g -fs HFS+J -type SPARSEBUNDLE -volname \ 
"Backup of Yudichevs's Macbook Pro" "Yudichevs's Macbook Pro.sparsebundle"
mv Yudichevs\'s\ Macbook\ Pro.sparsebundle/ /Volumes/TimeMachine/

to resize the sparsebundle volume:
hdiutil resize -size 100g /Volumes/TimeMachine/Yudichevs\'s\ Macbook\ Pro.sparsebundle/