<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Spiffy</title>
	<atom:link href="https://www.weshipcode.com/feed/?cat=-133" rel="self" type="application/rss+xml" />
	<link>https://www.weshipcode.com</link>
	<description></description>
	<lastBuildDate>Fri, 15 Sep 2017 00:40:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Modern App Development with Azure: What I Learnt from an 8-Hour Azure Event</title>
		<link>https://www.weshipcode.com/azure/modern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event/</link>
		<comments>https://www.weshipcode.com/azure/modern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event/#respond</comments>
		<pubDate>Wed, 16 Aug 2017 13:35:13 +0000</pubDate>
		<dc:creator><![CDATA[Chun Lin Goh]]></dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24220</guid>
		<description><![CDATA[Few days ago, the Cloud &#38; Enterprise team at Microsoft Singapore organized an event about developing modern applications on Microsoft Azure in their downtown office. As member from a young startup using Microsoft Azure services, I decided to join the &#8230; <a href="https://www.weshipcode.com/azure/modern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p>Few days ago, the Cloud &amp; Enterprise team at Microsoft Singapore organized an event about developing modern applications on Microsoft Azure in their downtown office.</p>
<p>As member from a young startup using Microsoft Azure services, I decided to join the event to find more about the tools that we have been using daily in our development journey. Hence, this article is to share what I had learnt in that 8-hour Azure event.</p>
<div id="attachment_media-36" style="width: 1376px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5703" src="https://cuteprogramming.files.wordpress.com/2017/08/azure.png" alt="azure.png" width="1366" height="768" /><p class="wp-caption-text">Modern App Development with Azure event</p></div>
<h3><img class="aligncenter size-full wp-image-5691" src="https://cuteprogramming.files.wordpress.com/2017/08/section-1-introduction-to-azure2.png" alt="section-1-introduction-to-azure.png" width="990" height="374" /></h3>
<p><span style="color: inherit; font-size: 18px;">Azure Advisor</span></p>
<p>Even though Microsoft Azure is what our team has been using for almost three years, throughout this event, we found out that there are still many new and useful tools that we are not aware of, for example, the Azure Advisor.</p>
<p>Azure Advisor, a personalized recommendation guide, helps to analyze our usage and configuration in order to provide suggestions regarding the availability, security, performance, and cost of our Azure resources.</p>
<div id="attachment_5216" style="width: 862px" class="wp-caption aligncenter"><img class=" size-full wp-image-5216 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/performance-recommendations.png" alt="performance-recommendations" width="852" height="434" /><p class="wp-caption-text">Azure Advisor also enables us to find the top recommendations based on their potential impact, such as adding index to a table to improve the performance of Azure SQL databases.</p></div>
<h4>DIPR and Web Application Firewall</h4>
<p>Azure Advisor also integrates with Azure Security Center to offer security recommendations. Speaking of security, at break time, we also discussed two ways of securing our web apps on Azure. Although they&#8217;re not part of the event agenda, it&#8217;s still useful to highlight here.</p>
<p>Firstly, by using the DIPR (Dynamic IP address Restriction), we can easily <a href="https://azure.microsoft.com/en-us/blog/ip-and-domain-restrictions-for-windows-azure-web-sites/" target="_blank" rel="noopener">control the set of IP addresses and address ranges which are allowed or denied to access the web apps through web.config</a>.</p>
<p>Secondly, there is another tool highlighted during our break-time discussion is <a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-introduction" target="_blank" rel="noopener">Application Gateway</a>. There is a feature known as <a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-web-application-firewall-overview" target="_blank" rel="noopener">Web Application Firewall</a> in Application Gateway which helps simplifying security management of the web applications.</p>
<h4>Testing in Production</h4>
<p>Working in startup environment, most of the time, when we want to find out the best online promotional and marketing strategies, we will do A/B Testing. In Microsoft Azure, there is feature known as Testing in Production (previously also known as Traffic Routing).</p>
<p>To do A/B testing, normally we will prepare two or three versions of our website. After <a href="https://blogs.msdn.microsoft.com/tomholl/2014/11/09/ab-testing-with-azure-websites/" target="_blank" rel="noopener">publishing the different versions into the different deployment slots under the same App Service</a>, we will then choose &#8220;Testing in production&#8221; option in the settings blade our web app.</p>
<div id="attachment_5276" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5276 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/testing-in-production.png" alt="testing-in-production.png" width="1920" height="1019" /><p class="wp-caption-text">Testing in production option uses deployment slots so the web app must run in Standard or Premium tier.</p></div>
<p>Normally in a successful A/B test, users will be randomly presented with just one of the versions. Hence, the Testing in Production feature will randomly choose a version based on the percentages we configure, each user will remain on that version throughout his/her visit as long as the same ARR (Application Request Routing) Affinity cookie is presented.</p>
<h4>Performance Test</h4>
<p>Besides understanding which version of our website suits the market best, we also need to make sure our web applications can handle high volume of visitors and usage. That&#8217;s where the <a href="https://www.visualstudio.com/en-us/docs/test/performance-testing/app-service-web-app-performance-test" target="_blank" rel="noopener">Performance Test</a> plays an important role.</p>
<div id="attachment_5288" style="width: 1132px" class="wp-caption aligncenter"><img class=" size-full wp-image-5288 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/performance-test.png" alt="performance-test" width="1122" height="705" /><p class="wp-caption-text">Yay, we have only 1 failed request under the load test of 250 concurrent users over 5 minutes!</p></div>
<p>The load testing stimulates the load on our web app over a specific time period and measures the response of our app, such as how fast our app responds to 250 concurrent users.</p>
<p>Please take note that the load test should be done in a non-production environment so that customers using our production app won&#8217;t be affected.</p>
<p><img class=" size-full wp-image-5694 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/section-2-data-and-database1.png" alt="section-2-data-and-database.png" width="990" height="374" /></p>
<h3></h3>
<h4>Elastic Database Pool</h4>
<p>In our current startup, we have at least one database for each of our overseas market. In order to accommodate unpredictable period of usage in each different market, we decided to switch to use Elastic Database Pool.</p>
<p>In the past, we will either over-provision or under-provision our database resources. Doing either one of them will cause us to waste money or sacrifice the performance of our app. Now, with the help from Elastic Database Pool, <a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool" target="_blank" rel="noopener">we can have the unused DTUs to be shared across multiple databases, and so reduces the DTUs needed and overall cost</a>.</p>
<div id="attachment_5311" style="width: 1879px" class="wp-caption aligncenter"><img class=" size-full wp-image-5311 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/elastic-database-pool.png" alt="elastic-database-pool" width="1869" height="889" /><p class="wp-caption-text">Different databases in the same pool with different peak DTU.</p></div>
<h4>Transparent Data Encryption (TDE)</h4>
<p>During the discussion of security, the term TDE was mentioned. TDE in Azure SQL also helps <a href="https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption-with-azure-sql-database" target="_blank" rel="noopener">protect against the threat of malicious activity by performing real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to our app</a>.</p>
<p><a href="https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption-with-azure-sql-database" target="_blank" rel="noopener">The storage of the entire database is encrypted by using a symmetric key known as the Database Encryption Key which is protected by a built-in server certificate.</a></p>
<p>One thing that we need to be aware of is that <a href="https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption-tde" target="_blank" rel="noopener">backups of databases with TDE enabled are also encrypted by using the Database Encryption Key.</a> Hence, when we restore these backups, the certificate protecting the database encryption key must be available.</p>
<div id="attachment_5325" style="width: 941px" class="wp-caption aligncenter"><img class=" size-full wp-image-5325 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/transparent-data-encryption.png" alt="transparent-data-encryption" width="931" height="547" /><p class="wp-caption-text">Transparent Data Encryption (TDE) option in Azure SQL database.</p></div>
<h4>Cosmos DB and DocumentDB</h4>
<p>Cosmos DB is a schema-free database system designed for scalable, broadly distributed, highly responsive, and highly available applications. It supports DocumentDB, one of the NoSQL APIs.</p>
<p><a href="https://docs.microsoft.com/en-us/azure/cosmos-db/distribute-data-globally" target="_blank" rel="noopener">Cosmos DB is available in all Azure regions by default.</a> We can easily add a second region as Read Region simply by clicking on a location on the map. After that, we will be allowed to use the Automatic Failover function which enables Cosmos DB to perform automatic failover of the Write Region to one of the Read Region in the rare event of a data center outage.</p>
<div id="attachment_5478" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5478 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/updating-cosmos-db-read-regions.png" alt="updating-cosmos-db-read-regions.png" width="1920" height="1019" /><p class="wp-caption-text">Updating the Read Regions of an Cosmos DB (Time taken is about 5-10 minutes).</p></div>
<p>During the talk, we also discussed about how Cosmos DB index data. Cosmos DB is truly schema-agnostic*. Hence, by default, all data stored in Cosmos DB is indexed without developers dealing with schema and index management. However, Cosmos DB still allows us to specify a custom indexing policy for collections.</p>
<blockquote><p>A poorly crafted user interface may stay for years, but a database can haunt an enterprise for decades.</p>
<p>&#8212; <em><a href="http://www.marklogic.com/blog/schema-agnosticism-what-it-is-and-why-you-should-care/" target="_blank" rel="noopener">Paul Hoehne, Schema Agnosticism: What It Is and Why You Should Care, 2015</a></em></p></blockquote>
<p>Working at a fast-paced startup, developers are expected to deliver the features and products fast. Hence, designing database properly is one of our priorities. We always try to choose schema-free option like Cosmos DB to avoid longer and more complicated development efforts given by relational database design.</p>
<p><em>* Sometimes Microsoft claims the <a href="https://docs.microsoft.com/en-us/azure/cosmos-db/introduction" target="_blank" rel="noopener">Cosmos DB to be schema-agnostic and also schema-free</a>. Schema-agnostic and schema-free are not the same. <a href="http://www.marklogic.com/blog/schema-agnosticism-what-it-is-and-why-you-should-care/" target="_blank" rel="noopener">Schema-agnostic databases are not bound by schemas but are aware of schemas. However, schema-free database is not bounded by any schema rules outside of the correct syntax.</a></em></p>
<h3></h3>
<p><img class=" size-full wp-image-5695 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/section-3-serverless-computing1.png" alt="section-3-serverless-computing.png" width="990" height="374" /></p>
<p>Serverless computing can be described as follows.</p>
<ul>
<li>Servers are fully-abstracted: Developers do not have to worry about the infrastructure and servers provisioning;</li>
<li>It supports triggers based on activity in a SaaS service so scaling is event-driven instead of resource-driven;</li>
<li>Cost saving because the billing is based on resource consumption and execution, so we only pay for what we use.</li>
</ul>
<p>During the talk, Logic Apps and Functions were introduced.</p>
<h4>Logic Apps</h4>
<p>Logic Apps provide a way to implement workflows easily and in an visual way. Hence, developers do not to need to worry about hosting and can easily automate the workflows they have in place without writing a single line of code.</p>
<p>For example, Marketing team would like to know when there is a new product being uploaded to our partner&#8217;s e-commerce website, what we have is just building a Logic App as shown in the screenshot below. After that, our partner just need to send a POST request to the URL of our Logic App when they upload a new product to their system.</p>
<div id="attachment_5364" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5364 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/logic-apps-designer.png" alt="logic-apps-designer" width="1920" height="1042" /><p class="wp-caption-text">Using Logic Apps Designer to define a simple workflow.</p></div>
<h4>Azure Functions</h4>
<p>Another serverless computing function is Azure Functions. <a href="https://stackoverflow.com/a/36375766/1177328" target="_blank" rel="noopener">Unlike Logic App which is a workflow triggered by an event, Function is code triggered by an event.</a> Function allows developers to focus on the code for only the problem they want to solve without worrying about the infrastructure.</p>
<div id="attachment_media-4" style="width: 1035px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5346" src="https://cuteprogramming.files.wordpress.com/2017/08/talk-azure-functions.png" alt="talk-azure-functions.png" width="1025" height="576" /><p class="wp-caption-text">Stefan Schackow, Principal Program Manager, talked about Azure Functions in Microsoft Tech Summit Singapore in March 2017</p></div>
<p>Azure Functions offer HTTP trigger which will execute the function in response to an HTTP request. Hence by using this feature, I once tried to serve a static web page, index.html, from an Azure Function, as shown in the C# code below.</p>
<pre>using System.Net;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.IO;

public static async Task Run(HttpRequestMessage req, TraceWriter log)
{
    var response = new HttpResponseMessage(HttpStatusCode.OK);
    var stream = new FileStream(@"d:\home\site\wwwroot\HttpTriggerCSharp1\index.html", FileMode.Open);

    response.Content = new StreamContent(stream);
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");

    return response;
}</pre>
<p>This is just a quick hack. For more advanced solution, please read the article <a href="http://anthonychu.ca/post/azure-functions-static-file-server/" target="_blank" rel="noopener">Serving Static Files from Azure Functions written by Anthony Chu, Microsoft MVP</a>.</p>
<h4>Azure API Management</h4>
<p>APIs have become engines of growth in today&#8217;s economy. Hence there is a need to manage APIs so that we can achieve the following goals.</p>
<ul>
<li>Package and publish APIs to external parties;</li>
<li>Provide developers a self-service portal to get started with the APIs easily;</li>
<li>Ramp-up developers with documentations, samples, and API console;</li>
<li>Build an API facade for existing back-end services;</li>
<li>Easily add new capabilities to the APIs, for example can provide response caching;</li>
<li>Reliably secure the APIs from misuse and abuse by providing trial subscription and limit the number of transactions per minute;</li>
<li>Have insights about the usage and health of the APIs.</li>
</ul>
<p>Azure API management is a proxy that sits between our back-end services and the calling clients. It is comprised of three building blocks: Developer Portal, Proxy, and Publisher Portal.</p>
<div id="attachment_5418" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5418 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/azure-api-management-developer-portal.png" alt="azure-api-management-developer-portal.png" width="1920" height="1019" /><p class="wp-caption-text">The Video API console from Microsoft Cognitive Services is also powered by Developer Portal in Azure API Management.</p></div>
<div id="attachment_5424" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5424 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/azure-api-management-publisher-portal.png" alt="azure-api-management-publisher-portal.png" width="1920" height="1019" /><p class="wp-caption-text">Publisher Portal in Azure API Management allows developers to define their APIs such as how they will be exposed through products.</p></div>
<h3></h3>
<p><img class=" size-full wp-image-5697 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/section-4-azure-intelligence-tools1.png" alt="section-4-azure-intelligence-tools.png" width="990" height="374" /></p>
<p>One of the topics in the event is about <a href="https://docs.microsoft.com/en-us/azure/media-services/media-services-overview" target="_blank" rel="noopener">Azure Media Service, an extensible cloud-based platform which enables developers to build scalable media management and delivery applications</a>. What I love is the Analyze power of it in <a href="https://docs.microsoft.com/en-us/azure/media-services/media-services-analytics-overview" target="_blank" rel="noopener">Azure Media Analytics</a>. There are a few Media Analytics services available. I will only share two of the interesting features.</p>
<h4>Media Analytics: Video Summarization and Face Detection</h4>
<p>Recently, the video thumbnail is available on YouTube. So, the viewers are now able to see a quick video clip which is the summary of the actual YouTube videos. Video summarization is in fact available on Azure Media Service as well.</p>
<p><a href="https://docs.microsoft.com/en-us/azure/media-services/media-services-video-summarization" target="_blank" rel="noopener">The Azure Media Video Thumbnails media processor enables us to create a summary of a video that is useful to customers who just want to preview a summary of a long video.</a> For example, the following video clip is actually a 15-second summarization of the <a href="https://www.youtube.com/watch?v=8j49w6QsC1w" data-rel="lightbox-video-0" target="_blank" rel="noopener">2-minute-and-49-second Silverlight PV on YouTube</a>.</p>
<div style="width: 1140px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-24220-1" width="1140" height="605" preload="metadata" controls="controls"><source type="video/mp4" src="https://gclanime.blob.core.windows.net/files/video-summarization-result.mp4?_=1" /><a href="https://gclanime.blob.core.windows.net/files/video-summarization-result.mp4">https://gclanime.blob.core.windows.net/files/video-summarization-result.mp4</a></video></div>
<p>Face Detection is another interesting feature that I like. T<a href="https://docs.microsoft.com/en-us/azure/media-services/media-services-face-and-emotion-detection" target="_blank" rel="noopener">he face detection provides high precision face location detection and tracking that can detect up to 64 human faces in a video.</a> For example, the following two images have faces in <a href="https://www.youtube.com/watch?v=epveIr0Eni8" data-rel="lightbox-video-1" target="_blank" rel="noopener">the YouTube video, ASEAN Spirit</a>, highlighted in another program using the JSON result returned from the Azure Media Face Detector.</p>
<div id="attachment_5528" style="width: 1290px" class="wp-caption aligncenter"><img class=" size-full wp-image-5528 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/azure-media-face-detector-sample-01.png" alt="azure-media-face-detector-sample-01" width="1280" height="720" /><p class="wp-caption-text">There are some people in this picture not detected by Azure Media Face Detector.</p></div>
<div id="attachment_5529" style="width: 1290px" class="wp-caption aligncenter"><img class=" size-full wp-image-5529 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/azure-media-face-detector-sample-02.png" alt="azure-media-face-detector-sample-02" width="1280" height="720" /><p class="wp-caption-text">Faces in noisy image can be detected by Azure Media Face Detector as well!</p></div>
<p>Isn&#8217;t it cool to see visual intelligence like face detection works? In fact, there is now even a very easy way on Azure for us to customize our own computer vision models by uploading images and then tagging them properly. The tool is called <a href="https://azure.microsoft.com/en-us/services/cognitive-services/custom-vision-service/" target="_blank" rel="noopener">Custom Vision Service</a>, still in preview though.</p>
<h4>Custom Vision Service</h4>
<p>Firstly, we need to log in to the Custom Vision at <a href="https://www.customvision.ai/" target="_blank" rel="noopener">https://www.customvision.ai/</a>.</p>
<p>Secondly, we create a new project and then upload the images as training images to the project.</p>
<div id="attachment_media-16" style="width: 1930px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5547" src="https://cuteprogramming.files.wordpress.com/2017/08/custom-vision-training-images.png" alt="custom-vision-training-images.png" width="1920" height="1019" /><p class="wp-caption-text">We need to have at least 2 tags and 5 images in each tag before we can start training our model.</p></div>
<p>Thirdly, we can just hit the &#8220;Quick Test&#8221; button to try out our little computer vision model. The following screenshots show some of the successful and failed cases.</p>
<p><div id="attachment_media-18" style="width: 1930px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5551" src="https://cuteprogramming.files.wordpress.com/2017/08/custom-vision-test-01.png" alt="custom-vision-test-01.png" width="1920" height="1019" /><p class="wp-caption-text">[Success] With just 30 images, Computer Vision can know I bought a cake!</p></div><div id="attachment_media-20" style="width: 1930px" class="wp-caption aligncenter"><img class="alignnone size-full wp-image-5554" src="https://cuteprogramming.files.wordpress.com/2017/08/custom-vision-test-03.png" alt="custom-vision-test-03.png" width="1920" height="1019" /><p class="wp-caption-text">[Success] Hmm&#8230; It looks like a food menu (It also somewhat looks like a bread? Why?)</p></div><div id="attachment_media-22" style="width: 1930px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5557" src="https://cuteprogramming.files.wordpress.com/2017/08/custom-vision-test-04.png" alt="custom-vision-test-04.png" width="1920" height="1019" /><p class="wp-caption-text">[Failed] Ah, they are breads, not menu!</p></div>From the examples above, we know that <a href="https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/home" target="_blank" rel="noopener">Custom Vision Service does &#8220;image classification&#8221; but not yet &#8220;object detection.&#8221;</a> Hence, labeling our images correctly and having a large number of images as testing image are important to make the prediction works.</p>
<p>Finally, Custom Vision Service also will generate a Prediction URL that we can send a POST request to <a href="https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/use-prediction-api" target="_blank" rel="noopener">to test new image programmatically</a>.</p>
<h4>Video Indexer</h4>
<p>Just when I thought Custom Vision Service was an exciting technology, my mind was blown away with the power of Video Indexer.</p>
<p>With the help of media AI technologies, Video Indexer has the ability to easily extract video insights, such as speaker info, keywords, speech sentiment. In addition, it also provides transcript and translated versions of it for several languages such as English, Chinese, Japanese, and Filipino.</p>
<p>When I was writing this article, it was Singapore National Day. So, I uploaded the National Day message delivered by Singapore Prime Minister to Video Indexer to analyze the video. Video Indexer is so powerful that it can detect the speaker in the video is Mr Lee Hsien Loong and it can provide the biography of the Prime Minister.</p>
<div id="attachment_media-5" style="width: 1930px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-5600" src="https://cuteprogramming.files.wordpress.com/2017/08/my-video-indexer-demo.png" alt="my-video-indexer-demo.png" width="1920" height="1042" /><p class="wp-caption-text">PM Lee has a very positive National Day message to all fellow Singaporeans. <a href="https://gcl-videoindexer.azurewebsites.net/api/HttpTriggerCSharp1?code=vUxGsBlOr3rJwGeXPvYQxrCIWsHzzZLy9Qlyz5bCoJwZR3CXYfY85Q==" target="_blank" rel="noopener">(Link to Website)</a> =)</p></div>
<p>Video Indexer currently allows us to embed two types of the widgets into our applications, i.e. the Player and the Cognitive Insights. The above screenshot shows both of the two widgets embedded in the same web page. However, currently there is no way to link both widget. The Player does not know, for example, whether any of the Keywords in the Cognitive Insights is pressed.</p>
<p>You can try out my small example above at <a href="https://gcl-videoindexer.azurewebsites.net/api/HttpTriggerCSharp1?code=vUxGsBlOr3rJwGeXPvYQxrCIWsHzzZLy9Qlyz5bCoJwZR3CXYfY85Q==" target="_blank" rel="noopener">a simple web page hosted using Azure Function</a>.</p>
<p><img class="aligncenter size-full wp-image-5700" src="https://cuteprogramming.files.wordpress.com/2017/08/section-5-arm-iac-devops1.png" alt="section-5-arm-iac-devops.png" width="990" height="374" /></p>
<h3></h3>
<p>DevOps, the union of people, processes, and products to enable continuous delivery of value to end users, is another highlight during the event.</p>
<p>I have always taken an interest in DevOps and have been the &#8220;server person&#8221; in my two jobs. I&#8217;m thus always interested to see how can modern tools are able to make my deployment processes better.</p>
<p>During the event, when we discussed about DevOps, two concepts were highlighted.</p>
<h4>Resource Group, Azure Resource Manager (ARM) and Infrastructure as Code (IaC)</h4>
<p>The first one is known as Resource Group. Resource Group should be a term that many Azure users are very familiar with.</p>
<p>Resource Group is logical container that allows us to group individual resources, such as web apps, databases, and storage accounts together so that we can manage them together in terms of, for example, user access control and billing. Hence, <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#resource-groups" target="_blank" rel="noopener">all the resources in our Resource Group should share the same lifecycle which enables us to deploy, update, and delete them together</a>.</p>
<p>After talking about Resource Group, we were then introduced a tool called Azure Resource Manager. <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview" target="_blank" rel="noopener">Azure Resource Manager enables us to work with the resources in our solution as a group.</a> We can then deploy, update, or delete all the resources for our solution in a single, coordinated operation using a JSON file known as Resource Manager Template which defines resources to be deployed to a resource group.</p>
<div id="attachment_5632" style="width: 1930px" class="wp-caption aligncenter"><img class=" size-full wp-image-5632 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/resource-group-manager-azure-template-on-visual-studio.png" alt="resource-group-manager-azure-template-on-visual-studio.png" width="1920" height="1043" /><p class="wp-caption-text">Azure Resource Group wizard on Visual Studio 2015 helps us designing our resource group.</p></div>
<p>With the Resource Manager Template, we can then make use of it to deploy our resources consistently and repeatedly to Microsoft Azure. This leads to the second concept known as <a href="https://blogs.msdn.microsoft.com/azuredev/2017/02/11/iac-on-azure-an-introduction-of-infrastructure-as-code-iac-with-azure-resource-manager-arm-template/" target="_blank" rel="noopener">Infrastructure as Code, a process of managing and provisioning computing infrastructure with some declarative approach while setting their configuration using definition files instead of traditional interactive configuration tools</a>.</p>
<p>The reason why IaC was mentioned is because it is a key attribute in DevOps which takes the confusion and error-prone aspect of manual processes and make it more efficient and productive.</p>
<h3></h3>
<p><img class=" size-full wp-image-5688 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/08/section-6-conclusion1.png" alt="section-6-conclusion.png" width="990" height="360" /></p>
<p>What I&#8217;ve shared about are some basic but yet important topics for me as a developer in a non-tech/software company. There are some other advanced topics such as DDOS defense system in Azure, data segregation, Azure Active Directory B2C, Azure Stack, subscription model in Azure API Management, Lambda Architecture, In-Memory OLTP, DevOps Pipeline, Build Agent, Visual Studio Team Service, etc.</p>
<p>If you are interested to learn more about all these yourself, please visit <a href="https://azure.microsoft.com/en-us/community/events/?country=singapore" target="_blank" rel="noopener">the Singapore Azure Events web page</a> to find out more. There are still many such activities and talks coming up soon in Singapore!</p>
<p>&nbsp;</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fmodern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event%2F&amp;linkname=Modern%20App%20Development%20with%20Azure%3A%20What%20I%20Learnt%20from%20an%208-Hour%20Azure%20Event" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fmodern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event%2F&amp;linkname=Modern%20App%20Development%20with%20Azure%3A%20What%20I%20Learnt%20from%20an%208-Hour%20Azure%20Event" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fmodern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event%2F&amp;linkname=Modern%20App%20Development%20with%20Azure%3A%20What%20I%20Learnt%20from%20an%208-Hour%20Azure%20Event" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fmodern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event%2F&amp;title=Modern%20App%20Development%20with%20Azure%3A%20What%20I%20Learnt%20from%20an%208-Hour%20Azure%20Event" data-a2a-url="https://www.weshipcode.com/azure/modern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event/" data-a2a-title="Modern App Development with Azure: What I Learnt from an 8-Hour Azure Event"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/azure/modern-app-development-with-azure-what-i-learnt-from-an-8-hour-azure-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="https://gclanime.blob.core.windows.net/files/video-summarization-result.mp4" length="778037" type="video/mp4" />
		</item>
		<item>
		<title>Congratulations to BizSpark Startup TurnKey Lender for Closing Series A Funding Round</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud/#respond</comments>
		<pubDate>Tue, 04 Jul 2017 02:00:37 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24181</guid>
		<description><![CDATA[Congratulations to BizSpark Startup TurnKey Lender for successfully closing their Series A funding round. TurnKey Lender is a cloud-based loan management system and software which automates every step in the origination and account servicing process. Customers gain speed and agility, &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="https://turnkey-lender.com/"><img class="aligncenter size-full wp-image-24182" src="http://www.weshipcode.com/wp-content/uploads/2017/07/TurnKey-Lender.png" alt="" width="1904" height="932" /></a></p>
<p>Congratulations to BizSpark Startup <a href="https://turnkey-lender.com/"><strong>TurnKey Lender</strong></a> for successfully closing their Series A funding round.</p>
<p><a href="https://turnkey-lender.com/"><strong>TurnKey Lender</strong></a> is a cloud-based loan management system and software which automates every step in the origination and account servicing process. Customers gain speed and agility, while controlling risk with business-driven, adjustable risk parameters.</p>
<p>To find out about <strong><a href="https://turnkey-lender.com/">TurnKey Lender</a></strong> and their cloud-based loan management system and software, please visit their website at <a href="https://turnkey-lender.com/"><strong>https://turnkey-lender.com/</strong></a></p>
<p>Find out more about this exciting development at <a href="https://www.techinasia.com/"><strong>Tech In Asia</strong> </a>: <a href="https://www.techinasia.com/turnkey-lender-series-a"><strong>https://www.techinasia.com/turnkey-lender-series-a</strong></a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20TurnKey%20Lender%20for%20Closing%20Series%20A%20Funding%20Round" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20TurnKey%20Lender%20for%20Closing%20Series%20A%20Funding%20Round" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20TurnKey%20Lender%20for%20Closing%20Series%20A%20Funding%20Round" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud%2F&amp;title=Congratulations%20to%20BizSpark%20Startup%20TurnKey%20Lender%20for%20Closing%20Series%20A%20Funding%20Round" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud/" data-a2a-title="Congratulations to BizSpark Startup TurnKey Lender for Closing Series A Funding Round"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-turnkey-lender-for-closing-series-a-funding-roud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robust Search on E-Commerce Website</title>
		<link>https://www.weshipcode.com/developers/robust-search-on-e-commerce-website/</link>
		<comments>https://www.weshipcode.com/developers/robust-search-on-e-commerce-website/#respond</comments>
		<pubDate>Mon, 03 Jul 2017 04:58:57 +0000</pubDate>
		<dc:creator><![CDATA[Chun Lin Goh]]></dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Developer]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24171</guid>
		<description><![CDATA[Azure Search is provided as a Search-as-a-Service solution that helps e-commerce developers to easily offer a robust search experience on the website without managing search infrastructure and understanding in depth about search. Working in the e-commerce team, we find search &#8230; <a href="https://www.weshipcode.com/developers/robust-search-on-e-commerce-website/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p>Azure Search is provided as a Search-as-a-Service solution that helps e-commerce developers to easily offer a robust search experience on the website without managing search infrastructure and understanding in depth about search.</p>
<p>Working in the e-commerce team, we find search to be very important because as the number of products grows, search function becomes a top-priority task for us to implement. Azure Search is what we choose to use.</p>
<h3>Upload Data to Index</h3>
<p>For our e-commerce platform, we have data stored separately in different systems. With Azure Search, we can easily compile and push data to populate the Azure Search index. By doing this way, we don&#8217;t need to worry about what our data sources will be.</p>
<p>To upload data to Azure Search in .NET, firstly, we need to get the Microsoft Azure Search .NET SDK NuGet Package.</p>
<div id="attachment_4759" style="width: 1402px" class="wp-caption alignnone"><img class="alignnone size-full wp-image-4759" src="https://cuteprogramming.files.wordpress.com/2017/07/nuget-microsoft-azure-search.png" alt="nuget-microsoft-azure-search.png" width="1392" height="903" /><p class="wp-caption-text">Installed Azure Search NuGet package in ASP .NET MVC project.</p></div>
<p>&nbsp;</p>
<p>Secondly, we need to create an instance of the SearchServiceClient.</p>
<pre>SearchServiceClient serviceClient = CreateSearchServiceClient();

...

private static SearchServiceClient CreateSearchServiceClient()
{
    return new SearchServiceClient(
        AZURE_SEARCH_SERVICE_NAME, 
        new SearchCredentials(AZURE_SEARCH_ADMIN_API_KEY)
    );
}</pre>
<p>Both the Azure Search Service Name and Azure Search Admin API Key can be found in the Azure Portal.</p>
<div id="attachment_4658" style="width: 1546px" class="wp-caption alignnone"><img class="alignnone size-full wp-image-4658" src="https://cuteprogramming.files.wordpress.com/2017/07/service-name-and-admin-keys.png" alt="service-name-and-admin-keys.png" width="1536" height="834" /><p class="wp-caption-text">Service Name (which is shown beside the Azure Search logo) and Admin Keys.</p></div>
<p>After that, we need to make sure if the index exists or not. If yes, we need to delete it before we can upload a new index. The AZURE_SEARCH_INDEX_NAME is the name we give for our index in Azure Search. It can be called, for example, ecommerce-products-index.</p>
<pre>if (await serviceClient.Indexes.ExistsAsync(AZURE_SEARCH_INDEX_NAME))
{
    await serviceClient.Indexes.DeleteAsync(AZURE_SEARCH_INDEX_NAME);
}

await serviceClient.Indexes.CreateAsync(new Index()
{
    Name = AZURE_SEARCH_INDEX_NAME,
    Fields = FieldBuilder.BuildForType&lt;Product&gt;()
});</pre>
<p>After that, we need to retrieve the SearchIndexClient for the index.</p>
<pre>var indexClient = serviceClient.Indexes.GetClient(AZURE_SEARCH_INDEX_NAME);</pre>
<p>We can then proceed to upload data to Azure Search via an IndexBatch object, as shown in the code below.</p>
<pre>IEnumerable products = ...; // Retrieve available products from data sources

var batch = IndexBatch.Upload(products);

try
{
    indexClient.Documents.Index(batch);
}
catch (IndexBatchException ex)
{
    // Exception handling... 
}</pre>
<p>Upload is just one of the indexing actions. There are other actions such as Merge, MergeOrUpload, and Delete. Some of you may wonder, with the MergeOrUpload function, why we still choose to delete and re-create index every time we do the indexing. This is because MergeOrUpload will not remove documents from the index and we don&#8217;t want to have deleted products to be indexed as well.</p>
<p>Take note that we are only allowed to include up to 1,000 documents in a single indexing request (or 16MB, whichever limit comes first).</p>
<p>There are more than one way of uploading data to Azure Search for indexing such as using the Azure Portal and REST. You can read more at <a href="https://docs.microsoft.com/en-us/azure/search/search-what-is-data-import" target="_blank" rel="noopener">Azure Search Documentation &#8211; Add Data</a>.</p>
<h3>Model Class &#8211; Product</h3>
<p>To create a list of Field objects for indexing, the FieldBuilder class needs a model class to define the fields. In the sample codes above, the model is called Product which looks as follows.</p>
<pre>using Microsoft.Azure.Search;
using Microsoft.Azure.Search.Models;
using System.ComponentModel.DataAnnotations;

...

[SerializePropertyNamesAsCamelCase]
public class Product
{
    [Key]
    public string SerialNumber { get; set; }

    [IsFilterable, IsSortable, IsSearchable]
    public string Name { get; set; }

    [IsFilterable, IsSortable, IsSearchable, IsFacetable]
    public string Category { get; set; }

    [IsSearchable]
    public string Summary { get; set; }

    [IsSearchable]
    public string Description { get; set; } 

    [IsFilterable, IsSortable, IsFacetable] 
<span class="hljs-keyword">    public</span> <span class="hljs-keyword">int</span>? Rating { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
}</pre>
<p>The SerializePropertyNamesAsCamelCase attribute is defined in the Azure Search .NET SDK. In Azure Search JSON documents, the name of each of its field is in Camel Case while the public property of a model is using Pascal Case, according to the .NET naming guidelines. Hence the attribute helps to map the Pascal-Case properties to Camel-Case fields in the Azure Search index documents.</p>
<p>When creating index, we can define <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/create-index" target="_blank" rel="noopener">attributes for each of the field</a>.</p>
<ul>
<li>IsSearchable: Marks the field as full-text search-able. Searchable fields consume additional space in the Azure Search index because an extra tokenized version of the field value needs to be stored also for full-text searches.</li>
<li>IsFilterable: Allows the field to be referenced in filter query. All fields are filterable by default.</li>
<li>IsSortable: Allows the result documents to be sorted using the field in the orderby expression.</li>
<li>IsFacetable: Unlike filter that is used to restrict which documents are returned by a query, <a href="https://stackoverflow.com/a/40638188/1177328" target="_blank" rel="noopener">facet is used to produce summaries of field values across the documents</a>.</li>
</ul>
<p>According to <a href="https://docs.microsoft.com/en-us/azure/search/search-howto-dotnet-sdk" target="_blank" rel="noopener">Microsoft Docs</a>, neither the SDK nor the Azure Search service will help us to make sure that no document contains null value for non-nullable property, we have no choice but to use nullable data types, otherwise there will be errors thrown.</p>
<h3>Query Index with Simple Query Syntax</h3>
<p>Now we have useful information about our products up on the Azure Search. How do we allow customers to retrieve them?</p>
<p>Azure Search provides developers many methods to create powerful queries. There are two main types of query available, i.e. Search and Filter. The one that we use in our e-commerce is just the search. A search query searches for terms in all searchable fields in the index.</p>
<p>There are two types of search query syntax. By default, Azure Search is using the <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search" target="_blank" rel="noopener">Simple Query Syntax</a>.</p>
<p>Query execution has four stages:</p>
<ol>
<li><strong>Query Parsing</strong>: Separate query terms from query operators and create a query tree to be sent to the search engine;</li>
<li><strong>Lexical Analysis</strong>: Perform lexical analysis on query terms;</li>
<li><strong>Document Matching</strong>: Match documents containing any or all of the terms;</li>
<li><strong>Scoring</strong>: Score matching documents based on the contents of the inverted index.</li>
</ol>
<div id="attachment_4644" style="width: 757px" class="wp-caption aligncenter"><img class=" size-full wp-image-4644 aligncenter" src="https://cuteprogramming.files.wordpress.com/2017/07/search-request-processing-workflow.png" alt="search-request-processing-workflow" width="747" height="550" /><p class="wp-caption-text">The components used to process a search request in Azure Search. (Source: <a href="https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture">Microsoft Docs</a>)</p></div>
<p>In the Simple Query Syntax, we are able to include Operators in our search query, such as + (AND), || (OR), and &#8211; (NOT). So if a customer would like to find out the tour package that will visit Eiffel Tower but not any museum, he/she can simply key in Eiffel -museum in the search box.</p>
<div id="attachment_media-4" style="width: 1930px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-4655" src="https://cuteprogramming.files.wordpress.com/2017/07/eiffel-museum.png" alt="eiffel--museum.png" width="1920" height="1042" /><p class="wp-caption-text">All the tours in France that are going to Eiffel Tower but not any museum in France. (Source: <a href="http://attractions.changirecommends.com">Changi Recommends</a>)</p></div>
<p>There is another interesting thing that I notice is that according to the <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search#operators" target="_blank" rel="noopener">Microsoft Docs, the OR operator is |</a> but for my case, OR operation will only work if I use ||.</p>
<p>Besides these operators, the famous Phrase Search Operator (&#8221; &#8220;) is also available. So, &#8220;Eiffel Museum&#8221; will only return documents that contain whole phrase together and in that order. Is there an Eiffel Museum in Paris? =)</p>
<p>To find out more about Simple Query Syntax and the operators available in it, please read <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search" target="_blank" rel="noopener">Microsoft Docs</a>.</p>
<h3>Query Index with Lucene Query Syntax</h3>
<p>Another query syntax is Lucene Query Syntax, the powerful and expressive query language developed as part of <a href="https://lucene.apache.org/core/4_10_2/queryparser/org/apache/lucene/queryparser/classic/package-summary.html" target="_blank" rel="noopener">Apache Lucene</a>.</p>
<p>For e-commerce, two operations supported by Lucene Query Syntax are my favourites:</p>
<ul>
<li>Fuzzy Search;</li>
<li>Wildcard Search.</li>
</ul>
<p>It&#8217;s quite common to make typos in search. Fortunately, Azure Search provides Fuzzy Search function which is based on <a href="https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" target="_blank" rel="noopener">the Damerau-Levenshtein Distance, a string metric for measuring the edit distance between two sequences</a>.</p>
<p>To do a Fuzzy Search, we just need to append the character ~ to the single word and specify the edit distance, which is by default 2. So Eifle~1 will match documents having &#8220;Eiffle&#8221; in their content too.</p>
<p>I did a similar task which was related to implementing a search function in JavaScript when I was working in Easibook as well. By calculating the <a href="https://en.wikipedia.org/wiki/Levenshtein_distance" target="_blank" rel="noopener">Levenshtein Distance</a> of user input and the records in database, the small JavaScript code I wrote is able to suggest the places even user keys in the place name wrongly.</p>
<p>Unlike the algorithm that I used in Easibook, the Damerau-Levenshtein Distance is a modified version of it which now also considers transposition of two adjacent characters as a single edit.</p>
<div id="attachment_4696" style="width: 1116px" class="wp-caption aligncenter"><img class="aligncenter size-full wp-image-4696" src="https://cuteprogramming.files.wordpress.com/2017/07/levenshtein-distance-vs-damerau-levenshtein-distance.png" alt="levenshtein-distance-vs-damerau--levenshtein-distance.png" width="1106" height="790" /><p class="wp-caption-text">Levenshtein Distance vs. Damerau-Levenshtein Distance.</p></div>
<p>Another query operation that I like is the Wildcard Search. By default, Azure Search is doing word-by-word search. However, there are customers sometimes hope that they don&#8217;t have to complete the entire search term. So, they hope &#8220;Desert&#8221; will be returned as a result when they are searching with the term &#8220;des&#8221;.</p>
<p>To accomplish this mission, I simply apply Wildcard Search by using multiple characters (*) or single character (?) wildcard. Take note that Lucene Query Syntax only supports the use of wildcard symbols with a single search term, and not a phrase.</p>
<p>To find out more about Lucene Query Syntax, please <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/Lucene-query-syntax-in-Azure-Search" target="_blank" rel="noopener">checkout its Microsoft Docs</a> too.</p>
<h3>Search Score</h3>
<p>By default, the top 50 (up to 1,000 in a single response) matched documents are returned by Azure Search. Every document returned is assigned a Search Score. In the result set, the documents are ranked according to their Search Score, from highest to lowest.</p>
<p>Default Azure Search scoring is computed based on statistical properties of the data and the query. Azure Search favours documents that contain many instances of the search term. <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/add-scoring-profiles-to-a-search-index#what-is-default-scoring" target="_blank" rel="noopener">Based on the Microsoft Docs, the search score goes up even higher if the search term is rare across the data corpus, but common within the document.</a> This default search scoring fits most our search cases in e-commerce, so even though customizing scoring is possible, we don&#8217;t proceed to do that.</p>
<h3>Pricing</h3>
<p>The following pricing table reflects the rates charged by Azure Search for Southeast Asia customers in USD.</p>
<div id="attachment_4749" style="width: 1565px" class="wp-caption alignnone"><img class="alignnone size-full wp-image-4749" src="https://cuteprogramming.files.wordpress.com/2017/07/pricing-details.png" alt="pricing-details.png" width="1555" height="1557" /><p class="wp-caption-text">Pricing of Azure Search and Its Data Transfer Standard Rates (For latest rates please refer to <a href="https://azure.microsoft.com/en-us/pricing/details/search/" target="_blank" rel="noopener">Microsoft Azure</a>)</p></div>
<h3>Personal Demo</h3>
<p>Previously I did a simple Windows console app as my personal hobby project demonstrating the ability of Azure Search when I was just started exploring Azure Search half a year ago. <a href="https://github.com/goh-chunlin/AzureSearchDemo" target="_blank" rel="noopener">I hosted the codes of the project on GitHub.</a> Feel free to check it out and help contributing to it. Thanks in advance! =)</p>
<div id="attachment_media-12" style="width: 1928px" class="wp-caption alignnone"><img class="alignnone size-full wp-image-4730" src="https://cuteprogramming.files.wordpress.com/2017/07/azure-search-demo-console.png" alt="azure-search-demo-console.png" width="1918" height="1041" /><p class="wp-caption-text">The <a href="https://github.com/goh-chunlin/AzureSearchDemo">Azure Search Demo Console</a> I built in Dec 2016 to search <a href="http://dotnet.sg">Singapore .NET Developers Community</a> meetups.</p></div>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fdevelopers%2Frobust-search-on-e-commerce-website%2F&amp;linkname=Robust%20Search%20on%20E-Commerce%20Website" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fdevelopers%2Frobust-search-on-e-commerce-website%2F&amp;linkname=Robust%20Search%20on%20E-Commerce%20Website" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fdevelopers%2Frobust-search-on-e-commerce-website%2F&amp;linkname=Robust%20Search%20on%20E-Commerce%20Website" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fdevelopers%2Frobust-search-on-e-commerce-website%2F&amp;title=Robust%20Search%20on%20E-Commerce%20Website" data-a2a-url="https://www.weshipcode.com/developers/robust-search-on-e-commerce-website/" data-a2a-title="Robust Search on E-Commerce Website"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/developers/robust-search-on-e-commerce-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations to BizSpark Startup Cafebond for entering Taiwan Innovation &#038; Technology Arena</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena/#respond</comments>
		<pubDate>Fri, 23 Jun 2017 16:14:03 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24134</guid>
		<description><![CDATA[One of our BizSpark startups, Cafebond, was successfully admitted into the Taiwan Innovation &#38; Technology Arena (TITAN). TITAN is a flagship project supported by Taiwan Ministry of Science and Technology which is focused on boosting the diversity of Taiwan’s innovation ecosystem by &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.weshipcode.com/wp-content/uploads/2017/06/Cafebond-2017-06-24.png" data-rel="lightbox-0" title=""><img class="aligncenter size-full wp-image-24135" src="http://www.weshipcode.com/wp-content/uploads/2017/06/Cafebond-2017-06-24.png" alt="" width="1338" height="632" /></a></p>
<p>One of our BizSpark startups, <a href="https://www.cafebond.com/"><strong>Cafebond</strong></a>, was successfully admitted into the <strong><a href="http://www.titan.org.tw/">Taiwan Innovation &amp; Technology Arena (TITAN)</a></strong>. <a href="http://www.titan.org.tw/"><strong>TITAN</strong> </a>is a flagship project supported by <strong><a href="https://www.most.gov.tw/en/public">Taiwan Ministry of Science and Technology</a></strong> which is focused on boosting the diversity of Taiwan’s innovation ecosystem by inviting talents from all over the world.</p>
<p><a href="https://cafebond.com/"><strong>Cafebond</strong> </a>offers a web and mobile platform that connects coffee lovers with the best coffee brands in the world, so you can taste and buy unique specialty coffee beans and blends from roaster-owned cafes from London to Melbourne, Singapore to Beijing, in one easy checkout process.</p>
<p>To find out about <a href="https://cafebond.com/"><strong>Cafebond</strong> </a>and their product offering, please visit their official website at <a href="https://cafebond.com/"><strong>https://www.cafebond.com/</strong></a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Cafebond%20for%20entering%20Taiwan%20Innovation%20%26%20Technology%20Arena" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Cafebond%20for%20entering%20Taiwan%20Innovation%20%26%20Technology%20Arena" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Cafebond%20for%20entering%20Taiwan%20Innovation%20%26%20Technology%20Arena" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena%2F&amp;title=Congratulations%20to%20BizSpark%20Startup%20Cafebond%20for%20entering%20Taiwan%20Innovation%20%26%20Technology%20Arena" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena/" data-a2a-title="Congratulations to BizSpark Startup Cafebond for entering Taiwan Innovation & Technology Arena"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-cafebond-for-entering-taiwan-innovation-technology-arena/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations to BizSpark Startup Bluzelle being awarded &#8220;Technology Pioneer&#8221; status by World Economic Forum</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum/#respond</comments>
		<pubDate>Thu, 15 Jun 2017 08:23:55 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24066</guid>
		<description><![CDATA[Congratulations to BizSpark Startup Bluzelle for being awarded &#8220;Technology Pioneer&#8221; status by World Economic Forum. Bluzelle offers a complete and fully integrated stack of blockchain applications, middleware and data services. With customers that range from SMEs to global enterprises, Bluzelle &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://bluzelle.com/"><img class="aligncenter size-full wp-image-24067" src="http://www.weshipcode.com/wp-content/uploads/2017/06/Bluzelle.png" alt="" width="1903" height="933" /></a></p>
<p>Congratulations to BizSpark Startup <a href="http://bluzelle.com/"><strong>Bluzelle</strong></a> for being awarded &#8220;Technology Pioneer&#8221; status by World Economic Forum.</p>
<p><a href="http://bluzelle.com/"><strong>Bluzelle</strong></a> offers a complete and fully integrated stack of blockchain applications, middleware and data services. With customers that range from SMEs to global enterprises, Bluzelle is able to design, develop and deploy the best solution for your business.</p>
<p>To find out about <strong><a href="http://bluzelle.com/">Bluzelle</a></strong> and their Blockchain solutions, please visit their website at <a href="http://bluzelle.com/"><strong>http://bluzelle.com/</strong></a></p>
<p>Find out more about this exciting development at e27 : <strong><a href="&quot;https://e27.co/singapore-blockchain-startup-bluzelle-becomes-world-economic-forum-endorsed-technology-pioneer-20170614/&lt;/strong">https://e27.co/singapore-blockchain-startup-bluzelle-becomes-world-economic-forum-endorsed-technology-pioneer-20170614/</a></strong></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Bluzelle%20being%20awarded%20%E2%80%9CTechnology%20Pioneer%E2%80%9D%20status%20by%20World%20Economic%20Forum" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Bluzelle%20being%20awarded%20%E2%80%9CTechnology%20Pioneer%E2%80%9D%20status%20by%20World%20Economic%20Forum" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Bluzelle%20being%20awarded%20%E2%80%9CTechnology%20Pioneer%E2%80%9D%20status%20by%20World%20Economic%20Forum" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum%2F&amp;title=Congratulations%20to%20BizSpark%20Startup%20Bluzelle%20being%20awarded%20%E2%80%9CTechnology%20Pioneer%E2%80%9D%20status%20by%20World%20Economic%20Forum" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum/" data-a2a-title="Congratulations to BizSpark Startup Bluzelle being awarded “Technology Pioneer” status by World Economic Forum"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-bluzelle-being-awarded-technology-pioneer-status-by-world-economic-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Join us for our very first APAC #CloudTechSummit</title>
		<link>https://www.weshipcode.com/azure/join-us-for-our-very-first-apac-cloudtechsummit/</link>
		<comments>https://www.weshipcode.com/azure/join-us-for-our-very-first-apac-cloudtechsummit/#respond</comments>
		<pubDate>Tue, 13 Jun 2017 01:13:13 +0000</pubDate>
		<dc:creator><![CDATA[Lilian Quek]]></dc:creator>
				<category><![CDATA[Azure]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=24038</guid>
		<description><![CDATA[You’re invited to join Microsoft APAC’s first Cloud Tech Summit on 28th June. In a Cloud first and Mobile first world, both business and technology leaders need to embrace disruptive innovations for a sustainable competitive advantage Join us for this &#8230; <a href="https://www.weshipcode.com/azure/join-us-for-our-very-first-apac-cloudtechsummit/">Continued</a>]]></description>
				<content:encoded><![CDATA[<h1><a href="http://www.weshipcode.com/wp-content/uploads/2017/06/Cloudsummit1.png" data-rel="lightbox-0" title=""><img class="alignnone wp-image-24039" src="http://www.weshipcode.com/wp-content/uploads/2017/06/Cloudsummit1.png" alt="" width="854" height="424" /></a></h1>
<h1><strong>You’re invited to join Microsoft APAC’s first Cloud Tech Summit on 28th June.</strong></h1>
<p>In a Cloud first and Mobile first world, both business and technology leaders need to embrace disruptive innovations for a sustainable competitive advantage</p>
<p>Join us for this virtual summit as leaders from <strong>UEM Edgenta</strong>, <strong>Downer Group</strong>, <strong>PACT,</strong> <strong>Snowden Group</strong> and more come together to share their experiences on how they leveraged innovative technologies such as AI &amp; machine learning, IoT and Big data to accelerate their digital transformation. This inaugural summit brings you 5 tracks on how Azure can help you stay ahead.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<h3><strong>TRACK 1</strong></h3>
<h2><strong>Harnessing the power of PaaS to better serve customers  </strong><strong>Time: 12:30PM (GMT+8)</strong></h2>
<p>Learn how easy it is to implement Platform as a Service to modernise line of business applications or develop new ones that benefit from the most advanced customer focused innovation. <strong><a href="https://aka.ms/apaccloudtechsummit/paas">Register now</a></strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<h3><strong>TRACK 2</strong></h3>
<h2><strong>Driving digital transformation with Azure IoT                               Time: 11AM (GMT+8)</strong></h2>
<p>Digital transformation can help businesses modernise products, enter new markets and drive change. Learn how Azure took these companies from ground-up to the cloud.  <strong><a href="https://aka.ms/apaccloudtechsummit/iot">Register now </a></strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<h3><strong>TRACK 3</strong></h3>
<h2><strong>Revolutionise your business with Cloud AI &amp; machine learning                                                                                                                      </strong><strong>Time: 11AM (GMT+8)</strong></h2>
<p>Get industry insights on leveraging machine learning for building smart businesses. Interactive sessions take you through integrating virtual agents, Azure Cognitive Services and more.  <strong><a href="https://aka.ms/apaccloudtechsummit/aiml">Register now</a></strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<h3><strong>TRACK 4 </strong></h3>
<h2><strong>Power-up your business with Big Data                                          Time: 11AM (GMT+8)</strong></h2>
<p>Get to customer insights easier, quicker, and at scale, minus infrastructural challenges. Power-up your big data journey with learnings from Just Analytics and Microsoft.  <strong><a href="https://aka.ms/apaccloudtechsummit/data">Register now</a></strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<h3><strong>TRACK 5</strong></h3>
<h2><strong>Bringing the power of cloud to SAP workloads</strong>                             <strong>Time: 12:30PM (GMT+8)</strong></h2>
<p>Hear how by migrating SAP mission critical workloads to Azure, you can reduce your costs with no compromise on security, capability, flexibility and performance.  <strong><a href="https://aka.ms/apaccloudtechsummit/sap">Register now </a></strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>&nbsp;</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fjoin-us-for-our-very-first-apac-cloudtechsummit%2F&amp;linkname=Join%20us%20for%20our%20very%20first%20APAC%20%23CloudTechSummit" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fjoin-us-for-our-very-first-apac-cloudtechsummit%2F&amp;linkname=Join%20us%20for%20our%20very%20first%20APAC%20%23CloudTechSummit" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fjoin-us-for-our-very-first-apac-cloudtechsummit%2F&amp;linkname=Join%20us%20for%20our%20very%20first%20APAC%20%23CloudTechSummit" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fazure%2Fjoin-us-for-our-very-first-apac-cloudtechsummit%2F&amp;title=Join%20us%20for%20our%20very%20first%20APAC%20%23CloudTechSummit" data-a2a-url="https://www.weshipcode.com/azure/join-us-for-our-very-first-apac-cloudtechsummit/" data-a2a-title="Join us for our very first APAC #CloudTechSummit"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/azure/join-us-for-our-very-first-apac-cloudtechsummit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations to our BizSpark Startup Graduates at Startup Autobahn Singapore Accelerator Program</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program/#respond</comments>
		<pubDate>Thu, 01 Jun 2017 14:31:51 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=23998</guid>
		<description><![CDATA[Congratulations to the graduating class for the inaugural edition of Startup Autobahn Singapore Accelerator Program in collaboration with Plug and Play and NUS Enterprise. Here&#8217;s a quick look at our BizSpark Startups that have graduated from the accelerator program: Surge (Artificial &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p>Congratulations to the graduating class for the inaugural edition of <a href="http://www.startup-autobahn.sg/"><strong>Startup Autobahn Singapore Accelerator Program</strong></a> in collaboration with <a href="http://plugandplaytechcenter.com/"><strong>Plug and Play</strong></a> and <a href="http://enterprise.nus.edu.sg/"><strong>NUS Enterprise</strong></a>.</p>
<p><a href="http://www.weshipcode.com/wp-content/uploads/2017/06/18839844_1430802730317342_3455685698768344387_o.jpg" data-rel="lightbox-0" title=""><img class="aligncenter size-full wp-image-24002" src="http://www.weshipcode.com/wp-content/uploads/2017/06/18839844_1430802730317342_3455685698768344387_o.jpg" alt="" width="2048" height="1536" /></a></p>
<p>Here&#8217;s a quick look at our <a href="https://bizspark.microsoft.com/"><strong>BizSpark</strong> </a>Startups that have graduated from the accelerator program:</p>
<p><a href="http://www.surgebots.com/"><strong>Surge</strong></a> (Artificial Intelligence): Surge leverages voice and email data to automatically enter, clean and complete information into your CRM.</p>
<p><a href="http://www.surgebots.com/"><img class="aligncenter size-large wp-image-24001" src="http://www.weshipcode.com/wp-content/uploads/2017/06/18891423_1430803133650635_5840979973999668176_o.jpg" alt="" width="1024" height="768" /></a></p>
<p><a href="http://www.surgebots.com/"><img class="aligncenter size-full wp-image-23914" src="http://www.weshipcode.com/wp-content/uploads/2017/05/Surge.png" alt="" width="1903" height="932" /></a></p>
<p><a href="https://fixir.co/"><strong>Fixir</strong> </a>(Logistics &amp; Transportation): Fixir is the friend every driver needs. Whether your car breaks downs, needs a polish or is due for a wheel change, we’re here for you. Using Fixir is really simple, you just need to select the service you need and our reliable service providers will come to you in no time!</p>
<p><a href="https://fixir.co/"><img class="aligncenter size-large wp-image-24000" src="http://www.weshipcode.com/wp-content/uploads/2017/06/18768198_1430803100317305_5019001537945787041_o.jpg" alt="" width="1024" height="768" /></a></p>
<p><a href="https://fixir.co/"><img class="aligncenter size-full wp-image-23916" src="http://www.weshipcode.com/wp-content/uploads/2017/05/Fixir.png" alt="" width="1902" height="933" /></a></p>
<p><a href="https://www.rendv.com/"><strong>Rendezvous</strong> </a>(Enterprise Solution): Automated minutes taker for meetings using various speech-to-text software and creating a transcript from speech.</p>
<p><a href="https://www.rendv.com/"><img class="aligncenter size-full wp-image-23999" src="http://www.weshipcode.com/wp-content/uploads/2017/06/18836602_1430803073650641_5154408438288654244_o.jpg" alt="" width="2048" height="1536" /></a></p>
<p><a href="https://www.rendv.com/"><img class="aligncenter size-full wp-image-23915" src="http://www.weshipcode.com/wp-content/uploads/2017/05/Rendezvous.png" alt="" width="1902" height="932" /></a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program%2F&amp;linkname=Congratulations%20to%20our%20BizSpark%20Startup%20Graduates%20at%20Startup%20Autobahn%20Singapore%20Accelerator%20Program" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program%2F&amp;linkname=Congratulations%20to%20our%20BizSpark%20Startup%20Graduates%20at%20Startup%20Autobahn%20Singapore%20Accelerator%20Program" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program%2F&amp;linkname=Congratulations%20to%20our%20BizSpark%20Startup%20Graduates%20at%20Startup%20Autobahn%20Singapore%20Accelerator%20Program" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program%2F&amp;title=Congratulations%20to%20our%20BizSpark%20Startup%20Graduates%20at%20Startup%20Autobahn%20Singapore%20Accelerator%20Program" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program/" data-a2a-title="Congratulations to our BizSpark Startup Graduates at Startup Autobahn Singapore Accelerator Program"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-our-bizspark-startup-graduates-at-startup-autobahn-singapore-accelerator-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Start Your Week of Access to Co-Working Community at The Impact Hub Singapore</title>
		<link>https://www.weshipcode.com/startup/start-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore/</link>
		<comments>https://www.weshipcode.com/startup/start-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore/#respond</comments>
		<pubDate>Thu, 01 Jun 2017 06:37:17 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=23989</guid>
		<description><![CDATA[Whether you are an entrepreneur, techie, designer, creative, corporate professional, freelancer, student or in the midst of a career change – join The Impact Hub Singapore, one of Singapore&#8217;s premier co-working community with mentorship, incubation, workshops, events, networking and corporate innovation &#8230; <a href="https://www.weshipcode.com/startup/start-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://singapore.impacthub.net/startup-success"><img class="aligncenter size-full wp-image-23990" src="http://www.weshipcode.com/wp-content/uploads/2017/06/SuccessHub.jpg" alt="" width="1200" height="370" /></a></p>
<p>Whether you are an entrepreneur, techie, designer, creative, corporate professional, freelancer, student or in the midst of a career change – join <a href="http://singapore.impacthub.net/"><strong>The Impact Hub Singapore</strong></a>, one of Singapore&#8217;s premier co-working community with mentorship, incubation, workshops, events, networking and corporate innovation labs.</p>
<p>Sign-up for your complimentary week of access to a collaborative co-working community <strong><a href="http://bit.ly/hubpass">HERE </a></strong>using the promo code <em><strong>MHUBVIP</strong></em></p>
<p>For startups, enjoy discounted rates on memberships at <a href="http://singapore.impacthub.net/"><strong>The Impact Hub Singapore</strong></a>. To find out more, visit <a href="http://singapore.impacthub.net/startup-success"><strong>http://singapore.impacthub.net/startup-success</strong></a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fstart-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore%2F&amp;linkname=Start%20Your%20Week%20of%20Access%20to%20Co-Working%20Community%20at%20The%20Impact%20Hub%20Singapore" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fstart-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore%2F&amp;linkname=Start%20Your%20Week%20of%20Access%20to%20Co-Working%20Community%20at%20The%20Impact%20Hub%20Singapore" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fstart-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore%2F&amp;linkname=Start%20Your%20Week%20of%20Access%20to%20Co-Working%20Community%20at%20The%20Impact%20Hub%20Singapore" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fstart-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore%2F&amp;title=Start%20Your%20Week%20of%20Access%20to%20Co-Working%20Community%20at%20The%20Impact%20Hub%20Singapore" data-a2a-url="https://www.weshipcode.com/startup/start-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore/" data-a2a-title="Start Your Week of Access to Co-Working Community at The Impact Hub Singapore"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/start-your-week-of-access-to-co-working-community-at-the-impact-hub-singapore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations to BizSpark Startup Gnowbe for Raising US$1.7 million in Seed Funding</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding/#respond</comments>
		<pubDate>Tue, 30 May 2017 08:08:58 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=23965</guid>
		<description><![CDATA[Congratulations to BizSpark Startup Gnowbe for raising US$1.7 million in seed funding to grow their learning platform. Gnowbe leverages bite-sized, social learning (chats and messaging) and gamification to encourage active engagement and inspire behavior change. It is designed for the &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.weshipcode.com/wp-content/uploads/2017/05/Gnowbe.png" data-rel="lightbox-0" title=""><img class="aligncenter size-full wp-image-23890" src="http://www.weshipcode.com/wp-content/uploads/2017/05/Gnowbe.png" alt="" width="1906" height="932" /></a></p>
<p>Congratulations to BizSpark Startup <a href="https://www.gnowbe.com/"><strong>Gnowbe</strong></a> for raising US$1.7 million in seed funding to grow their learning platform.</p>
<p><a href="https://www.gnowbe.com/"><strong>Gnowbe</strong></a> leverages bite-sized, social learning (chats and messaging) and gamification to encourage active engagement and inspire behavior change. It is designed for the modern learner who needs relevant, new content when they want it, when they need it &#8211; right in their pockets.</p>
<p>To find out about <strong><a href="https://www.gnowbe.com/">Gnowbe</a></strong> and their platform, please visit their website at <a href="https://www.gnowbe.com/"><strong>https://www.gnowbe.com/</strong></a></p>
<p>Find out more about this exciting development at the following sites:</p>
<ul>
<li>Tech In Asia : <a href="https://www.techinasia.com/gnowbe-seed-funding"><strong>https://www.techinasia.com/gnowbe-seed-funding</strong></a></li>
<li>e27 : <a href="https://e27.co/edtech-startup-gnowbe-raises-funding-500-startups-coent-poem-20170529/"><strong>https://e27.co/edtech-startup-gnowbe-raises-funding-500-startups-coent-poem-20170529/</strong></a></li>
</ul>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Gnowbe%20for%20Raising%20US%241.7%20million%20in%20Seed%20Funding" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Gnowbe%20for%20Raising%20US%241.7%20million%20in%20Seed%20Funding" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Gnowbe%20for%20Raising%20US%241.7%20million%20in%20Seed%20Funding" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding%2F&amp;title=Congratulations%20to%20BizSpark%20Startup%20Gnowbe%20for%20Raising%20US%241.7%20million%20in%20Seed%20Funding" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding/" data-a2a-title="Congratulations to BizSpark Startup Gnowbe for Raising US$1.7 million in Seed Funding"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-gnowbe-for-raising-us1-7-million-in-seed-funding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations to BizSpark Startup Attores for Partnership with Ngee Ann Polytechnic to Issue Blockchain Diplomas</title>
		<link>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas/</link>
		<comments>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas/#respond</comments>
		<pubDate>Sat, 27 May 2017 01:23:32 +0000</pubDate>
		<dc:creator><![CDATA[Steven Neo]]></dc:creator>
				<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://www.weshipcode.com/?p=23960</guid>
		<description><![CDATA[Congratulations to BizSpark Startup Attores for collaborating with Ngee Ann Polytechnic to be the first educational institution in Singapore to distribute academic certificates on their blockchain platform. Attores is a Smart Contracts as a Service platform. They make it easy for you to write, &#8230; <a href="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas/">Continued</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.weshipcode.com/wp-content/uploads/2017/05/Attores.png" data-rel="lightbox-0" title=""><img class="aligncenter size-full wp-image-23961" src="http://www.weshipcode.com/wp-content/uploads/2017/05/Attores.png" alt="" width="1360" height="634" /></a></p>
<p>Congratulations to BizSpark Startup <a href="http://www.attores.com/"><strong>Attores</strong></a> for collaborating with Ngee Ann Polytechnic to be the first educational institution in Singapore to distribute academic certificates on their blockchain platform.</p>
<p><a href="http://www.attores.com/"><strong>Attores</strong></a> is a Smart Contracts as a Service platform. They make it easy for you to write, submit and execute Smart Contracts on the blockchain by providing the APIs and Smart Contract templates for your Blockchain Apps which includes <strong><a href="https://opencertificates.co/">Digital Certificates</a></strong> and <strong><a href="https://dashboard.attores.com/">Digital Signatures</a>.</strong></p>
<p>To find out about <strong><a href="http://www.attores.com/">Attores</a> </strong>and their Smart Contracts platform, please visit their website at <a href="http://www.attores.com/"><strong>http://www.attores.com/</strong></a></p>
<p>Read more about this exciting collaboration in the following news coverage:</p>
<ul>
<li><a href="https://e27.co/">e27</a> : <strong><a href="https://e27.co/ngee-ann-polytechnic-to-pilot-blockchain-diplomas-partners-attores-20170526/">https://e27.co/ngee-ann-polytechnic-to-pilot-blockchain-diplomas-partners-attores-20170526/</a></strong></li>
<li><a href="https://www.techinasia.com/">Tech In Asia</a> : <strong><a href="https://www.techinasia.com/ngee-ann-blockchain-diplomas">https://www.techinasia.com/ngee-ann-blockchain-diplomas</a></strong></li>
</ul>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Attores%20for%20Partnership%20with%20Ngee%20Ann%20Polytechnic%20to%20Issue%20Blockchain%20Diplomas" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Attores%20for%20Partnership%20with%20Ngee%20Ann%20Polytechnic%20to%20Issue%20Blockchain%20Diplomas" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_plus" href="https://www.addtoany.com/add_to/google_plus?linkurl=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas%2F&amp;linkname=Congratulations%20to%20BizSpark%20Startup%20Attores%20for%20Partnership%20with%20Ngee%20Ann%20Polytechnic%20to%20Issue%20Blockchain%20Diplomas" title="Google+" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.weshipcode.com%2Fstartup%2Fcongratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas%2F&amp;title=Congratulations%20to%20BizSpark%20Startup%20Attores%20for%20Partnership%20with%20Ngee%20Ann%20Polytechnic%20to%20Issue%20Blockchain%20Diplomas" data-a2a-url="https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas/" data-a2a-title="Congratulations to BizSpark Startup Attores for Partnership with Ngee Ann Polytechnic to Issue Blockchain Diplomas"></a></p>]]></content:encoded>
			<wfw:commentRss>https://www.weshipcode.com/startup/congratulations-to-bizspark-startup-attores-for-partnership-with-ngee-ann-polytechnic-to-issue-blockchain-diplomas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
