<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5442242668458776656</id><updated>2024-08-29T06:18:17.771-07:00</updated><category term="Chat"/><category term="Node.js"/><category term="Social"/><category term="Social Chat"/><category term="Web"/><category term="AI"/><category term="Artificial Intelligence"/><category term="Automation"/><category term="DNS"/><category term="Domain Name"/><category term="Good Parts"/><category term="Guide"/><category term="Help"/><category term="JS"/><category term="JavaScript"/><category term="Machine Learning"/><category term="Test"/><category term="Turorial"/><category term="Web Hosting"/><category term="beginner"/><category term="domain"/><category term="get start"/><category term="node"/><category term="skychen.com"/><title type='text'>Sky Chen</title><subtitle type='html'>Sharing for experience on Node.js, Mobile Apps and Web Development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5442242668458776656.post-1696285021955661900</id><published>2017-08-04T01:24:00.004-07:00</published><updated>2017-08-04T01:27:11.207-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Artificial Intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="Machine Learning"/><category scheme="http://www.blogger.com/atom/ns#" term="Test"/><title type='text'>Get started with machine learning for test automation</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpdOMW2Qjk69TfqQbFLWbXZo2FSMPW0LpnZ9dEct45fglsSBTjzVJDhXqnfqWLALMT1SifqJTS19tlCR7PFfCl3wwgqZDYPAnDtRUrTBu15G2_skR14R8AniZO4EbBhs4KP5joLekE1F7c/s1600/logo-banner.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;436&quot; data-original-width=&quot;1162&quot; height=&quot;120&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpdOMW2Qjk69TfqQbFLWbXZo2FSMPW0LpnZ9dEct45fglsSBTjzVJDhXqnfqWLALMT1SifqJTS19tlCR7PFfCl3wwgqZDYPAnDtRUrTBu15G2_skR14R8AniZO4EbBhs4KP5joLekE1F7c/s320/logo-banner.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now, AI and machine learning are very hit topic.  So as a developer, it will be great that the AI can help us to write the tests, and verify the newly developed features.

So I started the &lt;a href=&quot;https://www.ai-tester.com/&quot;&gt;ai-tester.com&lt;/a&gt; project.&lt;br /&gt;
&lt;br /&gt;
The very first step is to setup a blog website, so that I can keep this projects going, and write down the interesting learning during this project.&lt;br /&gt;
&lt;br /&gt;
I will update with more information to the blog &lt;a href=&quot;http://ai-tester.com/&quot;&gt;ai-tester.com&lt;/a&gt;. </content><link rel='replies' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/1696285021955661900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://almandsky.blogspot.com/2017/08/get-started-with-machine-learning-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/1696285021955661900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/1696285021955661900'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/2017/08/get-started-with-machine-learning-for.html' title='Get started with machine learning for test automation'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpdOMW2Qjk69TfqQbFLWbXZo2FSMPW0LpnZ9dEct45fglsSBTjzVJDhXqnfqWLALMT1SifqJTS19tlCR7PFfCl3wwgqZDYPAnDtRUrTBu15G2_skR14R8AniZO4EbBhs4KP5joLekE1F7c/s72-c/logo-banner.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5442242668458776656.post-8607135599474230714</id><published>2012-08-29T08:05:00.001-07:00</published><updated>2012-08-29T08:05:37.333-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Good Parts"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="JS"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>Useful JavaScript Methods</title><content type='html'>I am reading the book &lt;a href=&quot;http://shop.oreilly.com/product/9780596517748.do&quot;&gt;JavaScript: The Good Parts&lt;/a&gt;, and there are some code I found very useful, such as the sorting method for array.&lt;br /&gt;
The following is an example to short multiple keys in an array which containing both numbers and string.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-js&quot;&gt;// Function by takes a member name string and an
// optional minor comparison function and returns
// a comparison function that can be used to sort an
// array of objects that contain that member. The
// minor comparison function is used to break ties
// when the o[name] and p[name] are equal.

var by = function (name, minor) {
    return function (o, p) {
        var a, b;
        if (o &amp;amp;&amp;amp; p &amp;amp;&amp;amp; typeof o === &#39;object&#39; &amp;amp;&amp;amp; typeof p === &#39;object&#39;) {
            a = o[name];
            b = p[name];
            if (a === b) {
                return typeof minor === &#39;function&#39; ? minor(o, p) : 0;
            }
            if (typeof a === typeof b) {
                return a &amp;lt; b ? -1 : 1;
            }
            return typeof a &amp;lt; typeof b ? −1 : 1;
        } else {
            throw {
                name: &#39;Error&#39;,
                message: &#39;Expected an object when sorting by &#39; + name;
            };
        }
    };
};

//Here is an example to sort by last name then first name:

var s = [
    {first: &#39;Joe&#39;,   last: &#39;Besser&#39;},
    {first: &#39;Moe&#39;,   last: &#39;Howard&#39;},
    {first: &#39;Joe&#39;,   last: &#39;DeRita&#39;},
    {first: &#39;Shemp&#39;, last: &#39;Howard&#39;},
    {first: &#39;Larry&#39;, last: &#39;Fine&#39;},
    {first: &#39;Curly&#39;, last: &#39;Howard&#39;}
];

s.sort(by(&#39;last&#39;, by(&#39;first&#39;)));    

// s is [
//    {first: &#39;Joe&#39;,   last: &#39;Besser&#39;},
//    {first: &#39;Joe&#39;,   last: &#39;DeRita&#39;},
//    {first: &#39;Larry&#39;, last: &#39;Fine&#39;},
//    {first: &#39;Curly&#39;, last: &#39;Howard&#39;},
//    {first: &#39;Moe&#39;,   last: &#39;Howard&#39;},
//    {first: &#39;Shemp&#39;, last: &#39;Howard&#39;}
// ]

&lt;/pre&gt;
&lt;br /&gt;
Another example is the &quot;bind&quot; function.

&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-js&quot;&gt;Function.method(&#39;bind&#39;, function (that) {

// Return a function that will call this function as
// though it is a method of that object.

    var method = this,
        slice = Array.prototype.slice,
        args = slice.apply(arguments, [1]);
    return function (  ) {
        return method.apply(that,
            args.concat(slice.apply(arguments, [0])));
    };
});

//We can now bind the value to the x function.

var x = function (  ) {
    return this.value;
}.bind({value: 666});
console.log(x(  )); // 666

&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/8607135599474230714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://almandsky.blogspot.com/2012/08/useful-javascript-methods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/8607135599474230714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/8607135599474230714'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/2012/08/useful-javascript-methods.html' title='Useful JavaScript Methods'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5442242668458776656.post-5881029071120616196</id><published>2012-07-01T22:04:00.000-07:00</published><updated>2012-08-19T10:45:31.910-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="beginner"/><category scheme="http://www.blogger.com/atom/ns#" term="get start"/><category scheme="http://www.blogger.com/atom/ns#" term="Guide"/><category scheme="http://www.blogger.com/atom/ns#" term="Help"/><category scheme="http://www.blogger.com/atom/ns#" term="node"/><category scheme="http://www.blogger.com/atom/ns#" term="Node.js"/><category scheme="http://www.blogger.com/atom/ns#" term="Turorial"/><title type='text'>How to get start with Node.js</title><content type='html'>&lt;div itemscope=&quot;itemscope&quot; itemtype=&quot;http://data-vocabulary.org/Person&quot;&gt;
The official site of &lt;a href=&quot;http://nodejs.org/&quot;&gt;Node.js&lt;/a&gt; is 
informative, but maybe not quite easy to follow for beginner of 
Node.js.&amp;nbsp; I would like to put some good reference site for Node.js 
beginner, so that you can speed up your journey of Node.js.&lt;br /&gt;
The first site is &lt;a href=&quot;http://www.nodebeginner.org/&quot;&gt;http://www.nodebeginner.org/&lt;/a&gt;.&amp;nbsp;
 It provides good background knowledge of Node.js, as well as the 
hands-on examples.&amp;nbsp; It is easy to follow, and can give you more 
confidence to start with your Node.js journey.&lt;br /&gt;
&lt;a href=&quot;http://nodeguide.com/&quot;&gt;Felix’s Node.js Guide&lt;/a&gt; is also worth reading.&amp;nbsp; It provides the Style Guide of Node.js, and also provide some &lt;a href=&quot;http://nodeguide.com/convincing_the_boss.html&quot;&gt;tips&lt;/a&gt; for you to convince your boss to adopt Node.js.&lt;br /&gt;
The last site I would like to introduce is &lt;a href=&quot;http://nodemanual.org/latest/&quot;&gt;Node.js Manual&lt;/a&gt;.&amp;nbsp; It provides &lt;a href=&quot;http://nodemanual.org/latest/nodejs_dev_guide/index.html&quot;&gt;a set of Tutorial and Guide&lt;/a&gt; of Node.js, and complete reference of Node.js and JavaScript.&lt;br /&gt;
Hope these info helps.  I read the above links and developed my first Node.js web site: &lt;a href=&quot;http://chat.skychen.com/&quot; itemprop=&quot;url&quot; title=&quot;Social Chat&quot;&gt;http://chat.skychen.com/&lt;/a&gt;&lt;br /&gt;
&lt;span itemprop=&quot;name&quot;&gt;Sky Chen&lt;/span&gt;&lt;br /&gt;
&lt;span itemprop=&quot;role&quot;&gt;QE&lt;/span&gt; &lt;span itemprop=&quot;title&quot;&gt;Manager&lt;/span&gt; in &lt;span itemprop=&quot;organization&quot;&gt;Yahoo!&lt;/span&gt; &lt;span itemprop=&quot;location&quot;&gt;Taiwan&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/5881029071120616196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://almandsky.blogspot.com/2012/07/how-to-get-start-with-nodejs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/5881029071120616196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/5881029071120616196'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/2012/07/how-to-get-start-with-nodejs.html' title='How to get start with Node.js'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5442242668458776656.post-4111609995160842100</id><published>2012-06-28T22:06:00.000-07:00</published><updated>2012-07-01T22:12:38.861-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chat"/><category scheme="http://www.blogger.com/atom/ns#" term="DNS"/><category scheme="http://www.blogger.com/atom/ns#" term="domain"/><category scheme="http://www.blogger.com/atom/ns#" term="Domain Name"/><category scheme="http://www.blogger.com/atom/ns#" term="skychen.com"/><category scheme="http://www.blogger.com/atom/ns#" term="Social"/><category scheme="http://www.blogger.com/atom/ns#" term="Social Chat"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Hosting"/><title type='text'>How to set up your own domain name</title><content type='html'>&lt;div itemscope itemtype=&quot;http://data-vocabulary.org/Person&quot;&gt;
&lt;p&gt;I&amp;nbsp;recently&amp;nbsp;setup my own domain: &lt;a href=&quot;http://chat.skychen.com/&quot; title=&quot;Social Chat&quot;&gt;chat.skychen.com&lt;/a&gt;. &amp;nbsp;Why? &amp;nbsp;Because I would like to have a domain name for my node.js Social Chat Website (&lt;a href=&quot;http://chat.skychen.com/&quot; title=&quot;Social Chat&quot; itemprop=&quot;url&quot;&gt;http://chat.skychen.com/&lt;/a&gt;), and for my upcoming web sites.&lt;/p&gt;

&lt;p&gt;It is not hard, and here is some experience when setting up my domain:&lt;/p&gt;


&lt;p&gt;The first step is to find a good service provider. &amp;nbsp;I am using &lt;a href=&quot;http://www.onlydomains.com/&quot;&gt;onlydomains.com&lt;/a&gt;, because I saw its ads in Google search result. &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g&quot; /&gt;  &amp;nbsp;You can also consider the recommendations from Jason -&amp;nbsp;&lt;a href=&quot;http://lifehacker.com/5683682/five-best-domain-name-registrars&quot;&gt;Five Best Domain Name Registrars&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;The second step is to make sure the domain name you are looking for 
is available. &amp;nbsp;Most of the&lt;/p&gt;

&lt;p&gt;Domain Name Registrars provided the search 
function for you. &amp;nbsp;I am decided to use my own name as the domain name, 
because I would like to use this domain for my own works/hacks and so 
on.&lt;/p&gt;

&lt;p&gt;If your domain is available, then you just need to pay for it. &amp;nbsp;It takes about USD 10 for a domain name per year.&lt;/p&gt;


&lt;p&gt;It will take a few days to make your domain registered. &amp;nbsp;The last 
step is to setup your domain, to route the traffics to your web servers:
 &amp;nbsp;&lt;a href=&quot;http://download.pa.parallels.com/pbas/3.3/doc/PBA_PG/adding_dns__records_a_cname_mx_ns.htm&quot;&gt;Adding DNS Records&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&quot;name&quot;&gt;Sky Chen&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&quot;role&quot;&gt;QE&lt;/span&gt; &lt;span itemprop=&quot;title&quot;&gt;Manager&lt;/span&gt; in &lt;span itemprop=&quot;organization&quot;&gt;Yahoo!&lt;/span&gt; &lt;span itemprop=&quot;location&quot;&gt;Taiwan&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/4111609995160842100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://almandsky.blogspot.com/2012/06/setting-up-your-own-domain-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/4111609995160842100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/4111609995160842100'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/2012/06/setting-up-your-own-domain-name.html' title='How to set up your own domain name'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5442242668458776656.post-3660363629716844267</id><published>2012-06-28T22:03:00.002-07:00</published><updated>2012-07-01T22:11:09.659-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chat"/><category scheme="http://www.blogger.com/atom/ns#" term="Node.js"/><category scheme="http://www.blogger.com/atom/ns#" term="Social"/><category scheme="http://www.blogger.com/atom/ns#" term="Social Chat"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>My node.js web site – Social Chat</title><content type='html'>&lt;div itemscope itemtype=&quot;http://data-vocabulary.org/Person&quot;&gt;
&lt;p&gt;I have built a Social Chat web site using &lt;a href=&quot;http://nodejs.org/&quot; target=&quot;_blank&quot; title=&quot;Node.js&quot;&gt;node.js&lt;/a&gt; and &lt;a href=&quot;http://expressjs.com/&quot; target=&quot;_blank&quot; title=&quot;Express&quot;&gt;express&lt;/a&gt;, &lt;a href=&quot;http://github.com/bnoguchi/everyauth&quot; target=&quot;_blank&quot; title=&quot;everyauth&quot;&gt;everyauth&lt;/a&gt;, and &lt;a href=&quot;http://socket.io/&quot; target=&quot;_blank&quot; title=&quot;socket.io&quot;&gt;socket.io&lt;/a&gt; modules. Check it out here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://chat.skychen.com/&quot; title=&quot;Social Chat&quot; itemprop=&quot;url&quot;&gt;http://chat.skychen.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use different social networks account to login, and chat with your friends in &lt;b&gt;Real-Time&lt;/b&gt;!&lt;/p&gt;

&lt;p&gt;Try it out!&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&quot;name&quot;&gt;Sky Chen&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span itemprop=&quot;role&quot;&gt;QE&lt;/span&gt; &lt;span itemprop=&quot;title&quot;&gt;Manager&lt;/span&gt; in &lt;span itemprop=&quot;organization&quot;&gt;Yahoo!&lt;/span&gt; &lt;span itemprop=&quot;location&quot;&gt;Taiwan&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://almandsky.blogspot.com/feeds/3660363629716844267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://almandsky.blogspot.com/2012/06/my-nodejs-web-site-social-chat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/3660363629716844267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5442242668458776656/posts/default/3660363629716844267'/><link rel='alternate' type='text/html' href='http://almandsky.blogspot.com/2012/06/my-nodejs-web-site-social-chat.html' title='My node.js web site – Social Chat'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04583682299702697483</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>