tag:blogger.com,1999:blog-53684419616827631132023-11-15T23:59:27.001+08:00Hello World 2.0Java, Programming, and Other Technical MusingsUnknownnoreply@blogger.comBlogger28125tag:blogger.com,1999:blog-5368441961682763113.post-33201098940372031032010-08-03T00:02:00.002+08:002010-08-03T00:12:35.211+08:00Simple Grdr - Version 1.3.01. Conformed to Google OAuth Authentication MechanismUser's Google ID and password will no longer be stored in the application database. Instead authentication will be done via Google's OAuth mechanism. When the application is launched for the first time, user will be taken to the web browser to sign in to Google. After signing in, a Google page will be shown to allow the user to grant Google Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-5368441961682763113.post-18700787601517033752010-05-06T22:28:00.002+08:002010-05-06T22:29:41.606+08:00Simple Grdr - Version 1.2.01. Added Function to Send Out an ArticleThis function is accessible from the article list by long-pressing on an article title, or from the article view by pressing on the phone's Menu button. It allows the user to select from a list of channels through which to send out the article's title and URL. Examples of such channels are in-built ones like Gmail and SMS messaging, as well as those exposedUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-5368441961682763113.post-8685460602230049342010-05-04T15:19:00.002+08:002010-05-04T15:46:10.836+08:00Simple Grdr - Version 1.1.01. Added Option to Store Cache on SD CardPreviously, the application cache was stored on phone memory. With the enhancement, user can choose to store the cache on the SD card instead to free up phone memory for more applications.2. Minor UI EnhancementUser can now easily scroll to the top/bottom of any page. When scrolling, just follow through and move finger all the way to the edge of the screenUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-90560679879142364292010-04-19T21:33:00.001+08:002010-04-19T21:36:47.172+08:00Simple Grdr - A Simple Google Reader Client for AndroidSimple Grdr is, as its name suggests, a simple and user-friendly Google Reader client for Android. Besides simplicity, it also aims to be lightweight and responsive by utilising a lazy caching mechanism.When you first run the application, you will be instructed to provide your Google ID and password. This can be done in the Preferences screen (press the Menu button and select Preferences).Upon Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-58107821515199570722010-02-03T21:42:00.003+08:002010-02-03T21:50:22.943+08:00MySQL TIMESTAMP Data Type - Use With CareJust to share what i encountered with the TIMESTAMP data type in MySQL, so that you don't make the same wrong assumptions.First, let's create a table with a DATETIME column, and insert a record into the table.mysql> CREATE TABLE TBL_TEST_DATETIME (ID INTEGER, TEST_DT DATETIME, PRIMARY KEY (ID));mysql> COMMIT;mysql> INSERT INTO TBL_TEST_DATETIME (ID) VALUE (0);mysql> COMMIT;Notice that i did Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-30459071371017842502010-01-25T21:41:00.004+08:002010-05-04T15:00:55.565+08:00Setting Up a Minimal Graphical Ubuntu (Karmic Koala)i had been using Ubuntu previously, until around the time Fedora Leonidas was released, when i decided to give Fedora a try, and since then have stuck with it (also upgrading to the more recent Constantine). One thing that i liked about Fedora which was not present in Ubuntu (Desktop) was the opportunity to select the packages i want during installation. Instead, Ubuntu installs a number of Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5368441961682763113.post-1493229623381513912010-01-16T17:34:00.005+08:002010-01-17T02:16:40.127+08:00Using Android Debug Bridge (ADB) in Linuxi have just done the necessary setup to do some Android development on my Fedora 12 machine using Eclipse (Galileo) and the Android SDK. As i have a HTC Dream (or G1) with me, i also wanted to deploy and test directly on the phone itself instead of using an emulator.However, things didn't go very smoothly when trying to connect to the phone through ADB.What i had done to that point was:1. CreatedUnknownnoreply@blogger.com7tag:blogger.com,1999:blog-5368441961682763113.post-19429053221843912492010-01-16T17:19:00.001+08:002010-01-16T17:22:24.155+08:00Eclipse Issue With GTK on Fedora 12i have downloaded Eclipse (Galileo) - downloaded from eclipse.org instead of installing from repository - and was trying to add some plugins when i ran into problems with an unresponsive button. Specifically, after configuring the Name and Location in the Add Site dialog, nothing would happen upon clicking on the OK button. It seemed like an application freeze except that i could still click on Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-15120564970445512062009-08-04T23:48:00.002+08:002009-08-04T23:53:21.439+08:00Firefox Upgrade Broke Eclipse?Doesn't sound likely? That was what i thought, and so failed to draw a link until further diagnosis and web-surfing.i had been using Ubuntu 9.04, and had Firefox 3.0 and Eclipse 3.4 Ganymede running on the same machine without any apparent problem (but of course, having Firefox and Eclipse on the same machine is such a common combination). One day, i decided to upgrade to Firefox 3.5, and after Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-39308673043707484622009-07-09T23:54:00.000+08:002009-07-09T23:55:19.795+08:00The Benefits of Using HTTPS - It's Not Just for the EncryptionOut of good habit, i access websites that require authentication using the HTTPS protocol whenever possible (i.e. whenever it is supported by the site). These websites include Yahoo! Mail, Gmail and Facebook.Yesterday, when i tried to access Facebook (using HTTPS), Firefox gave me a warning:www.facebook.com uses an invalid security certificate.The certificate is only valid for a248.e.akamai.net(Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-63398422838453573512009-07-04T14:24:00.005+08:002009-07-04T14:31:46.631+08:00Apache Commons IO - Full of Simple IO GoodnessIf you are writing Java applications that use IO (e.g. through file or socket operations), you should get familiar with the API of the Apache Commons IO library. It is not a complex framework which helps you adhere to coding best practices, nor is it an underlying implementation breakthrough that boost the performance of your applications. However, it will save you a lot of coding time, and it isUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-16515077210078050362009-06-19T22:40:00.005+08:002009-06-19T22:50:38.910+08:00Running Oracle Universal Installer on Red Hat Enterprise Linux 5Have not updated this blog for more than a month now, due to heavy work commitment. Here is a lesson learnt from the course of work.If you're trying to run the Oracle Universal Installer (version 10.2) on Red Hat Enterprise Linux 5, you may run into the following error:[me@myhost client]$ ./runInstallerStarting Oracle Universal Installer...Checking installer requirements...Checking operatingUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-88166778359774644042009-04-28T20:23:00.001+08:002009-04-28T20:26:38.022+08:00I Didn't Know That - MySQL, MyISAM and Auto-Commiti have been using MySQL - on and off - for the past four years or so, and have become fairly comfortable with its normal usage scenarios (i.e. usage that does not involve clustering, replication, etc). Hence, i was quite embarrassed to be stumped by a problem which, on hindsight, should be common knowledge to someone familiar with the database.i had set up a MySQL instance, added a new schema, Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-4381228238177271452009-04-24T00:32:00.001+08:002009-04-24T00:33:29.691+08:00Tweet...If you're keen on the occasional small dose of random tech rambling, feel free to follow me on Twitter at http://twitter.com/edwinlee11.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-5130702929491611092009-04-23T19:23:00.005+08:002009-04-23T19:33:50.805+08:00Ethernet Card Issue When Using AMD 64 Architecture of Linuxi would first like to give a shout out to fellow members of the Slugnet Mailing List - especially Patrick Haller - who helped me to diagnose and figure out the root cause of the problem. It was a real community effort! :-)Previously, i was running Ubuntu Intrepid Ibex (8.10) i386 and did not encounter any networking issue. When the release candidate for Jaunty Jackalope became available, i Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5368441961682763113.post-64907894259971019992009-04-02T00:49:00.000+08:002009-04-02T00:50:33.348+08:00Recovering a Harddisk Using the FreezerMy portable harddisk had given way over the weekend, and i got an interesting piece of advice from a fellow member of the Slugnet Mailing List. He had suggested that i try and get it started one last time by placing it in a freezer for a few hours, in order to recover any important bits of data left from it.i gave it a go then, more out of curiousity than anything else (since i had done a backup Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5368441961682763113.post-56447316750458409042009-02-09T21:10:00.000+08:002009-02-09T21:12:05.157+08:00VirtualBox - Broken Mouse IntegrationVirtualBox mouse integration had previously been working for me after i installed Guest Additions (running a Linux guest on a Linux host). But recently, ever since i updated some packages (on the guest machine), it had stopped working.This baffled and inconvenienced me, and after doing some searching, i found a couple of solutions (from MakeTechEasier and Tombuntu) which involved editing theUnknownnoreply@blogger.com2tag:blogger.com,1999:blog-5368441961682763113.post-43767847159673557312009-01-20T22:49:00.001+08:002009-01-20T22:51:53.133+08:00Mounting Shared Folder in VirtualBox - Linux Host With Linux Guesti am using VirtualBox to run a Linux guest virtual machine in a Linux host (both Ubuntu Intrepid Ibex), and utilise VirtualBox's shared folder to copy files between host and guest.Sometimes, i would get the following error message when trying to mount the shared folder in the guest machine:/sbin/mount.vboxsf: mounting failed with the error: Protocol errorSearching on Google for the cause and Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-50764011560241065942009-01-07T22:22:00.002+08:002009-01-07T22:25:02.240+08:00My Conky Configurationi have just discovered Conky. It is an elegant, unintrusive, lightweight, yet powerful system monitoring application that can just sit in the background of your desktop. i use it to display the current time, weather conditions, as well as various system statistics.In this post, i shall share my Conky configuration, and hope that it will be helful to get you started on this tool.First, a Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5368441961682763113.post-11773026135771922822008-11-08T14:00:00.000+08:002008-11-08T14:01:03.428+08:00Google Desktop Gadget: On-Screen RulerThe On-Screen Ruler is a simple ruler gadget that helps you to align, and also measure the distance in pixels between your desktop elements (other gadgets perhaps). It has major and minor markings just like a conventional ruler, and you can click on its solid handle to rotate it (to use it horizontally or vertically.)Options for this gadget include:Ruler Thickness - Thickness of the ruler in Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5368441961682763113.post-48249543904066551792008-10-04T18:13:00.002+08:002008-10-06T23:35:22.513+08:00Google Desktop Gadget: Flickr Photo Framei have finally got my very first Google Desktop Gadget submission accepted and listed on the Google Desktop Gadgets listing page.The Flickr Photo Frame is a simple digital photo frame gadget that randomly displays a Flickr user's photographs.The main reason for writing this gadget in the first place, is that i wanted to randomly display my Flickr photos on my desktop. There are already a few Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-49661380607235783742008-06-17T22:58:00.004+08:002008-06-17T23:05:45.086+08:00JavaScrpt: parseInt - Remember the RadixWhen using the JavaScript parseInt global function, it is a good practice to always specify the radix (or number base), which is the optional second argument for that function. The radix that you would probably use most frequently, 10, is actually the default value in most cases, if that second argument is not specified. However, in a few special cases, it does not work that way, as i had found Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-59430671647447870202008-05-03T01:46:00.003+08:002008-05-03T01:52:11.232+08:00audio-convert: Mistaking Wave Files For WMA Filesaudio-convert (http://savannah.nongnu.org/projects/audio-convert) is a handy little bash script that simplifies the conversion between several audio file types, making use of various well-known codec libraries.The only issue i faced when using the script, was that it wrongly identified my wave files as WMA files. That is because one of the checks for whether a file is of the WMA format Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-83904288545881129622008-04-17T23:05:00.001+08:002008-04-17T23:07:24.364+08:00JavaScript Reminder - Always Declare Your VariablesHaving been developing in Java for some time, the practice of declaring variables (e.g. writing var n = 0; instead of just n = 0; for the first use of the variable n) comes quite naturally. Naturally, that is, except for when initialising a for-loop. Somehow, after getting into trouble with the browser a few times for writing code like for (int i = 0; i < n; i++) out of habit, i gradually Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5368441961682763113.post-59854942482434586982008-04-10T03:40:00.005+08:002008-04-10T03:48:15.526+08:00JavaScript - Absolute Position of an Elementi was in the midst of some HTML coding when i needed to be able to find out the absolute position of an element using JavaScript and HTML DOM. After looking through some online and offline references, and trying out some possibilities, i found that there is no element method or property that would give me the values that i needed. (The element.style.top and element.style.left attributes will onlyUnknownnoreply@blogger.com0