<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIDRX85eSp7ImA9WhRaE0o.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877</id><updated>2012-02-15T22:42:54.121-08:00</updated><category term="Product Management" /><category term="Project Analytics" /><category term="User Interface" /><category term="Project Management" /><category term="SQL" /><category term="i18N" /><category term="Primavera" /><category term="Software Development" /><category term="MLS" /><category term="localization" /><category term="APEX" /><category term="Data Modeling" /><category term="Office Productivity" /><category term="globalization" /><category term="E-Business Suite" /><category term="Data Security" /><category term="internationalization" /><category term="integration" /><category term="PeopleSoft" /><category term="Siebel" /><category term="Offshore" /><category term="coding" /><category term="Collaboration" /><category term="About Me" /><category term="NLS" /><category term="project portfolio analysis" /><title>Dylan Wan</title><subtitle type="html">Software Development * Project Management</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://dylanwan.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>101</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/dylanwan" /><feedburner:info uri="dylanwan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0EDQ3kzeip7ImA9WhRRF0Q.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4324242048608144036</id><published>2011-12-01T20:20:00.000-08:00</published><updated>2011-12-01T20:21:12.782-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T20:21:12.782-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>COALESCE function and CASE WHEN</title><content type="html">I tried to compare COALESCE and CASE WHEN.&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
SELECT&amp;nbsp; SUM(val)&lt;br /&gt;
FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp; select CASE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 1 IS NULL THEN&amp;nbsp; LENGTH(RAWTOHEX(SYS_GUID()))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE&amp;nbsp; 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END AS val&lt;br /&gt;
&amp;nbsp; FROM dual&lt;br /&gt;
&amp;nbsp; CONNECT BY level = 10000&lt;br /&gt;
&amp;nbsp; );&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
There is no difference!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4324242048608144036?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4324242048608144036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4324242048608144036" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4324242048608144036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4324242048608144036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/SyrYaXjC_8o/coalesce-function-and-case-when.html" title="COALESCE function and CASE WHEN" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/12/coalesce-function-and-case-when.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YNQno8fyp7ImA9WhRRF0Q.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-2854466433529782020</id><published>2011-12-01T19:03:00.000-08:00</published><updated>2011-12-01T19:06:33.477-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T19:06:33.477-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>COALESCE function</title><content type="html">I have been using NVL.&amp;nbsp; However, I think that we should all move to use COALESCE.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;COALESCE&lt;/code&gt; is more modern function that is a part of &lt;code&gt;ANSI-92&lt;/code&gt; standard.&lt;br /&gt;
&lt;code&gt;NVL&lt;/code&gt; is &lt;code&gt;Oracle&lt;/code&gt; specific, it was introduced in &lt;code&gt;80&lt;/code&gt;'s before there were any standards.&lt;br /&gt;
&lt;br /&gt;
This testing describes the reason:&lt;br /&gt;
&lt;br /&gt;
In case of two values, they are synonyms.&lt;br /&gt;
However, they are implemented differently.&lt;br /&gt;
&lt;code&gt;NVL&lt;/code&gt; always evaluates both arguments, while &lt;code&gt;COALESCE&lt;/code&gt; stops evaluation whenever it finds first non-&lt;code&gt;NULL&lt;/code&gt;:&lt;br /&gt;
&lt;pre class="lang-sql prettyprint"&gt;&lt;code&gt;&lt;span class="kwd"&gt;SELECT&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;SUM&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;val&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="kwd"&gt;FROM&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;SELECT&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;NVL&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; LENGTH&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;RAWTOHEX&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;SYS_GUID&lt;/span&gt;&lt;span class="pun"&gt;())))&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;AS&lt;/span&gt;&lt;span class="pln"&gt; val
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;FROM&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;dual
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CONNECT &lt;/span&gt;&lt;span class="kwd"&gt;BY&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; level &lt;/span&gt;&lt;span class="pun"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;10000&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
This runs for almost &lt;code&gt;0.5&lt;/code&gt; seconds, since it generates &lt;code&gt;SYS_GUID()&lt;/code&gt;'s, despite &lt;code&gt;1&lt;/code&gt; being not a &lt;code&gt;NULL&lt;/code&gt;.&lt;br /&gt;
&lt;pre class="lang-sql prettyprint"&gt;&lt;code&gt;&lt;span class="kwd"&gt;SELECT&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;SUM&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;val&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="kwd"&gt;FROM&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;SELECT&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="kwd"&gt;COALESCE&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; LENGTH&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;RAWTOHEX&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;SYS_GUID&lt;/span&gt;&lt;span class="pun"&gt;())))&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;AS&lt;/span&gt;&lt;span class="pln"&gt; val
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;FROM&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;dual
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CONNECT &lt;/span&gt;&lt;span class="kwd"&gt;BY&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; level &lt;/span&gt;&lt;span class="pun"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;10000&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;This understands that &lt;code&gt;1&lt;/code&gt; is not a &lt;code&gt;NULL&lt;/code&gt; and does not evaluate the second argument.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;SYS_GUID&lt;/code&gt;'s are not generated and the query is instant.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;COALESCE is much efficient than NVL!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-2854466433529782020?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/2854466433529782020/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=2854466433529782020" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/2854466433529782020?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/2854466433529782020?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/F2Hv0Ab_zCU/coalesce-function.html" title="COALESCE function" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/12/coalesce-function.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUDRHcycSp7ImA9WhdRFUQ.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-9139440808453116382</id><published>2011-08-05T17:24:00.000-07:00</published><updated>2011-08-05T17:24:35.999-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T17:24:35.999-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Project Management" /><title>Fixed barrack, floating soldiers</title><content type="html">I read a good &lt;a href="http://rockins.info/?p=931"&gt;article&lt;/a&gt;. It is written in Chinese&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="st"&gt;铁打的营盘流水的兵&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="st"&gt;&lt;/span&gt;This sentence's original meaning was "Soldiers come soldiers go, the military camps stay fortified." In military, soldiers typically stayed for a fixed period, such as two years.&amp;nbsp; However, there are regular missions and work have to done, and cannot be stopped. &lt;br /&gt;
&lt;br /&gt;
If staff changing is expected, the way how to handle the situation is to keep some staff changes, not as often as others. &lt;br /&gt;
&lt;br /&gt;
However, I also disagree that an organization should keep adding new people.&amp;nbsp; Adding people requires team building activities.&amp;nbsp; Changing the team member too often may make the team under an unstable state.&lt;br /&gt;
&lt;br /&gt;
A good way to handle it is that assuming soldier only stay two years. Replacing half of them a year and keep the other half not changed.&amp;nbsp; You will still have people can lead.&amp;nbsp; You need to have some sergeants who can stay longer and lieutenants who may stay even longer.&lt;br /&gt;
&lt;br /&gt;
Keeping everyone staying as long as possible may not be a good practice if there is not much growing opportunities inside, but a lot of great job opportunities outside.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-9139440808453116382?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/9139440808453116382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=9139440808453116382" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9139440808453116382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9139440808453116382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/eg63CdeThGc/fixed-barrack-floating-soldiers.html" title="Fixed barrack, floating soldiers" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/08/fixed-barrack-floating-soldiers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcBRHw6fip7ImA9WhZbFEs.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-1409364875655474655</id><published>2011-06-19T00:04:00.000-07:00</published><updated>2011-06-19T00:04:15.216-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-19T00:04:15.216-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Collaboration" /><title>Create a Quick Code for your contact information</title><content type="html">I found that an easy way may be use &lt;a href="http://pingtags.com/"&gt;PingTag&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I have been using Linkedin for several year. PingTag can create the QR Code from the Linedin information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-1409364875655474655?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/1409364875655474655/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=1409364875655474655" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/1409364875655474655?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/1409364875655474655?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/JHKba74UNw8/create-quick-code-for-your-contact.html" title="Create a Quick Code for your contact information" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/06/create-quick-code-for-your-contact.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAMRX4_eSp7ImA9WhZbFEs.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4276184365701143736</id><published>2011-06-18T23:58:00.000-07:00</published><updated>2011-06-18T23:59:44.041-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-18T23:59:44.041-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Collaboration" /><title>vCard and QR Code</title><content type="html">vCard is an old standard.&amp;nbsp; It is a way to represent the contact information.&amp;nbsp; It is a digital version of a&amp;nbsp; business card.&lt;br /&gt;
&lt;br /&gt;
When you receive a business card, you probably want to enter the data into your cell phone.&lt;br /&gt;
&lt;br /&gt;
This is where the QR Code comes in.&lt;br /&gt;
&lt;br /&gt;
QR Code is a way to get information into your phone.&amp;nbsp; Nowadays, phones almost all have the camera capability.&amp;nbsp; QR Code is a way to let you take a picture of the bar code and to scan the bar code into your phone.&amp;nbsp; One image can contain a lot of information.&lt;br /&gt;
&lt;br /&gt;
Combining QR Code and vCard allows you to pass the information from the business card to your phone, without manually typing those information.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;a href="http://snapmyinfo.com/blog/how-to-create-a-business-card-qr-code/"&gt;How to create a business card QR code&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.avidcareerist.com/2011/05/15/6-good-reasons-to-add-a-qr-code-to-your-business-card/"&gt;6 Good Reasons to Add a QR Code to Your Business Card&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4276184365701143736?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4276184365701143736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4276184365701143736" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4276184365701143736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4276184365701143736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/BYO-PfNFMEY/vcard-and-qr-code.html" title="vCard and QR Code" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/06/vcard-and-qr-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YDRnszeSp7ImA9WhZUEkg.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-7194256979966659822</id><published>2011-06-04T22:19:00.000-07:00</published><updated>2011-06-04T22:19:37.581-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-04T22:19:37.581-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Office Productivity" /><title>Gnumeric</title><content type="html">I have been using Gnumeric for several months.&amp;nbsp; Although people still use Excel, I have set Gnumeric as the main tool to open Excel file lately.&lt;br /&gt;
&lt;br /&gt;
Excel for some unknown reasons cannot work together with the web conference system I am using.&amp;nbsp; A ridiculous workaround is that while I am using the web conference system, I have to open Microsoft Net meeting.&amp;nbsp; I guess some secret code from Microsoft only compatible with Net Meeting.&lt;br /&gt;
&lt;br /&gt;
This is so annoying.&amp;nbsp; I do not really need any new advanced features from Excel 2007.&amp;nbsp; For me, Excel 2007 is a defect product if I can use an older version of Excel with web conference system without any problem.&lt;br /&gt;
&lt;br /&gt;
I found that Gnumeric is actually faster than Excel in turn of opening the file and show data.&lt;br /&gt;
&lt;br /&gt;
Almost all functions are compatible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-7194256979966659822?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/7194256979966659822/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=7194256979966659822" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7194256979966659822?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7194256979966659822?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/1PnruwLZwMw/gnumeric.html" title="Gnumeric" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/06/gnumeric.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEMR3szeip7ImA9WhZSGU4.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-133507641218847608</id><published>2011-04-04T10:38:00.000-07:00</published><updated>2011-04-04T10:38:06.582-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-04T10:38:06.582-07:00</app:edited><title>Rest Is The Preparation For The Further Journey</title><content type="html">休息是为了走更远的路&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-133507641218847608?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/133507641218847608/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=133507641218847608" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/133507641218847608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/133507641218847608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/xFNN54bpWBE/rest-is-preparation-for-further-journey.html" title="Rest Is The Preparation For The Further Journey" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/04/rest-is-preparation-for-further-journey.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4MQXY-eyp7ImA9WhZSF0Q.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4614527261643514772</id><published>2011-04-01T22:30:00.000-07:00</published><updated>2011-04-02T18:09:40.853-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-02T18:09:40.853-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Office Productivity" /><title>A feature I am looking for from a presentation software</title><content type="html">It should be easy to group a list of slide and give them a section overview.&lt;br /&gt;
&lt;br /&gt;
Each slide should have six navigation buttons in Play mode:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Home&lt;/li&gt;
&lt;li&gt;End&lt;/li&gt;
&lt;li&gt;Next&lt;/li&gt;
&lt;li&gt;Previous&lt;/li&gt;
&lt;li style="color: blue;"&gt;Back to Section Overview&lt;/li&gt;
&lt;li style="color: blue;"&gt;Next Section&lt;/li&gt;
&lt;/ul&gt;The side navigation panel in the Design mode should show the outline structure.&lt;br /&gt;
Use the Section Header slide to "group" other sides and allow collapse and expand.&lt;br /&gt;
&lt;br /&gt;
I found an old article "A Flexible Alternative to PowerPoint" on the net.&amp;nbsp; It said the same thing: &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;One of the disadvantages cited by Tufte and others          is that PowerPoint tends to confine the speaker to a single          pre-set path, discouraging spontaneity and diminishing          flexibility in response to the audience's interests.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Browsers can not only emulate much of PowerPoint, they          can also do things that PowerPoint does not....A table-of-contents window can be on screen at all          times, allowing you to jump spontaneously to different          topics.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4614527261643514772?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4614527261643514772/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4614527261643514772" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4614527261643514772?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4614527261643514772?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/GEAvw1FJEGU/feature-i-am-looking-for-from.html" title="A feature I am looking for from a presentation software" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/04/feature-i-am-looking-for-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcBQnYzeip7ImA9Wx9aF0U.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-9047458944241992457</id><published>2011-03-10T12:12:00.000-08:00</published><updated>2011-03-10T12:14:13.882-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-10T12:14:13.882-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About Me" /><title>Revolution</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.seanbonner.com/wp-content/uploads/2010/12/122110-calvin_resolutions-90.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 350px; height: 305px;" src="http://blog.seanbonner.com/wp-content/uploads/2010/12/122110-calvin_resolutions-90.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-9047458944241992457?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/9047458944241992457/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=9047458944241992457" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9047458944241992457?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9047458944241992457?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/-q__I5tx650/revolution.html" title="Revolution" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/03/revolution.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IMSHo_eyp7ImA9Wx9UEUw.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-5819647463595921394</id><published>2011-02-07T14:51:00.000-08:00</published><updated>2011-02-07T14:59:49.443-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-07T14:59:49.443-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="coding" /><title>Jython or Python?</title><content type="html">I like Jython.&lt;br /&gt;&lt;br /&gt;It supports unicode.  Python does not support it well by default until Python3.&lt;br /&gt;&lt;br /&gt;However, I still would prefer if we have Jython support for Python 3.&lt;br /&gt;&lt;br /&gt;C:\&gt;cd jython2.5.1&lt;br /&gt;jython.bat&lt;br /&gt;&lt;br /&gt;c = '斌'&lt;br /&gt;c&lt;br /&gt;'\xe6\x96\x8c'&lt;br /&gt;print (c)&lt;br /&gt;斌&lt;br /&gt;&lt;br /&gt;It is working!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-5819647463595921394?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/5819647463595921394/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=5819647463595921394" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5819647463595921394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5819647463595921394?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/HFfemnTVHAY/jython-or-python.html" title="Jython or Python?" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/02/jython-or-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkICRnk7eSp7ImA9Wx9VEUo.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4564960736771839102</id><published>2011-01-27T15:21:00.000-08:00</published><updated>2011-01-27T15:22:47.701-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-27T15:22:47.701-08:00</app:edited><title>The End of the Beginning</title><content type="html">Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning.&lt;br /&gt;~Winston Churchill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4564960736771839102?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4564960736771839102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4564960736771839102" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4564960736771839102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4564960736771839102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/BDh4xZGH9A0/end-of-beginning.html" title="The End of the Beginning" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/01/end-of-beginning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYCRHY6eyp7ImA9Wx9WF0s.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-186093281713192073</id><published>2011-01-22T20:32:00.000-08:00</published><updated>2011-01-22T21:56:05.813-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-22T21:56:05.813-08:00</app:edited><title>Oracle Application Express(4)</title><content type="html">&lt;span style="font-weight: bold;"&gt;Sample Applications&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The best way to create a new apps is actually copying and modifying the sample apps.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=37116"&gt;People Search&lt;/a&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=31089"&gt;Bug Tracker&lt;/a&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=32452"&gt;Document Library&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/technetwork/developer-tools/apex/application-express/packaged-apps-090453.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-186093281713192073?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/186093281713192073/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=186093281713192073" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/186093281713192073?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/186093281713192073?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/tnrdaj-OFkU/oracle-application-express4.html" title="Oracle Application Express(4)" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/01/oracle-application-express4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EDSX8_eCp7ImA9Wx9WF0k.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-6758746705955479872</id><published>2011-01-22T16:34:00.000-08:00</published><updated>2011-01-22T18:27:58.140-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-22T18:27:58.140-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Oracle Application Express(3)</title><content type="html">&lt;span style="font-weight: bold;"&gt;SQL Workshop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SQL Workshop is an existing web application available in the workspace.&lt;br /&gt;&lt;br /&gt;It may confuse those people who do not have SQL background and do not know anything about database.&lt;br /&gt;&lt;br /&gt;However, since the APEX service providers assume that the workspace users are database application developers., so it provides such applications.&lt;br /&gt;&lt;br /&gt;Most database developers use some kind of the database client software, such as SQL Developer.  However, I do not think that you are allowed to use the SQL developer to access the hosted APEX database.   The SQL Workshop is provided for serving the purposes:&lt;br /&gt;&lt;br /&gt;1. Create Tables and other objects (view, index, sequence, synonym, trigger, etc.)&lt;br /&gt;2. Create PL/SQL package, function, or procedure.&lt;br /&gt;3. Query the database&lt;br /&gt;&lt;br /&gt;It is the "SQL*Plus" for accessing APEX database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, it is also designed for those who do not know SQL and it provides wizard like step by step process to create tables and create queries.  I think that most of the real database application developers may not need them.  But it is a good learning tool for those who do not have SQL or database experiences.&lt;br /&gt;&lt;br /&gt;You do not have to use those wizards.  You can still do DDL and DML using SQL.&lt;br /&gt;&lt;br /&gt;You can create scripts and upload your scripts.  It is a little IDE for PL/SQL.&lt;br /&gt;&lt;br /&gt;You can also upload data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-6758746705955479872?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/6758746705955479872/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=6758746705955479872" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/6758746705955479872?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/6758746705955479872?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/jSosx5SiQLA/oracle-application-express3.html" title="Oracle Application Express(3)" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/01/oracle-application-express3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMNQXk9fip7ImA9Wx9WF0k.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-9146802361412956017</id><published>2011-01-22T16:19:00.000-08:00</published><updated>2011-01-22T16:28:10.766-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-22T16:28:10.766-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Oracle Application Express (2)</title><content type="html">&lt;span style="font-weight: bold;"&gt;Application Workspace registration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You need to provide your name and your email during the registration.&lt;br /&gt;&lt;br /&gt;Your email address will be used as the 1st user account that is assigned to this workspace.&lt;br /&gt;&lt;br /&gt;Each workspace can have multiple users.&lt;br /&gt;&lt;br /&gt;The user account created using the email address will be the workspace administrator.&lt;br /&gt;&lt;br /&gt;You can create other users after you login.&lt;br /&gt;&lt;br /&gt;However, the users created under the workspace are really the developers.&lt;br /&gt;&lt;br /&gt;If people are just users of the applications, do not create them as users directly under the workspace.&lt;br /&gt;&lt;br /&gt;Related Posts:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dylanwan.blogspot.com/2011/01/oracle-application-express-1.html"&gt;Oracle Application Express (1)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-9146802361412956017?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/9146802361412956017/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=9146802361412956017" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9146802361412956017?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/9146802361412956017?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/Z8qts0dkN98/oracle-application-express-2.html" title="Oracle Application Express (2)" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/01/oracle-application-express-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIHSXoyfyp7ImA9Wx9WF0k.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-3434400663425703796</id><published>2011-01-22T16:14:00.000-08:00</published><updated>2011-01-22T16:28:58.497-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-22T16:28:58.497-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Oracle Application Express (1)</title><content type="html">You can get an account here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/"&gt;apex.oracle.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is a hosted service that allows you to create web applications.&lt;br /&gt;&lt;br /&gt;All these applications are database applications.&lt;br /&gt;&lt;br /&gt;Behind the scene, an Oracle database is there.&lt;br /&gt;&lt;br /&gt;After you register, an Oracle database schema is created for your workspace.&lt;br /&gt;&lt;br /&gt;The application modules are declarative apps.  The metadata is, of course, stored in the database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-3434400663425703796?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/3434400663425703796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=3434400663425703796" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/3434400663425703796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/3434400663425703796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/3S4xNURBJC4/oracle-application-express-1.html" title="Oracle Application Express (1)" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2011/01/oracle-application-express-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8GR3gyfip7ImA9Wx9RGUQ.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-5657143283956627759</id><published>2010-12-21T19:55:00.000-08:00</published><updated>2010-12-21T20:07:06.696-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-21T20:07:06.696-08:00</app:edited><title>ARIS Express for drawing diagrams</title><content type="html">I just downloaded the ARIS Express.  It seems a pretty good drawing tool.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/ARIS_Express"&gt;Wikipedia page&lt;/a&gt; has a very good introduction.  It particularly highlighted the "Noteworthy features".&lt;br /&gt;&lt;br /&gt;The ARIS Community web site provides the&lt;a href="http://www.ariscommunity.com/aris-express/tutorials"&gt; online video tutorials&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-5657143283956627759?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/5657143283956627759/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=5657143283956627759" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5657143283956627759?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5657143283956627759?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/xHtaflVJSII/aris-express-for-drawing-diagrams.html" title="ARIS Express for drawing diagrams" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/12/aris-express-for-drawing-diagrams.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDSH07fyp7ImA9Wx9REk4.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-5414494866611381773</id><published>2010-12-13T01:43:00.000-08:00</published><updated>2010-12-13T02:01:19.307-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-13T02:01:19.307-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="E-Business Suite" /><title>Oracle EBS Data Model</title><content type="html">Oracle EBS provides the technical reference guide in eTRM.  eTRM is a documentation service provided by Oracle to the customers that have the support contract - &lt;a href="http://etrm.oracle.com"&gt;etrm.oracle.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Oracle EBS stores the tables and descriptions in FND_TABLES and FND_COLUMNS.  If the table and columns are registered using AD_DD, the table and column descriptions will be stored in the above tables.&lt;br /&gt;&lt;br /&gt;See Also:&lt;br /&gt;&lt;a href="http://oracledollars.forums-free.com/all_tab_cols-t30.html"&gt;http://oracledollars.forums-free.com/all_tab_cols-t30.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.allguru.net/oracle-apps-dba/fnd_tables-fnd_columns/"&gt;http://www.allguru.net/oracle-apps-dba/fnd_tables-fnd_columns/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To get the correct list of columns for a table, the Oralce database data dictionary should be used.  FND tables store the design time data. The FND table and column definition may be stored ahead of time before you apply a patch.  The obsolete columns may still be represented in the tables. &lt;br /&gt;&lt;br /&gt;Here is a script I found that merge the FND and Oracle database data dictionary.&lt;br /&gt;&lt;a href="http://www.sap-img.com/oracle-database/script-to-create-a-data-dictionary-listing-which-combines-the-oracle-dictionary-with-the-oracle-apps-dictionary.htm"&gt;&lt;br /&gt;http://www.sap-img.com/oracle-database/script-to-create-a-data-dictionary-listing-which-combines-the-oracle-dictionary-with-the-oracle-apps-dictionary.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oracle EBS does not define the foreign keys within the database.  In order to get the reference information, FND tables should be used.  Oracle EBS does not use the USER_TAB_COMMENTS or USER_COL_COMMENTS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-5414494866611381773?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/5414494866611381773/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=5414494866611381773" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5414494866611381773?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/5414494866611381773?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/ccMObjG6zHs/oracle-ebs-data-model.html" title="Oracle EBS Data Model" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/12/oracle-ebs-data-model.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEBQH05fSp7ImA9Wx5aEEw.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4775289137018667134</id><published>2010-11-05T19:15:00.001-07:00</published><updated>2010-11-05T19:30:51.325-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T19:30:51.325-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software Development" /><title>Golf Team vs. Basketball team</title><content type="html">I learned this from a management class I attended recently.&lt;br /&gt;&lt;br /&gt;For a Golf team, you add the individual scores up to get the team's score.  You put best players together to get the best score.&lt;br /&gt;&lt;br /&gt;For a Basketball team, the team members need to work together to make score.  You putting the best players together does not means that you have a best team.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As a manager, you have to make people work together.  People can do a lot more than what individuals cannot do.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the other hand, I have learned a old Chinese story:  Three Monks, when I was a kid:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A young monk lives a simple life in a temple on top of a hill. He has one daily task of hauling two buckets of water up the hill. He tries to share the job with another monk, but the carry pole is only long enough for one bucket. The arrival of a third monk prompts everyone to expect that someone else will take on the chore. Consequently, no one fetches water though everybody is thirsty.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is a big challenge for a manager to make people working together so 1 + 1 &gt; 2, or at least 1 + 1 won't less than 2.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4775289137018667134?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4775289137018667134/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4775289137018667134" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4775289137018667134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4775289137018667134?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/B7dWvK3y_WM/golf-team-vs-basketball-team.html" title="Golf Team vs. Basketball team" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/11/golf-team-vs-basketball-team.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08ARn0zcSp7ImA9Wx5bF0s.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-4912867096619297379</id><published>2010-11-03T00:13:00.000-07:00</published><updated>2010-11-03T00:37:27.389-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-03T00:37:27.389-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Product Management" /><title>Customer Orientation vs Competitor Orientation</title><content type="html">This is a very old topic.  I first touch this topic while I was in college.  I have always keeping this topic in my mind.&lt;br /&gt;&lt;br /&gt;First, this is what I think about Competitor Orientation -&lt;br /&gt;&lt;br /&gt;You only need to be better than others.  As long as your customer do not have any other choice, you can be the king and do whatever you want.&lt;br /&gt;&lt;br /&gt;And, Customer Orientation -&lt;br /&gt;&lt;br /&gt;Customer is the king.  You should try your best to satisfy your customer' need.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In software development,  customer oriented design means thinking of what customer is looking for and competitor oriented design means looking at what competitor is offering.&lt;br /&gt;&lt;br /&gt;In my experience, the competitor oriented design is a dangerous approach and really hurts the industry.  However, unfortunately, both competition and customers lead us to take that approach.&lt;br /&gt;&lt;br /&gt;A very simple example - or the most stupid thing I have seen - but still frequently happen is about adding columns to tables.&lt;br /&gt;&lt;br /&gt;People seems never learned from mistakes.&lt;br /&gt;&lt;br /&gt;Since the competitor's product has such column, we should add this column.  Since the competitor's product has these many of columns, we should add more than what they have.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Does the customer really buy the product based on the number of columns?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-4912867096619297379?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/4912867096619297379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=4912867096619297379" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4912867096619297379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/4912867096619297379?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/6yy_o-W56M4/customer-orientation-vs-competitor.html" title="Customer Orientation vs Competitor Orientation" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/11/customer-orientation-vs-competitor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMARHg_fyp7ImA9Wx5UFko.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-6616273435497084005</id><published>2010-10-21T07:42:00.000-07:00</published><updated>2010-10-21T09:10:45.647-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-21T09:10:45.647-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="project portfolio analysis" /><title>Project Investiment Decision</title><content type="html">The project investment decision should be based on the future forecasting.&lt;br /&gt;&lt;br /&gt;What happened in the past is just sunk cost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;People frequently make mistake by using the "current" state to determine the future investment.&lt;br /&gt;&lt;br /&gt;The "current" is only useful if it can be used to predict "future" in the investment decision.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A product like XX, which is the core product in Suite WW and is in almost all installations and the product XX is a very mature product.&lt;br /&gt;&lt;br /&gt;Does that mean that we need to allocate more on it?&lt;br /&gt;&lt;br /&gt;It is only meaningful if we assume that the more customers are using it, the more engineers need to be allocated to maintain it.  Unfortunately it is typically not the case.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Should the size of the team match the revenue that the product is bringing?  It sounds reasonable.  The cost and revenue typically do not match in the same year.  If you use operational leverage, the break even point can be multiple years.  You won't do any big, potentially high return projects if you only look at the current revenues.  You will never do new projects.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The revenue itself is not always a good measurement since the nature of the number is "short term".  A better financial goal is to maximizing the shareholder value.  We should look at the long term ROI.  The discount cash flow can support the goal much better.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The discount cash flow concept sounds simple but seems frequently overlooked.&lt;br /&gt;&lt;br /&gt;For each project or proposal, what we can do is that for each bucket, we can calculate the following:&lt;br /&gt;&lt;br /&gt;how much revenue potential and thus the cash in flow it will bring in,&lt;br /&gt;plus the cost saving the project can bring to us,&lt;br /&gt;minus the initial cost to create it,&lt;br /&gt;minus the cost to sustain it.&lt;br /&gt;&lt;br /&gt;All of them need to present as the current value then we compare these initiatives.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One difficulty for making investment decision for software products is about the existing commitments, such as those over commitments done by sales.   On the other hand, there are also implicit commitments.   When a customer bought a product in the past, they are not just buying the product feature that available at that time.  They also buy products from enterprise apps vendor to assume that the vendor will take care of their future needs.  They believe that the product has a future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-6616273435497084005?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/6616273435497084005/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=6616273435497084005" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/6616273435497084005?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/6616273435497084005?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/zFUQbG4ro2E/project-investiment-decision.html" title="Project Investiment Decision" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/10/project-investiment-decision.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACRHo5eip7ImA9Wx5VE00.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-848246469133390799</id><published>2010-10-05T11:20:00.000-07:00</published><updated>2010-10-05T11:36:05.422-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-05T11:36:05.422-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="integration" /><title>Out of Box cross product integrations</title><content type="html">I have been working on application integration since the day one I started my career in enterprise apps development. It is really an interesting topic.&lt;br /&gt;&lt;br /&gt;On one hand, we would like to ship the integration out of box, so the customer can buy the individual products, as well as, "buy" the integration solution.&lt;br /&gt;&lt;br /&gt;On the other hand, we may also not want to enable integration out of box and assume all customers are using all products. &lt;br /&gt;&lt;br /&gt;If the product is reflecting the best practice and would like demonstrate the best way to utilize the product, we may want to build and ship the integrated solution.&lt;br /&gt;&lt;br /&gt;What is the guiding principles?&lt;br /&gt;&lt;br /&gt;I think that the targets should be&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Provide the solution -  We should not expect the solution is a customization just because it is hard to deliver the solution.&lt;/li&gt;&lt;li&gt;Make the solution OOTB as an option- It is a product the customer can purchase, but do not assume that everyone has it&lt;/li&gt;&lt;li&gt;Easy to disable and enable it - We also need to document how to enable or disable it.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Also, pre-packaged apps is designed based on the majority of the customers who are the targets of the products.  If most customers are looking for the OOTB solution, we can ship the enabled integration and let the customer to disable it.  If most of customers are not yet ready for an integrated solution, we can disable it in the OOTB solution and let the customers to enable it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-848246469133390799?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/848246469133390799/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=848246469133390799" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/848246469133390799?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/848246469133390799?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/Jq_kEHlmVUM/out-of-box-cross-product-integrations.html" title="Out of Box cross product integrations" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/10/out-of-box-cross-product-integrations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUCRX4zeCp7ImA9Wx5XE0g.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-3646242207550716400</id><published>2010-09-12T22:28:00.000-07:00</published><updated>2010-09-12T22:54:24.080-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-12T22:54:24.080-07:00</app:edited><title>Interesting blog comparing work cultures from different companies</title><content type="html">I found &lt;a href="http://blog.mozilla.com/ligong/2010/09/08/hp-suing-mark-hurd-is-doing-great-favors-to-sun-managers-at-oracle/"&gt;Li Gong's blog&lt;/a&gt; recently.   I am interesting in this Li Gong since he was one of the person who worked for Sun and gained Java related patents for Sun.  His name mentioned in two of the patents that mentioned in the recent document "&lt;a href="http://www.wired.com/images_blogs/threatlevel/2010/08/oracle-google-complaint.pdf"&gt;COMPLAINT FOR PATENT AND COPYRIGHT INFRINGEMENT Oracle vs. Google&lt;/a&gt;". &lt;br /&gt;&lt;br /&gt;I do not have any opinion and any comment about the case.  I was a Java developer when I first joined Oracle in 1996.  My first project is to use Java to build an application integration workbench.  I was one of very few engineers who had a chance to work on Java related project at e-business suite development team at that time. &lt;br /&gt;&lt;br /&gt;Lately I found that Android is a quite interesting and seems a popular platform.  I gave up Window CE based Black Jack and moved to Black Berry Curve last year.  While many my co-workers are using iPhone, I am considering to have a HTC with Android for my next phone if possible by the end of this year.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.mozilla.com/ligong/2010/09/08/hp-suing-mark-hurd-is-doing-great-favors-to-sun-managers-at-oracle/"&gt;Li Gong's post &lt;/a&gt;talked about the culture differences between Oracle, Sun, and Microsoft.  His conclusion is - “go back to school, do not venture out, it is a jungle out there”, the world wishes the best to all Sun folks.&lt;br /&gt;&lt;br /&gt;We have gone through several acquisition at Oracle and my co-workers from various companies from PeopleSoft, Siebel, Hyperion, Retail, Agile, G-Log, Sunoposis (ODI),  Golden Gate, etc.  I found that I am quite happy to have a chance to work with these smart people joined from various companies and learned the advance technologies and applications, as well as the valuable experiences from them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-3646242207550716400?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/3646242207550716400/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=3646242207550716400" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/3646242207550716400?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/3646242207550716400?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/hrjPmm6zi_M/interesting-blog-comparing-work.html" title="Interesting blog comparing work cultures from different companies" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/09/interesting-blog-comparing-work.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04AQn4yeyp7ImA9Wx5QGEk.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-7614089673513511481</id><published>2010-09-07T00:58:00.000-07:00</published><updated>2010-09-07T01:59:03.093-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T01:59:03.093-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="User Interface" /><title>Yahoo!Bookmarks is horrible</title><content type="html">I have not used del.icio.us for a while. I am reorganizing my bookmarks and decided to get Yahoo!Bookmark a try.&lt;br /&gt;&lt;br /&gt;I cannot believe that this is a product from Yahoo!. It has a very poor UI design.&lt;br /&gt;&lt;br /&gt;1. I am confused about the Folder and Tag switch.&lt;br /&gt;&lt;br /&gt;I do not understand why we need the concept of "Folder". I think that if they would like to introduce the tree-like structure as the folder, they should provide a default folder structure as a starting point. The structure should, of course, allows the users to customize, including add and deleting folder entries.&lt;br /&gt;&lt;br /&gt;Also, they know to display more than one level in their directory service. They use a Tree like UI on the left that is different from their traditional directory service.&lt;br /&gt;&lt;br /&gt;2. I do not know how to add a category&lt;br /&gt;The UI should allow the user to add a category from the Add bookmark popup.&lt;br /&gt;&lt;br /&gt;3. I do not know what "Save a Copy" means.&lt;br /&gt;&lt;br /&gt;4. I am also confused with "Quick List". Why do we need it?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;They have a decent product called del.icio.us. I am not sure why they reinvent something such poor.&lt;br /&gt;&lt;br /&gt;5. The bookmark icon in the toolbar also confuse me.&lt;br /&gt;&lt;br /&gt;6. If I want to edit an entry, why I cannot just select a link next to the entry. I do not understand what the UI designer thinks.&lt;br /&gt;&lt;br /&gt;7. Why do I have to select more than one entry in order to update the category?&lt;br /&gt;&lt;br /&gt;If I just simply change the category or remove tags for an entry, why do I need to 1) select the checkbox; 2) use the top action links. Why not just show a delete checkbox and let me delete it immediately?&lt;br /&gt;&lt;br /&gt;Multi-select should not be the only option.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-7614089673513511481?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/7614089673513511481/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=7614089673513511481" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7614089673513511481?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7614089673513511481?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/J85lajQf9ps/yahoobookmarks-is-horrible.html" title="Yahoo!Bookmarks is horrible" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/09/yahoobookmarks-is-horrible.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8NRHY8fyp7ImA9WxFUFU4.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-8008355534645919224</id><published>2010-06-25T22:31:00.000-07:00</published><updated>2010-06-25T22:41:35.877-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-25T22:41:35.877-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About Me" /><title>What are important to our success?</title><content type="html">1. People&lt;br /&gt;&lt;br /&gt;Great people build great product.  We need smart people.&lt;br /&gt;&lt;br /&gt;2. Accountability&lt;br /&gt;&lt;br /&gt;Putting great people together is not enough.  People should be accountable.  Giving them responsibility as well as authority.   Who does what and how to reward people based on their performance.&lt;br /&gt;&lt;br /&gt;3. Truth or Facts&lt;br /&gt;&lt;br /&gt;We need to make decision based on facts, not based on imaginations.  We can manage by numbers. &lt;br /&gt;&lt;br /&gt;4. Technical Excellence&lt;br /&gt;&lt;br /&gt;As a leading software company, we should drive technology advancement.&lt;br /&gt;&lt;br /&gt;5. Focus&lt;br /&gt;&lt;br /&gt;We cannot do everything or at least do everything at the same time.  Resource is not unlimited.  Properly use our resources in the area that can improve our margin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-8008355534645919224?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/8008355534645919224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=8008355534645919224" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/8008355534645919224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/8008355534645919224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/63GrITYSZhg/what-are-important-to-our-success.html" title="What are important to our success?" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/06/what-are-important-to-our-success.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQH44eyp7ImA9WxFVGE8.&quot;"><id>tag:blogger.com,1999:blog-639035879830771877.post-7638050291331479633</id><published>2010-06-17T17:57:00.000-07:00</published><updated>2010-06-17T19:18:11.033-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-17T19:18:11.033-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Collaboration" /><title>Mobile Apps Wish List 1</title><content type="html">1. Dial In to a conference call with one button&lt;br /&gt;&lt;br /&gt;It should allow me to program the call script first. I should be able to save a phone number and a series of keys and save the time waiting between pressing these keys.&lt;br /&gt;&lt;br /&gt;This is so simple function. Not sure if any phone can support this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Join the Web conference to view slide show&lt;br /&gt;&lt;br /&gt;I think that the change required on the web conference technology. They need to support a more light weight presentation/ screen play.&lt;br /&gt;&lt;br /&gt;Maybe only supporting powerpoint like slide show should be enough. Many web conference is showing PPT. We do not need such high bandwidth communication in between.&lt;br /&gt;&lt;br /&gt;The slides can be sent in one page at a time. Mouse movement events do not have to be passed.&lt;br /&gt;&lt;br /&gt;Also, text content should be treated as text, not image, to lower the traffic.&lt;br /&gt;&lt;br /&gt;Then I should be able to view it from my phone.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Check Availability of the people I am calling&lt;br /&gt;&lt;br /&gt;I am able to see the status before I contact people via Instant Messenger. I should be able to do the same thing in my phone.&lt;br /&gt;&lt;br /&gt;This can be a separate message sent to the person's mobile phone. The mobile phone should answer this type of requests to a list of people in the contact list.&lt;br /&gt;&lt;br /&gt;I should be able to publish my status via my phone with the text message "busy", "in a meeting", "studying", or "free to talk" and people should be able to check before they call me. It will lower the traffic too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Pre-record messages for a short period of time&lt;br /&gt;&lt;br /&gt;I should be able to pre-record the message for people calling me. The feature is similar to answer machine. I can say "I am in a meeting now, please press #6 if this is urgent, otherwise, I will be available at 3pm, please press #5 if you want to leave me a voice message."&lt;br /&gt;&lt;br /&gt;I should be able to set the end time of this voice message to 3pm, just like setting the vacation auto response emails.&lt;br /&gt;&lt;br /&gt;5. Low batttery reminder&lt;br /&gt;&lt;br /&gt;My phone should call me to remind me. Some alarm will help.&lt;br /&gt;&lt;br /&gt;6. Check bus schedule and active status&lt;br /&gt;&lt;br /&gt;The car should publish where it is to the network. The subscription program should be able to show the current location on a map.&lt;br /&gt;&lt;br /&gt;This does not necessary requiring a GPS.&lt;br /&gt;&lt;br /&gt;The bus is going with a scheduled routine. When the bus is reached a stop, the bus driver can just press a button to recognize the bus's location. The key is that the message should be sent to a server or to be published using some message to the network. (If this is done by a human being, it will be just a phone call to someone.)&lt;br /&gt;&lt;br /&gt;More to come.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/639035879830771877-7638050291331479633?l=dylanwan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://dylanwan.blogspot.com/feeds/7638050291331479633/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=639035879830771877&amp;postID=7638050291331479633" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7638050291331479633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/639035879830771877/posts/default/7638050291331479633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dylanwan/~3/tkke5Ohe18g/mobile-apps-wish-list-1.html" title="Mobile Apps Wish List 1" /><author><name>Dylan Wan</name><uri>http://www.blogger.com/profile/13187273031162907391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dylanwan.blogspot.com/2010/06/mobile-apps-wish-list-1.html</feedburner:origLink></entry></feed>

