After years and year of debate, finally, we at REALSOFT will have two day weekend.
That was not possible before due to the fact that our office in Oman works Sat to Wed, and if we work Sun to Thursday, we are going to be out of communication with our office in Oman for three days in a row!! Finally, Oman, and all Gulf countries (with the exception of Saudi Arabia) have adopted Fri-Sat weekend. Therefore, officially, We have no reason to go to offices on Saturday. Our working hours are 8:30 to 6:00 with one hour lunch break - 5 days a week
Our Ramadan office hours are therefore extended till 3:30 and shall start at 8:30
starting tomorrow
Saturday, September 15, 2007
Wednesday, September 12, 2007
Tuesday, September 11, 2007
This trick will allow you know the country of origin of your mobile phone
Press the following code on your mobile*#06# and the-international mobile equipment identity number appears. something similar to 343456001397734
Then check the 7th and 8th numbers: (in the above example the 7th and 8th digits are 00 which i highlighted in red)
according to an emial that i received from a company colleague (and the judgement of the quality of the mobile based on the country of the origin is also given by the same person and is therefore can be a matter of opinion)
IF the Seventh & Eighth digits are 02 or 20 this means your cell phone was assembled in Emirates which is very Bad quality
IF the Seventh & Eighth digits are 08 or 80 this means your cell phone was manufactured in Germany which is fair quality
IF the Seventh & Eighth digits are 01 or 10 this means your cell phone was manufactured in Finland which is very Good
IF the Seventh & Eighth digits are 00 this means your cell phone was manufactured in original factory which is the best Mobile Quality
IF the Seventh & Eighth digits are 13 this means your cell phone was assembled in Azerbaijan which is very Bad quality and also dangerous for your health
Press the following code on your mobile*#06# and the-international mobile equipment identity number appears. something similar to 343456001397734
Then check the 7th and 8th numbers: (in the above example the 7th and 8th digits are 00 which i highlighted in red)
according to an emial that i received from a company colleague (and the judgement of the quality of the mobile based on the country of the origin is also given by the same person and is therefore can be a matter of opinion)
IF the Seventh & Eighth digits are 02 or 20 this means your cell phone was assembled in Emirates which is very Bad quality
IF the Seventh & Eighth digits are 08 or 80 this means your cell phone was manufactured in Germany which is fair quality
IF the Seventh & Eighth digits are 01 or 10 this means your cell phone was manufactured in Finland which is very Good
IF the Seventh & Eighth digits are 00 this means your cell phone was manufactured in original factory which is the best Mobile Quality
IF the Seventh & Eighth digits are 13 this means your cell phone was assembled in Azerbaijan which is very Bad quality and also dangerous for your health
Sunday, September 09, 2007
Hebrew, an attitude towards normalization ?
If somebody from the far east ever asks you to create Hebrew fonts and download such fonts to a certain device that he created, how would you react? Would you look at it as yet another font for some language, or you would tie up with the oppressive state of Israel. Personally, i am radically against any movement towards normalization with the Zionist state! It would be much easier for me to give my judgment only if i am not directly involved in this situation and maybe unable to abstract the situation an isolate any bias I have toward the benefits of the company
Thursday, September 06, 2007
Informobility products of Jordan conquer Taiwan
Informobility LLC , REALSOFT sister company won a contract for the arabization of the newly launched HTC line of smartphone an PDAs. Informobility is truly a leading provider of mobile and wireless products and services with an impressive track record of innovative solution and a phenomenal number of successful implementation in Jordan and the middle east. http://www.informobility.com. HTC is a Taiwan based world-class manufacturing company of cutting edge smartphone and PDA products. HCT is the original manufacturere of the well known I-mate and Qtek range of PDAs. http://www.htc.com. Based on the terms of the contract, Informobility shall be Arabic enabling HCT smartphones and PDAs for two years to come. We at Realsoft celebrated this event and congratulated ourselves and our partners at informobility during a lunch gathering here in Amman.
Wednesday, September 05, 2007
Gala Dinner and a mobile
Last night, ORANGE Brand was officially launched in Jordan at a Gala dinner held on the premises of Amman Citadel. As you would imagine, many people were there. The food was good, the weather was nice. Many attempts were made to entertain people (Belly dancing show, fireworks, Lebanese Female singer). To me, only the fireworks show was a real attempt, other than that forget it. The Female singer is somebody called Carol Sama7a (cannot deny that I heard the name before, but the face looked like a total stranger to me).
Ilmohem, while we were leaving the dinner, men received a mobile phone, a real sleek Motorola Moto Razer 2 (obviously locked to Mobilecom SIM) and my wife also had it share with a well craftet silver necklace.
Apparently I made a mistake in wording in part this post; I should not have written the statement (obviously locked to Mobilecom SIM) I should be writing (obviously locked to ORANGE) otherwise my attendance yesterday defeated its purpose
Ilmohem, while we were leaving the dinner, men received a mobile phone, a real sleek Motorola Moto Razer 2 (obviously locked to Mobilecom SIM) and my wife also had it share with a well craftet silver necklace.
Apparently I made a mistake in wording in part this post; I should not have written the statement (obviously locked to Mobilecom SIM) I should be writing (obviously locked to ORANGE) otherwise my attendance yesterday defeated its purpose
Thursday, August 23, 2007
Duncan Again
Using the Value of an ADF List Binding
Written By Duncan Mills, Oracle CorporationJune, 2006
Introduction
Using list bindings ADF makes it very easy to associate drop-down lists and radio groups with either static or dynamic sets of data. When a suitable attribute is bound by dragging from the Data Control Palette and dropping as "Single Selection" the user specifies the value that will be populated and the label to use on the list entries themselves.
Where things get slightly confusing with such bound list UIs is the matter of a developer's initial expectation as to how the list should work. Taking the example of the EMPLOYEES and DEPARTMENTS table from the HR demo schema. If the Employee DepartmentID attribute is bound as a list and populated from the DEPARTMENTS table, the natural assumption would be that the list is composed of a set of elements, each of which, has a DepartmentID value and a DepartmentName label, for example 10-Administration, 20-Marketing, 30-Purchasing ...80-Sales and so on.
With this assumption in mind, developers often make the mistake of treating the value of the list binding as one of these expected values and trying to write code or expressions based on that. For example the developer might decide to conditionally render the Commission field on the screen using an expression based on the value of the DepartmentId field. In the example of a JavaServer Faces UI this might look like the following:
However, the expected result is not achieved because that initial assumption about the "value" of the list binding is actually incorrect. ADF actually manages the selected value of the list item internally and the value that is exposed through the list binding itself is only the index number of the selection in the list. So in the above example, the evaluated value of bindings.EmployeesView1DepartmentId.inputValue will probably evaluate to 8 rather than 80, depending on the contents of the DEPARTMENTS table.
This article examines how you can access the true value of the selected list item or radio button directly from ADF.
Creating a Secondary Binding
The simplest way to gain direct access to the true value of an attribute that is populated from a list binding is to create a secondary value binding to the underlying data. This secondary binding can then be used within expressions to access the true value of the attribute. Reverting to the example of the DepartmentId field, here are the steps. This assumes that you have suitable collections of data defined, in this case we're using ADF Business Components with default view objects for EMPLOYEES and DEPARTMENTS. We also assume here that you have already bound the DepartmentId attribute of the Employees collection as a list (for example an af:selectOneChoice if using JSF)
Open the page that contains the list item if it is not already open, and select Go to Page Definition from the right-click menu.
In the Structure window, select the bindings node, and from the right-click menu choose Insert inside bindings attributeBindings.
The attribute Binding Editor will appear. From the drop down list labeled Select an Iterator, select the iterator that the form fields are based on i.e. the Employees in this case. Then select the DepartmentId attribute on the right hand side. The dialog should look like the following illustration:
OK the dialog and a new binding (in this case called simply DepartmentId) is created. The primary (list) binding for the DepartmentId attribute will be called something like EmployeesView1DepartmentId.. You might want to clarify the purpose of the secondary binding by selecting it in the Structure window and using the Property Inspector to change the Id property to something that describes its function, such as "DepartmentIdCurrentValue".
Now the secondary binding is created you can go ahead and use it in expressions, for example "#{bindings.DepartmentIdCurrentValue.inputValue =='80'}" and it will evaluate as expected. You can also use the binding in code for example:
AttributeBinding deptIdBinding = (AttributeBinding)getBindings().getControlBinding("DepartmentIdCurrentValue"); Number deptId = (Number)deptIdBinding.getInputValue();
Summary
The ability to specify multiple bindings against the same attribute provides the developer with a great deal of flexibility. This example of working with list bindings shows one common use of the technique, but it can also be used in alternative contexts such as combinations of table and attribute bindings for "Summary Table + Detail View" type UIs.
Written By Duncan Mills, Oracle CorporationJune, 2006
Introduction
Using list bindings ADF makes it very easy to associate drop-down lists and radio groups with either static or dynamic sets of data. When a suitable attribute is bound by dragging from the Data Control Palette and dropping as "Single Selection" the user specifies the value that will be populated and the label to use on the list entries themselves.
Where things get slightly confusing with such bound list UIs is the matter of a developer's initial expectation as to how the list should work. Taking the example of the EMPLOYEES and DEPARTMENTS table from the HR demo schema. If the Employee DepartmentID attribute is bound as a list and populated from the DEPARTMENTS table, the natural assumption would be that the list is composed of a set of elements, each of which, has a DepartmentID value and a DepartmentName label, for example 10-Administration, 20-Marketing, 30-Purchasing ...80-Sales and so on.
With this assumption in mind, developers often make the mistake of treating the value of the list binding as one of these expected values and trying to write code or expressions based on that. For example the developer might decide to conditionally render the Commission field on the screen using an expression based on the value of the DepartmentId field. In the example of a JavaServer Faces UI this might look like the following:
However, the expected result is not achieved because that initial assumption about the "value" of the list binding is actually incorrect. ADF actually manages the selected value of the list item internally and the value that is exposed through the list binding itself is only the index number of the selection in the list. So in the above example, the evaluated value of bindings.EmployeesView1DepartmentId.inputValue will probably evaluate to 8 rather than 80, depending on the contents of the DEPARTMENTS table.
This article examines how you can access the true value of the selected list item or radio button directly from ADF.
Creating a Secondary Binding
The simplest way to gain direct access to the true value of an attribute that is populated from a list binding is to create a secondary value binding to the underlying data. This secondary binding can then be used within expressions to access the true value of the attribute. Reverting to the example of the DepartmentId field, here are the steps. This assumes that you have suitable collections of data defined, in this case we're using ADF Business Components with default view objects for EMPLOYEES and DEPARTMENTS. We also assume here that you have already bound the DepartmentId attribute of the Employees collection as a list (for example an af:selectOneChoice if using JSF)
Open the page that contains the list item if it is not already open, and select Go to Page Definition from the right-click menu.
In the Structure window, select the bindings node, and from the right-click menu choose Insert inside bindings attributeBindings.
The attribute Binding Editor will appear. From the drop down list labeled Select an Iterator, select the iterator that the form fields are based on i.e. the Employees in this case. Then select the DepartmentId attribute on the right hand side. The dialog should look like the following illustration:
OK the dialog and a new binding (in this case called simply DepartmentId) is created. The primary (list) binding for the DepartmentId attribute will be called something like EmployeesView1DepartmentId.. You might want to clarify the purpose of the secondary binding by selecting it in the Structure window and using the Property Inspector to change the Id property to something that describes its function, such as "DepartmentIdCurrentValue".
Now the secondary binding is created you can go ahead and use it in expressions, for example "#{bindings.DepartmentIdCurrentValue.inputValue =='80'}" and it will evaluate as expected. You can also use the binding in code for example:
AttributeBinding deptIdBinding = (AttributeBinding)getBindings().getControlBinding("DepartmentIdCurrentValue"); Number deptId = (Number)deptIdBinding.getInputValue();
Summary
The ability to specify multiple bindings against the same attribute provides the developer with a great deal of flexibility. This example of working with list bindings shows one common use of the technique, but it can also be used in alternative contexts such as combinations of table and attribute bindings for "Summary Table + Detail View" type UIs.
Oracle - Delightfully creepy
(I) It's not the software itself that's expensive and painful, it's the psychotherapy you need afterwards...
(II) The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison
(II) The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison
Tuesday, August 21, 2007
Intrinsic decency -- a rare commodity
It is strange when bad things sometimes make you happy!!!!!
How would you feel if your BMW 525i is hit! Bad, right! i mean Real Bad!
Well my car was hit yesterday on the left wing while is was parked near Al-Dastour Newspaper main building. Normally, i park my car at Abu-Elhajj commerical complex at floor -1 where i have a parking lot reserved for me,, but sometimes when i am coming from the University direction and traffic is heavy, I just part across the street.
When i arrived at the Car location, there was a note written on the wind-chill of the car, saying
"I am sorry to have hit your car while on reverse, Not to worry, my insurance shall cover for the expenses" She left her phone mobile no and name (Rula)
I was happy to realize that people with integrity still exist. She could have walked away carelessly! couldn't she? Regarless of "Samet El-baden" I went home with an inner feeling of joy. Henceforth, i called the lady and asked her to relax as i am not going to press chargeses, nor pursue her insurance credit.
How would you feel if your BMW 525i is hit! Bad, right! i mean Real Bad!
Well my car was hit yesterday on the left wing while is was parked near Al-Dastour Newspaper main building. Normally, i park my car at Abu-Elhajj commerical complex at floor -1 where i have a parking lot reserved for me,, but sometimes when i am coming from the University direction and traffic is heavy, I just part across the street.
When i arrived at the Car location, there was a note written on the wind-chill of the car, saying
"I am sorry to have hit your car while on reverse, Not to worry, my insurance shall cover for the expenses" She left her phone mobile no and name (Rula)
I was happy to realize that people with integrity still exist. She could have walked away carelessly! couldn't she? Regarless of "Samet El-baden" I went home with an inner feeling of joy. Henceforth, i called the lady and asked her to relax as i am not going to press chargeses, nor pursue her insurance credit.
Duncan Says
Few will enjoy this post or even make sense of it. It is about writing J2EE application using Oracle ADF/JSF framework. The frame work is good and productive, but has it own problems as well. Ducans Mills is one of the people whose finger prints are all over the ADF framwork and he writes below about what is know as Drop Down list.. and a reply at the end
Duncan says
"List bindings are a very powerful feature of ADF. They make it really easy to automatically manage the population of select-type components such as dropdown lists, radio groups and so forth from a collection of data you have in your model. ADF manages the mapping between your collection type and the format of the mini-model used by the controls themselves. There is, however, one problem with list bindings. They are intensely private. What I mean by this is that if you try and get the value of the list binding directly say using an expression (in the JSF case) of #{bindings.deptList.inputValue}, it will return you an index number which reflects the position of the selected item on the list - not the value of that selection as you might expect. This can catch you unawares, particularly if your values are already numerical - you could easily miss this and end up with weird bugs."
and i say
"The issue here is that when binding is explained using ADF framework, they are explained in a generic way. #{bindings.EmpView1Deptno.inputValue} means the value of an input item, and this works well for DNAME if you try it. How in the world am i expected to know that in the case of a list item, it returns an index. A human mind can only be useful if it can learn little things and then infer big things the follow similar behaviour. For example, Newton learned and explained a lot about gravity by watch an apple drop. All object drop in the direction of the gravitational force, if some object go up aginst gravitational force without any external force, then Newton would have been confused. The beauty is when things are exact and consistent as is the case with our universe. Well, the Universe is the creation of God, and ADF is the Creation on Man. Therefore, we strongly ask Oracle to write GOOD manuales that explain and pinpoint in great extend the behaviour of their frameworks with lots of example and therefore, make the learning curve less steep, because as things are designed in ADF, one cannot necessarily extends his understanding of EL binding and arrive to the fact that accessing the inputValue of a list item would return and index value.i hope i was able to give an insight about the difficulty that we can be facing. After saying all of that, i am still a firm believer of the future of ADF "
ammar
Duncan says
"List bindings are a very powerful feature of ADF. They make it really easy to automatically manage the population of select-type components such as dropdown lists, radio groups and so forth from a collection of data you have in your model. ADF manages the mapping between your collection type and the format of the mini-model used by the controls themselves. There is, however, one problem with list bindings. They are intensely private. What I mean by this is that if you try and get the value of the list binding directly say using an expression (in the JSF case) of #{bindings.deptList.inputValue}, it will return you an index number which reflects the position of the selected item on the list - not the value of that selection as you might expect. This can catch you unawares, particularly if your values are already numerical - you could easily miss this and end up with weird bugs."
and i say
"The issue here is that when binding is explained using ADF framework, they are explained in a generic way. #{bindings.EmpView1Deptno.inputValue} means the value of an input item, and this works well for DNAME if you try it. How in the world am i expected to know that in the case of a list item, it returns an index. A human mind can only be useful if it can learn little things and then infer big things the follow similar behaviour. For example, Newton learned and explained a lot about gravity by watch an apple drop. All object drop in the direction of the gravitational force, if some object go up aginst gravitational force without any external force, then Newton would have been confused. The beauty is when things are exact and consistent as is the case with our universe. Well, the Universe is the creation of God, and ADF is the Creation on Man. Therefore, we strongly ask Oracle to write GOOD manuales that explain and pinpoint in great extend the behaviour of their frameworks with lots of example and therefore, make the learning curve less steep, because as things are designed in ADF, one cannot necessarily extends his understanding of EL binding and arrive to the fact that accessing the inputValue of a list item would return and index value.i hope i was able to give an insight about the difficulty that we can be facing. After saying all of that, i am still a firm believer of the future of ADF "
ammar
Introducing the 1.0 Version - Smart Comedy
By Ammar Sajdi
This is entirely extracted from
The ugly side of software product development
Introducing the 1.0 Version
You may wonder where the Cranky Product Manager has been for the last few months.
Well, she and Delightful Husband had been working on their own product release of sorts.
The Cranky Product Manager is proud to announce the release of CrankyKid Version 1.0, released to manufacturing sometime in the last month or two (or three) at a very healthy birth weight. All in the Cranky Family are doing well and are in excellent health.
The new product release has been extremely well received by the extended families, even after playing with the product for a few weeks. Considering this is a 1.0 release, CrankyKid seems quite stable and free of major defects (though time will tell). This is particularly impressive considering CrankyKid was not developed with iterative/agile development processes. Not taking the baby out of the womb to see if it's done yet and then stuffing it back in. Nay. Instead, a more waterfall-esque methodology was used. Of course, as one would expect with waterfall development, the last month of the release cycle was arduous. And the last day -- that final "push" to get the product to market -- well, it was painful and hectic and painful and painful and a hell of a lot of work, to say the least.
CrankyKid truly lives up to his/her name. Thus, two major enhancement requests have already been logged:
# E000001) Identify and remedy the cause of CrankyKid's inconsolable crying (colic? or acid reflux?)
# E000002) Let mother sleep more than 2 hours at a time
If only a service pack would clear up these issues...
And just you remember, the Cranky Product Manager is a fictional character with a fictional husband and a fictional child. Everything in this post might be fabricated and be utter bullshit* nonsense.
* Now that she's a parent, the Cranky Product Manager is trying to clean up her language. Hahahaha, as if.
www.realsoft-me.com
www.e-ammar.net
oraclejo.blogspot.com
Subscribe to:
Posts (Atom)
Fundamentals of Software Testing
Originally posted on jan , 23 2009, Published again on Sept,18,2024 extracted completely from http://testingsoftware.blogspot.com/2005/1...
-
After years and year of debate, finally, we at REALSOFT will have two day weekend. That was not possible before due to the fact that our off...
-
An article my mother worte after visiting Nablus last month (NOV 2007) بعد عدة سنين وفجأة قررت والعائلة زيارة بلدنا المحتلة نابلس، لمشاركة أ...