<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5270302625980161519</id><updated>2011-12-22T06:48:44.091-08:00</updated><category term='linux'/><category term='mobile'/><category term='phones'/><category term='en'/><category term='movies'/><category term='photography'/><category term='apple'/><category term='perl'/><category term='canon'/><category term='geek'/><category term='bash'/><category term='phone'/><category term='lisbon'/><category term='dslr'/><category term='android'/><category term='photo'/><category term='yapceu'/><category term='browser'/><category term='futureself'/><category term='code'/><category term='procrastination'/><category term='ubuntu'/><category term='rambling'/><category term='hardware'/><category term='rant'/><category term='notes'/><title type='text'>blog.microft.org</title><subtitle type='html'>an attempt at blogging</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.microft.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.microft.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-2769634327517928386</id><published>2011-12-22T06:43:00.000-08:00</published><updated>2011-12-22T06:48:44.107-08:00</updated><title type='text'>Applescript .exe handler for OSX</title><content type='html'>I needed a way to make all windows executables (.exe) open with &lt;a href="http://www.winehq.org/"&gt;wine&lt;/a&gt; on my OSX machines. &lt;br /&gt;&lt;br /&gt;So here the Applescript code that does that. Paste it into the Applescript Editor, save it as an Application and then tell finder to open all .exe files with that. Done.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;on run argv&lt;br /&gt; set executable to (item 1 of argv)&lt;br /&gt; set executable to posix_path(executable)&lt;br /&gt; do shell script "/usr/local/bin/wine " &amp; executable&lt;br /&gt;end run&lt;br /&gt;&lt;br /&gt;on open argv&lt;br /&gt; set executable to (item 1 of argv)&lt;br /&gt; set executable to posix_path(executable)&lt;br /&gt; do shell script "/usr/local/bin/wine " &amp; executable&lt;br /&gt;end open&lt;br /&gt;&lt;br /&gt;on posix_path(mac_path)&lt;br /&gt; set mac_path to (mac_path as text)&lt;br /&gt; set root to (offset of ":" in mac_path)&lt;br /&gt; set rootdisk to (characters 1 thru (root - 1) of mac_path)&lt;br /&gt; tell application "Finder"&lt;br /&gt;  if (disk (rootdisk as string) is the startup disk) then&lt;br /&gt;   set unixpath to "/" &amp; (characters (root + 1) thru end of mac_path)&lt;br /&gt;  else&lt;br /&gt;   set unixpath to "/Volumes:" &amp; mac_path&lt;br /&gt;  end if&lt;br /&gt; end tell&lt;br /&gt; set chars to every character of unixpath&lt;br /&gt; repeat with i from 2 to length of chars&lt;br /&gt;  if item i of chars as text is equal to "/" then&lt;br /&gt;   set item i of chars to ":"&lt;br /&gt;  else if item i of chars as text is equal to ":" then&lt;br /&gt;   set item i of chars to "/"&lt;br /&gt;  else if item i of chars as text is equal to "'" then&lt;br /&gt;   set item i of chars to "\\'"&lt;br /&gt;  else if item i of chars as text is equal to "\"" then&lt;br /&gt;   set item i of chars to "\\" &amp; "\""&lt;br /&gt;  else if item i of chars as text is equal to "*" then&lt;br /&gt;   set item i of chars to "\\*"&lt;br /&gt;  else if item i of chars as text is equal to "?" then&lt;br /&gt;   set item i of chars to "\\?"&lt;br /&gt;  else if item i of chars as text is equal to " " then&lt;br /&gt;   set item i of chars to "\\ "&lt;br /&gt;  else if item i of chars as text is equal to "\\" then&lt;br /&gt;   set item i of chars to "\\\\"&lt;br /&gt;  end if&lt;br /&gt; end repeat&lt;br /&gt; return every item of chars as string&lt;br /&gt;end posix_path&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The trickiest part was to find out how Applescript handlers work. &lt;br /&gt;It still spits out some errors but it's working well enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-2769634327517928386?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/2769634327517928386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2011/12/applescript-exe-handler-for-osx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2769634327517928386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2769634327517928386'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2011/12/applescript-exe-handler-for-osx.html' title='Applescript .exe handler for OSX'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-2636255698771045477</id><published>2010-05-20T07:33:00.000-07:00</published><updated>2010-05-20T07:48:56.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='en'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Smart(er) browser chooser</title><content type='html'>My problem is this:&lt;br /&gt;I use multiple browsers. Firefox for the plugins; Chromium for the speed; Chrome for when Chromium breaks :) ; Opera for.... whatever.&lt;br /&gt;Most desktop managers (I use Gnome) let you define your default browser. And most apps use that configuration when you click on a link in them.&lt;br /&gt;The thing is that sometimes you already have a browser opened, and it's not your default browser.&lt;br /&gt;For instants, sometimes I have Chromium running but my default browser is firefox.&lt;br /&gt;If I click a link on the desktop or some app, I don't want it to launch firefox (with the "hundreds" of tabs I have opened in it's session)&lt;br /&gt;&lt;br /&gt;So this is my solution. Place this code as an executable in /usr/bin/browser and configure Gnome to use it as the default browser.&lt;br /&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;# The last option should be the default. To be used if none are running&lt;br /&gt;BROWSERS=( firefox chromium-browser opera google-chrome x-www-browser )&lt;br /&gt;for browser in ${BROWSERS[@]}; do&lt;br /&gt;  RUNNING=$(pgrep -u $USER -f $browser);&lt;br /&gt;  if [ "$RUNNING" ]; then&lt;br /&gt;    break&lt;br /&gt;  fi&lt;br /&gt;done&lt;br /&gt;COMMAND=$(type -P $browser);&lt;br /&gt;exec $COMMAND "$@"&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;It goes through the list of browsers and if any of it's running, opens the clicked link in that one. If none are opened it launches the last one on the list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-2636255698771045477?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/2636255698771045477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2010/05/smarter-browser-chooser.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2636255698771045477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2636255698771045477'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2010/05/smarter-browser-chooser.html' title='Smart(er) browser chooser'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-2840609234804107781</id><published>2010-01-20T06:53:00.000-08:00</published><updated>2010-01-20T09:26:56.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Logitech Marble Trackball</title><content type='html'>I've struggled with the configuration of my &lt;a href="http://www.logitech.com/index.cfm/mice_pointers/trackballs/devices/4680&amp;amp;cl=us,en"&gt;Logitech Marble Trackball&lt;/a&gt; (the ambidextrous one with the 4 buttons)  so many times that I decided to post it here. If for nothing else, for future reference.&lt;br /&gt;&lt;br /&gt;HAL policy file:&lt;span style="font-weight: bold;"&gt;/etc/hal/fdi/policy/mouse-wheel.fdi&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="ISO-8859-1"?&amp;gt;&lt;br /&gt;&amp;lt;deviceinfo version="0.2"&amp;gt;&lt;br /&gt;&amp;lt;device&amp;gt;&lt;br /&gt;  &amp;lt;match key="info.product" string="Logitech USB Trackball"&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.ButtonMapping" type="string"&amp;gt;1 2 3 4 5 6 7 8 9&amp;lt;/merge&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.EmulateWheel" type="string"&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.EmulateWheelButton" type="string"&amp;gt;9&amp;lt;/merge&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.ZAxisMapping" type="string"&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.XAxisMapping" type="string"&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;    &amp;lt;merge key="input.x11_options.Emulate3Buttons" type="string"&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;  &amp;lt;/match&amp;gt;&lt;br /&gt;&amp;lt;/device&amp;gt;&lt;br /&gt;&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Right-handed configuration&lt;/span&gt;&lt;br /&gt;left large button: left-click&lt;br /&gt;left small button: scroll-wheel enabler&lt;br /&gt;right small button: middle-click&lt;br /&gt;right large button: right-click&lt;br /&gt;&lt;br /&gt;execute when X starts:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;/usr/bin/xinput set-button-map "Logitech USB Trackball" 1 9 3 4 5 6 7 8 2&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Left-handed configuration&lt;/span&gt;&lt;br /&gt;left large button: right-click&lt;br /&gt;left small button: middle-click&lt;br /&gt;right small button: scroll-wheel enabler&lt;br /&gt;right large button: left-click&lt;br /&gt;&lt;br /&gt;execute when X starts:&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:78%;"&gt;/usr/bin/xinput set-button-map "Logitech USB Trackball" 1 9 3 4 5 6 7 2 8&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Since I use Gnome, I usually put these commands in a script and add it to Gnome's Startup Applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-2840609234804107781?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/2840609234804107781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/08/logitech-marble-trackball.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2840609234804107781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/2840609234804107781'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/08/logitech-marble-trackball.html' title='Logitech Marble Trackball'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-5733552595576452525</id><published>2009-10-17T08:25:00.000-07:00</published><updated>2009-10-17T08:39:09.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dslr'/><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='en'/><category scheme='http://www.blogger.com/atom/ns#' term='canon'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Bought the toy, now I need to learn how to use it</title><content type='html'>OK, so I went a little crazy. It has been known to happen from time to time. This time I bought myself a camera. Not just any camera, a DSLR.&lt;br /&gt;Getting down to the specifics. It's a Canon 500D body with a Canon 18-200mm IS lens. The set made a huge hole in my budget, but I think it'll be worth it. I tell myself it's a camera to last me a lifetime. We'll see.&lt;br /&gt;&lt;br /&gt;Not having much free time during the work week, a proper field test of the camera had to wait until today. &lt;a href="http://www.flickr.com/photos/microft/archives/date-posted/2009/10/17/"&gt;Here are a few of the photos I took.&lt;/a&gt; I still have a lot to learn about taking photographs with this kind of camera, but I think these four turned out OK.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/microft/archives/date-posted/2009/10/17/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-5733552595576452525?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/5733552595576452525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/10/bought-toy-now-i-need-to-learn-how-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/5733552595576452525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/5733552595576452525'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/10/bought-toy-now-i-need-to-learn-how-to.html' title='Bought the toy, now I need to learn how to use it'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-49664280227148030</id><published>2009-09-06T06:30:00.000-07:00</published><updated>2009-09-12T03:03:56.091-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='notes'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='futureself'/><category scheme='http://www.blogger.com/atom/ns#' term='geek'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Note to Future-self: Apple keyboard in Linux (Alt. Alt Gr, Win/Command)</title><content type='html'>This is a note for myself, because I know one day I'm gonna be looking for this information again.&lt;br /&gt;This blog seemed as god as any place to keep it.&lt;br /&gt;&lt;br /&gt;At the present time I have an Apple keyboard. Not one of the new macbook-like keyboards, but on of the old clunky ones. Even if Apple call it a potuguese layout, it's still different from "regular" pt_PT keyboards.&lt;br /&gt;&lt;br /&gt;So these are the xmodmap instructions to:&lt;br /&gt;&lt;br /&gt;1 - Swap the Left Alt key with the Left Command key&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;remove Mod1 = Alt_L&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;remove Mod4 = Super_L&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;keycode 133 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;keycode 64 = Super_L&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;add Mod1 = Alt_L&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;add Mod4 = Super_L&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2 - Swap the (Right) Alt Gr with the Right Command Key&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;remove Mod5 = ISO_Level3_Shift&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;keycode 134 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol ISO_Level3_Shift&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;keycode 108 = Super_R NoSymbol Super_R NoSymbol Super_R&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;add Mod5 = ISO_Level3_Shift&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-49664280227148030?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/49664280227148030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/09/note-to-future-self-apple-keyboard-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/49664280227148030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/49664280227148030'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/09/note-to-future-self-apple-keyboard-in.html' title='Note to Future-self: Apple keyboard in Linux (Alt. Alt Gr, Win/Command)'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-7621493122826693271</id><published>2009-08-18T08:19:00.001-07:00</published><updated>2009-08-23T15:59:02.073-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='en'/><category scheme='http://www.blogger.com/atom/ns#' term='phones'/><category scheme='http://www.blogger.com/atom/ns#' term='phone'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='geek'/><title type='text'>HTC Magic and Android - first thoughts</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.digitalmobile.co.nz/images/HTC-Magic-Black-Web.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 124px; height: 240px;" src="http://www.digitalmobile.co.nz/images/HTC-Magic-Black-Web.jpg" alt="" border="0" /&gt;&lt;/a&gt;A little over two weeks ago I bought a &lt;a href="http://www.htc.com/www/product/magic/overview.html"&gt;HTC Magic&lt;/a&gt; (black, don't think I could handle having a white phone) from my carrier &lt;a href="http://tmn.pt/"&gt;TMN&lt;/a&gt;.&lt;br /&gt;I didn't quite know what to expect from this phone. I had seen such polar opposite reviews all around the net, I was kind of lost. Decided to buy it just because it was on sale (half-price) and I can't resist a bargain...&lt;br /&gt;&lt;br /&gt;It arrived while I was at &lt;a href="http://blog.microft.org/2009/08/yapceu2009.html"&gt;YAPC::EU::2009&lt;/a&gt; so I only started using not too long ago. However I'm confident that I can give a pretty fair (first) review at this point.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Disclaimer:&lt;/span&gt; I haven't done any kind of hacking to this phone (&lt;span style="font-style: italic;"&gt;yet&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;The touchscreen is pretty good, although it's not the very best out there. The OS is fast responding just as long as you don't have lots of applications running. Currently the battery last for two days (maximum) if I keep the WiFi, auto-sync and GPS enabled. Navigating the web is bearable, with this browser topping most browsers on Symbian smart-phones, but flash does not seem to work. Interesting enough it does come with Google Gears integrated. It does have Exchange compatibility, but I don't use it or have tested it. The 3 megapixel camera is OK, even if it doesn't have a flash (to which I was accustomed to by Nokia). Example &lt;a href="http://www.tweetphoto.com/e941be"&gt;picture 1&lt;/a&gt; and &lt;a href="http://www.tweetphoto.com/313282"&gt;picture 2&lt;/a&gt;. The on-screen keyboard it fair, chubby fingers may cause a problem. The spell correction makes it better but it's only available for English. There are other apps to replace the default keyboard (like BetterKeyboard) but haven't found one with a pt_PT dictionary yet.&lt;br /&gt;&lt;br /&gt;One of the coolest features of this phone is the sync with some of Google's services. Your contacts and email's from GMail are synced to the phone. Your calendars on Google Calendar are also shared to the phone, however I've found this to be a bit unreliable.&lt;br /&gt;&lt;br /&gt;The Android Market is very good but kind of a mess. I've found it difficult, sometimes, to choose between various (maybe too many) apps that claim to do the same thing.&lt;br /&gt;&lt;br /&gt;In short... &lt;span style="font-weight: bold;"&gt;Is the HTC Magic a good phone?&lt;/span&gt; Yes, but it's not great. &lt;span style="font-weight: bold;"&gt;Is it worth the 400€ operators are asking for it?&lt;/span&gt; No! But I can live with myself having payed 250€ for it.&lt;br /&gt;It's going to be my &lt;a href="http://en.wikipedia.org/wiki/Mobile_Internet_Device"&gt;MID&lt;/a&gt; but I'm not gonna rely only on it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-7621493122826693271?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/7621493122826693271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/08/htc-magic-and-android-first-thoughts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/7621493122826693271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/7621493122826693271'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/08/htc-magic-and-android-first-thoughts.html' title='HTC Magic and Android - first thoughts'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-3943765653449984807</id><published>2009-08-08T09:39:00.001-07:00</published><updated>2009-08-17T08:30:16.581-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='yapceu'/><category scheme='http://www.blogger.com/atom/ns#' term='en'/><category scheme='http://www.blogger.com/atom/ns#' term='lisbon'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>YAPC::EU::2009</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://yapceurope2009.org/ye2009/images/logo.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 151px; height: 177px;" src="http://yapceurope2009.org/ye2009/images/logo.png" alt="" border="0" /&gt;&lt;/a&gt;During this year's vacations I got to go to &lt;a href="http://yapceurope2009.org/ye2009/"&gt;YAPC::EU::2009&lt;/a&gt;, the yearly european conference about the &lt;a href="http://www.perl.org/"&gt;Perl&lt;/a&gt; programming language. This year the conference was in Portugal (in the capital Lisbon), so it wasn't very expensive for me to go. Never having attended a conference of this magnitude I didn't know what to expect. Also, being (primarily) working with python for the last couple of years, I feared that most talks would be over my head.&lt;br /&gt;However I found the conference to be very informal. All the speakers where very approachable and gave interesting (and accessible) talks.&lt;br /&gt;&lt;br /&gt;Since I wasn't very "up-to-date" with Perl, I decided to go for the "Mastering Perl" training by brian d foy. My fears where unfounded. The training sessions where very easy-going and easy to understand. Learned alot about a wide range of tools and approaches in Perl (but also aplicable to other languages) programming.&lt;br /&gt;&lt;br /&gt;There where some great moments that I will not soon forget. Hope they show up online. For now, here are some of the &lt;a href="http://www.flickr.com/photos/tags/yapceu2009/"&gt;pictures&lt;/a&gt; and &lt;a href="http://videos.sapo.pt/yapc"&gt;videos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;All I can say is Perl is very much alive and&lt;br /&gt;Thanks &lt;a href="http://twitter.com/estrucida"&gt;Magda&lt;/a&gt;, &lt;a href="http://twitter.com/albertovski"&gt;Alberto&lt;/a&gt; and &lt;a href="http://twitter.com/jose_castro"&gt;José&lt;/a&gt; for a great conference!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-3943765653449984807?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/3943765653449984807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/08/yapceu2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/3943765653449984807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/3943765653449984807'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/08/yapceu2009.html' title='YAPC::EU::2009'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-7198292202001806273</id><published>2009-07-28T18:26:00.000-07:00</published><updated>2009-07-31T02:22:31.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='procrastination'/><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='en'/><category scheme='http://www.blogger.com/atom/ns#' term='rambling'/><title type='text'>"Thick as Thieves" and other heist movies</title><content type='html'>I'm a big fan of heist movies. Being a big geek with an interest in security, it's not unexpected. The parallel is fairly easy, I think.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tbn2.google.com/images?q=tbn:fLBOrQjbB508WM:http://i215.photobucket.com/albums/cc11/ralfy_tm/Filme/thick_as_thieves.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 101px; height: 143px;" src="http://tbn2.google.com/images?q=tbn:fLBOrQjbB508WM:http://i215.photobucket.com/albums/cc11/ralfy_tm/Filme/thick_as_thieves.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And this is probably why I'm disappointed time and again by these movies. Every time they start showing how its done using ordinary gadgets, the movie starts going downhill for me.&lt;br /&gt;&lt;br /&gt;Today's example is "&lt;a href="http://www.imdb.com/title/tt1112782/"&gt;Thick as Thieves&lt;/a&gt;". A heist movie with &lt;a href="http://www.imdb.com/name/nm0000151/"&gt;Morgan Freeman&lt;/a&gt; and &lt;a href="http://www.imdb.com/name/nm0000104/"&gt;Antonio Banderas&lt;/a&gt; in the leading roles. They plot is pretty decent, two guys looking for the big score, with some not so unexpected twists thrown in.&lt;br /&gt;But it all turns to crap when they start flashing the iPhones (1st gen) and iPods around. Maybe I'm just too big a geek and no "real person" would ever notice (or care about) this, but it bothers me when:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;All you need is an iPod Video to circumvent a state of the art closed-circuit tv security system.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An iPhone streams video from the micro-camera you planted.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An iPhone will let you see the ultrasonic "rays", so you can evade them.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;You can hook up two wires to a telephone box on the street and hear everything your target says.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;I don't mind the technology being bogus. I do mind when movies try to sell me that they are using the same gadgets I have in my daily life. It's like someone talking to me like I'm stupid... makes me mad.&lt;br /&gt;&lt;br /&gt;In the end I have to declared that some of the old movies hold up the best. Thinking of the original "&lt;a href="http://www.imdb.com/title/tt0064505/"&gt;The Italian Job&lt;/a&gt;" and "&lt;a href="http://www.imdb.com/title/tt0054135/"&gt;Ocean's Eleven&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-7198292202001806273?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.microft.org/feeds/7198292202001806273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.microft.org/2009/07/thick-as-thieves-and-other-heist-movies.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/7198292202001806273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/7198292202001806273'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/07/thick-as-thieves-and-other-heist-movies.html' title='&quot;Thick as Thieves&quot; and other heist movies'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5270302625980161519.post-584980890700479267</id><published>2009-07-18T02:09:00.000-07:00</published><updated>2009-07-20T02:26:42.516-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='en'/><title type='text'>and so it begins...</title><content type='html'>Since I broke my last blog (part of a &lt;a href="http://plone.org/"&gt;Plone&lt;/a&gt; site) I haven't had time to code the new one. So I decided to take a "simpler" route for a while. Started using blogger.&lt;br /&gt;&lt;br /&gt;I've been without a blog for about six months now and I kind of missed it. Not because it had any interesting content,  I just missed writing about stuff in more that 140 characters.&lt;br /&gt;So, don't expect this to be full of extraordinary, life-altering content... I don't. It'll just have some ramblings of a geek, updated now and again as the moods entice.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5270302625980161519-584980890700479267?l=blog.microft.org' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/584980890700479267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5270302625980161519/posts/default/584980890700479267'/><link rel='alternate' type='text/html' href='http://blog.microft.org/2009/07/and-so-it-begins.html' title='and so it begins...'/><author><name>m</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
