<?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:blogger='http://schemas.google.com/blogger/2008' 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-4756218974134955062</id><updated>2026-05-28T03:54:38.570-07:00</updated><category term="android"/><category term="lifehacking"/><category term="ui"/><category term="widget"/><title type='text'>blog.bookworm.at</title><subtitle type='html'>&lt;a href=&quot;http://bookworm.at&quot;&gt;Benjamin Ferrari&lt;/a&gt;&#39;s Weblog. This blog is still &lt;a href=&quot;http://blog.bookworm.at/2005/10/beta-blog_4427.html&quot;&gt;beta&lt;/a&gt;. Everything you hate will be fixed in the final version.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.bookworm.at/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>397</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-983356020953067338</id><published>2011-11-18T04:25:00.000-08:00</published><updated>2011-11-18T04:31:40.262-08:00</updated><title type='text'>ICS style Segmented Control for Android</title><content type='html'>I &lt;a href=&quot;https://github.com/bookwormat/segcontrol&quot;&gt;updated&lt;/a&gt; the segmented control I posted &lt;a href=&quot;http://blog.bookworm.at/2010/10/segmented-controls-in-android.html&quot;&gt;earlier&lt;/a&gt; and put in on githup. It&#39;s now more customizable, and it uses the minimalistic, futuristic design that we see in Android 3 and above.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/bookwormat/segcontrol&quot;&gt;https://github.com/bookwormat/segcontrol&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/983356020953067338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/11/ics-style-segmented-control-for-android.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/983356020953067338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/983356020953067338'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/11/ics-style-segmented-control-for-android.html' title='ICS style Segmented Control for Android'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-1364508739463902074</id><published>2011-11-18T02:00:00.000-08:00</published><updated>2011-11-21T04:43:12.436-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lifehacking"/><title type='text'>Paying for Spotify or Grooveshark? Still undecided...</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimMgQI8T-aPyxXRU8ubvQCCek1l1V9Qhg5fGTCaxo6bHNf0zknRcy_Qhna3Yr6m7RXZwzlNYSP82ElV9OjF8gnvxvC8sqzJ0JcvDIEO-8u_gpjQsQifbJOALVHJwWOoWOLLrKpD2MOTSYe/s1600/spotify.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimMgQI8T-aPyxXRU8ubvQCCek1l1V9Qhg5fGTCaxo6bHNf0zknRcy_Qhna3Yr6m7RXZwzlNYSP82ElV9OjF8gnvxvC8sqzJ0JcvDIEO-8u_gpjQsQifbJOALVHJwWOoWOLLrKpD2MOTSYe/s400/spotify.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5676282718987359730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I’m thinking about paying for one of these hip music streaming services that everyone talks about. There are two interesting ones that are available in Austria. Both are very good. So here is a list I made while trying and evaluating Grooveshark and Spotify:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;b&gt;Music Library&lt;/b&gt;&lt;/h2&gt;&lt;br /&gt;Spotify has a clean but incomplete library.  Grooveshark has a much larger but messy library. If an album is on Spotify, you always get the full album, each song proper tagged and in the same quality (which, if you pay, is very good). Grooveshark has much more music in its library, including rare indie bands, bands that do not license to streaming services,  and cool remixes. &lt;br /&gt;&lt;br /&gt;But often the songs are not probably tagged, and as a result, if you pick an album, it often contains duplicate or missing songs.  All music on Grooveshark is uploaded by its users. There is no way to upload your own music to Spotify.&lt;br /&gt;&lt;br /&gt;Here is a good example: When I was a kid my father gifted me a rare jazz album, where the pop musician Sting plays Police songs with Gill Evans and his band. Spotify does not have this album at all. Grooveshark finds all the songs, but the second track appears 3 times in the album, and one is missing the track number. So I had to create a playlist and reorder the songs in the way they belong. &lt;a href=&quot;http://grooveshark.com/#/playlist/Strange+Fruit/63573569&quot;&gt;Here is that playlist.&lt;/a&gt;. Spotify simply does not have that album.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;b&gt;Radio and Recommendations&lt;/b&gt;&lt;/h2&gt;&lt;br /&gt;Spotify has a miserable radio and recommendation feature. They have genre radio and artist radio, but it only works on the desktop clients and it cannot be trained. If you get Music recommended from Spotify, it’s usually a bad guess. &lt;br /&gt;&lt;br /&gt;Grooveshark has genre and artist stations. You can put an arbitrary number of songs into a playlist and put the playlist in “radio mode”. Grooveshark will then create a station based on all the songs in your playlist.  While listening to the radio, you can thumbs up/down a song to improve the song selection.  Grooveshark radio also works in the free version and you can use it on mobiles.&lt;br /&gt;&lt;br /&gt;An important part on how you get recommendations on both services is through social integration, thus.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;b&gt;Social integration&lt;/b&gt;&lt;/h2&gt;&lt;br /&gt;Spotify let’s you share songs via facebook and the Android mobile app has a share intent, which means you can share with everything you like on an Android device.  Spotify and Facebook are very close. In fact, &lt;b&gt;you need a Facebook account to even log into Spotify&lt;/b&gt;.  On the Desktop clients, you have a list of your facebook “friends” who use Spotify, and you can pick one of their public playlists. There is a cool feature where you can edit playlists together with your Facebook-contacts.&lt;br /&gt;&lt;br /&gt;What really kills sharing via Spotify for me is that it does not have a web client. Therefore, if someone clicks on the link in your share message, they are asked to register with facebook and download a client application.  Sorry, but either someone can click on my link and the music starts playing, or your sharing feature is just crap that pollutes the web with links to propritary protocols.&lt;br /&gt;&lt;br /&gt;Grooveshark let’s you share with Facebook, twitter,...  If someone clicks on your link, she is forwarded to the web client and can listen to your song/album/playlist instantly, or bookmark it in her web browser.&lt;br /&gt;&lt;br /&gt;Grooveshark let’s you find people over Facebook and you can subscribe to them and listen to what they hear etc. Each song has a discussion that you can participate in.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFqYhha9JaCWxkx8z33IZi_ocCAGShlK6bksJCUmOxUUZsJTLmBmI7SpMc4qIDFjQ4vg0LrTUmfyab-jKYiMH8FWULHtBAR6pbCvFYkupMySEmgWmKm6U2a3s1RLjVrV0_RIctYBlE40V8/s1600/grooveshark.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFqYhha9JaCWxkx8z33IZi_ocCAGShlK6bksJCUmOxUUZsJTLmBmI7SpMc4qIDFjQ4vg0LrTUmfyab-jKYiMH8FWULHtBAR6pbCvFYkupMySEmgWmKm6U2a3s1RLjVrV0_RIctYBlE40V8/s400/grooveshark.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5676282924283602034&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;b&gt;Apps/Clients&lt;/b&gt;&lt;/h2&gt;&lt;br /&gt;Spotify has neat looking desktop apps for Linux, OS X and Windows. They also have mobile clients for Android and iPhone. And a bunch of more. In fact, they have a client for every platform out there. Except for the biggest one: There is no client for the web.&lt;br /&gt;&lt;br /&gt;The same for Grooveshark: They also have clients for all devices. The apps are very well implemented and fully featured.  &lt;br /&gt;&lt;br /&gt;There are two main differences when it comes to apps: The first is that Grooveshark’s main interface for large screens is a web client. It’s a very good one, almost completely written in HTML, only using a invisible flash component to stream the music. And I’m sure the flash requirement will fall soon, as it is simply not required anymore to stream music in modern web browsers.  Having a web client means that you can listen to your Music from any computer, without downloading something. It also means that the OS X, Windows and Linux versions get the same amount of support from the Grooveshark developer teams. Simply because it is the same app on all desktop platforms.&lt;br /&gt;&lt;br /&gt;The other difference to Spotify is that Grooveshark’s mobile apps are banned from both the Google Android Market and the Apple Appstore for iPhone and iPad. While Grooveshark itself is a legal service (it works pretty much like YouTube), the large music publishers (members of the RIAA) do not like it very much. And both Apple and Google need to suck up to the RIAA in order to get licensing deals for their own music services.&lt;br /&gt;&lt;br /&gt;If you’re on Android, this is not much of a problem. Just go to http://mobile.grooveshark.com/android and install the app from there. But if you are using an iPhone or an iPad, you need to “jailbreak” your device in order to install the iOS application.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;b&gt;And else...&lt;/b&gt;&lt;/h2&gt;&lt;br /&gt;Grooveshark has a much better free offer than Spotify. But I’m evaluating the paid services here, so I did not write anything about it. But maybe it’s a good idea to pay for Spotify and use Grooveshark for free?  Not sure about that...&lt;br /&gt;&lt;br /&gt;Most differences between the two services come from their approaches to music licensing: Both Spotify and Grooveshark pay royalties to content owners. But while Spotify first licenses and then puts the stuff online, Grooveshark uses the YouTube model: Every user can upload anything, and an Artist can the either claim the rights to its music and make a license deal with Grooveshark, or they can file a take down notice. The latter will lead to Grooveshark removing the songs from their database, but of course users can upload it again. This also explains why Spotify’s library has large gaps of missing content, but is very clean and accessible. And why Grooveshark has everything in a messy ill-tagged MP3-soup.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/1364508739463902074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/11/paying-for-spotify-or-grooveshark-still.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1364508739463902074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1364508739463902074'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/11/paying-for-spotify-or-grooveshark-still.html' title='Paying for Spotify or Grooveshark? Still undecided...'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimMgQI8T-aPyxXRU8ubvQCCek1l1V9Qhg5fGTCaxo6bHNf0zknRcy_Qhna3Yr6m7RXZwzlNYSP82ElV9OjF8gnvxvC8sqzJ0JcvDIEO-8u_gpjQsQifbJOALVHJwWOoWOLLrKpD2MOTSYe/s72-c/spotify.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-3124509289073336111</id><published>2011-11-15T05:40:00.000-08:00</published><updated>2011-11-15T07:09:34.995-08:00</updated><title type='text'>Support for ActionViews in Actionbar compat</title><content type='html'>ActionBar is a UI pattern that has found its way into the Android SDK in version 3.0 . If you want to support devices running Versions lower than 3.0, you need some code that falls back to an alternative implementation of the actionbar for devices running up to Android 2.3, and uses the existing one in 3.0 and above.&lt;br /&gt;&lt;br /&gt;There are various projects that do this.  http://actionbarsherlock.com/ is a fully functional implementation that is, as far as I know, fully compatible with the 3.0 APIs. The only downside to actionbarsherlock is that the project is an extension to Google&#39;s Android Compability Library, which means you have to use Actionbarsherlock &lt;b&gt;instead&lt;/b&gt; of the ACL. It&#39;s another dependency.&lt;br /&gt;&lt;br /&gt;Google recommends a simpler, but also more restrictive solution: They offer a piece of sample code that they recommend you use in your project. They call it &lt;a href=&quot;http://developer.android.com/resources/samples/ActionBarCompat/index.html&quot;&gt;ActionBarCompat&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One of the things that ActionBarCompat does not support is &lt;a href=&quot;http://developer.android.com/guide/topics/ui/actionbar.html#ActionView&quot;&gt;Adding an ActionView&lt;/a&gt; to the Actionbar in a phone device.&lt;br /&gt;&lt;br /&gt;I need such an ActionView in my project, but other that that, ActionBarCompat works fine. Fortunately , the code from Google is not very complicated, and it is quite easy to add support for this.&lt;br /&gt;&lt;br /&gt;Just replace ActionBarHelperBase.java with &lt;a href=&quot;https://github.com/bookwormat/ActionBarCompat-with-ActionViews&quot;&gt;my edited version&lt;/a&gt;. Then, if you provide the android:actionLayout attribute to your menu definition, the view in your layout will be added to the ActionBar instead of the icon.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One thing that I did not implement is MenuItem#getActionView(). This is the method that allows you to retrieve the ActionView from code.&lt;br /&gt;&lt;br /&gt;So if you want, for example, add a listener to your view in code, you have to search for it using Activity.findById(), after the actionBar has been created.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;View myCustomView = this.findViewById(R.id.mycustomview);&lt;br /&gt;        final Activity activity = this;&lt;br /&gt;        myCustomView.setOnClickListener(new OnClickListener() {&lt;br /&gt;            @Override&lt;br /&gt;            public void onClick(View v) {&lt;br /&gt;              /*...*/&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/3124509289073336111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/11/support-for-actionviews-in-actionbar.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3124509289073336111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3124509289073336111'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/11/support-for-actionviews-in-actionbar.html' title='Support for ActionViews in Actionbar compat'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-8177433995964668973</id><published>2011-11-04T03:19:00.001-07:00</published><updated>2011-11-04T13:40:34.249-07:00</updated><title type='text'>Astrid / Tasker</title><content type='html'>[ #android ]&lt;br /&gt;&lt;br /&gt;I bought the Power Pack for Astrid and the Astrid Locale Add-on a few days back. I use it with Tasker to make Astrid notify me based on my location.&lt;br /&gt;&lt;br /&gt;I also got the Tasker/Astrid combo to remind me of task as I change my current location. For example, If I add a task &quot;don&#39;t forget to buy milk&quot; to a list &quot;@Move&quot; in Astrid, I will get a voice notification when I&#39;m leaving from where I currently am. I also have lists for @work and @home.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is the exported Tasker profile I use to check if I my current location changed:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Profile: Anon (34)&lt;br /&gt;Time:  Every 2m&lt;br /&gt;Enter: Anon (35)&lt;br /&gt;A1: Get Location [Source:Net Timeout (Seconds):100 Continue Task Immediately:Off] &lt;br /&gt;A2: Variable Set [Name:%LOC_CHANGED To:1 Do Maths:Off Append:Off] Variable Set [ %LOC !~ %LOC_LAST ]&lt;br /&gt;A3: Variable Set [Name:%LOC_LAST To:%LOC Do Maths:Off Append:Off] &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I check my current location every 2 minutes via net location. NET is not as accurate as GPS, but it does not use much battery. If the location changed, I set a variable %LOC_CHANGED&lt;br /&gt;&lt;br /&gt;And here I use the new state to make Astrid notify me (by voice) of any task that are in a Google Task List I named &quot;@Move&quot;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Profile: Location Changed (36)&lt;br /&gt;State: Variable Value [ Name:%LOC_CHANGED Op:Is Set Value:%LOC_LAST ]&lt;br /&gt;Enter: Alert (20)&lt;br /&gt;A1: Astrid Filter Alert [Configuration:Google Tasks: @Move] &lt;br /&gt;A2: Variable Clear [Name:%LOC_CHANGED Pattern Matching:Off] &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Because I use Google Tasks for the lists @Move,@work,@home etc, I can create location reminders from everywhere, and on any device I use.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;https://market.android.com/details?id=net.dinglisch.android.taskerm&lt;br /&gt;&lt;br /&gt;https://market.android.com/details?id=com.timsu.astrid&amp;hl=en&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/8177433995964668973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/11/i-bought-power-pack-for-astrid-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/8177433995964668973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/8177433995964668973'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/11/i-bought-power-pack-for-astrid-and.html' title='Astrid / Tasker'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-4644566178328065510</id><published>2011-08-22T02:56:00.000-07:00</published><updated>2011-08-22T02:57:13.332-07:00</updated><title type='text'>45HG679</title><content type='html'>45HG679&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/4644566178328065510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/08/45hg679.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4644566178328065510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4644566178328065510'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/08/45hg679.html' title='45HG679'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-3921176969448921737</id><published>2011-02-27T02:37:00.000-08:00</published><updated>2011-02-27T03:14:51.479-08:00</updated><title type='text'>Things I&#39;m not doing in March</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijEdhlAryV2vtWhAwnjvx70DiV2ynuo7QpMmtDxocPQQb8pf9vYNtxkbZDZPO5veJX6xb5pgWq_Dz1BYhcJcd85TsRL2GPyGA5jmZTljcUZZXMcIkvjW1X76lOxfQIRwysNuj3rbtIklVD/s1600/offline.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijEdhlAryV2vtWhAwnjvx70DiV2ynuo7QpMmtDxocPQQb8pf9vYNtxkbZDZPO5veJX6xb5pgWq_Dz1BYhcJcd85TsRL2GPyGA5jmZTljcUZZXMcIkvjW1X76lOxfQIRwysNuj3rbtIklVD/s400/offline.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5578322033570793634&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;span id=&quot;internal-source-marker_0.9602211217861623&quot; style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Last year in February I told myself: &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;i&gt;“What if I lived in abstinence for 1 month, like some of these weired religious people do?”&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-color: transparent; font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-color: transparent; font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;And then I spend the whole March &#39;10 without sugar, alcohol or caffeine. I ate only very small meals.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;My experience was very positive: If you force yourself to let go of old habits for a while, you either start questioning them or you realize how precious they really are.  And during your abstinence, you clean your body, and you concentrate your energy on other things in your life.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;So this year I’m repeating the project. But this time I’m making it like a 100 times more difficult. You know what I mean if you take a look at my abstinence plan for March:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style=&quot;font-size: 18pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;The List&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li style=&quot;list-style-type: disc; font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; &quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;No coffeine&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Argh! This means that I will not get any work done in March, but it also means I abandon one of my nastiest habits.&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style=&quot;list-style-type: disc; font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; &quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;No sweets&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Companies put sugar in everything these days, but I’ll do my best to avoid any kind of sweets, from chocolate to pudding to theses wonderful cakes that my friends Anna and Rist make from time to time.&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;li style=&quot;list-style-type: disc; font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; &quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;No junk food&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;This includes most of the ready meals you find on the supermarket, most stuff you get delivered, and of course all kinds of fast food.  &lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style=&quot;list-style-type: disc; font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; &quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;No web browsing for pleasure&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Now it gets interesting! I will not “just browse the web” This includes, of course, reading those facebook and twitter and techmeme and  reddit streams. No funny youtube videos!&lt;br /&gt;&lt;br /&gt;I can still look up information of course (e.g. looking up a location on google maps, or answering to a facebook message, or - if I’m not asleep because I drank no coffee, work). &lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;In theory I could still post stuff to twitter - but most likely I won&#39;t, except for automated stuff (like foursquare checkins).&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;I did not put alcohol or meat on the list this time, since I barely drink any. If anything, I should probably go out and drink more, not less.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;The last point is of course the most difficult one: It means I have to abandon something that makes a big part of my day. What will I do with all this time?&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 14pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Preparations&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;I made a list of the most “dangerous” websites, and I’m prepared to DNS-block them on Monday.  I’m going to uninstall those facebook/twitter apps on my mobile, as well as all these news reading links and apps I have installed. I&#39;m also eating very unhealthy this weekend ;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;Wish me luck. I’m going to miss you all ;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; &quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/3921176969448921737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/02/things-im-not-doing-in-march.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3921176969448921737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3921176969448921737'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/02/things-im-not-doing-in-march.html' title='Things I&#39;m not doing in March'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijEdhlAryV2vtWhAwnjvx70DiV2ynuo7QpMmtDxocPQQb8pf9vYNtxkbZDZPO5veJX6xb5pgWq_Dz1BYhcJcd85TsRL2GPyGA5jmZTljcUZZXMcIkvjW1X76lOxfQIRwysNuj3rbtIklVD/s72-c/offline.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-5903627889877811254</id><published>2011-02-04T01:38:00.001-08:00</published><updated>2011-02-04T01:38:33.267-08:00</updated><title type='text'>Blogger for Android is out..</title><content type='html'>&lt;div&gt;&lt;p&gt;So will this make me blog more than 3 times a year? Let&#39;s find out.&lt;/p&gt;
&lt;p&gt;Because I&#39;m testing the app, I&#39;ll now&amp;nbsp; add some random picture. (That&#39;s Josef)&lt;/p&gt;
&lt;br/&gt;&lt;img src=&#39;http://lh4.ggpht.com/_rsFY4ANrZ50/TUvJF6glECI/AAAAAAAACpA/1indQAj1Ogw/1296812129756.png&#39; /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/5903627889877811254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2011/02/blogger-for-android-is-out.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5903627889877811254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5903627889877811254'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2011/02/blogger-for-android-is-out.html' title='Blogger for Android is out..'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_rsFY4ANrZ50/TUvJF6glECI/AAAAAAAACpA/1indQAj1Ogw/s72-c/1296812129756.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-7896891103798262580</id><published>2010-10-29T06:33:00.000-07:00</published><updated>2011-11-16T05:47:11.234-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="ui"/><category scheme="http://www.blogger.com/atom/ns#" term="widget"/><title type='text'>Segmented Controls in Android</title><content type='html'>&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; I refined the code below, made it a lot more customizable and hosted a project on githup, including an example so you can try it out. Please visit &lt;a href=&quot;https://github.com/bookwormat/segcontrol&quot;&gt;https://github.com/bookwormat/segcontrol&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A segmented control is a alternative to a group of radio buttons:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvQ5GFICC6zBmGE_5usG78PQ1LZEuRTa0B0b39tq0hTWSFPtvOJy8x9Gn_RRmXCqcnODm_j9BxQGPbQbelWl-t_9GckTlOxfkccr11S3M3aCFk7ki3jq720CG0xq4QWEozN2aJULl1a0x/s1600/segmented_control.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 284px; height: 115px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvQ5GFICC6zBmGE_5usG78PQ1LZEuRTa0B0b39tq0hTWSFPtvOJy8x9Gn_RRmXCqcnODm_j9BxQGPbQbelWl-t_9GckTlOxfkccr11S3M3aCFk7ki3jq720CG0xq4QWEozN2aJULl1a0x/s400/segmented_control.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5533462646815749282&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;So it is basically a RadioButton with a different style, and the buttons are lying side by side. I have seen these on iPhone/iOS devices, but Android does not seem to have such a control or Theme. However, you can make one yourself by extending android.widget.RadioButton and overriding the onDraw method:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;import android.content.Context;&lt;br /&gt;import android.graphics.Canvas;&lt;br /&gt;import android.graphics.Color;&lt;br /&gt;import android.graphics.Paint;&lt;br /&gt;import android.graphics.Rect;&lt;br /&gt;import android.graphics.Paint.Style;&lt;br /&gt;import android.graphics.drawable.GradientDrawable;&lt;br /&gt;import android.graphics.drawable.GradientDrawable.Orientation;&lt;br /&gt;import android.util.AttributeSet;&lt;br /&gt;import android.widget.RadioButton;&lt;br /&gt;&lt;br /&gt;public class SegmentedControlButton extends RadioButton {&lt;br /&gt;&lt;br /&gt;    private float mX;&lt;br /&gt;&lt;br /&gt;    public SegmentedControlButton(Context context) {&lt;br /&gt;        super(context);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public SegmentedControlButton(Context context, AttributeSet attrs) {&lt;br /&gt;        super(context, attrs);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public SegmentedControlButton(Context context, AttributeSet attrs, int defStyle) {&lt;br /&gt;        super(context, attrs, defStyle);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private static final float TEXT_SIZE = 16.0f;&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public void onDraw(Canvas canvas) {&lt;br /&gt;&lt;br /&gt;        String text = this.getText().toString();&lt;br /&gt;        Paint textPaint = new Paint();&lt;br /&gt;        textPaint.setAntiAlias(true);&lt;br /&gt;        float currentWidth = textPaint.measureText(text);&lt;br /&gt;        float currentHeight = textPaint.measureText(&quot;x&quot;);&lt;br /&gt;&lt;br /&gt;        // final float scale =&lt;br /&gt;        // getContext().getResources().getDisplayMetrics().density;&lt;br /&gt;        // float textSize = (int) (TEXT_SIZE * scale + 0.5f);&lt;br /&gt;        textPaint.setTextSize(this.getTextSize());&lt;br /&gt;        textPaint.setTextAlign(Paint.Align.CENTER);&lt;br /&gt;&lt;br /&gt;        float canvasWidth = canvas.getWidth();&lt;br /&gt;        float textWidth = textPaint.measureText(text);&lt;br /&gt;&lt;br /&gt;        if (isChecked()) {&lt;br /&gt;            GradientDrawable grad = new GradientDrawable(Orientation.TOP_BOTTOM, new int[] { 0xffdcdcdc, 0xff111111 });&lt;br /&gt;            grad.setBounds(0, 0, this.getWidth(), this.getHeight());&lt;br /&gt;            grad.draw(canvas);&lt;br /&gt;            textPaint.setColor(Color.WHITE);&lt;br /&gt;        } else {&lt;br /&gt;            GradientDrawable grad = new GradientDrawable(Orientation.TOP_BOTTOM, new int[] { 0xffa5a5a5, 0xff000000 });&lt;br /&gt;            grad.setBounds(0, 0, this.getWidth(), this.getHeight());&lt;br /&gt;            grad.draw(canvas);&lt;br /&gt;            textPaint.setColor(0xffcccccc);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        float w = (this.getWidth() / 2) - currentWidth;&lt;br /&gt;        float h = (this.getHeight() / 2) + currentHeight;&lt;br /&gt;        canvas.drawText(text, mX, h, textPaint);&lt;br /&gt;&lt;br /&gt;        Paint paint = new Paint();&lt;br /&gt;        paint.setColor(Color.BLACK);&lt;br /&gt;        paint.setStyle(Style.STROKE);&lt;br /&gt;        Rect rect = new Rect(0, 0, this.getWidth(), this.getHeight());&lt;br /&gt;        canvas.drawRect(rect, paint);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    protected void onSizeChanged(int w, int h, int ow, int oh) {&lt;br /&gt;        super.onSizeChanged(w, h, ow, oh);&lt;br /&gt;        mX = w * 0.5f; // remember the center of the screen&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Now you can use this new widget inside a RadioGroup, just as you would with any other Radio Button. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;I imagine you achieve the same thing do the same thing by restyling the existing RadioButton implementation in the layout files? If you know how this is done, please let me know.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/7896891103798262580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2010/10/segmented-controls-in-android.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7896891103798262580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7896891103798262580'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2010/10/segmented-controls-in-android.html' title='Segmented Controls in Android'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvQ5GFICC6zBmGE_5usG78PQ1LZEuRTa0B0b39tq0hTWSFPtvOJy8x9Gn_RRmXCqcnODm_j9BxQGPbQbelWl-t_9GckTlOxfkccr11S3M3aCFk7ki3jq720CG0xq4QWEozN2aJULl1a0x/s72-c/segmented_control.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-7072469996181138350</id><published>2010-05-27T07:01:00.000-07:00</published><updated>2010-05-27T07:04:36.577-07:00</updated><title type='text'>Mate, Mate</title><content type='html'>&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Trinke Mate mit mir&lt;br /&gt;Mate, Mate, die ganze Nacht!&lt;br /&gt;Trinke Mate mit mir,&lt;br /&gt;weil die Mate uns gluecklich macht.&lt;br /&gt;Koffein und Zucker rein&lt;br /&gt;und bis zum Morgen wirst du wach sein.&lt;br /&gt;Trinke Mate mit mir,&lt;br /&gt;Mate, Mate, die ganze Nacht!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;(via &lt;a href=&quot;https://wiki.koeln.ccc.de/index.php/Club_Mate&quot;&gt;ccc&lt;/a&gt;)&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/7072469996181138350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2010/05/mate-mate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7072469996181138350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7072469996181138350'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2010/05/mate-mate.html' title='Mate, Mate'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-5938236655910300692</id><published>2010-05-21T17:09:00.000-07:00</published><updated>2010-05-22T03:19:05.994-07:00</updated><title type='text'>Polar Clock</title><content type='html'>&lt;p&gt;I made this polar clock using HTML5/canvas. I find polar clocks are a fascinating way to visualize time.&lt;/p&gt; &lt;p&gt;I guess the next logical step would be to allow setting alerts by drawing lines on the clock?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pclock.bookworm.at/pclock.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://pclock.bookworm.at/&quot;&gt;&lt;canvas id=&quot;clock&quot; width=&quot;400&quot; height=&quot;400&quot;&gt;&lt;/canvas&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&gt;loadClock(&#39;clock&#39;);&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;(&lt;a href=&quot;http://pclock.bookworm.at/&quot;&gt;larger version&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/p/benferrari/source/browse/trunk/polarclock/&quot;&gt;source&lt;/a&gt;)&lt;p/&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/5938236655910300692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2010/05/html5-polar-clock.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5938236655910300692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5938236655910300692'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2010/05/html5-polar-clock.html' title='Polar Clock'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-678581987701066447</id><published>2009-07-27T08:23:00.001-07:00</published><updated>2009-07-27T08:45:26.441-07:00</updated><title type='text'>Popcap is still working on Android versions of Peggle and Bejeweled</title><content type='html'>In march game producer Popcap &lt;a href=&quot;http://www.popcap.com/press/release.php?pid=508&quot;&gt;announced&lt;/a&gt; that they are going to release a version of their popular game Peggle for Android in April. Well, there is still no Android Peggle until this day, so I wrote an email to Garth Chouteau from Popcap. Looks like Peggle is still on its way:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;We are still working on Peggle for Android. Peggle and Bejeweled Twist shouldn&#39;t be too far away.  It&#39;s a new OS for us to develop on and it has taken a little longer than expected to &#39;get it right.&#39;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Nice. Now we need them to also announce their better games for Android, like Plantz vs. Zombies and Bookworm Adventures (a game with the word Bookworm in its title cannot fail!).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/678581987701066447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2009/07/popcap-is-still-working-on-android.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/678581987701066447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/678581987701066447'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2009/07/popcap-is-still-working-on-android.html' title='Popcap is still working on Android versions of Peggle and Bejeweled'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-3263370107491024983</id><published>2009-06-07T08:55:00.000-07:00</published><updated>2009-06-07T09:11:06.728-07:00</updated><title type='text'>Wave notes</title><content type='html'>&lt;table style=&quot;width:auto;&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/WCCiafrEvlrI95SxbjMIvg?authkey=Gv1sRgCMzsscfDr4iDMg&amp;feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_rsFY4ANrZ50/SiviZ7yF_iI/AAAAAAAACAQ/B8r9hs6QYa0/s144/2009-06-07%2017.52.03.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;font-family:arial,sans-serif; font-size:11px; text-align:right&quot;&gt;From &lt;a href=&quot;http://picasaweb.google.com/benjamin.ferrari/DropBox?authkey=Gv1sRgCMzsscfDr4iDMg&amp;feat=embedwebsite&quot;&gt;Drop Box&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Slowly digging into the &lt;a href=&quot;http://www.waveprotocol.org/&quot;&gt;Wave Protocol Specs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I wonder how backups are best implemented. I guess we can always have robots creating snapshots once a wave reaches a given state (eg. crossing a timeframe without updating). But I guess we will use extension data in the process (e.g. the history of the Chess game you played in the wave).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/3263370107491024983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2009/06/wave-notes.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3263370107491024983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3263370107491024983'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2009/06/wave-notes.html' title='Wave notes'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_rsFY4ANrZ50/SiviZ7yF_iI/AAAAAAAACAQ/B8r9hs6QYa0/s72-c/2009-06-07%2017.52.03.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-6050682486956749730</id><published>2009-03-23T08:22:00.000-07:00</published><updated>2009-03-23T08:22:00.655-07:00</updated><title type='text'>Words of Goo</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb6XwpbUhSZuibe4k5hmBBDMF1z6Mm7P0k8Yp0hqfjbPEG3F3upaQp_ONG2bnPOUq52ngC6ClaK7F3k2Pa_uVbiaE6S4Wo-KzQ8S1b_4EZ4S9d9UrCBusmwu78Hm1NjkBMps0C9dBNlEHN/s1600-h/goo.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 309px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb6XwpbUhSZuibe4k5hmBBDMF1z6Mm7P0k8Yp0hqfjbPEG3F3upaQp_ONG2bnPOUq52ngC6ClaK7F3k2Pa_uVbiaE6S4Wo-KzQ8S1b_4EZ4S9d9UrCBusmwu78Hm1NjkBMps0C9dBNlEHN/s400/goo.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5316033080696487874&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/groups/games-dont-kill/pool/&quot;&gt;http://www.flickr.com/groups/games-dont-kill/pool/&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/6050682486956749730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2009/03/words-of-goo.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/6050682486956749730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/6050682486956749730'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2009/03/words-of-goo.html' title='Words of Goo'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb6XwpbUhSZuibe4k5hmBBDMF1z6Mm7P0k8Yp0hqfjbPEG3F3upaQp_ONG2bnPOUq52ngC6ClaK7F3k2Pa_uVbiaE6S4Wo-KzQ8S1b_4EZ4S9d9UrCBusmwu78Hm1NjkBMps0C9dBNlEHN/s72-c/goo.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-3425094637253681323</id><published>2009-03-21T13:38:00.001-07:00</published><updated>2009-03-21T13:40:39.687-07:00</updated><title type='text'>White to die?</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSc8Dyr1u8o9l6n1hGf4y05rM9WwzMCcT5XoDvzVIGrFzzIBLKWH7eoZuEJshn9nU-o6ZuHI4W3ytCE9AGU5THQU58RUGazK1SOPvQy3FpjeQsyjSuVUD7gvUq3O2utSn_7ILfDUF36ArA/s1600-h/gamesdontkill_go.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 309px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSc8Dyr1u8o9l6n1hGf4y05rM9WwzMCcT5XoDvzVIGrFzzIBLKWH7eoZuEJshn9nU-o6ZuHI4W3ytCE9AGU5THQU58RUGazK1SOPvQy3FpjeQsyjSuVUD7gvUq3O2utSn_7ILfDUF36ArA/s400/gamesdontkill_go.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5315743392434376578&quot; /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/groups/games-dont-kill/pool/&quot;&gt;http://www.flickr.com/groups/games-dont-kill/pool/&lt;/a&gt;&lt;/p&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/3425094637253681323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2009/03/white-to-die.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3425094637253681323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/3425094637253681323'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2009/03/white-to-die.html' title='White to die?'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSc8Dyr1u8o9l6n1hGf4y05rM9WwzMCcT5XoDvzVIGrFzzIBLKWH7eoZuEJshn9nU-o6ZuHI4W3ytCE9AGU5THQU58RUGazK1SOPvQy3FpjeQsyjSuVUD7gvUq3O2utSn_7ILfDUF36ArA/s72-c/gamesdontkill_go.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-2720486560523570115</id><published>2008-12-09T06:13:00.000-08:00</published><updated>2008-12-09T06:16:14.939-08:00</updated><title type='text'>Install gridwars on a 1024x600 netbook running ubuntu.</title><content type='html'>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;install deb from http://www.getdeb.net/app/GridWars+2 .&lt;/li&gt;&lt;br /&gt;&lt;li&gt;if you try to run gridwars, it will crash with an error &quot;appstub.linux signal handler 11&quot;.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;wtf? a look into ~/.gridwars/errors.txt shows more details: &quot;Can not set graphics mode: Fullscreen - 1024X768&quot; . ok, that makes sense, we only have a resolution of 1024x768.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;change resolution in ~/.gridwars/Config.txt (&quot;Screen Heigt&quot; to 600).&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;save, play, have fun&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/2720486560523570115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/12/install-gridwars-on-1024x600-netbook.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/2720486560523570115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/2720486560523570115'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/12/install-gridwars-on-1024x600-netbook.html' title='Install gridwars on a 1024x600 netbook running ubuntu.'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-8213456613184561969</id><published>2008-12-08T14:52:00.000-08:00</published><updated>2008-12-08T15:03:02.797-08:00</updated><title type='text'>German for advanced beginners: Various names for the heel of a loaf of bread</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirhfN2VIKa6VyLF-uHV3PaAqKpBY83xGP09iyArReNKATp9DMpt1-5t4huFU1ItNE6Ex8RAf5EYlNeEeNxrT4CiFdRO1aUynMAHouJBXZbGxK4ObG7l0pxWvhf77wgttllzWwObeL-lxZH/s1600-h/heel.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 180px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirhfN2VIKa6VyLF-uHV3PaAqKpBY83xGP09iyArReNKATp9DMpt1-5t4huFU1ItNE6Ex8RAf5EYlNeEeNxrT4CiFdRO1aUynMAHouJBXZbGxK4ObG7l0pxWvhf77wgttllzWwObeL-lxZH/s400/heel.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5277558542270996594&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Aheuer, Anschnitt, Bugl, Bödeli, Gnetzla, Gupf, Kipf, Knerzel, Knießchen, Knippchen, Knorzen, Knurrn, Knust, Knust, Knäppchen, Knäuschen, Knäusperle, Knörzchen, Knörzla, Knüppchen, Knüstchen, Krüstchen, Mürgel, Ortstückel, Ranfl, Ranft, Reiftchen, Reiftle, Riebel, Ränftl, Scherzerl, Stützle, Timpken&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/8213456613184561969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/12/german-for-advanced-beginners-various.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/8213456613184561969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/8213456613184561969'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/12/german-for-advanced-beginners-various.html' title='German for advanced beginners: Various names for the heel of a loaf of bread'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirhfN2VIKa6VyLF-uHV3PaAqKpBY83xGP09iyArReNKATp9DMpt1-5t4huFU1ItNE6Ex8RAf5EYlNeEeNxrT4CiFdRO1aUynMAHouJBXZbGxK4ObG7l0pxWvhf77wgttllzWwObeL-lxZH/s72-c/heel.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-5428985340826890292</id><published>2008-11-30T14:14:00.000-08:00</published><updated>2008-11-30T14:21:24.131-08:00</updated><title type='text'>Now reading</title><content type='html'>&lt;p&gt;&lt;strong&gt;Quiz: Who is this?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Knowledge of Literature.—Nil.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Philosophy.—Nil.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Astronomy.—Nil.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Politics.—Feeble.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Botany.—Variable. Well up in belladonna, opium, and poisons generally. Knows nothing of practical gardening.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Geology.—Practical, but limited. Tells at a glance different soils from each other. After walks has shown me splashes upon his trousers, and told me by their colour and consistence in what part of London he had received them.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Chemistry.—Profound.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Anatomy.—Accurate, but unsystematic.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Sensational Literature.—Immense. He appears to know every detail of every horror perpetrated in the century.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Plays the violin well.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Is an expert singlestick player, boxer, and swordsman.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Has a good practical knowledge of British law.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://spellbreaker.org/~chrender/Sherlock_Holmes/&quot;&gt;Answer&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/5428985340826890292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/11/now-reading.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5428985340826890292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/5428985340826890292'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/11/now-reading.html' title='Now reading'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-1577965822418194294</id><published>2008-11-23T01:01:00.000-08:00</published><updated>2008-11-22T23:26:55.773-08:00</updated><title type='text'>32</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;quote&gt;&lt;br /&gt;Four o&#39;clock in the afternoon&lt;br /&gt;and I didn&#39;t feel like very much.&lt;br /&gt;I said to myself, &quot;Where are you golden boy,&lt;br /&gt;where is your famous golden touch?&quot;&lt;br /&gt;I thought you knew where&lt;br /&gt;all of the elephants lie down,&lt;br /&gt;I thought you were the crown prince&lt;br /&gt;of all the wheels in Ivory Town.&lt;br /&gt;Just take a look at your body now,&lt;br /&gt;there&#39;s nothing much to save&lt;br /&gt;and a bitter voice in the mirror cries,&lt;br /&gt;&quot;Hey, Prince, you need a shave.&quot;&lt;br /&gt;Now if you can manage to get&lt;br /&gt;your trembling fingers to behave,&lt;br /&gt;why don&#39;t you try unwrapping&lt;br /&gt;a stainless steel razor blade?&lt;br /&gt;That&#39;s right, it&#39;s come to this,&lt;br /&gt;yes it&#39;s come to this,&lt;br /&gt;and wasn&#39;t it a long way down,&lt;br /&gt;wasn&#39;t it a strange way down?&lt;br /&gt;&lt;br /&gt;There&#39;s no hot water&lt;br /&gt;and the cold is running thin.&lt;br /&gt;Well, what do you expect from&lt;br /&gt;the kind of places you&#39;ve been living in?&lt;br /&gt;Don&#39;t drink from that cup,&lt;br /&gt;it&#39;s all caked and cracked along the rim.&lt;br /&gt;That&#39;s not the electric light, my friend,&lt;br /&gt;that is your vision growing dim.&lt;br /&gt;Cover up your face with soap, there,&lt;br /&gt;now you&#39;re Santa Claus.&lt;br /&gt;And you&#39;ve got a gift for anyone&lt;br /&gt;who will give you his applause.&lt;br /&gt;I thought you were a racing man,&lt;br /&gt;ah, but you couldn&#39;t take the pace.&lt;br /&gt;That&#39;s a funeral in the mirror&lt;br /&gt;and it&#39;s stopping at your face.&lt;br /&gt;That&#39;s right, it&#39;s come to this,&lt;br /&gt;yes it&#39;s come to this,&lt;br /&gt;and wasn&#39;t it a long way down,&lt;br /&gt;ah wasn&#39;t it a strange way down?&lt;br /&gt;&lt;br /&gt;Once there was a path&lt;br /&gt;and a girl with chestnut hair,&lt;br /&gt;and you passed the summers&lt;br /&gt;picking all of the berries that grew there;&lt;br /&gt;there were times she was a woman,&lt;br /&gt;oh, there were times she was just a child,&lt;br /&gt;and you held her in the shadows&lt;br /&gt;where the raspberries grow wild.&lt;br /&gt;And you climbed the twilight mountains&lt;br /&gt;and you sang about the view,&lt;br /&gt;and everywhere that you wandered&lt;br /&gt;love seemed to go along with you.&lt;br /&gt;That&#39;s a hard one to remember,&lt;br /&gt;yes it makes you clench your fist.&lt;br /&gt;And then the veins stand out like highways,&lt;br /&gt;all along your wrist.&lt;br /&gt;And yes it&#39;s come to this,&lt;br /&gt;it&#39;s come to this,&lt;br /&gt;and wasn&#39;t it a long way down,&lt;br /&gt;wasn&#39;t it a strange way down?&lt;br /&gt;&lt;br /&gt;You can still find a job,&lt;br /&gt;go out and talk to a friend.&lt;br /&gt;On the back of every magazine&lt;br /&gt;there are those coupons you can send.&lt;br /&gt;Why don&#39;t you join the Rosicrucians,&lt;br /&gt;they can give you back your hope,&lt;br /&gt;you can find your love with diagrams&lt;br /&gt;on a plain brown envelope.&lt;br /&gt;But you&#39;ve used up all your coupons&lt;br /&gt;except the one that seems&lt;br /&gt;to be written on your wrist&lt;br /&gt;along with several thousand dreams.&lt;br /&gt;Now Santa Claus comes forward,&lt;br /&gt;that&#39;s a razor in his mit;&lt;br /&gt;and he puts on his dark glasses&lt;br /&gt;and he shows you where to hit;&lt;br /&gt;and then the cameras pan,&lt;br /&gt;the stand in stunt man,&lt;br /&gt;dress rehearsal rag,&lt;br /&gt;it&#39;s just the dress rehearsal rag,&lt;br /&gt;you know this dress rehearsal rag,&lt;br /&gt;it&#39;s just a dress rehearsal rag.&lt;br /&gt;&lt;/quote&gt;&lt;br /&gt;-- Leonard Cohen, &quot;Dress Rehearsal Rag&quot;&lt;br /&gt;&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/1577965822418194294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/11/32.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1577965822418194294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1577965822418194294'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/11/32.html' title='32'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-7670553753726788770</id><published>2008-11-07T14:23:00.000-08:00</published><updated>2008-11-07T22:35:01.993-08:00</updated><title type='text'>My new dell mini 9</title><content type='html'>&lt;p&gt;Because &lt;a href=&#39;http://electrobabe.at/&#39;&gt;Barbara&lt;/a&gt; requested it, here are some pictures of my new Dell Mini 9. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;embed type=&quot;application/x-shockwave-flash&quot; src=&quot;http://picasaweb.google.com/s/c/bin/slideshow.swf&quot; width=&quot;800&quot; height=&quot;533&quot; flashvars=&quot;host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fbenjamin.ferrari%2Falbumid%2F5266024840974575153%3Fkind%3Dphoto%26alt%3Drss&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So far I&#39;m pretty happy with it. Ever since I bought a good desktop machine in the end of 2006, I hardly used my expensive notebook (Macbook) for anything else but reading and editing text, video &amp; audio. The mini can do that too, and it has the huge advantage that it is small/light/cheap enough to carry it with me even if I&#39;m not sure I&#39;m going to need it. With the Macbook I always had to ask myself &quot;Am I really going to go to the library after lecture, and will I really need the notebook then to justify carring it around the whole day?&quot;. The mini perfectly fits into my small bag, together with book, my moleskine and all my other stuff.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;As for the Macbook: I&#39;m giving it to my little sister Cosima. She turns 16 today, which I remember is an important birthday, and I guess she will have a lot more use for it than I have. This ends my 2 1/2 years &lt;a href=&quot;http://blog.bookworm.at/2006/06/short-note-on-mac-os-x-tiger_3313.html&quot;&gt;affair&lt;/a&gt; with Apple Computers.  The Mini is running GNU/Linux (Ubuntu), as are all the other machines I currently use on PCs. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;All in all OS X was a interesting and positive experience. Some really annoying things, like iTunes only downloading album art if you enter your credit card. Or software updates without package management. But there are quite some annoying things in Ubuntu as well, so that&#39;s not making the difference in the end. &lt;p&gt; &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;What &lt;b&gt;does&lt;/b&gt; make a difference however is that Ubuntu is free software, and OS X is not: If all the systems do the job (and Windows XP does the job too), of course I&#39;m going with the one that costs nothing, is based on open standards, and has a transparent development process. &lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/7670553753726788770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/11/my-new-dell-mini-9.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7670553753726788770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7670553753726788770'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/11/my-new-dell-mini-9.html' title='My new dell mini 9'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-1073187275814976517</id><published>2008-11-06T00:47:00.000-08:00</published><updated>2008-11-06T01:03:15.690-08:00</updated><title type='text'>Subversion 1.4.6, symbolic links, and my fat32 formatted SSD card</title><content type='html'>&lt;p&gt;I spend the last hour trying to checkout my personal tuwien repository to the external SSD card that I put inside my dell mini. The problem was that I forgot that this SSD card is of course fat32 formatted, and that subversion does not handle the limitations of fat32 very well.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;First I get a &quot;Can&#39;t move file&quot; error because I had two files on the disk that only differ in case. Next I get a cryptic message like &quot;Can&#39;t open file .svn/../tu/mathe.tmp.tmp ... operation not permitted&quot;. That is because I had a symbolic link in my repository. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A checkout to the Mini&#39;s internal SSD card (ext3) worked fine. I wonder if other versioning systems give smarter error messages?&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/1073187275814976517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/11/subversion-146-symbolic-links-and-my.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1073187275814976517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1073187275814976517'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/11/subversion-146-symbolic-links-and-my.html' title='Subversion 1.4.6, symbolic links, and my fat32 formatted SSD card'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-4033273553806503874</id><published>2008-10-31T08:45:00.000-07:00</published><updated>2008-11-03T06:53:22.986-08:00</updated><title type='text'>Building Android on Ubuntu 8.10 Intrepid 64bit</title><content type='html'>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Follow the instructions on &lt;a href=&quot;http://source.android.com/download&quot;&gt;http://source.android.com/download&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Install the following additional libraries&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;sudo aptitude install ia32-libs  g++-multilib gcc-multilib&lt;br /&gt;lib32z1-dev lib32ncurses5-dev lib32readline5 lib32readline5-dev&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;build with make&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Building with &#39;make&#39; worked fine with Python 2.5 and OpenJDK, which are installed by default on Intrepid. However, building with &quot;make sdk&quot; failed, because sun.util.resources.OpenListResourceBundle could not be found (it appears that this class was removed in Java 6). The problem  can be solved by using sun&#39;s Java &lt;strong&gt;5&lt;/strong&gt; SDK.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/4033273553806503874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/10/building-android-on-ubuntu-810-intrepid.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4033273553806503874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4033273553806503874'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/10/building-android-on-ubuntu-810-intrepid.html' title='Building Android on Ubuntu 8.10 Intrepid 64bit'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-7974148809689809343</id><published>2008-10-12T09:36:00.001-07:00</published><updated>2008-10-12T09:44:21.078-07:00</updated><title type='text'>Damn, this would have been a cool handle</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5R7jgvfj_T5x3Lbw5ab_VkyoU2fLsbc2Q0GIl3L59FzmhVVMBT0IBaPRG1c7vcUPzg3TCQReYWAqaQ8ZMVyIT-LijMj-zMcE1PYZ6VIpPcrQgbE6-fucGtTspNyIE0T2pcUxF-NJBOml9/s1600-h/snowtwit.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5R7jgvfj_T5x3Lbw5ab_VkyoU2fLsbc2Q0GIl3L59FzmhVVMBT0IBaPRG1c7vcUPzg3TCQReYWAqaQ8ZMVyIT-LijMj-zMcE1PYZ6VIpPcrQgbE6-fucGtTspNyIE0T2pcUxF-NJBOml9/s400/snowtwit.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5256307407082695922&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Btw, despite what they write in the errormessage, &#39;_&#39; is not a legal username either ;)&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/7974148809689809343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/10/damn-this-would-have-been-cool-username.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7974148809689809343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7974148809689809343'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/10/damn-this-would-have-been-cool-username.html' title='Damn, this would have been a cool handle'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5R7jgvfj_T5x3Lbw5ab_VkyoU2fLsbc2Q0GIl3L59FzmhVVMBT0IBaPRG1c7vcUPzg3TCQReYWAqaQ8ZMVyIT-LijMj-zMcE1PYZ6VIpPcrQgbE6-fucGtTspNyIE0T2pcUxF-NJBOml9/s72-c/snowtwit.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-4374281389763121655</id><published>2008-09-02T13:12:00.000-07:00</published><updated>2008-09-02T13:53:49.369-07:00</updated><title type='text'>Chrome Browser</title><content type='html'>&lt;p&gt;New web browser based on Webkit. Chrome is based on an open source product called &lt;a href=&quot;http://dev.chromium.org/&quot;&gt;Chromium&lt;/a&gt;, although I not sure about the license yet. Also, there is already a free &lt;a href=&quot;http://chromium.sourceforge.net/&quot;&gt; project &lt;/a&gt; with that name.  Linux code is incomplete, so I can only test this thing for a few minutes. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;UI looks very nice and thin. Mouse and Keyboard are mostly taken from Firefox. The &quot;smart address bar&quot; seems to be less smart as the one from Firefox 3. Chrome has inkoknito surfing and support for site specific browsers, pretty much like &lt;a href=&quot;https://wiki.mozilla.org/Prism&quot;&gt;Prism&lt;/a&gt;. While I&#39;m writing this, I notice that the spell checking is really, really awful. So sorry for all the typos. Well, it&#39;s a beta.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Part of the project is also a new &lt;a href=&quot;http://code.google.com/p/v8/&quot;&gt;Javascript Engine&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have no idea about chrome as a software platform - Does this support easy extension development without building the whole thing? &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Anyway, another (hopefully) &lt;a href=&quot;http://www.gnu.org/philosophy/free-sw.html&quot;&gt;free software&lt;/a&gt; product with a huge budget. Can&#39;t be a bad thing.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/4374281389763121655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/09/chrome-browser.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4374281389763121655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/4374281389763121655'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/09/chrome-browser.html' title='Chrome Browser'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-7202029282201876226</id><published>2008-08-02T09:18:00.000-07:00</published><updated>2008-08-02T09:46:37.060-07:00</updated><title type='text'>Blizzard: render your HTML yourselves!</title><content type='html'>&lt;p&gt;Most popular browsers these days can do XSLT transformations on the fly. A rarely used feature on the common web, that is mostly used to make pretty HTML representations of files that for some reason need to be XML. A good example are RSS feeds.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Now I just checked the &lt;a href=&quot;https://www.blizzard.com/store/&quot;&gt;online store&lt;/a&gt; of the gaming company Blizzard Entertainment, and if you send a HTTP request there, the server checks if your browser is capable of XSLT processing, and if it is, they send you a XML response in return. The XML is linked to a stylesheet, and the rendering part itself is done at your own computer. &lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/7202029282201876226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/08/blizzard-render-your-html-yourselves.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7202029282201876226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/7202029282201876226'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/08/blizzard-render-your-html-yourselves.html' title='Blizzard: render your HTML yourselves!'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4756218974134955062.post-1294238069740047332</id><published>2008-07-27T09:44:00.000-07:00</published><updated>2008-07-27T09:47:12.071-07:00</updated><title type='text'>Implementation Question Resolution Heuristic w/o Standards</title><content type='html'>&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkyy7Cxi2yDrrbilXx4-szmHtrBo4OT_eTytj11kmP-bSFSu77-jr663XmBVvgZ7rcIwRYIAaQ7AeKKaAc7YFssle3DD_3vImxqlXvE1dWumlsGji4rnCYA5YCGzKegoyO7rALsoLuJdKG/s1600-h/Open-Source-and-Standards.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkyy7Cxi2yDrrbilXx4-szmHtrBo4OT_eTytj11kmP-bSFSu77-jr663XmBVvgZ7rcIwRYIAaQ7AeKKaAc7YFssle3DD_3vImxqlXvE1dWumlsGji4rnCYA5YCGzKegoyO7rALsoLuJdKG/s400/Open-Source-and-Standards.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5227735689906753586&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;via Joe Gregorio, &lt;a href=&quot;http://bitworking.org/projects/&quot;&gt;OSCon 2008 - Open Source and Standards&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr/&gt;&lt;p&gt;&lt;i&gt;Join my &lt;a href=&quot;http://en.wikipedia.org/wiki/Skepticism&quot;&gt;unpopular and widely unaccepted sect&lt;/a&gt;!&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bookworm.at/feeds/1294238069740047332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bookworm.at/2008/07/implementation-question-resolution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1294238069740047332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4756218974134955062/posts/default/1294238069740047332'/><link rel='alternate' type='text/html' href='http://blog.bookworm.at/2008/07/implementation-question-resolution.html' title='Implementation Question Resolution Heuristic w/o Standards'/><author><name>bookwormat</name><uri>http://www.blogger.com/profile/10212336833198274102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkyy7Cxi2yDrrbilXx4-szmHtrBo4OT_eTytj11kmP-bSFSu77-jr663XmBVvgZ7rcIwRYIAaQ7AeKKaAc7YFssle3DD_3vImxqlXvE1dWumlsGji4rnCYA5YCGzKegoyO7rALsoLuJdKG/s72-c/Open-Source-and-Standards.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>