May 31, 2006

Do You Know What Are "APIs"?

**Excerpt of IM conversation**

Developer: Hey! I need some help!
Me: Wassup?
Developer: You know anything about "Invalid SOAP Envelope" error?
Me: Hmmm... Not very sure, but it looks like the SOAP message you generated could have an issue.
Developer: ...
Me: Print out the SOAP message you're sending over.
Developer: How?
Me: You're using JAX-RPC, rite? Check the API to see how you can print out the SOAP message..
Developer: API? Huh? I dunno how-le...


Well... I hoped that the developer didn't mistake API for "fire". ^_^

In Malay, API translates to fire. However, for us in the IT world, API is something very common that we come across with everyday at work.

If you must know... API = Application Programming Interface...

In the days of old, APIs were commonly known as libraries (esp if you were a C/C++ programmer) and during those days, some were "free" or proprietary. (Opensource back then was a "hippy" concept.. Kekeke) Anyway, if you were a C/C++ programmer, you would have been very familiar with the header files that someone would send over and from that file (plus documents), you would have an API to work on for your application.

Anyway, for Java, we benefit a lot more because we can have HTML-based documentation for the methods and classes that we built. This is the infamous Javadocs. It's nifty that to build the JavaDocs for your application, you don't need additional tools as it comes FOC with your standard JSDK. So, this means, once you're done with your development, you've compiled your code into little neat JARs (Java ARchives), you can run javadoc from command-line or IDE to generate your HTML-based documentation!

Neato, huh! ^____^

That's a little bit of history for ya.. So, this means for Java, the API would encompass not only the JARs that you get, but the JavaDocs as well. It sure beats writing a lot of documentation to document the methods!

Now that you know what are APIs, do you know how to use them? -____-|||

A lot of developers I know don't even know how to use the standard JavaDocs from Sun. It's sad... In fact, some don't even know that they even exist!! Perhaps they are the "CnP" (Cut n Paste) developers, who copy other people's code and just use it as they feel that they are not experienced enough. However, something as easy as finding out what methods a class has shouldn't be too hard, right?

Anyway, here are a list of very useful JavaDocs that you may want to keep bookmarked on your browser. If you're a bit kiasu, you can download the JavaDocs and create a bookmark to view it locally.
For the J2EE folks out there, the following is very useful:
Hope this helps someone out... Kekeke.. ^____^

Software Development 101

I got this from my friend's blog. Have a look!!!

TOP NOTCH!!!

May 27, 2006

Would You Be Missed?

It has been said that large corporations is a maze of levels of bureaucracy, thus one can get lost in between the levels quite easily. I've never realized how true this can be. (^_^)

I've read some articles on how certain CEOs have tried to change corporate culture from being a cold, economic engine turns the wheels of finance, to becoming a very friendly atmosphere where people can interact, work and play everyday, improving their own lives, and thus, the bottom-line of the company.

A couple of days back, I had a colleague who was leaving the company. He had tendered his resignation some time back and was working hard until his very last day before saying goodbye to his team mates and anyone else he knew. My cubicle was across his but we barely spoke. I just get to see the back of his head whenever he's around. (-_-)''

Anyway, I hardly knew the guy but felt that I should have gone over countless times to have a chat but he seemed so busy. He was either always on the phone or busy typing out documents and writing codes everyday. A real hardworking employee.

Well, today, I came to work, noticed that his stuff on the table was gone, but his cubicle tag was still there. I'd guess the folks at helpdesk hadn't assigned anyone to the desk yet. I went on with my work, but as a test, I decided to IM a few folks and asked if they had noticed anything new. (^_^)

Me: hi!
Colleague: hi!
Me: did u know that xxx's last day was yest?
Colleague: no-wor! he resigned???
Me: yea.. looks like everyone was too busy to notice that he had left the co for good.

A lot of the dept members "knew" this guy by name but never really got to know the guy. So, it got me thinking, me, being in a large corporation, if I ever were to leave or drop off the face of the earth, would anyone miss me?

Perhaps I need to be a bit more specific. I'm a noisy person. So, I'd guess the people sitting around my cubicle may notice but how about the rest of the dept on the same floor? Probably not... -__-|||

It's a sad fact, in a corporation of thousands of employee, when a few employees leave, people may not notice, but the effect of you leaving on your fellow team mates or people close to you may be great... esp when they have to take over the stuff you left behind. (^_^)

May 23, 2006

"nobody" Is Somebody Too!!

A couple of weeks back, I was thinking about "nobody" and the effect this system account had on an application.

Never did I realise how important this account is. :)

We made some permission changes to some files and after a quick refresh of the app server, we found that the applications were no longer accessible. **shock**

Well, the app server was running happily, but little did we know that our little permission changes affected "nobody"...

After digging around and finding out that our file permission changes affected "nobody"'s ability to access some files during a process, we had to restore some of the changes and all is right again. **phew!**

Well, lesson learned. One must not mess around with "nobody" or a process owned by "nobody" until you fully understand what "nobody" does. But then again, why would you want to use "nobody" if it may pose a security risk?

Probably some good sysadmin guy can answer this question for me one day. 9^_^)

May 18, 2006

w.bloggar

I've been blogging for a while and I hold a few blogs scattered on the blogosphere and I've always used the blog's web-based blogging tool despite having the opportunity to blog via e-mail or mobile (if ever).

Back in 2004, when I first started one of my blogs, I discovered a neat little tool called w.bloggar. I found it such a hassle to go to the blogsite to login and post my rants/random tots that I went "googling" around for a tool to help me achieve the most mundane of tasks, publishing my blog.

Anyway, for those of you who like screenshots, here is a sample screenshot of the software. BTW, its costs you RM0.00, i.e. F R E E!!! How does that sound?

May 17, 2006

Getting a New PC...

I get this question most of the time... "Can you recommend a good PC for me?"

I usually ask, "What do you do with it?" and they'll always answer, "Well, you know, stuff... like surf the Internet, maybe play some games, I'll probably do some work with it as well."

I will usually sit down with this person and work out a proper spec with them because based on their requirement, the
PC would be either more expensive or cheap. (^_^)

These days, we are just so spoilt for choice. We have PCs of so many variety and we can "pimp" them up as much as we like by fitting in a plastic see-through panel to light up the interior of our PCs as well as put in customized knobs and buttons to control various audio and video functions. These are definitely NOT for your average PC user.

Anyway, surprisingly, some IT professionals came up to me, asking me what kind of PC they should get and whether the spec was good enough. Its a very strange feeling with work colleagues working in the IT industry comes up and asks you this question when you think that they should know better... :P However, I reckon that these people had no interest in PC hardware/software because they are just pure developers, even though some of them have about close to 10 years of being in the industry.

Oh well, when these individuals come to me, I usually give them a better spec on what they would need as I reckon that they would be doing some work from home (because some of them don't have laptops from work) and so, they would be bringing their work home using USB thumb drives.

Anyway, here's my regular spec for someone who's NON-IT professional, who would prefer to use the PC to just surf the net, maybe store some pictures/movies from their digital camera, and perhaps do a little bit of light office work. Of course, the budget would determine the speed of the CPU and amount of RAM as well... (^_^)

1. CPU: P4 3.0GHz (Hyper-Threading)
2. Hard disk: 80 - 100GB
3. RAM: 256MB (single piece)
4. Audio: Standard
5. Video: Intel Graphics Media Accelerator (embedded on motherboard)
6. Ports: USB 2.0, Firewire (optional)

1. CPU: Speed can be a factor, depending on what you are doing with your machine. If the PC is used for working on documents and odd spreadsheet or two, a decent processor speed of 2.4GHz should suffice. On the brand of the CPU though, well... It depends. I'm all for Intel (yayyy!!!) but I'm not ruling out AMD chips either. AMD chips tend to get a little hot and so, hopefully, the CPU casing would have enough fans to keep the PC nice and cool. If you play games, well, you've got to get a pretty decent CPU in order to keep up with the latest specs required to play that favourite FPS of the day - F.E.A.R, Half-Life 2, etc... BTW, don't dismiss the dual-core processors out there. Hee...

2. Hard disk: 40GB or 60GB is probably what most vendors provide these days. However, some people "neglect" the fact that some of the hard disks these days come with a speed of their own. Standard is 5400rpm (speed of which the disk spins so that you can read data faster), while higher ends come in 7200rpm. Of course, there's the issue with whether to get SATA or not. Well, to cut the long story short, getting a SATA hard disk is very good (a ltitle pricey though) because data transfer speeds are higher than standard IDE. Ok, in short, faster data transfer speeds, the faster some of your applications may run.

3. RAM: Plenty of RAM is good but if the PC's processor is slow, sometimes, it just doesn't cut it. Why do we need so much RAM? An application needs two important factors, enough memory to store some of the processing work and a good CPU processor to proccess that work. If basic document/spreadsheet work is being done, a decent 256MB should be good enough to start with. If you're looking to the future, get 512MB at least. For developers/gamers out there, start out with 1GB of RAM and if possible, max it up as much as your pocket can handle! (^_^)

4. Audio: Unless you want to turn the PC into a media center, get a good audio card with Dolby or THX support. If spare cash is available, bundle in those 5.1 speakers as well. Kekekeke...

5. Video: Tricky business here. Plenty of brands and make out there... Anyway, to get through this minefield, its a very simple business. If graphics editing and gaming are involved, avoid the integrated graphics card and opt for a separate card. These days, the graphics card comes with some RAM or VRAM of their own. Standard starts from 32MB and high ends can reach up to 1GB or more. As for brands, I'm kind of impartial but of late, I'm very impressed with ATi branded cards because of the performance provided. Hehe, that doesn't mean that I'm not accepting nVidia cards too.. (^_^)

6. Ports: Well, the standard would be to get 4 ports for USB, however, if you plan to have USB, make sure its USB 2.0. Why? USB 2.0 transmits faster. Don't worry about support for your older USB devices, because the speed will naturally decrease to match what version the device can support. Something interesting would be Firewire, which allows you transmit data at lightning speeds! Its quite popular with the people in multimedia world because they need to upload/download huge chunks of data. Another thing overlooked is probably Bluetooth support. Well, you can get the Bluetooth dongle for pretty cheap and it connects to your USB port.

Anyway, this is just my 2 sen on what I deem on the qualities of picking up a basic PC. If you want to talk about modding it, well, its a different forum altogether. If you have other comments to add on, please feel free to do so! Somet of the stuff I mentioned could be already outdated or completely wrong... (^_^)

Oh well, here's a good site to go to check out all the prices and information regarding PCs --> Lowyat.Net....

Meanwhile... I'll just dream up my dream PC. **slurp**

May 11, 2006

Who is "nobody"?

I had a very interesting question from a colleague today...

Colleague: Angie, got a question for you?
Me: sure, go ahead.
Colleague: who's "nobody"?

We've been working on re-organizing some folders lately and came across some weird file/folder permissions on the UNIX boxes, which probably date back to... I don't know.. Prehistoric times. Just that nobody had bothered to get the folders and files permissioned properly and so, naturally, we would expect to come across some weirdness.

Anyway, my answer was that "nobody" was a system account, which in our case was probably used by some script to generate some files. However, this answer is just half-complete.

It turns out that this account, which is a system acount has little priviledges, such as read-only access to files and folders. However, like any *nix account, you can of course grant more priviledges to this account, BUT you would have to bear the consequences of any security costs. :)

There are a number of articles out there which will deal with not using "nobody" as a process owner. Anyway, for those of you out there handling web server, best to have somebody (admin, not root) own the web server instance processes, so that the web server's security isn't compromised.

May 09, 2006

It's Very Easy to Offend Someone Without Looking At Them

My blog title this week seems a little cryptic. Anyway, my topic is about communication & ettiquete.

Strange enough that if you leaf through all the job ads, career tips and even our daily news, you will find one common theme that keeps repeating over and over again - C O M M U N I C A T I O N.

If you look at the job ads, you will find that even in a job such as computer operator, the criteria stated there is to "have good communication skills" or "able to communicate with different global team members", and for some job ads which are just a few lines long --- "able to speak and write XXXX <--- language". Anyway, I've been in IT for a while, and one thing I find lacking in a lot of IT professionals is their ability to communicate. If you have to describe your idea/concerns with another person through speech, I'm very sure you'll need to be able to do the following:
  1. Speak clearly & concisely (I'm clearly not concise --> pun)
  2. Listen as you speak
  3. Think before you speak i.e. plan your thoughts

These are just some basic guidelines on communicating your ideas across. What about writing them down?

This is where things get very tricky. Be it e-mail or instant messaging, when you communicate your ideas across on "paper" (virtual or hard copy), you must remember that you're dealing with a faceless person. That person may not mean to be rude or impertinent in that e-mail or letter but because we are reading it at face value, sometimes, that little voice in your head will make it sound like that.

This is exactly what happened to me the other day. This is a sample of our conversation,

Friend: So nice, 6:30pm, people can ciao liao.
Me: I see. Well, going back early is a choice. Its up to you if you want to go back early or not.
Me: I've given up on looking to see who is going home early or late because it does not serve me any benefits.

Friend: I'm not gonna talk to you now.

My friend probably thought I was being a little condescending, but I meant well. So, I left the conversation as that, let my friend cool off a little bit. Its hard NOT to take offence at how people e-mail or message you over on instant messaging because you don't see the other person's face.

That's why, I always try to put a little smiley to let people know that its not that serious.

Perhaps, step one of being a great communicator is to watch out for stuff like that. Knowing that in this age, we have to deal with a "faceless" customer, we probably should watch our language, spoken (through the phone) or written.

Humans are social animals and we take our social cues from the other person we're interacting with. So, without the face which goes with the e-mail or voice, sometimes, we form our own facial image in our mind and that can be skewed or biaised perception. If you think your boss is a big flirt, you'll probably have a picture of him that way in your mind as you're reading his e-mails, possibly not taking the e-mail for its content but for its face value only.

So, how can we remove that bias perception? Its very difficult and its a constant challenge. I'd suppose, probably teaching someone to use punctuation properly would dramatically change the way an e-mail/letter sounds. For e.g.,

The panda eats, shoots and leaves.
The panda eats shoots and leaves
.

Which one is correct? Its up to you. You can say that the panda only eats shoots and leaves or, does the act of eating, shooting (possibly a hunter) and then leaves the scene of crime. Same sentence, different meaning with proper punctuation. Ref: Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation.

So, watch your language, be it official or unofficial, because it might just offend someone and you may never know it. :). Frankly, communication skills also has to do with language skills, so , be it English, Chinese, or Yiddish, if you are not mastering the language, you're bound to suffer more communication issues....

May 04, 2006

Gerascophobia - Fear of growing old...

Interestingly... This came to mind because I had just wished my best friend a Happy Birthday a couple of days back.

Anyway, just this morning, she just sent me an SMS to proclaim that she's not her new age but have regressed back to her previous age. (-_-)

Confused?? You bet I am!

Oh well, I was thinking that by the time we hit a certain age, certain unrational fears come to mind and certainly if taken a bit too seriously, it probably might develop into a phobia. As described from Wikipedia,
A phobia (from the Greek φόβος "fear"), is a strong, persistent fear of situations, objects, activities, or persons. The main symptom of this disorder is the excessive, unreasonable desire to avoid the feared subject. When the fear is beyond one's control, or if the fear is interfering with daily life, then a diagnosis under one of the anxiety disorders can be made.
Anyway, I think all of us have our shares of phobias. Perhaps the most common one is acrophobia - the fear of heights. I suffer from this but its under control. I can't bear to be at the top of the building and I will freeze if I have to board an escalator which spans across two floors - like what they have at Berjaya Times Square. ;)

I remembered being so fearful while boarding one escalator in Melbourne (Russell St station, I think) that I had to hold one to a friend, while gripping the railing of the escalator, my knuckles white with fear. I kept looking at my feet, all the while thinking that I might fall backwards and hurl tumbling down the escalator. It was a terrible 20 minute ordeal which felt like an eternity.. Yes, the Russell St station has a very long escalator. I never stop there. I usually would prefer to stop 1 stop before and then walk all the way up to the Melbourne townhall. Hehe..

Oh well... I found this little link which is a dictionary of phobias--> Dictionary of Phobias

Strange what the mind can do to the body when in the flight/fight response. (^_^)

P/S: Gerascophobia can be quite common, look at all the stars going for plastic surgery and botox injections.

Related Posts with Thumbnails