Archive for November, 2007

Friday, November 16th, 2007

Carry your Operating System in your Mini Drive wherever you go!


I found this very cool application on http://portableapps.com/. Features are as follow:

“Convenient

Now you can carry your favorite computer programs along with all of your bookmarks, settings, email and more with you. Use them on any Windows computer. All without leaving any personal data behind.

Open

PortableApps.com provides a truly open platform that works with any hardware you like (USB flash drive, iPod, portable hard drive, etc). It’s open source built around an open format that any hardware vendor or software developer can use.

Free

The Portable Apps Suite™ is free. It contains no spyware. There are no advertisements. It isn’t a limited or trial version. There is no additional hardware or software to buy. You don’t even have to give out your email address. It’s 100% free to use, free to copy and free to share.”

I have read about it before but it wasnt until today I finally found this application by chance. This program is especially useful if laptop/pc sharing is very prevalent in your organisation, or when you switch between machines very frequently. Speed is quite reasonable and you can easily share your operating environment with your peers in case you would like them to continue on your projects. And oh btw, it works only in Windows :S

del.icio.us Digg Facebook Technorati Google

Posted by Keith Ng | Filed in Novice, Software | Comment now »

 

Friday, November 16th, 2007

Singapore PHP User Group Nov 07 Meeting Review

Out of curiosity and support for a fellow developer, I accepted Michael’s invitation and attended his baby event yesterday. I reached around 7.30pm and was pleasantly surprised to see Hazel coming along with Euquin too. And it was over subscribed too! (darn.. looks like my support wasnt so helpful). Michael started the party at 8pm with his PHP crash course, but I missed almost the whole entire bit on the 2nd presentation to chat with a few old friends outside the room. The 3rd, from Uzyn of Ping.sg, was refreshing; Having been exposed to so many SMU style of presentation, geekish presentation is a fresh whiff of air. If you are interested, you could get more materials from http://blog.simplyjean.com/2007/11/15/get-your-php-user-group-presentation-slides-here/; I must say, I am immensely impressed with the live blogger, Jean, too.

 

Now for the review; Certainly, A+ for Michael’s almost 1 man show for this. Generally, this get-together was not bad. Not lousy, Not overly fantastic, but pretty not bad. Firstly, I’m not too sure how interesting it is to make experienced php coders to sit through the opening 1hr. Perhaps this cant be helped, since this event aimed to get as many people of different background together. I have to admit it was great for me, a non-php coder, coming from a purist Java background, with MVC framework like Struts my weapon of choice. PHP certainly looks fun to me! (I am trying to pick up ROR though right now too).

 

Next, moving on.. While going through Jean’s live blog on Raymond’s bit, I found several debatable points in the floor’s discussion and presentation. For happiness, peace, harmony and prosperity, I shall not elaborate too much on them. If you have read my very first post in this blog, I adopted a very neutral view towards open source solutions vs commercial solutions, so you will now how I feel towards the presentor’s arguements. I also wonder where that someone gets the fact that “most banks do not run Linux or PHP”. Maybe he/she meant something else like for frontend or for office work/purposes? Anyway, many banks I know of have extremely complicated technology infrastructures and organization that span globally from India, Singapore and even Hongkong, and they obviously do not run on a single platform all the time in their server operations. While PHP may not be adopted on the frontline of banks, they sometimes use it for intranets or some 1-time event websites.

 

The security workshop was a good refresher for me, with a couple of more web applications related security concepts which can apply to all other languages. However, at some stage, I felt the meet up was going to spiral out of control with questions popping out frequently, probably due to some rushing through of the presentation which defeated the purpose. By the time the whole thing ended, it was close to 11pm - something which I had not expected when I reached the seminar room at 7.30pm. Perhaps, each talk can be scaled down to just 30 minutes in future, with 10 minutes of discussion time in future! All in all… this was a relatively enjoyable event abeit the lengthy session. Unfortunately, I will not make it to the Dec session as I would be abroad, but I am sure it will be very much looked forward to by many others.


And yes, something was missing throughout. REFRESHMENTS! *hint hint* :D

 


OT(not related to event review, and warnings: technical dangers ahead): I have to also point out that web application developments arent that straightforward as some inside the room seem to think so. Yes I know PHP has its own MVC model too - afaik CakePHP is one of them. However, many PHP coders I have asked do not even know what that is (to date, Michael and I are still looking for CakePHP programmers for a project, please contact us if you are one!). I cannot comment much on how effective CakePHP functions as a MVC framework too, but my experience in using Java to code many web applications has been beautiful so far. I cant complain much about the support, the community, the elegance, MVC frameworks such as Struts, and commercial Java Servers for superior performances. The only thorn is probably EJBs for me, which its true intrinisic value is something I have yet to figure out. Similarly, some systems would require thread applications in the background on top of the web tier application. It is thus desirable at many times to use the same language for the entire system so the team does not have to deal with multiple languages. This is where Java and even ASP.Net would come in very beneficial for many companies; Disclaimer though: I do not know if PHP is a good language choice for thread or background applications (it can be done i think for scripting), nor know much on perl’s features. Perhaps, to draw a more compelling comparison of PHP’s true value compared to the rest, I should try developing a PHP web application myself (=

 

On the point that banks prefer more established technology, thats spot on, but its more than just that too. In evaluating web technologies, as mentioned earlier, we should look at other factors such as framework and number of developers who understand that framework, and availability of established vendors who can deliver robust applications. This goes as well for MNCs. Now, the golden rule of IT development is the all familiar “if it aint broken don’t fix it”, which these companies would follow religiously, especially when these platforms are already working so well for them. Even if PHP is established, I doubt the switch to PHP will come so easily. Another suspicion I have, though I cannot confirm, is that PHP programmers generally charge less than their ASP, JAVA peers, and thus are more suitable for SMEs and start-ups.

 

 

* I apologise for this very unstructured review, as I am doing this at the wee hours of the morning. *

del.icio.us Digg Facebook Technorati Google

Posted by Keith Ng | Filed in Novice, Programming, Business | 4 Comments »

 

Wednesday, November 7th, 2007

Looking to innovate a successful IT business? Get your hands dirty!

Recently in our shared office in SMUBIG, I had a chat with Leonard Lin, one of the key founders and drivers of Tyler Projects (already relocated elsewhere though!), who has brought us Battlestation in Facebook, and Mobile Weapons. Do check their very cool applications out! Anyhow, we discussed very briefly about the business of innovations in the IT world; A theory popped out of my head. Looking at the most successful technology companies in the world - Apple, Microsoft, Google, Oracle, and recently Facebook, they all had a very common similarity.

 

 

They all had founders who got their hands dirty.

 

 

All of these companies had founders and leaders who did everything themselves, or at least got heavily involved in the developments. Bill Gates hid in his catastrophically-sized room for months while coding; Facebook was almost singled handedly coded by the founder and current CEO Mark Zuckerberg (of course, with a little support from his buddies); Google “Wonderkids” Page and Brin both coded their PageRank algorithm and offered many companies who laughed them off, and the rest they say, is history. There are many more examples in Dell, Creative and LinkedIn. And now, the closest to heart local example whom I mentioned right in the start; Leonard and his team of developers. Now, dont kill me for stating the obvious, but this is exactly what a geek can have in advantage over many people! building a giant business on their computers. My point is, you can’t just have a great IT idea and expect some others to execute it all beautifully and perfectly for yourself. Heres 5 reasons why.

 

 

1) IP Issues. Heard of Connectu.com? Mark Zuckerberg was supposed to code this pre facebook social network for them as a paid developer. He is currently facing a lawsuit and charge that he had stolen the concept from his former employers.

 

 

2) Failure in translation. This is a classical case of vision mismatch; the CEO articulated his ideas to the CTO. The CTO builds him something. The CEO screamed and ranted. The CTO remains helpless. The programming team scratched their head. The COO shaked his head in disbelief. The designers cried their heart out after learning they had to change the whole design.

 

 

3) Lack of ownership. The programmer and his master, the visionary sit down together. The visionary promises 10% equity stake to him. The programmer must finish everything. If everything works out nicely the visionary will be CEO and the visionary will get rewarded. If everything fails, the visionary does not lose anything. The programmer wasted his time. If you are the programmer, you would probably give your all, 110%.. NOT.

 

 

4) Misalignment of vision. The developer and the CEO have different ideas and dreams. The CEO wants a cube, but the designer thinks a bubble is nicer. Would this partnership ever work out? Yes, if the CEO force his ideas on the developer, and the developer became grumpy, and finally deliver a half past six job. yay.

 

 

5) Inexperienced IT Leader. The CEO thinks technology is magic, and expects the developers to give him the world; 3 months down the road, the team gave him half of what he expected; the least important features which took more time then any other important functions.

 

 

Of course, these problems can be mitigated through counteractive measures in each of them. However, that technically-inexperienced leader should be articulative, charismatic and trusted as well. So far, I have found very few examples of such leaders in innovative IT products. Now, the innovation process is very complicated and tedious - clearly, just having an idea is not sufficient; nor does having just the technical skills. If you have a wonderful and killer innovation in mind, I urge you to either pick up the relevant IT skills yourself, or establish a clear rewarding system for your team, properly outlined.

 

On the first point, I recently heard that a middle aged friend is picking up Ruby On Rails. It did not surprise me a bit; That bloke has wonderful Web2.0 ideas and concepts, and probably want to build a killer web app himself. I applaud him on his efforts. On my second point, no one likes to work with nothing promised, and thus you will get nothing too. If you have some spare cash and want to outsource it, sure, do it, but make sure for your money that company understands exactly what you want, and does not steal your idea somehow. If not for these potential touchy issues, at least, getting your hands dirty will mean saving you some costs (yes yes… theres the opportunity cost… but well…. )

 

Finally of course, a best friend who is a geek would really help your business idea a long long way. Trust me, if not, at least trust Steve Jobs (: Start befriending one now!

del.icio.us Digg Facebook Technorati Google

Posted by Keith Ng | Filed in Expert, Novice, Business | 2 Comments »

 

Saturday, November 3rd, 2007

Searching Across Databases: Google Scholar, Meta Search or Federated Search?

As analysts/consultants/students/marketers/startup wannabes, the one thing you often rely on for reports that are truly worth evaluating and reading is a credible source of database. Many companies and academic institutions subscribe to these important databases such as Economist, ThomsonOne and Factiva.

 

However, a common problem associated with these collection of journals and data repository is in finding the right one itself. It would be inefficient for that individual to search for the required information in each of these database. Shuli and I examine the different possibilities in facilitating an effective search across academic databases in a paper, which is available at http://www.keizng.com/docs/Search%20engine%20comparision.pdf using SMU as the base for the case study. The following is an excerpt from the article.

 

The library at Singapore Management University (SMU) subscribes to a number of academic
databases which contain collections of journal articles, conference proceedings and working papers
among other documents. These are frequently accessed by students and faculty who require the
documents in their course of their daily research and work.

 

Currently, the process of searching and retrieving articles is tedious as it is not possible to query
different databases at the same time. For example, documents pertinent to the topic of “Search
Engine Indexing Technologies” are present in numerous journals by different publishers who each
maintain their own database, so these relevant articles could be spread across various databases
like JSTOR, ScienceDirect and EBSCOHost. In order for a user to obtain articles from a variety of
sources, he has to access each database individually from the SMU library website and then perform
his search repeatedly, across every database that might contain relevant documents.
This method is laborious and time-consuming, and often results in users restricting their search to a
small subset of the available databases, as it would be too troublesome to repeat the search for all
the known databases.

 

As such, there is a high possibility that documents relevant to a user’s
research are neglected because they are found in some of the smaller or lesser known databases.
Hence the need for an integrated searching experience. After speaking to the librarians at SMU
about this problem, we understand that they are looking to alternatives to the current search process,
and have short listed a number of approaches that could address the above problem. This
document aims to describe and evaluate these approaches in order to determine the one that can
best address the needs of SMU

Quite obviously as seen in the article, the approaches being evaluated are 1)In-house search engine method (which can also be considered as Federated Search, but not for this report), 2) Google Scholar method and 3) Meta Search Method (which for the sake of the report is also considered as Federated search, though some people would consider them as radically different styles). I hope this article will somehow find its way to the desktop of the librarians, and that students will find it useful in a tip or two on Google Scholar within the report (:

del.icio.us Digg Facebook Technorati Google

Posted by Keith Ng | Filed in Expert | Comment now »