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

________________________________________________________________

If you can’t measure it…

When it comes to analytics, I want to keep track of everything. Literally everything. From our website uptime, to our server response time. From our website unique visits, post reads, to where users click. From our apps users number, to the daily sessions and the number of bugs that may occur in a release.

There are thousands of tools (most of them are open source or free) to do this, so there are no excuses.

This is how you can be 100% aware of what is happening, this is how you can be sure that you will handle any situation as soon as possible to prevent a catastrophic failure.

One of my favorite quote is this:

If you can’t measure it, you can’t manage it.
-Peter Drucker

(photo credit: dragonart)

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