I love statistics.

I love statistics.
I love them even more if they are like this one:

Check it live here! (the statistics are updated every hour, the page refreshes every five minutes.

Really impressive stats for GreekAndroidApps.gr application, 5.038 unique users & 7.118 applications that have been downloaded from our app in 2 weeks!
I have written another related post about why I want to keep track of everything “If you can’t measure it…”.

FacebookGoogle BookmarksTwitterFriendFeedGoogle GmailBlogger PostGoogle ReaderHotmailWordPressShare
Tags: ,
Posted in My Android Apps Personal Programming by Konstantinos Polychronis. No Comments

________________________________________________________________

a small tribute to the sysv-rc-conf

my favorite tool for changing Debian’s rc levels!

check it out: http://sysv-rc-conf.sourceforge.net/

aptitude install sysv-rc-conf

FacebookGoogle BookmarksTwitterFriendFeedGoogle GmailBlogger PostGoogle ReaderHotmailWordPressShare
Posted in GNU/Linux by Konstantinos Polychronis. No Comments

________________________________________________________________

80% of success is “showing up”

80% of success is “showing up”

Showing up: As Allen famously stated: 80% of success is “showing up”. Nothing more really needs to be added there except it might be changed to “99% of success for the entrepreneur is showing up”. What do you have to show up for: you have to find the investors, you have to manage development, you have to find the first customers, You have to find the buyers. They don’t show up at your door. You show up at their door. Otherwise your business will just not work out. Let’s take Microsoft as one example among many: Bill Gates tracked down the guy in New Mexico to build BASIC. Bill Gates put himself in the middle when IBM wanted to license an operating system. He just kept showing up while everyone else was skiing.

I read it at techcrunch

FacebookGoogle BookmarksTwitterFriendFeedGoogle GmailBlogger PostGoogle ReaderHotmailWordPressShare
Posted in Personal Quotes by Konstantinos Polychronis. No Comments

________________________________________________________________

Finding duplicate values in MySQL

There is an easy and quick way to find duplicate values in a MySQL table.
You can use this query:

SELECT *, COUNT(*) c FROM tablename GROUP BY searchablefield HAVING c > 1;
FacebookGoogle BookmarksTwitterFriendFeedGoogle GmailBlogger PostGoogle ReaderHotmailWordPressShare
Tags: , ,
Posted in Programming by Konstantinos Polychronis. No Comments

________________________________________________________________

Your app crashes, live with it.


Let’s say that you are a developer that actually cares about the quality of his applications, yes, you belong to the 1%, so you are using BugSense to catch all the exceptions and you get something like this:

Full Stacktrace
0 android.database.sqlite.SQLiteDiskIOException: error code 10: disk I/O error
1 at android.database.sqlite.SQLiteStatement.native_execute(Native Method)
2 at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:55)
3 at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1881)
4 at android.webkit.WebViewDatabase.removeCache(WebViewDatabase.java:668)
5 at android.webkit.CacheManager.createCacheFile(CacheManager.java:430)
6 at android.webkit.WebViewWorker.handleMessage(WebViewWorker.java:134)
7 at android.os.Handler.dispatchMessage(Handler.java:99)
8 at android.os.Looper.loop(Looper.java:123)
9 at android.os.HandlerThread.run(HandlerThread.java:60)

You’re trying to figure out what is happening, how can this be your fault, especially when you are absolutely sure that you are not using SQLite in your project!
Well, I have good news for you, it’s not your fault, but then again I have bad news for you, even if you have done serious testing, shit happens and your application is going to crash, no matter what. And I mean it. It is going to crash. Even Gmail or Facebook crashes!

Trying to catch every possibility or corner case may lead to a large and complicated source code, leading to even more crashes. General exception handling on the other side will make your application slow, so make sure you keep the balance on this.

You cannot predict what the user will do, you cannot predict the behavior of the devices out there and allow me to make it more clear with 2 examples:

The Huawei IDEOS X5 constantly crashes with random Resources NotFound Exceptions.
The Sony Ericsson X10 mini simply does not run apps, they do not even start sometimes.

The list goes on and you must accept that your application will crash, what you can do is minimize the crashes that are your fault.

Your app crashes, live with it.

(Image from Wired.com)

FacebookGoogle BookmarksTwitterFriendFeedGoogle GmailBlogger PostGoogle ReaderHotmailWordPressShare
Tags: , , ,
Posted in Android Programming by Konstantinos Polychronis. 4 Comments