Android Marketplace – sell apps or free apps with ads?

There’s been some discussion online from Android application developers comparing their monthly income of Android apps vs iPhone apps. The iPhone has such a massive user base at this point that it’s hard to make these comparisons, but what I find interesting is whether to make money from selling your apps or give them away free and include banner apps inside them. If sales are currently low on the Android marketplace then you’re not going to get rich selling 99c apps, but are you going to do any better with free apps including banner ads? Here’s an interesting discussion <a href="http://www.4feets.com/2009/02/selling-apps-or-running-ads/"here, and here’s another comparison from an established iPhone and Android developer.

Software RAID support on Linux

Good RAID FAQ on Linux here.

Walkthrough on setting up a software RAID array here

Check RAID status:

<code>/sbin/mdadm --detail /dev/md0</code>

Or check with this:

<code>sudo cat /proc/mdstat</code>

This is what a good status will look like:

<code>
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sdb5[0] sdc5[1]
      1485888 blocks [2/2] [UU]
      
md0 : active raid1 sdb1[0] sdc1[1]
      242709888 blocks [2/2] [UU]
      
unused devices: <none>

The [UU] (I think) indicates the status of both drives in the array, and both are Up

Removing drives: sudo mdadm /dev/md0 -r /dev/sdb1

Adding drives back to the array: sudo mdadm /dev/md0 -a /dev/sdb1

Making the most of Eclipse’s breakpoint conditions in the debugger

Not many developers I’ve come across are aware that Eclipse has this feature, but sometime setting conditions on breakpoints can save you a ton of time, especially if you’re stepping through the same lines again and again in a loop waiting for a condition to occur that you need to debug.

Once you have a breakpoint in place (double-clicking in the left hand column next to the line you’re interested in), go to your Breakpoints view in the Debug perspective. Right-click the breakpoint and select ‘Breakpoint properties’. In the middle of the dialog box that appears there is a text area where you can enter an expression that will either trigger the breakpoint when the expression is true, or when the condition changes, depending on the value of the radio button you select. In the textarea you can type an expression that you want to get evaluated, for example ‘secondsRemaining ==1’ (without the quotes). With the ‘condition is true’ radio button selected, this breakpoint will now only trigger when secondsRemaining (a variable that is in scope where my breakpoint is) has the value of 1. Easy.