<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6024451076279362926</id><updated>2024-09-06T08:56:00.069+07:00</updated><category term="Information and Technology"/><category term="Computer Joke"/><category term="Campus Stuff"/><category term="Programming"/><category term="Icon and Template"/><category term="Software"/><title type='text'>THE TONES OF ILLUSION</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-4307177573255976483</id><published>2009-11-13T14:17:00.011+07:00</published><updated>2010-08-10T18:35:45.194+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Is it a dream?</title><content type='html'>I read a good article about the work of a programmer or software developer. I quite agree with his idea, I really can&#39;t work in that SUCH environment.&lt;br /&gt;
Yeah.. those are our dreams, fantasies, visions and realize those stuffs with special language that can be understood by electronic device or machine.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;When we are dreaming, &lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;please don&#39;t bloody hell wake up us&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;... &lt;/span&gt;&lt;img alt=&quot;takbole&quot; class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/68.gif&quot; title=&quot;takbole&quot; /&gt;&lt;br /&gt;
Because ...&lt;span style=&quot;font-style: italic; font-weight: bold;&quot;&gt; &quot;the constant interruptions; yes; those can really hurt the quality of code.&lt;/span&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
Bravo!! Check this out...&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;
It was a long time ago since I started to think of a ways how can I explain to different sorts of people just how the programmers work. To the people that aren&#39;t involved in any similar sort of activity or simply NOT programmers, NOT Software Developers as they are called these days. What happens in that geek mind when his eyes seem to be staring at the monitor and fingers sporadically cluttering over the keyboard ? I found it difficult - if not entirely impossible - to explain that sort of thing to just anybody.The whole human population seems to be split apart into those who do know how it works and those who don&#39;t have any idea. Obviously those who do wouldn&#39;t want to know any explanation except in the situation when they themselves are in a position requiring them to come up with an explanation. Those who don&#39;t have a clue on what happens in a geek’s mind may just not be interested at all - or have no chance to do that as it is all over their mind as they seem to think.&lt;br /&gt;
This year during my annual holiday I finally came up with an idea which I believe may shed some light on a subject. It may just allow an ordinary person to get an idea on what is going on in a geek’s mind when it works.&lt;br /&gt;
Enough with prelude! Here it is - how the programmer’s mind works:&lt;br /&gt;
&lt;br /&gt;
The work of a programmer is practically A DREAM.&lt;br /&gt;
&lt;br /&gt;
Sounds silly and simply untrue isn&#39;t it?&lt;br /&gt;
&lt;br /&gt;
Well. If you would like to get yourself in programmer’s shoes and start to understand his work from the inside – then that is a concept you need to follow. You should simply imagine that The Programmer IS SLEEPING when he is WORKING.&lt;br /&gt;
&lt;br /&gt;
Product of a programmers work is a dream, the vision of the sleepy night, the fantasy. It is written in a special language for electronic device to continue its existence when programmer is awake or switches himself to another dream.&lt;br /&gt;
&lt;br /&gt;
You may want to think of it if it was like a programmer just taking a task or an exercise, writing some program and the task is solved. It is actually never working this way.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s take a maze for example. There is a task for the programmer to come up with an algorithm of finding the way out of the maze. When a programmer is working on this task he isn&#39;t just a God&#39;s Finger showing the directions to a little girl lost in a great maze. He isn&#39;t that girl or the walls of a labyrinth either. He is actually all of that in a same time. In order to solve the task he must BECOME the labyrinth, the walls, the lost little girl and whatever else may just came along with it. It is not a figure of the speech - the programmer is literally SLEEPING and DREAMING that all in his mind.&lt;br /&gt;
&lt;br /&gt;
When you watch the programmers work from a side you are effectively watching a person sleeping and dreaming. Can I ask you if you are getting to sleep very easily?&lt;br /&gt;
&lt;br /&gt;
Most people take the process of getting to sleep very seriously. For many it requires a special sermon to get to sleep. Some people do it quick, some do it very slow. Some even have trouble getting to sleep when they need to, so they take pills or make themselves some special tea. Basically there is a very tiny percent of people who are getting to sleep as easy as a snap of two fingers.&lt;br /&gt;
&lt;br /&gt;
The same story is true about programmers. Process of beginning to work for them is just like it is for an ordinary person to get to sleep. None of them can just start working like most people can&#39;t just tell themselves - &quot;Start sleeping&quot; and become knocked off. There is also no common way of doing it as there is no common way of getting to sleep.&lt;br /&gt;
&lt;br /&gt;
Some who count sheep in their mind live here in New Zealand. Some find it absolutely necessary to watch TV to become sleepy. Some can&#39;t switch themselves off without reading. There are all sorts of breathing, counting, attention dissipation, special pose practicing and even more bizarre ways of making yourself just to get to sleep. I In a programmer’s world, it’s the same procees for getting to work.&lt;br /&gt;
&lt;br /&gt;
So what is it to be done in situation like that? How do we deal with all those high-salary professional sleepers, you may ask.&lt;br /&gt;
&lt;br /&gt;
Here it is. Let&#39;s say you are NOT a programmer and somehow directly or indirectly your are interested in getting productive results from a programmer. In this case you are interested in understanding of how to deal with your programmer more effectively, so he would be able to produce the best productive results possible.&lt;br /&gt;
&lt;br /&gt;
Imagine that there is EVERYTHING at stake and it all depends on results of your sleep. Everything - your life, the life and future of your children, your career and mortgage payments, literally everything. It is even more - there are lives of people flying in aircrafts, their money on banking accounts, their career and their personal little secrets in social networks. It is ALL depends on how good your sleep is going to be. Not just one sleep. EVERY ONE and EVERY NIGHT. Every night you are going to sleep knowing that it all depends on how good you are going to sleep today.&lt;br /&gt;
&lt;br /&gt;
Imagined?&lt;br /&gt;
&lt;br /&gt;
That is exactly how it is for programmers! Literally.&lt;br /&gt;
&lt;br /&gt;
It is just for you it looks like you only asked a simple question. Just asked what the time is... just that.&lt;br /&gt;
&lt;br /&gt;
How about I ask you what time it is sometime around three in a morning?&lt;br /&gt;
Nothing biggie isn&#39;t it? Just asked a simple question. I just asked. You just answered and then you can keep sleeping.&lt;br /&gt;
Not a biggie. Just once in a while I&#39;d ask you something not very difficult to answer. Something like - &quot;Have you checked your E-mail recently?&quot; There is nothing to worry about, just yes or no answer would be sufficient and then you can go get your sleep again.&lt;br /&gt;
&lt;br /&gt;
Is it now easier to imagine such situation?&lt;br /&gt;
&lt;br /&gt;
Do you still remember that EVERYTHING is still totally dependent on how good your sleep is? It is still in account, no one taken that condition away. If you sleep is bad - people will die. And I am still asking those simple little questions time to time during your sleep.&lt;br /&gt;
&lt;br /&gt;
Feeling like dreams a sweat now?&lt;br /&gt;
&lt;br /&gt;
How about sleeping and just a little bit watching TV. AND just a bit listening to radio. AND just a little bit checking your E-mails time to time. AND may be sometimes helping me getting some stuff from grocery. Can you do that?&lt;br /&gt;
&lt;br /&gt;
Would you be able to do it every day, five days a week, forty eight weeks a year?&lt;br /&gt;
&lt;br /&gt;
If you want life like that - come apply for a job to our company. That will all come to you just like dream come true.&lt;br /&gt;
&lt;br /&gt;
But of course it is not everything is that tragic. There are people who can sleep a little bit almost all the time. I knew some drivers who could fall asleep whenever opportunity presents itself. Just like battery-powered toys they can switch themselves on and off whenever it is required. You probably have experience of waking up driver like that when lights turn green and you happen to be behind. You just give it a little honk and it wakes him up, then you both go.&lt;br /&gt;
&lt;br /&gt;
So are the programmers. There is a category of them which works just this way. They can easily get themselves to work at any moment. The downside of it is that when you sleep that quick and that &quot;shallow&quot; you don&#39;t dream much. You may have a little bit of dreaming but there wouldn’t be much to remember about after that. So it is in programming world.&lt;br /&gt;
&lt;br /&gt;
The majority of software products are produced by that &quot;shallow sleepers&quot;, not only because the majority of programmers prefer it that way. It is rather because the majority of people dealing with programmers don&#39;t let them get to sleep that deep. &quot;Annoying&quot; is today’s most popular way of management in software production industry so it keeps the great mass of software developers awake... awake when they actually have to be asleep to get the work done. Hence there are gazillions of poor quality software around.&lt;br /&gt;
&lt;br /&gt;
I personally cannot work in environment like I described above. Yes I am just like you need to perform my little ritual to get me to start being productive. You can&#39;t get to sleep without reading a page in your novel. I can&#39;t get to be productive without reading my Livejournal a little bit, checking on news and just staring at my monitor with no obvious practical result. If I interrupt you getting to sleep procedure you would have to start it again. So do I - when interrupted I have to start all over again. You can&#39;t get to sleep progressively doing something in parallel, it can only be done in one go. So it is for me when I get myself to start working. Sometimes you just can&#39;t get to sleep at all fighting with your pillow and blanket till very early. It happens to me as well, I can&#39;t sometimes get myself to work at all because of no obvious reason.&lt;br /&gt;
&lt;br /&gt;
I hope you can understand that analogy even if you have never had experience of being a programmer. I hope that when more people will understand this simple analogy between the programmer’s work and dreaming it would help them to understand what to do about it. It may help people to understand where the good high quality programs are coming from and why there is a vast of poor quality software around.&lt;br /&gt;
&lt;br /&gt;
Do you want good programs?&lt;br /&gt;
&lt;br /&gt;
Do you want your software developer husband be successful and earned all the money in the world?&lt;br /&gt;
&lt;br /&gt;
Do you want your employees finally achieve the best you want them to?&lt;br /&gt;
&lt;br /&gt;
There is a simple recipe for you:&lt;br /&gt;
&lt;br /&gt;
DON&#39;T BLOODY WAKE UP THE PROGRAMMER TOO OFTEN!&lt;br /&gt;
&lt;br /&gt;
Comment from a MS programmer for this article (you can read more comments in below original source):&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&quot;Man, I&#39;m a programmer working at MS right now, and that is SO TRUE! Writing code is very, very similar to dreaming. A lot of us here put headphones on and listen to music; that helps. I find trance music puts me into that &quot;zone&quot; more quickly than anything else...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic; font-weight: bold;&quot;&gt;But the constant interruptions; yes; those can really hurt the quality of code.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;BTW, Reddit is big stuff with US programmers, kind of like slashdot and digg combined, only better. You should definitely check it out.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://alexthunder.livejournal.com/309815.html&quot;&gt;Original Source!&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZPkVbaJ_KU2S49TV9cuTF8HBPKPabsVwdvRt_mVyFplGEoUN_sBQTy1-pA4xWI-NTiUdkQpERzGVC66cGyDtRs40KQbZ7VVB7W6WCgQoEZoZnQhW-6lP_jbXSafsWHPVuOby5VadItw/s1600-h/n1115292920_30424737_5800480.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5403490287572085442&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZPkVbaJ_KU2S49TV9cuTF8HBPKPabsVwdvRt_mVyFplGEoUN_sBQTy1-pA4xWI-NTiUdkQpERzGVC66cGyDtRs40KQbZ7VVB7W6WCgQoEZoZnQhW-6lP_jbXSafsWHPVuOby5VadItw/s400/n1115292920_30424737_5800480.jpg&quot; style=&quot;cursor: pointer; display: block; height: 333px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/4307177573255976483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/11/is-it-dream.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/4307177573255976483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/4307177573255976483'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/11/is-it-dream.html' title='Is it a dream?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZPkVbaJ_KU2S49TV9cuTF8HBPKPabsVwdvRt_mVyFplGEoUN_sBQTy1-pA4xWI-NTiUdkQpERzGVC66cGyDtRs40KQbZ7VVB7W6WCgQoEZoZnQhW-6lP_jbXSafsWHPVuOby5VadItw/s72-c/n1115292920_30424737_5800480.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-8901450632591498022</id><published>2009-10-25T18:34:00.003+07:00</published><updated>2009-10-25T18:46:05.553+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[Algo] Second Meeting</title><content type='html'>Hello 1SIMC,&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.indowebster.com/AlgoII.html&quot; target=&quot;_blank&quot;&gt;Here is the file&lt;/a&gt; for the second meeting.&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/8901450632591498022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/algo-second-meeting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/8901450632591498022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/8901450632591498022'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/algo-second-meeting.html' title='[Algo] Second Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-414789466675131858</id><published>2009-10-10T08:55:00.003+07:00</published><updated>2009-10-10T09:05:12.800+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[Algo] Bilangan Prima</title><content type='html'>Hello 1SIMC,&lt;br /&gt;&lt;br /&gt;I&#39;ve uploaded the file about &#39;Bilangan Prima&#39;, I made it with VB and C# Console Application so you can do a comparison of them.&lt;span class=&quot;fullpost&quot;&gt; Make sure you guys have installed the Visual Studio 2008 before to open the file.&lt;br /&gt;&lt;br /&gt;Please review again the code over there &lt;/span&gt;&lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif&quot; alt=&quot;senyum&quot; title=&quot;senyum&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;Check it out &lt;a href=&quot;http://www.mediafire.com/download.php?egtngfyzezg&quot; target=&quot;_blank&quot;&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/414789466675131858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/algo-bilangan-prima.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/414789466675131858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/414789466675131858'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/algo-bilangan-prima.html' title='[Algo] Bilangan Prima'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-1718894670091796387</id><published>2009-10-05T10:49:00.013+07:00</published><updated>2009-10-05T11:04:15.657+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Coding Style Guide</title><content type='html'>Recently I just wondered about my coding style standard, is it a correct standard? Talking less about it ^^ I ever knew and heard about Pascal Casing, Camel Casing, Upper Case and also Hungarian Notation, but I never get to&lt;span class=&quot;fullpost&quot;&gt;  learn deeper into them. So what are those stuffs? Did you ever think that naming a type is a very important task? Yeah I guess so, for easy human-reading, good documentation for further use, and could represent itself in the semantic way.&lt;br /&gt;Sometimes I have to go through and thoroughly to check an old poor coding standard, that&#39;s a really bothersome and cumbersome!&lt;br /&gt;People can ignore that, but you, yes.. you can&#39;t.. You have to learn and implement a good coding standard..&lt;br /&gt;&lt;br /&gt;Below is the explanation of &lt;span style=&quot;font-weight: bold;&quot;&gt;Naming Conventions&lt;/span&gt;.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1.    Pascal Casing&lt;/span&gt;&lt;br /&gt;   This convention capitalizes the first character of each word, eg. &lt;span style=&quot;font-style: italic;&quot;&gt;TestCounter&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2.    Camel Casing&lt;/span&gt;&lt;br /&gt;   This convention capitalizes the first character of each word except the first one, eg. &lt;span style=&quot;font-style: italic;&quot;&gt;testCounter&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;3.    Upper case&lt;/span&gt;&lt;br /&gt;   Only use all upper case for identifiers if it consists of an abbreviation which is one or two characters long,&lt;br /&gt;   identifiers of three or more characters should use Pascal Casing instead. For Example:&lt;br /&gt;  &lt;span style=&quot;font-style: italic;&quot;&gt; public class Math&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;        public const PI = ...&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;        public const E  = ...&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;        public const feigenBaumNumber = ...&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the &lt;span style=&quot;font-weight: bold;&quot;&gt;Naming Guidelines&lt;/span&gt;.&lt;br /&gt;Generally the use of underscore characters inside names and naming according to the guidelines for Hungarian notation are considered bad practice.&lt;br /&gt;Hungarian notation is a defined set of pre and postfixes which are applied to names to reflect the type of the variable. This style of naming was widely used in early Windows programming, but now is obsolete or at least should be considered deprecated. Using Hungarian notation is not allowed if you follow this guide.&lt;br /&gt;And remember: a good variable name describes the semantic not the type.&lt;br /&gt;An exception to this rule is GUI code. All fields and variable names that contain GUI elements like button should be postfixed with their type name without abbreviations. For example:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;System.Windows.Forms.Button  cancelButton;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;System.Windows.Forms.TextBox nameTextBox;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Although this is just a simple article or perhaps a reminder, I hope it&#39;ll help us to implement a good coding standard. &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;The complete reference can be downloaded at &lt;a href=&quot;http://www.indowebster.com/Coding_Style.html&quot; target=&#39;_blank&#39;&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/1718894670091796387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/coding-style-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1718894670091796387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1718894670091796387'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/10/coding-style-guide.html' title='Coding Style Guide'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-7057552970062911495</id><published>2009-09-28T08:46:00.003+07:00</published><updated>2009-09-28T08:59:56.717+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Rename Database Name in Oracle XE</title><content type='html'>Question: How to rename database name within Oracle XE, a free DBMS with 4GB limited storage? --&quot; (The default instance database is XE, so I gotta change it to VMS).&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;Answer: I assumed that you&#39;ve known how to launch sqlplus within command prompt and how to log in with &lt;span style=&quot;font-weight: bold;&quot;&gt;SYSDBA&lt;/span&gt; privileges.&lt;br /&gt;Let&#39;s see...&lt;br /&gt;&lt;br /&gt;1. Backup the database.&lt;br /&gt;&lt;br /&gt;2. Mount the database after a clean shutdown:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;SHUTDOWN IMMEDIATE&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    STARTUP MOUNT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Invoke the DBNEWID utility (nid) specifying the new DBNAME from the command line using a user with SYSDBA privilege:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;nid TARGET=sys/password@XE DBNAME=VMS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  Assuming the validation is successful the utility prompts for confirmation before performing the actions. Typical output may look something like:&lt;br /&gt;&lt;br /&gt;  &lt;span style=&quot;font-style: italic;&quot;&gt;C:\oracle\920\bin&gt;nid TARGET=sys/password@XE DBNAME=VMS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    DBNEWID: Release 9.2.0.3.0 - Production&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Connected to database XE (DBID=1024166118)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control Files in database:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    C:\ORACLE\ORADATA\XE\CONTROL01.CTL&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    C:\ORACLE\ORADATA\XE\CONTROL02.CTL&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    C:\ORACLE\ORADATA\XE\CONTROL03.CTL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Change database ID and database name XE to VMS? (Y/[N]) =&gt; Y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Proceeding with operation&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Changing database ID from 1024166118 to 1317278975&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Changing database name from XE to VMS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL01.CTL - modified&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL02.CTL - modified&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL03.CTL - modified&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\SYSTEM01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\UNDOTBS01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\CWMLITE01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\DRSYS01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\EXAMPLE01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\INDX01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\ODM01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\TOOLS01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\USERS01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\XDB01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Datafile C:\ORACLE\ORADATA\XE\TEMP01.DBF - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL01.CTL - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL02.CTL - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Control File C:\ORACLE\ORADATA\XE\CONTROL03.CTL - dbid changed, wrote new name&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Database name changed to VMS.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Modify parameter file and generate a new password file before restarting.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Database ID for database VMS changed to 1317278975.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    All previous backups and archived redo logs for this database are unusable.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Shut down database and open with RESETLOGS option.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    Succesfully changed database name and ID.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;    DBNEWID - Completed succesfully.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. This ORACLE_SID in windows registry should be modified to approriate name, in this case is &lt;span style=&quot;font-weight: bold;&quot;&gt;VMS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. Shutdown the database:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;SHUTDOWN IMMEDIATE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. Modify the DB_NAME parameter in the initialization parameter file. The startup will result in an error but proceed anyway.&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;STARTUP MOUNT&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    ALTER SYSTEM SET DB_NAME=VMS SCOPE=SPFILE;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    SHUTDOWN IMMEDIATE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7. Create a new password file:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;orapwd file=C:\oraclexe\app\oracle\product\10.2.0\server\database\pwdVMS.ora password=password entries=10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8. Rename the SPFILE to match the new DBNAME, eg. &lt;span style=&quot;font-weight: bold;&quot;&gt;SPFILEVMS.ORA&lt;/span&gt;&lt;br /&gt;Mostly the default location is at here C:\oraclexe\app\oracle\product\10.2.0\server\dbs\&lt;br /&gt;&lt;br /&gt;9. (i) If you are using Windows you must recreate the service so the correct name and parameter file are used:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;oradim -delete -sid XE&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    oradim -new -sid VMS -intpwd password -startmode a -pfile C:\oraclexe\app\oracle\product\10.2.0\server\dbs\SPFILEVMS.ora&lt;/span&gt;&lt;br /&gt; (ii) If you are using UNIX/Linux simply reset the ORACLE_SID environment variable:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;ORACLE_SID=VMS; export ORACLE_SID&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. Alter the listener.ora and tnsnames.ora setting to match the new database name and restart the listener:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;lsnrctl reload&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;11. Modify this filename &#39;initXE.ora&#39; become &#39;initVMS.ora&#39; (default location is C:\oraclexe\app\oracle\product\10.2.0\server\database\)&lt;br /&gt;&lt;br /&gt;12. Modify the content as below:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;SPFILE=&#39;C:\oraclexe\app\oracle\product\10.2.0\server\dbs/spfileVMS.ora&#39;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;13. Open the database with RESETLOGS:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;STARTUP MOUNT&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    ALTER DATABASE OPEN RESETLOGS;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;14. Verify the new database with DBID and NAME as below:&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;SELECT DBID, NAME&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;    FROM V$DATABASE;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;15. Backup the database. Because you reset the online redo logs, the old backups and archived logs are no longer usable in the current incarnation of the database.&lt;br /&gt;&lt;br /&gt;Okay, that&#39;s for renaming database id and name. And remember to edit these 2 files &lt;span style=&quot;font-weight: bold;&quot;&gt;&#39;StartDB.bat&#39; and &#39;StopDb.bat&#39;&lt;/span&gt; at C:\oraclexe\app\oracle\product\10.2.0\server\BIN\&lt;br /&gt;Find this word &#39;XE&#39; (by default) through those 2 files and replace them with &#39;VMS&#39;, this will ensure everything&#39;s okay when we start and stop the database (windows service) later&lt;br /&gt;&lt;br /&gt;Yes, only that.. so cumbersome.. &lt;/span&gt;&lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/18.gif&quot; alt=&quot;penat&quot; title=&quot;penat&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;Reference: &lt;a href=&quot;http://www.oracle.com/technology/obe/paa/obe-mdb/html/chg_db_name.htm#b3&quot;&gt;Oracle&lt;/a&gt; and &lt;a href=&quot;http://www.oracle-base.com/articles/9i/DBNEWID.php&quot;&gt;Oracle-Base&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/7057552970062911495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/rename-database-name-in-oracle-xe.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/7057552970062911495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/7057552970062911495'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/rename-database-name-in-oracle-xe.html' title='Rename Database Name in Oracle XE'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-6271242935703138144</id><published>2009-09-26T10:23:00.019+07:00</published><updated>2010-08-10T18:52:22.459+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Geocities is closing!</title><content type='html'>Yesterday I just realized Geocities will be closed on 26 October 2009 when I want to upload some files into my account. It goes, &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;GEOCITIES IS CLOSING ON OCTOBER 26, 2009. New GeoCities accounts are no longer available.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;
fiuh.. As I know, this FREE hosting provider has been around for a very long time since it was created in the 90&#39;s and suddenly screamed that it will be closed, many people will miss you Geocities!!&lt;br /&gt;
I tried to dig some clues on internet and found this&lt;span style=&quot;font-style: italic;&quot;&gt; &quot;Microsoft and Yahoo reached a long-awaited partnership Wednesday in a bid to challenge Google&#39;s dominance in online search.&quot;&lt;/span&gt; You should know what I mean.. LOL.. Is closing the Geocities related with this partnership? Well, that&#39;s just my imagination! &lt;img alt=&quot;siul&quot; class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/65.gif&quot; title=&quot;siul&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Come on to peep below answer of &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;Why is Geocities closing?&quot;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black; font-family: inherit; font-style: italic;&quot;&gt;&lt;br /&gt;
We have enjoyed hosting web sites created by Yahoo! users all over the world, and we&#39;re proud of the community you&#39;ve built.&lt;/span&gt;&lt;br style=&quot;color: black; font-family: inherit;&quot; /&gt; &lt;span class=&quot;fullpost&quot; style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;However, we have decided to focus on helping our customers explore and build relationships online in other ways. Beginning on October 26, 2009, you will no longer be able to use GeoCities to maintain a free presence online — but we&#39;re excited about the other services we have designed to help you connect with friends and family and share your activities and interests.&lt;/span&gt;&lt;br style=&quot;color: black; font-family: inherit;&quot; /&gt; &lt;span style=&quot;font-family: inherit;&quot;&gt;We recommend our award-winning Web Hosting service, which works a lot like GeoCities but includes a personalized domain name (such as widgetdesigns.com) and matching email, terrific new site building tools, unlimited disk space and bandwidth, premium customer support, and more. &lt;/span&gt;&lt;br /&gt;
.......&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; &lt;a href=&quot;http://help.yahoo.com/l/us/yahoo/geocities/close/&quot;&gt;read more&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Their award-winning Web Hosting service costs $4.99 for your first 12 months ($9.95 / month after). &lt;img alt=&quot;duit&quot; class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/64.gif&quot; title=&quot;duit&quot; /&gt;&lt;br /&gt;
So what&#39;re you waiting for if you&#39;ve stored your files over there? Quick.. Go to pack up everything because &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;If you do not download your files and images before October 26, 2009, you will no longer be able to access that data. After October 26, your GeoCities files will be deleted from our servers, and will not be recoverable.&quot; &lt;/span&gt;&lt;img alt=&quot;takbole&quot; class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/68.gif&quot; title=&quot;takbole&quot; /&gt;&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;I already did it and migrate those files to a FREE web hosting again, urmm.. Why free again? Those files just play a supportive role, so rather spend out my money, better I choose a free one.. &lt;img alt=&quot;peace&quot; class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/67.gif&quot; title=&quot;peace&quot; /&gt; LOL..&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/6271242935703138144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/geocities-is-closing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6271242935703138144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6271242935703138144'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/geocities-is-closing.html' title='Geocities is closing!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-8237979982338243204</id><published>2009-09-12T11:38:00.002+07:00</published><updated>2009-09-12T11:41:39.034+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Dating an Apple Developer</title><content type='html'>This has got to be the best post ever! Ladies are listening? Well, read on:&lt;br /&gt;&lt;br /&gt;Note: I wrote this post almost three years ago when I was still dating The Geek. I haven’t put &lt;span class=&quot;fullpost&quot;&gt;my old blog content up on here, but several people have asked that I repost this entry. It became pretty popular, but some people didn’t have a sense of humor about my situation and I got a lot of hate mail about it. Anyway – enjoy!&lt;br /&gt;&lt;br /&gt;I like to think that behind every good developer there is a good woman. No. A great woman. It takes a special breed to put up with the stuff that comes along with dating a computer nerd. Those of you who have ever been with a hard core geek know what I’m talking about. Some day I think it would be easier to date one of those guys who hangs out at the golf course all day with his buddies drinking beer.&lt;br /&gt;&lt;br /&gt;This weekend I drove up from Nashville to see Justin. I knew he was busy with a Web development project, but I have dealt with that stuff before so it was no big deal. This particular project was for the Rails Day contest. This contest went from midnight on Friday to midnight on Saturday. While he was working I did some MacZealots work, caught up on sleep, cleaned the apartment and did the laundry. While I was folding some shirts I got to thinking about what life with a developer is like. I thought I would share my thoughts with you.&lt;br /&gt;&lt;br /&gt;I started pondering this while I was doing the laundry because I noticed that 9 out of the 10 t-shirts I was folding were development or Mac-related. Just to give you a general idea of what I’m talking about (and the embarrassment I have to deal with when we go out in public) let me describe a few of them. First, I ran across one that read “Steve Jobs is my homeboy.” Then there was the one that said “I am blogging this.” Next was a WWDC 2004 polo and an Apple Developer Connection shirt. And my personal favorite was the one that said “Code Different.” I couldn’t make this up if I tried.&lt;br /&gt;&lt;br /&gt;I am used to all this stuff, and I adore Justin because of it, but what about girls who aren’t used to this sort of thing? What about the poor innocent souls who think they are getting a normal guy and then come to find out he has been sucked into the chaotic world of development? What about the little girls who dream of Prince Charming and end up with Steve Ballmer? What about the girls who never even dreamed they would know who Steve Ballmer is? I think someone needs to offer them a little advice. Seeing that I am a seasoned professional who has been dating a developer since I was 15, I think there is no one better than me to show them the way.&lt;br /&gt;Following are 10 things you need to know when dating a developer (or any kind of techie.)&lt;br /&gt;&lt;br /&gt;1. When projects have a deadline approaching, all plans are tentative.&lt;br /&gt;I don’t care if you sister is getting married or your grandmother dies. If your man has a project with a quickly approaching deadline forget about him being there. This has nothing to do with lack of support, and it is by no means a jab at the guys. It is simply a matter of dedication. I have tried setting alarms, e-mail alerts, etc. Don’t even waste your time. And try to be understanding when situations like this arise. If you’re supportive and that application or piece of software takes off chances are you’ll get a nice date for all your patience.&lt;br /&gt;&lt;br /&gt;2. Your body/sex appeal are nothing compared to the power of a processor.&lt;br /&gt;The nice thing about most computer boys is that they don’t typically check out other women. The downside of this is that they don’t notice the other women because they are too busy checking out people’s cell phones and iPods. When it comes to boys and their toys your short mini skirt just can’t compare. Trust me – I have learned this the hard way. Anytime Justin and I set foot in the Apple Store I see the way his eyes light up when he sees a shiny new G5. I see his jaw hit the ground when new operating systems are released. I run after him in my sexy heels as he sprints to be the first one in line to buy a new piece of software. It’s sick and twisted really, but it comes with the territory. I know what you are thinking. Sex. That will turn any guys head, right? Nope! Sorry ladies, it just isn’t going to work. Unless you are sporting a lacy black teddy with an Apple logo on the crotch you really don’t have a chance if there is a project in the works. The plus side of this is that you could probably roll around in his sheets with Brad Pitt and he wouldn’t notice. Seriously, though, this doesn’t mean you aren’t sexy or desirable. I don’t know what it does mean – I’m still trying to figure that out for myself – but rest assured he still loves you.&lt;br /&gt;&lt;br /&gt;3. You will NEVER be the Apple of his eye.&lt;br /&gt;Ha! Get it? Apple. I’m so funny.&lt;br /&gt;&lt;br /&gt;4. Profanity is his friend.&lt;br /&gt;You have to learn to put on your earmuffs when it comes to watching him work. I know. You want to be supportive and sit in his office offering kind words of encouragement. Go right ahead! Just be prepared for his response to be something about the $4000 piece of shit computer that isn’t going fast enough or the mother f’ing code that doesn’t work right.&lt;br /&gt;&lt;br /&gt;5. If you love him you will be standing by with a lot of caffeine.&lt;br /&gt;Red Bull. Bawls. Mountain Dew. Whatever it takes. He is going to need it. The late night brainstorming sessions and all-night coding marathons require some fuel. Nothing would mean more than you showing up on his doorstep with 64 ounces of goodness.&lt;br /&gt;&lt;br /&gt;6. There is no rest for the weary.&lt;br /&gt;Plan on going to bed alone and waking up alone. Well, unless your bed is right next to the computer, I guess. I have occasionally found Justin in the wee hours of the morning with his head resting on the computer, but that’s the most sleep he’ll get when he is working on something. To be a developer I think you also have to be a perfectionist. This means until every bit of code is complete and flawless he’ll be staring at the computer screen.&lt;br /&gt;&lt;br /&gt;7. Rubies and Pearls are not what you think.&lt;br /&gt;I once overheard Justin having a conversation with a friend of ours. He made mention of a ruby and a pearl. Seeing as how it was almost my birthday I immediately thought I was in for a great gift. Little did I know they were talking about Ruby on Rails and Perl. Later that week we went out for a Sunday afternoon drive. There is a jewelry store just across the street from the local Barnes and Noble. I, of course, thought we were pulling in to buy some bling. 30 minutes and two O’Reilly books later I figured out that my “birthday gift” was actually how-to manuals for programming languages.&lt;br /&gt;&lt;br /&gt;8. One screen is never enough.&lt;br /&gt;When Justin first told me he thought he needed not one but two flat-screen monitors I thought he had finally started drinking. What on earth would require two screens? Now he is talking about getting a third! Oddly enough, when I glance over at him grinding away he has both 17 inches covered. So when he says he needs bigger this or better that, just go with it. At least you know he won’t be cheap when it comes to other things.&lt;br /&gt;&lt;br /&gt;9. if (loveBoyfriend = 1 ) {learn();}&lt;br /&gt;I always thought this coding, development stuff was just nonsense. Then I learned a little bit about it and realized it’s actually very cool. Sometimes I can even offer a little help. The other day Justin spent hours working on something for work. He just couldn’t figure out why it wasn’t coming together. In a spat of frustration he showed me what he was working on. Miraculously, I was able to find the problem. I think it was the proudest he had ever been of me.&lt;br /&gt;&lt;br /&gt;10. There is nothing like being the one there when he completes something new.&lt;br /&gt;I can honestly say it’s the greatest feeling in the world to be the one there when Justin gets out of the chair (for the first time in weeks) and is beaming at me (through red, puffy eyes) and dying to show me his newest creation. Somewhere between the annoying profanity and the lack of sleep he created something wonderful. So when you get frustrated with him just remember that maybe he’s working on the next Movable Type-ish phenomenon. Wouldn’t you love to be the girl behind the guy on the cover of Macworld?&lt;br /&gt;It looks like Justin is about done with his Rails project. I’m gonna go curl up on the couch and watch a movie with him. And as I fall asleep tonight I’ll thank my lucky stars that my boyfriend is a crazy Apple Developer – the greatest guys in the world.&lt;br /&gt;&lt;br /&gt;Ladies, next time you go looking for a man, don’t check out the local bar scene. Think Different.&lt;br /&gt;&lt;br /&gt;Original Source: &lt;a href=&quot;http://victoriadulay.com/2008/04/18/dating-an-apple-developer-by-emily-post/&quot;&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/8237979982338243204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/dating-apple-developer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/8237979982338243204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/8237979982338243204'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/09/dating-apple-developer.html' title='Dating an Apple Developer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-3757736547501777909</id><published>2009-07-14T11:51:00.008+07:00</published><updated>2010-08-10T18:53:55.514+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Achieve Electricity and Telephone Billing Information Online</title><content type='html'>For Indonesian people only &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/3.gif&quot; alt=&quot;kenyit&quot; title=&quot;kenyit&quot; /&gt;&lt;br /&gt;
Do you want to know your house&#39;s electricity and telephone billing information?&lt;br /&gt;
Online? Fast? Easy to access?&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;Visit these links:&lt;br /&gt;
1. &lt;a href=&quot;http://202.162.217.251/info_billing/index.php&quot;&gt;PT. PLN &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Or by Short Message Service to 8123&lt;br /&gt;
eg.&lt;br /&gt;
PLN[space]ON[space]ID_PEL&lt;br /&gt;
&lt;id_pel&gt;for registration to become member of i-SMS service&lt;br /&gt;
&lt;br /&gt;
REK[space]ID_PEL&lt;id_pel&gt;&lt;id_pel&gt;&lt;br /&gt;
for checking the latest month&#39;s electricity billing information&lt;br /&gt;
&lt;br /&gt;
Send to: 8123&lt;br /&gt;
&lt;br /&gt;
2. &lt;a href=&quot;http://infobill.telkom.co.id/index.php&quot;&gt;PT. Telkom&lt;/a&gt;&lt;br /&gt;
&lt;/id_pel&gt;&lt;/id_pel&gt;&lt;/id_pel&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/3757736547501777909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/07/achieve-electricity-and-telephone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3757736547501777909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3757736547501777909'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/07/achieve-electricity-and-telephone.html' title='Achieve Electricity and Telephone Billing Information Online'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-3216787961399901346</id><published>2009-06-26T08:51:00.004+07:00</published><updated>2010-08-10T18:54:30.722+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[LAB] OOP - Fourth &amp; Fifth Meeting</title><content type='html'>Hello Juniors,&lt;br /&gt;
&lt;br /&gt;
I already uploaded the fourth and fifth meeting files in our class. You can download at here.&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;a href=&#39;http://www.indowebster.com/PBOI_Pert_4_dan_5.html&#39; target=&#39;_blank&#39;&gt;Click here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/3216787961399901346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/06/lab-pboi-fourth-and-fifth-meeting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3216787961399901346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3216787961399901346'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/06/lab-pboi-fourth-and-fifth-meeting.html' title='[LAB] OOP - Fourth &amp; Fifth Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-1084193540142215396</id><published>2009-06-26T08:49:00.004+07:00</published><updated>2010-08-10T18:54:57.733+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[LAB] PII - Fourth &amp; Fifth Meeting</title><content type='html'>Hello Juniors,&lt;br /&gt;
&lt;br /&gt;
I already uploaded the fourth and fifth meeting files in our class. You can download at here.&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;a href=&#39;http://www.indowebster.com/PII_Pert_4_dan_5.html&#39; target=&#39;_parent&#39;&gt;Click here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/1084193540142215396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/06/lab-pii-fourth-and-fifth-meeting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1084193540142215396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1084193540142215396'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/06/lab-pii-fourth-and-fifth-meeting.html' title='[LAB] PII - Fourth &amp; Fifth Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-9044518170515924712</id><published>2009-05-11T09:44:00.005+07:00</published><updated>2010-08-10T18:55:08.783+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[LAB] PII - Second &amp; Third Meeting</title><content type='html'>Hello Juniors,&lt;br /&gt;
&lt;br /&gt;
I already uploaded the second and third meeting files in our class. You can download at here.&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;&lt;a href=&#39;http://www.indowebster.com/PII_Pertemuan2_qiux.html&#39;&gt;Second Meeting&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#39;http://www.indowebster.com/PII_Pertemuan3_qiux.html&#39;&gt;Third Meeting&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Good Luck for the Mid-Test!&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/9044518170515924712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/05/lab-pii-second-third-meeting.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/9044518170515924712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/9044518170515924712'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/05/lab-pii-second-third-meeting.html' title='[LAB] PII - Second &amp; Third Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-5405282207822759714</id><published>2009-04-21T15:02:00.002+07:00</published><updated>2009-04-21T15:08:33.495+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computer Joke"/><title type='text'>Part 9</title><content type='html'>HUSBAND&#39;S QUERY&lt;br /&gt;CREATE PROCEDURE MyMarriage bridegroom male(25), bride female(21) AS&lt;br /&gt;BEGIN&lt;br /&gt;SELECT bride FROM All_Brides where&lt;span class=&quot;fullpost&quot;&gt; fatherinlaw=&#39;millionaire&#39; AND COUNT(car)&gt;20 AND housestatus=&#39;threestorey&#39; AND brideedustatus IN (B.Tech,B.E.,MCA,MBA) AND HAVING brothers=null AND sisters=null&lt;br /&gt;&lt;br /&gt;SELECT gold, car, bankbalance FROM FatherInLaw UPDATE mybankaccount SET mybal=mybal+fatherinlawbal&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;WIFE&#39;S QUERY&lt;br /&gt;DROP Husband;&lt;br /&gt;COMMIT;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/5405282207822759714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-9.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5405282207822759714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5405282207822759714'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-9.html' title='Part 9'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-6300617095820826721</id><published>2009-04-21T14:21:00.002+07:00</published><updated>2009-04-21T14:23:11.333+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Reveal Object Oriented Programming for Dummy</title><content type='html'>I don&#39;t know that I am suitable or not to explain what is OOP, I really can&#39;t measure it. But I encourage myself to bring out this topic because this isn&#39;t be far from sharing idea &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif&quot; alt=&quot;jelir&quot; title=&quot;jelir&quot; /&gt; &lt;br /&gt;With my current knowledge (DUMMY), &lt;span class=&quot;fullpost&quot;&gt;sometime I was confused by OOP too and I don&#39;t know why. So I also encourage you who are reading this (yes.. you!!) can share some about OOP too at here, then we can learn it together &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/77.gif&quot; alt=&quot;sembah&quot; title=&quot;sembah&quot; /&gt;&lt;br /&gt;&lt;br /&gt;When they were talking about OOP, I just kept silence to listen it and compared to what I know  Everyone has their own analogies about OOP concept but I believe their core purposes are still the same if they really can explain what is OOP actually &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/105.gif&quot; alt=&quot;rindu&quot; title=&quot;rindu&quot; /&gt;&lt;br /&gt;&lt;br /&gt;If people are talking about OOP, they will bring out at least class and object, inheritance, abstraction, encapsulation and polymorphism.&lt;br /&gt;I believe the comprehension of what I stated above will let you understand the core of OOP although there are some else beside them.&lt;br /&gt;&lt;br /&gt;So what is OOP? A programming concept which uses objects and their relationships/interactions to build computer programs/software.&lt;br /&gt;Before we dive into deeper about OOP, we should understand what is a class and object.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Class&lt;/span&gt; can be described as a blueprint and also a template that contains same general characteristics and capabilities which can be used by any object.&lt;br /&gt;Forming a class is alike with art of classification, we should determine the general attributes/properties and behaviors/methods inside a class.&lt;br /&gt;eg. class Cat would consist a number of characteristics and behaviors that can be shared by all cats.&lt;br /&gt;Fur color is one of its characteristics and Meow is one of its behaviors. All cats have their own fur color and meow&#39;s sound.&lt;br /&gt;&lt;br /&gt;If we are talking about &lt;span style=&quot;font-weight: bold;&quot;&gt;object&lt;/span&gt;, we should understand what is entity, can be physic or conceptual.&lt;br /&gt;eg. student, car and bicycle are grouped in physic entity whereas bank account can be described as a conceptual entity.&lt;br /&gt;Object is an instance of a class which has its own characteristics and behaviors, a particular version.&lt;br /&gt;eg. YourCat is an instance of class Cat, so YourCat is an object. It has brown fur and can meow 10 times in a minute (capability).&lt;br /&gt;We can have another object which called SomebodyCat, it has black fur and can meow only 8 times in a minute.&lt;br /&gt;From here, I hope that you can understand what is an object.&lt;br /&gt;&lt;br /&gt;Next is &lt;span style=&quot;font-weight: bold;&quot;&gt;inheritance&lt;/span&gt;, it is a specified class relationship. I ever read a book, the author said that inheritance is &#39;.. is a ..&#39; relationship.&lt;br /&gt;Inheritance is a mechanism that allows a new class can be derived from an existing class.&lt;br /&gt;eg. String Musician is a base class whereas Guitar Player and Violin Player are derived class (child class). So we can say Guitar Player is a String Musician and Violin Player is a String Musician too. &lt;br /&gt;See, &#39;.. is a ..&#39; statement is valid!&lt;br /&gt;See below image.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEJuB2StRpo1_PdISwdp7oL8EEjX2TzB5PagV-BKhYZzjTlbrOe9kClvvZgKYcUWRTWg8DKahNWX95ecnpQdWBSZl_j4fPnOzdPDeUrrhJyj_puOj0fz2P4cWSABlP9yKXuFeFICCvFNE/s1600-h/inheritance.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEJuB2StRpo1_PdISwdp7oL8EEjX2TzB5PagV-BKhYZzjTlbrOe9kClvvZgKYcUWRTWg8DKahNWX95ecnpQdWBSZl_j4fPnOzdPDeUrrhJyj_puOj0fz2P4cWSABlP9yKXuFeFICCvFNE/s400/inheritance.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327031317185731362&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Abstraction&lt;/span&gt; refers to the act of representing essential operations or features without including the implementation details or explanations.&lt;br /&gt;Abstraction is simplifying complex reality by modelling classes appropriate to the problem, and working at the most appropriate level of inheritance for a given aspect of the problem.&lt;br /&gt;Mostly, abstraction related to &lt;span style=&quot;font-weight: bold;&quot;&gt;abstract class &lt;/span&gt;and &lt;span style=&quot;font-weight: bold;&quot;&gt;interface&lt;/span&gt;.&lt;br /&gt;What is an abstract class? A class exists solely to be derived from, we can&#39;t create any instance of this class because it is abstract.&lt;br /&gt;And then what is an interface? Interface isn&#39;t a class, it is more &#39;abstract&#39; than abstract class. Why?&lt;br /&gt;It contains only operations, not implementation whereas abstract class can contain implementation details. It doesn&#39;t make sense too if we create any instance of this interface.&lt;br /&gt;This is not an easy task if we want to classify abstract class and interface during development.&lt;br /&gt;See below images.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWysdK9EELfrzEvFhboqeKceqnaIlFc7tA8gCprYvDiEveZwlCJ4HXgmCt3TxEaotia-JYIGueeBZ26_M5A4gdyTaGUgbvDPbXPnMNFcrc7PAeKtWYUPL_CTzCJ7WyipbMbM6ckl6K0w/s1600-h/abstract+class.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWysdK9EELfrzEvFhboqeKceqnaIlFc7tA8gCprYvDiEveZwlCJ4HXgmCt3TxEaotia-JYIGueeBZ26_M5A4gdyTaGUgbvDPbXPnMNFcrc7PAeKtWYUPL_CTzCJ7WyipbMbM6ckl6K0w/s400/abstract+class.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327031597524999634&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJVBcBuupljElHntMq_RrkfB9FdoT7apz4d1SZsSdUeDpr90Un11x5YqsnZRuBlkcXq6XEZQjdmDcFQZzPb6TISrzD7w-LRjzC8Wuxf8vh_5re7Fe0Ta72vnV8r7M71lObrhqpoazx5v8/s1600-h/interface.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJVBcBuupljElHntMq_RrkfB9FdoT7apz4d1SZsSdUeDpr90Un11x5YqsnZRuBlkcXq6XEZQjdmDcFQZzPb6TISrzD7w-LRjzC8Wuxf8vh_5re7Fe0Ta72vnV8r7M71lObrhqpoazx5v8/s400/interface.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327031823472053058&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Encapsulation&lt;/span&gt; refers to a mechanism to bound your data and methods, create a boundary so we can control the accessibility of the entity members.&lt;br /&gt;Encapsulation also combines data and functions into single entity. Why we must use encapsulation? To control use and minimize the impact of change in future, those are the key answers.&lt;br /&gt;eg. we have a class Car, this class has a method which has been encapsulated. That method&#39;s operation is describing how the machine works internally. In the other hand, is it important for user?&lt;br /&gt;User only want to know how to drive the car, no matter how the machine works, they no need to know the implementations inside that method.&lt;br /&gt;Perhaps they only know &#39;Drive&#39; the car, so with this point, user doesn&#39;t have any control toward that method which is a private method.&lt;br /&gt;&#39;Drive&#39; at here is a method that can be recognized by user or an object which is a public method instead.&lt;br /&gt;Let&#39;s say, vendor want to change the implementation of how the machine works in future, do it impact user&#39;s activity? I don&#39;t think so.&lt;br /&gt;We have already encapsulated the method which contains that implementation, so it looks alike transparent to user.&lt;br /&gt;User won&#39;t know and don&#39;t want to know how huge or small the change, they only want to know how to drive a car, this is the important key.&lt;br /&gt;See below image for another example.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcob0t4P_nEwSMOZOE4Mm8MD7Q5SzW2jaZ48cgsf6QohCe1ZBBTQP8NqrGKrxERyN6EdxJsAyl0o2ebSpz4Efs2jxjxOwh2jG-OdAW_2lx5i78FKd59u-F0P7TOW0u4FkIfC3ElC1mgtI/s1600-h/encapsulation.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcob0t4P_nEwSMOZOE4Mm8MD7Q5SzW2jaZ48cgsf6QohCe1ZBBTQP8NqrGKrxERyN6EdxJsAyl0o2ebSpz4Efs2jxjxOwh2jG-OdAW_2lx5i78FKd59u-F0P7TOW0u4FkIfC3ElC1mgtI/s400/encapsulation.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327032007766319282&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;And the last is &lt;span style=&quot;font-weight: bold;&quot;&gt;polymorphism&lt;/span&gt;, it can be described as &#39;many forms or many shapes&#39; which means an operation may exhibit different behaviors in different instances.&lt;br /&gt;eg. string Musician (base class) has an operation called &quot;TuneYourInstrument&quot;. It has 2 derived class currently (Guitar and Violin Player), each derived class overrides operation &quot;TuneYourInstrument&quot; from its base class. Operation &quot;TuneYourInstrument&quot; of each derived class can have different implementation or behavior in this case, Guitar Player plays guitar and Violin Player plays violin. This is called overriding polymorphism.&lt;br /&gt;Assumed that all the musicians exhibit their show in a concert which is leaded by a conductor. There are around 50 types musician with their instrument eg. guitar, violin, harp, ukulele, cello, etc. When the show begins, conductor has to go to each musician for instructing them to play their own instrument if we don&#39;t apply polymorphism concept.&lt;br /&gt;&quot;First and second musician, TuneYourGuitar!&quot;, &quot;Third, fourth and fifth musician, TuneYourViolin!&quot;, and so on...  If we apply the polymorphism concept, the conductor will only scream or give an instruction to all musicians in front of them, &quot;All, TuneYourInstrument!&quot; And every musician will tune their own instrument.&lt;br /&gt;See below image.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47pty039WgHKzNOBTeJsBOYp6l8w_9fUGrIdz0APUPnPGkOo_-1Pe2prvjtQ3p4-mObYbDGAIEOjvuKM7yx7UfYoLGylRdgi1jt67WV5EtfBD86sHmdhWmvxa2zy0wLim6CiMRRMC9nM/s1600-h/polymorphism.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi47pty039WgHKzNOBTeJsBOYp6l8w_9fUGrIdz0APUPnPGkOo_-1Pe2prvjtQ3p4-mObYbDGAIEOjvuKM7yx7UfYoLGylRdgi1jt67WV5EtfBD86sHmdhWmvxa2zy0wLim6CiMRRMC9nM/s400/polymorphism.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327032165778252098&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I hope above explanations can bring us to a clear destination of OOP, no matter how, I am still learning to practice OOP during development.&lt;br /&gt;Happy programming &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/69.gif&quot; alt=&quot;menari&quot; title=&quot;menari&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Note: idea of some examples I got from a C# ebook (MSDN)&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/6300617095820826721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/reveal-object-oriented-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6300617095820826721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6300617095820826721'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/reveal-object-oriented-programming.html' title='Reveal Object Oriented Programming for Dummy'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEJuB2StRpo1_PdISwdp7oL8EEjX2TzB5PagV-BKhYZzjTlbrOe9kClvvZgKYcUWRTWg8DKahNWX95ecnpQdWBSZl_j4fPnOzdPDeUrrhJyj_puOj0fz2P4cWSABlP9yKXuFeFICCvFNE/s72-c/inheritance.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-5357787207711405587</id><published>2009-04-21T09:41:00.006+07:00</published><updated>2010-08-10T18:57:11.938+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Information and Technology"/><title type='text'>Oracle buy Sun</title><content type='html'>Another big news again, I heard that Oracle has bought Sun this morning and I don&#39;t quite believe it. I tried to find some news on internet especially to Sun&#39;s official website and I found that&#39;s a reliable news. &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/20.gif&quot; alt=&quot;nangih&quot; title=&quot;nangih&quot; /&gt;&lt;br /&gt;
&lt;span class=&quot;fullpost&quot;&gt;SANTA CLARA, Calif., April 20, 2009 - &quot;Sun Microsystems (NASDAQ: JAVA) and Oracle Corporation (NASDAQ: ORCL) announced today they have entered into a definitive agreement under which Oracle will acquire Sun common stock for $9.50 per share in cash. The transaction is valued at approximately $7.4 billion, or $5.6 billion net of Sun&#39;s cash and debt.&quot;&lt;br /&gt;
&lt;br /&gt;
How about open source&#39;s fate? The common software are MySQL, Java, Open Office, etc&lt;br /&gt;
I really can&#39;t imagine it, do they still remain as a open source software?&lt;br /&gt;
Do they have a new policy against these all? Let&#39;s wait... &lt;img class=&quot;emoticon&quot; src=&quot;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/45.gif&quot; alt=&quot;ketukmeje&quot; title=&quot;ketukmeje&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Source:&lt;br /&gt;
&lt;a href=&quot;http://www.utusan.com.my/utusan/info.asp?y=2009&amp;amp;dt=0420&amp;amp;pub=Utusan_Malaysia&amp;amp;sec=Terkini&amp;amp;pg=bt_20.htm&quot; target=&quot;_blank&quot;&gt;1st Source&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://news.bbc.co.uk/1/hi/business/8008246.stm&quot; target=&quot;_blank&quot;&gt;2nd Source&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/%20http://www.oracle.com/sun/index.html&quot; target=&quot;_blank&quot;&gt;3rd Source&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/%20http://www.sun.com/third-party/global/oracle/&quot; target=&quot;_blank&quot;&gt;4th Source&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/5357787207711405587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/oracle-buy-sun.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5357787207711405587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5357787207711405587'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/oracle-buy-sun.html' title='Oracle buy Sun'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-5066355165039185409</id><published>2009-04-18T09:19:00.011+07:00</published><updated>2009-05-25T10:08:06.668+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[LAB] PII - First Meeting</title><content type='html'>Hello Juniors,&lt;br /&gt;&lt;br /&gt;Welcome to my blog! As I promised you guys yesterday that I&#39;ll upload the answer for the question of our first meeting in Programming II&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;class. I know that we didn&#39;t have time to deep more about conditional statement and the feature of controls at that time. But I already uploaded the full source code, you have to learn it okay? &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif&#39; width=&#39;18&#39;/&gt; &lt;br /&gt;&lt;br /&gt;If you have any problem or question during doing this project, feel free to ask me at here thru comment section or messenger, I&#39;ll try my best to answer it immediately. &lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/PII_Pertemuan1_qiux.html&#39;&gt;Download here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: I almost forget something, the project that I have uploaded was created in Visual Studio 2008. So it can&#39;t be opened in Visual Studio 2005 and you need to convert it back to VS 2005 solution.&lt;br /&gt;I already uploaded a patcher found on internet, you can try to convert it with that patcher, easy to use.&lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/VS2008_to_VS2005_Patcher.html&#39;&gt;VS2008 To VS2005 Patcher&lt;/a&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/Project_converter.html&#39;&gt;Project Converter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you fail to convert it, please let me know and I&#39;ll guide you if I can!&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/5066355165039185409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/lab-programming-ii-first-meeting.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5066355165039185409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/5066355165039185409'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/lab-programming-ii-first-meeting.html' title='[LAB] PII - First Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-4549689356751213099</id><published>2009-04-18T08:36:00.008+07:00</published><updated>2009-05-25T10:08:18.986+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Campus Stuff"/><title type='text'>[LAB] OOP - First Meeting</title><content type='html'>Hello Juniors,&lt;br /&gt;&lt;br /&gt;Welcome to my blog! As I promised you guys yesterday that I&#39;ll upload the answer for the question of our first meeting in OOP class.&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;Please don&#39;t forget what I have taught you all in class about Class and Object, also the standardization of coding! eg. if we have a variable with data type Integer, we can name it as &#39;iFirstValue&#39; or &#39;intFirstValue&#39;. Also for class, object, module and so on (just remember the prefix of any variable or object). This will be better according to me! Don&#39;t treat them as a trivial matter ever &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;br /&gt;That&#39;s very important, I can say that&#39;s a foundation for your further class.&lt;br /&gt;Furthermore meeting will be more difficult if you don&#39;t understand what is class and object, you will face what we called as Inheritance, Encapsulation, Polymorphism, urm.. maybe I will teach you all about the Abstract Class and Interface if we have spare time. Those are the compulsory lessons if you want to master OOP in whatever language eg. VB, C#, and also Java.&lt;br /&gt;&lt;br /&gt;Tips: reading E-Book about OOP in VB .NET&lt;br /&gt;&lt;br /&gt;If you have any question with this first meeting or others, you can ask me directly at here thru comment section or messenger. I&#39;ll try my best to answer it immediately.&lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/PBO_Pertemuan1_qiux.html&#39;&gt;Download here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jia you! &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;br /&gt;Note: I almost forget something, the project that I have uploaded was created in Visual Studio 2008. So it can&#39;t be opened in Visual Studio 2005 and you need to convert it back to VS 2005 solution.&lt;br /&gt;I already uploaded a patcher found on internet, you can try to convert it with that patcher, easy to use.&lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/VS2008_to_VS2005_Patcher.html&#39;&gt;VS2008 To VS2005 Patcher&lt;/a&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/Project_converter.html&#39;&gt;Project Converter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you fail to convert it, please let me know and I&#39;ll guide you if I can!&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/4549689356751213099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/lab-oop-first-meeting.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/4549689356751213099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/4549689356751213099'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/lab-oop-first-meeting.html' title='[LAB] OOP - First Meeting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-3616033755971788908</id><published>2009-04-17T11:01:00.010+07:00</published><updated>2009-04-17T11:27:29.151+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Change .NET Target Framework</title><content type='html'>Perhaps you still don&#39;t know how to change the &#39;Target Framework&#39; for your project in Visual Studio. I am using Visual Studio 2008 currently, so the .NET framework should be 3.5 but I already upgraded it to 3.5SP1 ^^&lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt; So when I add a new project, I can choose 3 types of .NET framework including 2.0, 3.0 and 3.5. See below screen shot.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFyfsqDkyz1LrlizVJzLNt9rc9TNn4RcSEt45gWVGtotPeOSkuNTHb-7QIrC1RDZa1hokjj_e0tOdKkGKVjLpBa15pCOmfhBY6Hl9X2843ZdYkswdGXGlXOIjAcivl_mOU3UNK3kl7crY/s1600-h/frmwrk1.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFyfsqDkyz1LrlizVJzLNt9rc9TNn4RcSEt45gWVGtotPeOSkuNTHb-7QIrC1RDZa1hokjj_e0tOdKkGKVjLpBa15pCOmfhBY6Hl9X2843ZdYkswdGXGlXOIjAcivl_mOU3UNK3kl7crY/s400/frmwrk1.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325506535548773778&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Well, I deliberately choose 2.0 first so later I will change it to 3.5 during development time, urm.. maybe I want use some features in 3.5 that can&#39;t be found in 2.0 eg. LINQ.&lt;br /&gt;&lt;br /&gt;How to change it?&lt;br /&gt;1. Go to Project properties.&lt;br /&gt;2. If you are using C# project, you can directly see this text &#39;Target Framework:&#39; in application section. Otherwise if you are using VB project, you have to move to Compile section and find a button called &#39;Advanced Compiled Options...&#39; and click it, you&#39;ll get a windows form and you&#39;ll also see this text at below &#39;Target framework (all configurations):&#39;, change it to 3.5.&lt;br /&gt;3. You will be prompted a message to ensure changing the target framework.&lt;br /&gt;4. If you click yes, the target framework has been successfully changed.&lt;br /&gt;See below screen shots.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg79EIn4kfge3DPc2YNZzXMEjpChlSXhK7tFUQQLe3es4V8_QjuUpTDBt0sfIMBrgyR-xt3Knyjs0M6ZRgTpl3GTWast-_lIvQm7nQuj3SZfuPu2_LVFtxYVgmchKEDesIdh8uCsYymdM8/s1600-h/frmwrk2+C%23.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 277px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg79EIn4kfge3DPc2YNZzXMEjpChlSXhK7tFUQQLe3es4V8_QjuUpTDBt0sfIMBrgyR-xt3Knyjs0M6ZRgTpl3GTWast-_lIvQm7nQuj3SZfuPu2_LVFtxYVgmchKEDesIdh8uCsYymdM8/s400/frmwrk2+C%23.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325508275000373666&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMnv4H8zla800Kw05cA6IU-OB1yIhcJ85yyhuz7bQJUDzD_C2bec0GkkuGPs3btwbcf0NIe0FV_5vMOkqVbh4-EKQ7-dJgXmY-G6aX98Qkkrf2HFfUnFlbB8SCCrWBV385e09p9ICaS8/s1600-h/frmwrk2VBJPG.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMnv4H8zla800Kw05cA6IU-OB1yIhcJ85yyhuz7bQJUDzD_C2bec0GkkuGPs3btwbcf0NIe0FV_5vMOkqVbh4-EKQ7-dJgXmY-G6aX98Qkkrf2HFfUnFlbB8SCCrWBV385e09p9ICaS8/s400/frmwrk2VBJPG.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325508558135892242&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-IcdNRK0Y8cFgzSg5iqLVseyPYrDdrBphyLg6FOWaWdWb3rv6b8V6jx7K9RV2YxsNIoHeozzNC3yJeIK0OrABLwPCHLrM1cRA1JXxGt_GsjSk1zYcMFt_GrHptlGeZwRRvzaCCbLpyog/s1600-h/frmwrk3VB.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-IcdNRK0Y8cFgzSg5iqLVseyPYrDdrBphyLg6FOWaWdWb3rv6b8V6jx7K9RV2YxsNIoHeozzNC3yJeIK0OrABLwPCHLrM1cRA1JXxGt_GsjSk1zYcMFt_GrHptlGeZwRRvzaCCbLpyog/s400/frmwrk3VB.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325508756378573170&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSkRX0DEbv3Dn3tfEuVRYJI7F81K7S9BnzcLoEzGVEI8Ktw-fV-1Pr1lT78jGd7uav3LmhGvo68rHEtqoFDuMvgDi81HgZFVBwgP53jrQ34OmB1dpUCjohn7OlYsBp1QxxT08ISmCF8UA/s1600-h/frmwrk3c%23.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSkRX0DEbv3Dn3tfEuVRYJI7F81K7S9BnzcLoEzGVEI8Ktw-fV-1Pr1lT78jGd7uav3LmhGvo68rHEtqoFDuMvgDi81HgZFVBwgP53jrQ34OmB1dpUCjohn7OlYsBp1QxxT08ISmCF8UA/s400/frmwrk3c%23.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325509305726452450&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfLkzjlcZOTVT-zPGeoxw4ia5EqJcuUkcLieeDwP49mDB_zMm0k1uMGsFMpz9fvZp7rgSYuQ1L7-Qv9jQbOHDs7uXkHsJRS5BfgjW0tePOC_1Zn9DdEUQym0XPeS8y8IpgpToHTQsomnk/s1600-h/frmwrk4.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 297px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfLkzjlcZOTVT-zPGeoxw4ia5EqJcuUkcLieeDwP49mDB_zMm0k1uMGsFMpz9fvZp7rgSYuQ1L7-Qv9jQbOHDs7uXkHsJRS5BfgjW0tePOC_1Zn9DdEUQym0XPeS8y8IpgpToHTQsomnk/s400/frmwrk4.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325509533879216818&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/3616033755971788908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/net-change-target-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3616033755971788908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3616033755971788908'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/net-change-target-framework.html' title='Change .NET Target Framework'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFyfsqDkyz1LrlizVJzLNt9rc9TNn4RcSEt45gWVGtotPeOSkuNTHb-7QIrC1RDZa1hokjj_e0tOdKkGKVjLpBa15pCOmfhBY6Hl9X2843ZdYkswdGXGlXOIjAcivl_mOU3UNK3kl7crY/s72-c/frmwrk1.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-6952162534743834564</id><published>2009-04-16T18:08:00.012+07:00</published><updated>2009-04-20T09:08:30.001+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>VB .NET - SQL Injection Attack</title><content type='html'>Grrrr... grab this chance to share something that I learned before about SQL injection attack in desktop application environment.&lt;br /&gt;Hmmm... why do I always have a chance to post? &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/13.gif&#39; width=&#39;18&#39;/&gt; &lt;br /&gt;&lt;span class=&quot;fullpost&quot;&gt;What time is it now? Is it working time? ssstttt...&lt;br /&gt;At the beginning, I didn&#39;t have courage to post this, because I scared this post is outdated already.&lt;br /&gt;Nowadays, SQL injection attack is not a new trend, many people already knew how to prevent it in their application especially web application and website.&lt;br /&gt;With this post, I will describe some concepts of SQL injection and how to prevent it.&lt;br /&gt;Let&#39;s begin, no more roundtrip &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;br /&gt;In this demonstration, I&#39;ll use MySQL Database Server and VB .NET application for the front-end.&lt;br /&gt;Database: Northwind&lt;br /&gt;Table: Employees&lt;br /&gt;I assumed that these below 2 fields have been using for login to system.&lt;br /&gt;FirstName acts as &#39;Username&#39;&lt;br /&gt;City acts as &#39;Password&#39;&lt;br /&gt;If you don&#39;t have this database, you can download it at &lt;a href=&#39;http://www.indowebster.com/northwind.html&#39;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the front-end application, I am using VS 2008 but I already set the target framework of solution become &#39;.Net Framework 2.0&#39; due to I didn&#39;t use .Net Framework 3.5 features in this demo.&lt;br /&gt;Ok, now we prepare a malicious SQL query.&lt;br /&gt;Hmmm.. eg. &#39;; INSERT INTO employees(FirstName,City) VALUES (&#39;qiux&#39;,&#39;qiux&#39;) #&lt;br /&gt;Yeah, We will use above query to inject northwind database.&lt;br /&gt;&lt;br /&gt;Let&#39;s take a look below code.&lt;br /&gt;Dim sUsername, sPassword As String&lt;br /&gt;sUsername = Trim(txtUsername.Text)&lt;br /&gt;sPassword = Trim(txtPassword.Text)&lt;br /&gt;Dim sSQL As String = &quot;SELECT FirstName, City FROM employees WHERE FirstName = &#39;&quot; &amp; sUsername &amp; &quot;&#39; AND City = &#39;&quot; &amp; sPassword &amp; &quot;&#39;&quot;&lt;br /&gt;&lt;br /&gt;Do you notice what&#39;s wrong with above query in variable sSQL? It looks nice rite? I can tell you, that&#39;s a bad practise EVER! Bad person or attacker will use it to inject your database.&lt;br /&gt;Still don&#39;t believe? Well, take a look below explanation.&lt;br /&gt;We input any string in textbox &#39;txtUsername&#39; eg. ilovestudying or an empty string (depends on your luck ^^). And then we input this Whatever&#39;; INSERT INTO employees(FirstName,City) VALUES (&#39;qiux&#39;,&#39;qiux&#39;) # into textbox &#39;txtPassword&#39;.&lt;br /&gt;&lt;br /&gt;So after we run the application, we&#39;ll get 2 query in 1 line, the query will be like this SELECT FirstName, City FROM employees WHERE FirstName = &#39;ilovestudying&#39; AND City = &#39;Whatever&#39;; INSERT INTO employees(FirstName,City) VALUES (&#39;qiux&#39;,&#39;qiux&#39;) #&#39;&lt;br /&gt;&lt;br /&gt;Take note of this character ; (semicolon), it tells SQL that you’re starting a new statement. Also this character #, this is a comment function in MySQL, attacker will use it to avoid the last character which in this case is &#39; (single quotation mark).&lt;br /&gt;&lt;br /&gt;The approriate query will be like this,&lt;br /&gt;SELECT FirstName, City FROM employees WHERE FirstName = &#39;ilovestudying&#39; AND City = &#39;Whatever&#39;; INSERT INTO employees(FirstName,City) VALUES (&#39;qiux&#39;,&#39;qiux&#39;)&lt;br /&gt;&lt;br /&gt;Look, you can insert a row with value &#39;qiux&#39; for FirstName and &#39;qiux&#39; for City. Now you gain the access to system, you can login into it.&lt;br /&gt;How about &#39;DROP DATABASE&#39; AND &#39;DROP TABLE&#39; statements were using by attacker? Your data will be lost! Trivial mistake or practise can let you pay the high cost.&lt;br /&gt;&lt;br /&gt;So how to prevent it? My suggestion is using parameter when you want to execute any SQL query or using a replacing function in .NET.&lt;br /&gt;See below code,&lt;br /&gt;Dim sSQL As String = &quot;SELECT FirstName, City FROM employees WHERE FirstName = &#39;&quot; &amp; sUsername &amp; &quot;&#39; AND City = @Password&quot;&lt;br /&gt;&lt;br /&gt;And try again with this malicious query &#39;; INSERT INTO employees(FirstName,City) VALUES (&#39;qiux&#39;,&#39;qiux&#39;) #&lt;br /&gt;You&#39;ll see the difference, SQL injection can&#39;t be done because we are using a parameter in query statement.&lt;br /&gt;&lt;br /&gt;Secondly, we can use &#39;Replace&#39; method to prevent it.&lt;br /&gt;Private Function safeStringSQL(ByVal sInput As String) As String&lt;br /&gt;        Return sInput.Replace(&quot;&#39;&quot;, &quot;&#39;&#39;&quot;)&lt;br /&gt;End Function&lt;br /&gt;I replaced this character &#39; to &#39;&#39;. Try to inject it, you won&#39;t success to inject it too.&lt;br /&gt;&lt;br /&gt;If you still don&#39;t understand till here, that&#39;s okay. I already provided the source code for you to cook it ^^ Sometime we have to try it so we can understand it easily.&lt;br /&gt;&lt;br /&gt;Below are some tips from me to limit the chance of exploit or injection:&lt;br /&gt;1. When we run the application, an exception occurs in your catch block statement, don&#39;t ever to expose it especially the SQL errors raised by database to the user. Try to log error information and show to user only friendly information. This will prevent exposing unnecessary detail that could help an attacker.&lt;br /&gt;eg. in this demo, I don&#39;t give a friendly information to user deliberately. &lt;br /&gt;Because this is only a practise. Well, so what does above statement mean? &lt;br /&gt;When we try to inject, at the beginning we don&#39;t know what&#39;s the table name used for login so attacker will try and try any table name.&lt;br /&gt;Perhaps is &#39;; INSERT INTO user(Username,Password) VALUES (&#39;qiux&#39;,&#39;qiux&#39;) #&lt;br /&gt;IF table &#39;user&#39; doesn&#39;t exist in database, you&#39;ll get a message approximately like this, Table &#39;northwind.user&#39; doesn&#39;t exist.&lt;br /&gt;What happened? Attacker will know there isn&#39;t a table called &#39;user&#39; and he/she will try another again, also apply to field name.&lt;br /&gt;So we have to keep secret the SQL errors raised by database to the user.&lt;br /&gt;You can try it later, try with whatever table name and field name.&lt;br /&gt;&lt;br /&gt;2. Limiting the size and type of input. By limiting the size and type of input, you significantly reduce the potential for damage. For example, if your database lookup field is 20 characters long and comprised entirely of numeric characters, enforce it.&lt;br /&gt;&lt;br /&gt;I know this is just a basic knowledge of SQL injection attack, but why not? This is an useful knowledge for us, rite? &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif&#39; width=&#39;18&#39;/&gt; Happy programming!&lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/MySQLInjection_qiux.html&#39;&gt;Source code&lt;/a&gt;&lt;br /&gt;Note: Don&#39;t forget to change the connection string to MySQL Database Server!&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/6952162534743834564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-sql-injection-attack.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6952162534743834564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/6952162534743834564'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-sql-injection-attack.html' title='VB .NET - SQL Injection Attack'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-2325785810175301726</id><published>2009-04-15T16:29:00.005+07:00</published><updated>2009-04-18T10:12:58.246+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>VB .NET - Typed and Untyped Dataset</title><content type='html'>Well, I grab this chance to explain a bit about the difference between &lt;span style=&quot;font-weight:bold;&quot;&gt;Typed and Untyped Dataset in .Net&lt;/span&gt;. Typed Dataset sometimes can be called as Strongly Typed Dataset and vice versa for Untyped Dataset (Weakly Typed &lt;span class=&quot;fullpost&quot;&gt; Dataset).&lt;br /&gt;I made a big mistake in my life when people keep asking me, which one is better, typed or untyped?&lt;br /&gt;My answer was Untyped Dataset without gave them a specific explanation! Till now, I always use Untyped Dataset, because it has become my habit.&lt;br /&gt;And I don&#39;t know that is a good habit or not. I put all things into code, those could be maintained easily according to me.&lt;br /&gt;When the schema of dataset or data structure has been changed, we no need to regenerate again the dataset class with each change in the data structure.&lt;br /&gt;Let&#39;s dive into clear explanation about dataset &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;What is a dataset?&lt;/span&gt;&lt;br /&gt;Datasets store data in a disconnected cache. The structure of a dataset is similar to that of a relational database; it exposes a hierarchical object model of tables, rows, and columns. &lt;br /&gt;In addition, it contains constraints and relationships defined for the dataset.&lt;br /&gt;You use datasets if you want to work with a set of tables and rows while disconnected from the data source.&lt;br /&gt;One more thing we have to remember is we can create a relationship in dataset, that&#39;s cool man!&lt;br /&gt;That&#39;s a good feature when we want create a master-detail relationship and put in datagrid especially devexpress&#39;s grid control.&lt;br /&gt;Programming burden is become lesser ever! &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/104.gif&#39; width=&#39;30&#39;/&gt;&lt;br /&gt;&lt;br /&gt;So &lt;span style=&quot;font-weight:bold;&quot;&gt;what is a Typed Dataset or Strongly Typed Dataset?&lt;/span&gt;&lt;br /&gt;A typed dataset is a dataset that is first derived from the base DataSet class and then uses information in an XML Schema file (an .xsd file) to generate a new class. &lt;br /&gt;Information from the schema (tables, columns, and so on) is generated and compiled into this new dataset class as a set of first-class objects and properties.&lt;br /&gt;Visual Studio has more tool support for typed datasets, and they make programming with the dataset easier and less error-prone.&lt;br /&gt;Typed access is not only easier to read, but is fully supported by IntelliSense in the Visual Studio Code Editor. In addition to being easier to work with, the syntax for the typed dataset provides type checking at compile time, greatly reducing the possibility of errors in assigning values to dataset members.&lt;br /&gt;Access to tables and columns in a typed dataset is also slightly faster at run time because access is determined at compile time, not through collections at run time.&lt;br /&gt;Also that if you are getting errors in Typed DataSet, they will most probably be in compile time and not runtime so you can always fix them. &lt;br /&gt;We can create a Typed Dataset using IDE VS, right click on solution properties, choose Add &gt; Dataset.&lt;br /&gt;&lt;br /&gt;Assuming that we already added a dataset and some datatables with their relationship eg. Employee and SaleMaster.&lt;br /&gt;Let&#39;s see how easy it can refer to the specific column and row that are present in the dataset. &lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;Dim sEmployeeID As String&lt;br /&gt;Dim sSaleMasterID As String&lt;br /&gt;&lt;br /&gt;Dim oTypedDsEmployeeSale As New dsEmployeeSale&lt;br /&gt;sEmployeeID = oTypedDsEmployeeSale.Employee(0).EmployeeID&lt;br /&gt;sSaleMasterID = oTypedDsEmployeeSale.SaleMaster(0).SaleMasterID&lt;br /&gt;&lt;br /&gt;The last is we can create a class file from the dataset with extension .xsd.&lt;br /&gt;Using VS Command Prompt we find the path of .xsd file location which you want create. We should use keyword &#39;xsd&#39;, eg. xsd dsEmployeeSale.xsd /c /l:VB&lt;br /&gt;/c is creating a class file from an .xsd file&lt;br /&gt;/l:VB is creating a class file in VB Language, you can also choose C# Language.&lt;br /&gt;For more information about which type of escape sequence you want to apply, you can enter &#39;xsd /?&#39;&lt;br /&gt;There are many things that you can do depend on your needs.&lt;br /&gt;Below is the screen shots.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieW1E145JQLntcIxCxPbitexe5IyRyAoAp8rcJftOiv7GDsZOwnD_BfhmsR-6Q1aywMCoBr6mm5V0J0OWwo4v9uwH3of7SUkkp6vENDRCKJXFn_gPko6pwPjiNr-NIWuihR_76TyjZv9g/s1600-h/ds1.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieW1E145JQLntcIxCxPbitexe5IyRyAoAp8rcJftOiv7GDsZOwnD_BfhmsR-6Q1aywMCoBr6mm5V0J0OWwo4v9uwH3of7SUkkp6vENDRCKJXFn_gPko6pwPjiNr-NIWuihR_76TyjZv9g/s320/ds1.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325119660050823266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1Kby6q7OijAvlZpAmgnSE-xZbEHdjjCef0y3LLxgGmbQl4ULGgFQzRd_Cg870APATz8jQTgEnjZJm1tt2wKXoALJrxq8ZBZGCxRf1IiQPORO_4c3iPxZACuT2p9WI-rZi5NALcdWXTo/s1600-h/ds2.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 73px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1Kby6q7OijAvlZpAmgnSE-xZbEHdjjCef0y3LLxgGmbQl4ULGgFQzRd_Cg870APATz8jQTgEnjZJm1tt2wKXoALJrxq8ZBZGCxRf1IiQPORO_4c3iPxZACuT2p9WI-rZi5NALcdWXTo/s320/ds2.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5325119919960410578&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Secondly &lt;span style=&quot;font-weight:bold;&quot;&gt;what is a Untyped Dataset or Weakly Typed Dataset?&lt;/span&gt;&lt;br /&gt;An untyped dataset, in contrast, has no corresponding built-in schema. As in a typed dataset, an untyped dataset contains tables, columns, and so on — but those are exposed only as collections.&lt;br /&gt;(However, after manually creating the tables and other data elements in an untyped dataset, you can export the dataset&#39;s structure as a schema using the dataset&#39;s WriteXmlSchema method.)&lt;br /&gt;Even though typed datasets have many advantages, there are a variety of circumstances under which an untyped dataset is useful. The most obvious scenario is that no schema is available for the dataset. &lt;br /&gt;This might occur, for example, if your application is interacting with a component that returns a dataset, but you do not know in advance what its structure is. &lt;br /&gt;Similarly, there are times when you are working with data that does not have a static, predictable structure; in that case, it is impractical to use a typed dataset, because you would have to regenerate the typed dataset class with each change in the data structure.&lt;br /&gt;&lt;br /&gt;If we want use an Untyped Dataset, we have to create it with code. As the relationship of its datatables, we also have to put some codes to create it.&lt;br /&gt;So this is really a pure code without depending to designer of IDE.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;Dim sEmployeeID As String&lt;br /&gt;Dim sSaleMasterID As String&lt;br /&gt;&lt;br /&gt;Dim oUntypedDsEmployeeSale As New DataSet&lt;br /&gt;oUntypedDsEmployeeSale.Tables.Add(&quot;Employee&quot;)&lt;br /&gt;oUntypedDsEmployeeSale.Tables.Add(&quot;SaleMaster&quot;)&lt;br /&gt;&lt;br /&gt;Dim primaryKeyColumn As DataColumn = oUntypedDsEmployeeSale.Tables(&quot;Employee&quot;).Columns(&quot;CustomerID&quot;)&lt;br /&gt;Dim foreignKeyColumn As DataColumn = oUntypedDsEmployeeSale.Tables(&quot;SaleMaster&quot;).Columns(&quot;SaleMasterID&quot;)&lt;br /&gt;oUntypedDsEmployeeSale.Relations.Add(&quot;EmployeeSale&quot;, primaryKeyColumn, foreignKeyColumn)&lt;br /&gt;&lt;br /&gt;sEmployeeID = oUntypedDsEmployeeSale.Tables(&quot;Employee&quot;).Rows(0).Item(&quot;EmployeeID&quot;).ToString&lt;br /&gt;sSaleMasterID = oUntypedDsEmployeeSale.Tables(&quot;SaleMaster&quot;).Rows(0).Item(&quot;SaleMasterID&quot;).ToString&lt;br /&gt;&lt;br /&gt;I still confuse for deciding which type should I use, but I believe that depends on our requirement.&lt;br /&gt;Only this simple explanation which I can share at this moment, happy programming! &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/2325785810175301726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-typed-and-untyped-dataset.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/2325785810175301726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/2325785810175301726'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-typed-and-untyped-dataset.html' title='VB .NET - Typed and Untyped Dataset'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieW1E145JQLntcIxCxPbitexe5IyRyAoAp8rcJftOiv7GDsZOwnD_BfhmsR-6Q1aywMCoBr6mm5V0J0OWwo4v9uwH3of7SUkkp6vENDRCKJXFn_gPko6pwPjiNr-NIWuihR_76TyjZv9g/s72-c/ds1.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-1005163544633087700</id><published>2009-04-15T14:06:00.006+07:00</published><updated>2009-04-18T10:13:20.538+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Java - Swing vs AWT</title><content type='html'>When developing a Java program it is important to select the appropriate Java Graphical User Interface (GUI) components. There are two basic sets of components that you will most likely build your Java programs &lt;span class=&quot;fullpost&quot;&gt;with. These two groups of components are called the Abstract Window Toolkit (AWT) and Swing. Both of these groups of components are part of the Java Foundation Classes (JFC). &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;An Overview of the AWT&lt;/span&gt;&lt;br /&gt;AWT stands for Abstract Window ToolKit. The Abstract Window Toolkit supports GUI Java programming. It is a portable GUI library for stand-alone applications and/or applets. The Abstract Window Toolkit provides the connection between your application and the native GUI. The AWT provides a high level of abstraction for your Java program since it hides you from the underlying details of the GUI your program will be running on.&lt;br /&gt;&lt;br /&gt;AWT features include:&lt;br /&gt;    * A rich set of user interface components.&lt;br /&gt;    * A robust event-handling model.&lt;br /&gt;    * Graphics and imaging tools, including shape, color, and font classes.&lt;br /&gt;    * Layout managers, for flexible window layouts that don&#39;t depend on a particular window size or screen resolution.&lt;br /&gt;    * Data transfer classes, for cut-and-paste through the native platform clipboard. &lt;br /&gt;&lt;br /&gt;The AWT components depend on native code counterparts (called peers) to handle their functionality. Thus, these components are often called &quot;heavyweight&quot; components. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;An Overview of Swing&lt;/span&gt;&lt;br /&gt;Swing implements a set of GUI components that build on AWT technology and provide a pluggable look and feel. Swing is implemented entirely in the Java programming language, and is based on the JDK 1.1 Lightweight UI Framework.&lt;br /&gt;&lt;br /&gt;Swing features include:&lt;br /&gt;    * All the features of AWT.&lt;br /&gt;    * 100% Pure Java certified versions of the existing AWT component set (Button, Scrollbar, Label, etc.).&lt;br /&gt;    * A rich set of higher-level components (such as tree view, list box, and tabbed panes).&lt;br /&gt;    * Pure Java design, no reliance on peers.&lt;br /&gt;    * Pluggable Look and Feel. &lt;br /&gt;&lt;br /&gt;Swing components do not depend on peers to handle their functionality. Thus, these components are often called &quot;lightweight&quot; components.&lt;br /&gt;AWT vs. Swing&lt;br /&gt;&lt;br /&gt;There are, of course, both pros and cons to using either set of components from the JFC in your Java applications. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Here is a summary &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;AWT:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Pros&lt;/span&gt;&lt;br /&gt;    * Speed: use of native peers speeds component performance.&lt;br /&gt;    * Applet Portability: most Web browsers support AWT classes so AWT applets can run without the Java plugin.&lt;br /&gt;    * Look and Feel: AWT components more closely reflect the look and feel of the OS they run on. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Cons&lt;/span&gt;&lt;br /&gt;    * Portability: use of native peers creates platform specific limitations. Some components may not function at all on some platforms.&lt;br /&gt;    * Third Party Development: the majority of component makers, including Borland and Sun, base new component development on Swing components. There is a much smaller set of AWT components available, thus placing the burden on the programmer to create his or her own AWT-based components.&lt;br /&gt;    * Features: AWT components do not support features like icons and tool-tips. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Swing:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Pros&lt;/span&gt;&lt;br /&gt;    * Portability: Pure Java design provides for fewer platform specific limitations.&lt;br /&gt;    * Behavior: Pure Java design allows for a greater range of behavior for Swing components since they are not limited by the native peers that AWT uses.&lt;br /&gt;    * Features: Swing supports a wider range of features like icons and pop-up tool-tips for components.&lt;br /&gt;    * Vendor Support: Swing development is more active. Sun puts much more energy into making Swing robust.&lt;br /&gt;    * Look and Feel: The pluggable look and feel lets you design a single set of GUI components that can automatically have the look and feel of any OS platform (Microsoft Windows, Solaris, Macintosh, etc.). It also makes it easier to make global changes to your Java programs that provide greater accessibility (like picking a hi-contrast color scheme or changing all the fonts in all dialogs, etc.). &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Cons&lt;/span&gt;&lt;br /&gt;    * Applet Portability: Most Web browsers do not include the Swing classes, so the Java plugin must be used.&lt;br /&gt;    * Performance: Swing components are generally slower and buggier than AWT, due to both the fact that they are pure Java and to video issues on various platforms. Since Swing components handle their own painting (rather than using native API&#39;s like DirectX on Windows) you may run into graphical glitches.&lt;br /&gt;    * Look and Feel: Even when Swing components are set to use the look and feel of the OS they are run on, they may not look like their native counterparts. &lt;br /&gt;&lt;br /&gt;In general, AWT components are appropriate for simple applet development or development that targets a specific platform (i.e. the Java program will run on only one platform).&lt;br /&gt;&lt;br /&gt;For most any other Java GUI development you will want to use Swing components. Also note that the Borland value-added components included with JBuilder, like dbSwing and JBCL, are based on Swing components so if you wish to use these components you will want to base your development on Swing. &lt;br /&gt;&lt;br /&gt;Tip: Whether you choose to use Swing or AWT for your Java program development, you should avoid mixing the two. There are many painting problems that can occur when you mix heavyweight AWT components with lightweight Swing.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href=&#39;http://edn.embarcadero.com/article/26970&#39;&gt;Developer Network&lt;/a&gt; &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/104.gif&#39; width=&#39;30&#39;/&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/1005163544633087700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/java-swing-vs-awt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1005163544633087700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1005163544633087700'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/java-swing-vs-awt.html' title='Java - Swing vs AWT'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-2313169234609342832</id><published>2009-04-15T13:40:00.008+07:00</published><updated>2009-04-18T10:12:11.320+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>VB .NET - Using MS Speech Library</title><content type='html'>Do you ever think to make an application which can speak based on specific texts?&lt;br /&gt;With several lines of code, you really can realize your dream &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;Using Microsoft Speech Library Object, we can &lt;span class=&quot;fullpost&quot;&gt;use speak method of an object. &lt;br /&gt;Talking less, let&#39;s see below code &lt;img border=&#39;0&#39; height=&#39;18&#39; src=&#39;http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif&#39; width=&#39;18&#39;/&gt;&lt;br /&gt;&lt;br /&gt;Notice this parameter &#39;SpeechVoiceSpeakFlags.SVSFlagsAsync&#39;.&lt;br /&gt;That is one of SpeechVoiceSpeakFlags Enum which can control SpVoice.Speak method.&lt;br /&gt;For more information of SpeechVoiceSpeakFlags Enum, please visit this link &lt;a href=&#39;http://msdn.microsoft.com/en-us/library/ms720892(VS.85).aspx&#39;&gt;MSDN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&#39;http://www.indowebster.com/SpeechLibUsingVBNetqiux.html&#39;&gt;Download source code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;Option Strict On&lt;br /&gt;Option Explicit On&lt;br /&gt;Imports SpeechLib&lt;br /&gt;&lt;br /&gt;Public Class Form1&lt;br /&gt;    Private Sub btnSpeakIt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeakIt.Click&lt;br /&gt;        Dim oSpeaker As New SpVoice&lt;br /&gt;        Try&lt;br /&gt;            If Trim(txtTextMessage.Text) = &quot;&quot; Then&lt;br /&gt;                MessageBox.Show(&quot;Please input your text message for testing.&quot;, &quot;Speaker&quot;, MessageBoxButtons.OK, MessageBoxIcon.Information)&lt;br /&gt;                txtTextMessage.Focus()&lt;br /&gt;            Else&lt;br /&gt;                oSpeaker.Speak(Trim(txtTextMessage.Text), SpeechVoiceSpeakFlags.SVSFlagsAsync)&lt;br /&gt;            End If&lt;br /&gt;        Catch ex As Exception&lt;br /&gt;            MessageBox.Show(ex.Message.ToString, &quot;Speaker&quot;, MessageBoxButtons.OK, MessageBoxIcon.Error)&lt;br /&gt;        End Try&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/2313169234609342832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-using-ms-speech-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/2313169234609342832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/2313169234609342832'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/vb-net-using-ms-speech-library.html' title='VB .NET - Using MS Speech Library'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-3756093289989976313</id><published>2009-04-14T18:26:00.001+07:00</published><updated>2009-04-15T08:42:12.730+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computer Joke"/><title type='text'>Part 8</title><content type='html'>Husband: (Returning late from work) &quot;Good Evening Dear, I`m now logged in.&quot;&lt;br /&gt;Wife???: Have you brought the grocery?&lt;br /&gt;Husband: Bad command or filename.&lt;br /&gt;Wife???: But I told you in the morning!&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;Husband: Erroneous syntax. Abort?&lt;br /&gt;Wife???: What about my new TV?&lt;br /&gt;Husband: Variable not found ...&lt;br /&gt;Wife???: At least, give me your Credit Card, I want to do some shopping.&lt;br /&gt;Husband: Sharing Violation. Access denied...&lt;br /&gt;Wife???: Do you love me or do you only love computers or are you just being funny?&lt;br /&gt;Husband: Too many parameters...&lt;br /&gt;Wife???: It was a great mistake that I married an idiot like you.&lt;br /&gt;Husband: Data type mismatch.&lt;br /&gt;Wife???: You are useless.&lt;br /&gt;Husband: It`s by Default.&lt;br /&gt;Wife???: What about your Salary?&lt;br /&gt;Husband: File in use ... Try later.&lt;br /&gt;Wife???: What is my value in the family.&lt;br /&gt;Husband: Unknown Virus&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MORAL: Beware before getting married to an IT pro. &lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/3756093289989976313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3756093289989976313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/3756093289989976313'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-8.html' title='Part 8'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-9216351919377886049</id><published>2009-04-14T18:25:00.001+07:00</published><updated>2009-04-14T18:27:34.980+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computer Joke"/><title type='text'>Part 7</title><content type='html'>Tech Support: &quot;I need you to right-click on the Desktop.&quot;&lt;br /&gt;Customer: &quot;Ok.&quot;&lt;br /&gt;Tech Support: &quot;Did you get a pop-up menu?&quot;&lt;br /&gt;Customer: &quot;No.&quot;&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;Tech Support: &quot;Ok. Right click again. Do you see a pop-up menu?&quot;&lt;br /&gt;Customer: &quot;No.&quot;&lt;br /&gt;Tech Support: &quot;Ok, sir. Can you tell me what you have done up until this point?&quot;&lt;br /&gt;Customer: &quot;Sure, you told me to write &#39;click&#39; and I wrote click&#39;.&quot;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/9216351919377886049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/9216351919377886049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/9216351919377886049'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-7.html' title='Part 7'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-1935636784393885448</id><published>2009-04-14T18:23:00.001+07:00</published><updated>2009-04-14T18:25:16.629+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computer Joke"/><title type='text'>Part 6</title><content type='html'>A Software Engineer, a Hardware Engineer and a Branch Manager were on their way to a meeting. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of &lt;span class=&quot;fullpost&quot;&gt;control down the road, bouncing off the crash barriers, until it miraculously ground to a halt scraping along the mountainside. The car&#39;s occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do?&lt;br /&gt;&lt;br /&gt;&quot;I know,&quot; said the Branch Manager, &quot;Let&#39;s have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement find a solution to the Critical Problems, and we can be on our way.&quot;&lt;br /&gt;&lt;br /&gt;&quot;No, no,&quot; said the Hardware Engineer, &quot;That will take far too long, and besides, that method has never worked before. I&#39;ve got my Swiss Army knife with me, and in no time at all I can strip down the car&#39;s braking system, isolate the fault, fix it, and we can be on our way.&quot;&lt;br /&gt;&lt;br /&gt;&quot;Well,&quot; said the Software Engineer, &quot;Before we do anything, I think we should push the car back up the road and see if it happens again.&quot;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/1935636784393885448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1935636784393885448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/1935636784393885448'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-6.html' title='Part 6'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6024451076279362926.post-704640702030123107</id><published>2009-04-08T12:49:00.002+07:00</published><updated>2009-04-08T13:06:44.790+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Computer Joke"/><title type='text'>Part 5</title><content type='html'>Programmer to Team Leader: “We can’t do this proposed project. It will involve a major design change and no one in our team knows the design of this legacy system. And above that, nobody in our company knows the&lt;span class=&quot;fullpost&quot;&gt; language in which this application has been written. So even if somebody wants to work on it, they can’t. If you ask my personal opinion, the company should never take this type of project.”&lt;br /&gt;&lt;br /&gt;Team Leader to Project Manager: “This project will involve a design change. Currently, we don’t have any staff who has experience in this type of work. Also, the language is unfamiliar to us, so we will have to arrange for some training if we take this project. In my personal opinion, we are not ready to take on a project of this nature.”&lt;br /&gt;&lt;br /&gt;Project Manager to Director: “This project involves a design change in the system and we don’t have much experience in that area. Also, not many people in our company are appropriately trained for it. In my personal opinion, we might be able to do the project but we would need more time than usual to complete it.”&lt;br /&gt;&lt;br /&gt;Director to Vice President: “This project involves design re-engineering. We have some people who have worked in this area and others who know the implementation language. So they can train other people. In my personal opinion we should take this project, but with caution.”&lt;br /&gt;&lt;br /&gt;Vice President to CEO: “This project will demonstrate to the industry our capabilities in remodeling the design of a complete legacy system. We have all the necessary skills and people to execute this project successfully. Some people have already given in-house training in this area to other staff members. In my personal opinion, we should not let this project slip by us under any circumstances.”&lt;br /&gt;&lt;br /&gt;CEO to Client: “This is the type of project in which our company specializes. We have executed many projects of the same nature for many large clients. Trust me when I say that we are the most competent firm in the industry for doing this kind of work. It is my personal opinion that we can execute this project successfully and well within the given time frame.”&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetonesofillusion.blogspot.com/feeds/704640702030123107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/704640702030123107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6024451076279362926/posts/default/704640702030123107'/><link rel='alternate' type='text/html' href='http://thetonesofillusion.blogspot.com/2009/04/part-5.html' title='Part 5'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>