Wednesday, June 17, 2009

Java is still the most popular programming language

Details can be found at "TIOBE Programming Community Index for June 2009" (URL: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html).

The top five programming languages are:
  1. Java
  2. C
  3. C++
  4. PHP
  5. (Visual) Basic
Java, as a programming language, will rule the world of programming for years to come. What is dynamic and changing is the landscape of frameworks built on top of Java.

Monday, March 30, 2009

10 Must-Know Topics For Software Architects In 2009

The original post can be found at http://hinchcliffe.org/archive/2009/03/17/16712.aspx.

Here's a list of the most important new areas that software architects should be conversant in and looking at in 2009:

10 Must-Know Topics for Software Architects in 2009

  1. Cloud Computing.
  2. Non-relational databases.
  3. Next-generation distributed computing.
  4. Web-Oriented Architecture (WOA).
  5. Mashups.
  6. Open Supply Chains via APIs.
  7. Dynamic Languages.
  8. Social computing.
  9. Crowdsourcing and peer production architectures.
  10. New Application Models.

Wednesday, September 24, 2008

Why Tree Structured Cache is implemented in JBoss Cache?

The first version of TreeCache was essentially a single HashMap that replicated. However, the decision was taken to go with a tree structured cache because
(a) it is more flexible and efficient and
(b) a tree can always be reduced to a map, thereby offering both possibilities.

The efficiency argument was driven by concerns over replication overhead, and was that a value itself can be a rather sophisticated object, with aggregation pointing to other objects, or an object containing many fields. A small change in the object would therefore trigger the entire object (possibly the transitive closure over the object graph) to be serialized and propagated to the other nodes in the cluster. With a tree, only the modified nodes in the tree need to be serialized and propagated. This is not necessarily a concern for TreeCache, but is a vital requirement for PojoCache.

With POJO cache, the feature of object cache by reachability is well supported by the tree structured cache. Object cache by reachability is basically recursive object mapping into the cache store. For example, if a POJO has a reference to another advised POJO, PojoCache will transparently manage the sub-object states as well. During the initial putObject() call, PojoCache will traverse the object tree and map it accordingly to the internal TreeCache nodes.

Another similar research can be found in the following paper:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.2819

Thursday, July 10, 2008

Setting Up StarHub Maxmobile (Huawei E270) on RHEL 5.1

There are posts from other people saying that this can be easily configured in ubuntu. However, that doesn't really applies on RHEL 5.1. Unfortunately, I am using RHEL 5.1 on my laptop as preconfigured by our IT helpdesk. I have no intention to reinstall a ubuntu or Fedora as I will have to figure out how to configure other stuff like VPN, email, etc all over again.

RHEL is mainly a server OS. I think most people don't use RHEL on desktop/laptop except redhat employees. I have spent some time figuring out how to configure the Huawei e270 modem and getting it work on RHEL. I think it might be useful to share the information here in case some people need to do the same.

First thing first, you need to make sure that the modem is recognized properly. Most often the modem is recognized as a USB storage instead.
1) Download usb_modeswitch from http://www.draisberghof.de/usb_modeswitch/ and extract the files to /opt/usb_modeswitch, for example.
2) Plug in Huawei E270 modem and execute the following command as root.

# /opt/usb_modeswitch-0.9.4/usb_modeswitch -v 0x12d1 -p 0x1003 -H 1

You may need to execute the same command a few times until you see the following message:

Looking for default devices
Found default devices (1)
Prepare switching, accessing latest device
OK, Huawei control message successfully sent.
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye

3) Now if you execute "ls /dev/ttyUSB*", you should able to see a list of USB devices.


Second step is to dial-in to StarHub 3G network. Login as root and execute the following commands:

# chmod -c a+rwx /etc/wvdial.conf
# chmod -c a+rwx /etc/ppp/pap-secrets
# chmod -c a+rwx /etc/ppp/chap-secrets

Edit the file /etc/wvdial.conf and add the following content:

[Dialer hsdpa]
Modem = /dev/ttyUSB0
Modem Type = Analog Modem
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 =
Phone = *99#
Username = star
Password = hub
Ask Password = off
Dial Command = ATDT
Stupid Mode = on
Compuserve = off
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = off
Check Def Route = on
Auto DNS = on

After these are done, execute the command "wvdial hsdpa" and you should be able to see the following output:

--> WvDial: Internet dialer version 1.54.0
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Jul 10 15:32:48 2008
--> pid of pppd: 5031
--> Using interface ppp0
--> local IP address 10.13.165.229
--> remote IP address 10.64.64.64
--> primary DNS address 203.116.1.78
--> secondary DNS address 203.116.254.150

Good luck!

Monday, June 16, 2008

Nine Trends Driving Business in 2008

Source: Wired Magazine: 16.04 (http://www.wired.com/techbiz/it/magazine/16-04/bz_opensource)

Open Source as Career Opportunity for Developers

Esther Shindler, editor at CIO Magazine, has a great article on this topic. She says:

Sometimes, there isn’t much you can do to kick-start your career. Not everyone can be lucky enough to get involved in a high-profile project at work, or to develop a talent in a technology that’s suddenly in-demand. But it surprises me when IT professionals who aim to move up the career ladders don’t take advantage of one resource that’s a win-win solution all around: get involved in an open source project.

This is particularly important to women in IT, who can feel that it’s hard to get noticed in their companies (see The Executive Woman’s Guide to Self-Promotion for general guidelines on how to counter that problem). But it really applies to anyone who wants to gain experience and visibility in the IT department, even if you don’t care about becoming a rock star.

As a participant in an open source project, everything is in your control. You pick the project that you think is the most valuable, or in which you can develop the skills you need but can’t justify on your résumé. In the universe of open source, you’re judged only by what you contribute. Corporate politics aren’t an issue. If your code is useful, or your technical documentation is appreciated, or you’re just a welcoming voice on the community IRC channel, you have a good chance of being invited to become a committer.

Linux Desktop Applications

OpenProj by Projity is a desktop replacement of Microsoft Project. OpenProj has equivalent functionality, a familiar user interface and even opens existing MSProject files. OpenProj is interoperable with Project, with a Gantt Chart and PERT chart etc.

Google Desktop enables desktop search with Google and add Google Gadgets to customize your desktop.

CUPS-PDF project is a PDF writer backend for CUPS. It is designed to produce PDF files in a heterogeneous network by providing a PDF printer on the central fileserver. It will convert files printed to its queue in CUPS to PDF and put them in a per-user-based directory structure. It can execute post-processing scripts, e.g. to allow mailing the results to the user.

OpenOffice.org
is a cross-platform office application suite available for a number of different computer operating systems. It supports the ISO standard OpenDocument Format (ODF) for data interchange as its default file format, as well as Microsoft Office '97-2003 formats, among many others. The functionality of OpenOffice is enriched with the extensions like templates, addons, etc.

Pimp your desktop: automate desktop wallpaper with Webilder.

Firefox 3 web browser is available for download since 17th June. With more than 15,000 improvements, Firefox 3 is faster, safer and smarter than ever before.