<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
        <title>A Passion Developer</title>
        <description>A Passion Developer - Vu Hai Do</description>
        <link>dohaivu.github.io/rss.xml</link>
        <link>dohaivu.github.io</link>
        <lastBuildDate>2014-04-29T07:38:21+07:00</lastBuildDate>
        <pubDate>2014-04-29T07:38:21+07:00</pubDate>
        <ttl>1800</ttl>


        <item>
                <title>Daily Reading - Tuesday, April 29 2014</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://tapity.com/tutorial-getting-started-with-pop/&quot;&gt;Tutorial: getting started with Pop&lt;/a&gt;&lt;br&gt;
Pop is an extensible animation engine for iOS and OS X. In addition to basic static animations, it supports spring and decay dynamic animations, making it useful for building realistic, physics-based interactions. It&amp;#39;s a mature and well-tested framework that drives all the animations and transitions in &lt;a href=&quot;http://www.facebook.com/paper&quot;&gt;Paper&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://ben-evans.com/benedictevans/2014/4/25/ipad-growth&quot;&gt;iPads and tablet growth&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;looking at tablets and smartphones as mobile devices in a new category that competes with PCs may be the wrong comparison - in fact, it may be better to think of tablets, laptops and desktops as one &amp;#39;big screen&amp;#39; segment, all of which compete with smartphones, and for which the opportunity is just smaller than that for smartphones. And so tablets will over time eat away at laptop and desktop sales just as laptops ate away at desktop sales, but the truly transformative new category is the smartphone. Maybe &lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;
</description>
                <link>dohaivu.github.io/blog/2014/04/29/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2014/04/29/dailyreading</guid>
                <pubDate>2014-04-29T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, August 27 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.inc.com/magazine/201309/issie-lapowsky/how-paul-graham-became-successful.html&quot;&gt;Paul Graham on Building Companies for Fast Growth&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The way you&amp;#39;ll get big ideas in, say, health care is by starting out with small ideas. If you try to do some big thing, you don&amp;#39;t just need it to be big; you need it to be good. And it&amp;#39;s really hard to do big and good simultaneously. So, what that means is you can either do something small and good and then gradually make it bigger, or do something big and bad and gradually make it better. And you know what? Empirically, starting big just does not work. That&amp;#39;s the way the government does things. They do something really big that&amp;#39;s really bad, and they think, Well, we&amp;#39;ll make it better, and then it never gets better.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://martinfowler.com/bliki/GivenWhenThen.html&quot;&gt;Martin Fowler - GivenWhenThen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sencha.com/blog/offline-techniques-sencha-touch&quot;&gt;Offline Techniques &amp;amp; Sencha Touch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://highscalability.com/blog/2013/8/26/reddit-lessons-learned-from-mistakes-made-scaling-to-1-billi.html&quot;&gt;Reddit: Lessons Learned From Mistakes Made Scaling To 1 Billion Pageviews A Month&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Give users a little bit of power, see what they do with it, and turn the good stuff into features&lt;/strong&gt;. One of the biggest revelations for me was how much reddit learns from its users and how much it relies on users to make the site run smoothly. Users are going to tell you a lot of things you don’t know&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/27/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/27/dailyreading</guid>
                <pubDate>2013-08-27T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, August 13 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2013/08/12/windows-azure-general-availability-of-sql-server-always-on-support-and-notification-hubs-autoscale-improvements-more.aspx&quot;&gt;Windows Azure: SQL Server Always On Support and Notification Hubs, AutoScale&lt;/a&gt;&lt;br&gt;
With SQL Server AlwaysOn within Windows Azure VM, we can use a single connection to connect to the Availability Group Listener endpoint. The load balancer will route requests to primary or secondaries replica.&lt;br&gt;
New &lt;strong&gt;Schedule AutoScale&lt;/strong&gt; feature allows us to scale instances with a specific time frame. We can setup our website to scale up in the morning and scale down in the evening automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://medium.com/productivity-design/b65f0e76074a&quot;&gt;Why are we attracted to beautiful things?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.owasp.org/index.php/Top_10_2013-Table_of_Contents&quot;&gt;OWASP Top Ten Security Risk in 2013&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://adeelraza.co/blog/can-a-software-developer-be-a-successful-entrepreneur/&quot;&gt;Can a software developer be a successful entrepreneur?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mdswanson.com/blog/2013/08/11/write-things-tell-people.html&quot;&gt;Do things, write about it&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;you need to do only two things to put yourself in a position to encounter interesting work: make something cool and then tell people about it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Inspiring me, this is exact what I am trying to do. Write some useful posts, push them to Github pages.&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/13/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/13/dailyreading</guid>
                <pubDate>2013-08-13T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, August 12 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.strathweb.com/2013/08/message-handlers-scoped-per-route-in-asp-net-web-api/&quot;&gt;Message handlers scoped per route in ASP.NET Web API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.getglimpse.com/2013/08/08/glimpse-1-6-0-released&quot;&gt;Glimpse 1.6.0 released&lt;/a&gt;&lt;br&gt;
Add server clock time to HUD, sometime there is a difference between client and server time.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.impressivewebs.com/language-wide-features-css/&quot;&gt;Language Wide Features CSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://odetocode.com/blogs/scott/archive/2013/08/08/group-and-display-data-with-underscore-and-angularjs.aspx&quot;&gt;Group and Display Data with Underscore and AngularJS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://analytics.blogspot.com/2013/08/easily-ab-test-your-websites-call-to.html&quot;&gt;Easily A/B Test Your Website&amp;#39;s Call-to-Action Using Content Experiments API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mashable.com/2013/08/11/teens-facebook/&quot;&gt;I&amp;#39;m 13 and None of My Friends Use Facebook&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In the end, Facebook has been trying too hard. Teens hate it when people try too hard; it pushes them away. It’s like if my mom told me not to do something — I immediately need to do it. When she forces something on me, I really don’t want to do it.&lt;br&gt;
Teens just like to join in on their own. If you’re all up in their faces about the new features on Facebook, they’ll get annoyed and find a new social media.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.bothsidesofthetable.com/2013/08/10/the-importance-of-realism-in-startups/&quot;&gt;The Importance of Realism in Startups&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jasonevanish.com/2013/08/11/95-ways-to-find-your-first-customers-for-customer-development-or-your-first-sale/&quot;&gt;95 Ways to find your first customers for customer development or your first sale&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/12/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/12/dailyreading</guid>
                <pubDate>2013-08-12T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, August 08 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blog.statuspage.io/5-steps-to-5000-in-monthly-recurring-revenue&quot;&gt;5 Steps to $5,000 in Monthly Recurring Revenue&lt;/a&gt;&lt;br&gt;
A good story of StatusPage.io from idea to revenue.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/zainnab/archive/2013/08/07/visual-studio-2013-insert-a-line.aspx&quot;&gt;Visual Studio 2013: Insert a Line&lt;/a&gt;&lt;br&gt;
Useful feature, just press CTRL+ENTER or CTRL+SHIFT+ENTER to insert a line above or below the cursor.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.thevine.com.au/life/tech/the-single-most-reckless-idiotic-wonderful-app-ever-is-here/&quot;&gt;The single most reckless, idiotic, wonderful app ever is here!&lt;/a&gt;&lt;br&gt;
This app is brilliant idea. Throw your phone as high as you can, then it uploads your height to a leaderboard to compare with other height. It&amp;#39;s thrilled game, but it&amp;#39;s fun.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Mamady/green-slate&quot;&gt;Green Slate&lt;/a&gt;&lt;br&gt;
Make your github&amp;#39;s contribution green by an automated push everyday. It&amp;#39;s just fun but meaningless&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/08/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/08/dailyreading</guid>
                <pubDate>2013-08-08T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Wednesday, August 07 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blog.programmableweb.com/2013/08/06/w3c-web-storage-api-now-in-recommendation-status/&quot;&gt;W3C Web Storage API Now In Recommendation Status&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://weblogs.asp.net/dwahlin/archive/2013/08/05/The-JavaScript-Cheese-is-Moving_3A00_-Data_2D00_Oriented-vs.-Control_2D00_Oriented-Programming.aspx&quot;&gt;The JavaScript Cheese is Moving: Data-Oriented vs. Control-Oriented Programming&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://hacks.mozilla.org/2011/11/insertadjacenthtml-enables-faster-html-snippet-injection/&quot;&gt;insertAdjacentHTML&lt;/a&gt;&lt;br&gt;
A useful method, I don&amp;#39;t know its existence yet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/visualstudiouk/archive/2013/08/05/well-i-like-team-foundation-server-and-i-like-git-but-which-is-better.aspx&quot;&gt;Well, I like Team Foundation Server and I like Git, but which is better?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://designirvana.com/popular-web-design-trends-to-watch-for/&quot;&gt;Top 15 most talked-about web design trends&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://t.co/5Ok652jrFV&quot;&gt;10 simple things you can do today that will make you happier &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.slideshare.net/Leananalytics/lean-analytics-five-lessons-beyond-the-basics-august-6-2013-webinar-abridged&quot;&gt;Lean analytics: Five lessons beyond the basics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://furbo.org/2013/06/28/the-origin-of-tweet/&quot;&gt;The Origin of Tweet&lt;/a&gt;&lt;br&gt;
An interesting story of the verb &amp;#39;tweet&amp;#39;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/07/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/07/dailyreading</guid>
                <pubDate>2013-08-07T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, August 06 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://branchandbound.net/blog/web/2013/08/some-angularjs-pitfalls/&quot;&gt;Some AngularJS pitfalls&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.2ality.com/2013/08/javascript-resource-directories.html&quot;&gt;Directories for JavaScript resources&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://shichuan.github.io/javascript-patterns/&quot;&gt;Javascript Patterns&lt;/a&gt;&lt;br&gt;
A big collection of JS patterns. It&amp;#39;s worth reading&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://flippinawesome.org/2013/08/05/animating-with-angularjs/&quot;&gt;Animating with AngularJS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.barrelny.com/blog/taking-control-of-imageloading/&quot;&gt;Taking Control of Image Loading&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.avc.com/a_vc/2013/08/focus.html&quot;&gt;Focus&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Focus is critical when you are three people, when you are twenty-five people, five hundred people, and ten thousand people. You can always get farther faster by saying no to too many projects and too many priorities. Pick your shots carefully and hit them. That&amp;#39;s what Jobs did to turn around Apple and that&amp;#39;s what you can do with your company too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/06/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/06/dailyreading</guid>
                <pubDate>2013-08-06T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, August 03 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.sencha.com/blog/5-myths-about-mobile-web-performance/&quot;&gt;5 Myths About Mobile Web Performance&lt;/a&gt;&lt;br&gt;
Javascript CPU performance does not affect mobile app performance as DOM Interaction, SVG, Canvas&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.startup-marketing.com/chasing-problems/&quot;&gt;Chasing Problems?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/solr-action-solr-features&quot;&gt;Solr in Action: Solr Features&lt;/a&gt;&lt;br&gt;
New Solr 4 book.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://t.co/BuPGota74n&quot;&gt;The highest ROI way to increase signups: Make a minimal homepage&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/03/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/03/dailyreading</guid>
                <pubDate>2013-08-03T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, August 02 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/my-ranked-list-priorities&quot;&gt;My ranked list of priorities for Backend Web Programming: Scalability &amp;gt; Maintainable code &amp;gt; performance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://sethrobertson.github.io/GitBestPractices/&quot;&gt;Git Best Practices&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://developers.google.com/speed/pagespeed/insights/&quot;&gt;Pagespeed Insights for devices&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.alexmaccaw.com/javascript-wake-event&quot;&gt;JS Wake Event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.dotnetcurry.com/ShowArticle.aspx?ID=923&quot;&gt;A Glimpse into the Gut of your ASP.NET application&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.tikalk.com/js/week-bootstrap-3&quot;&gt;A Week with Bootstrap 3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://antjanus.com/blog/web-design-tips/web-design-elements/best-new-features-in-bootstrap-3-0/&quot;&gt;Best New Features in Bootstrap 3.0&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/08/02/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/08/02/dailyreading</guid>
                <pubDate>2013-08-02T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Wednesday, July 31 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/news/2013/07/appcelerator_survey_mobile_dev&quot;&gt;Appcelerator Survey on Mobile Development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://seriouspony.com/blog/2013/7/24/your-app-makes-me-fat&quot;&gt;Your app makes me fat&lt;/a&gt;&lt;br&gt;
A very good post of cognitive resource.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.gqueues.com/2013/07/android-vs-ios-comparing-development.html&quot;&gt;Android vs. iOS: Comparing the Development Process of the GQueues Mobile Apps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://pandodaily.com/2013/07/30/dial-up-why-startups-should-use-the-phone/&quot;&gt;Dial up: Why startups should use the phone&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.2ality.com/2013/07/meta-style-guide.html&quot;&gt;A meta style guide for JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.codeproject.com/Reference/628210/An-Overview-of-the-NuGet-Ecosystem&quot;&gt;An Overview of the NuGet Ecosystem&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.jongallant.com/2013/07/origin-not-allowed-angular-resource.html&quot;&gt;Origin is not allowed by Access-Control-Allow-Origin with AngularJS&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/31/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/31/dailyreading</guid>
                <pubDate>2013-07-31T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, July 30 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blog.teamtreehouse.com/the-future-beyond-flat-design&quot;&gt;The Future Beyond Flat Design&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.maartenballiauw.be/post/2013/07/29/Just-released-MvcSiteMapProvider-4.aspx&quot;&gt;MvcSiteMapProvider 4.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://net.tutsplus.com/tutorials/javascript-ajax/handlebars-js-a-behind-the-scenes-look&quot;&gt;Handlers.js a behind the scenes look&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://joelhooks.com/blog/2013/07/27/using-angularjs-stop-using-jquery-as-a-crutch/&quot;&gt;Using AngularJS? Stop using jQuery as a crutch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-emberjsor-other-client-mvc-framework-if-i-have-a/15012542#15012542&quot;&gt;How do I “think in AngularJS/EmberJS(or other client MVC framework)” if I have a jQuery background?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://nosql.mypopescu.com/post/56777152523/redis-at-twilio-and-what-can-be-learned-from-an&quot;&gt;Redis at Twilio and What can be learned from an incident&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://weblogs.asp.net/cibrax/archive/2013/07/26/writing-an-authenticationhandler-for-katana.aspx&quot;&gt;Writing an AuthenticationHandler for Katana&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/30/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/30/dailyreading</guid>
                <pubDate>2013-07-30T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Sunday, July 28 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://github.com/eventstore/eventstore/wiki/Event-Sourcing-Basics&quot;&gt;What is an Event Store?&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/wg/wrk&quot;&gt;Modern HTTP benchmarking tool&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.vanseodesign.com/web-design/so-dont-do-that/&quot;&gt;So, Don’t Do That&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Design is about making tradeoffs. Any decision to optimize in one place in the design usually means the opposite for another place. All design involves compromise, where something is favored at the expense of something else.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/28/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/28/dailyreading</guid>
                <pubDate>2013-07-28T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, July 26 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://twitter.github.io/zipkin/&quot;&gt;Zipkin A distributed tracing system, from Twitter&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.asana.com/2013/07/marketing-with-asana/&quot;&gt;Marketing with Asana: The Tools We Use&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://insideintercom.io/shipping-is-the-beginning/&quot;&gt;Shipping Is The Beginning Of A Process&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://entrendipity.blogspot.com.au/2013/07/cross-development-common-code-base-for.html&quot;&gt;Cross-Development: Common code base for Node and the Browser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://bone.io/&quot;&gt;Bone.io Realtime HTML5 Framework&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jointjs.com/&quot;&gt;JointJS JavaScript Diagramming Library&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/26/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/26/dailyreading</guid>
                <pubDate>2013-07-26T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, July 25 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/presentations/meteor&quot;&gt;Meteor - Web Development Like You Never Seen&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://zachholman.com/talk/more-git-and-github-secrets/&quot;&gt;More Git And Github Secrets&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Rich-Harris/Ractive&quot;&gt;ReactiveJS&lt;/a&gt;&lt;br&gt;
A lightweight reactive dom instead of heavy framework EmberJS, AngularJS&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/25/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/25/dailyreading</guid>
                <pubDate>2013-07-25T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, July 23 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://tech.pro/tutorial/1419/10-things-in-sql-server-which-don-t-work-as-expected&quot;&gt;10 things in SQL Server which don&amp;#39;t work as expected&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.brentozar.com/archive/2013/07/alwayson-availability-groups-real-life-lessons-learned-video/&quot;&gt;AlwaysOn Availability Groups Real-Life Lessons Learned&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://gaslight.co/blog/angular-the-component-orientedness-it-makes-me-happy-and-why&quot;&gt;Angular - the Component Orientedness It make me Happy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/articles/fatdb&quot;&gt;Building Scalable Applications in .NET: Introducing the FatDB Distributed Computing Platform&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.fogus.me/2013/07/22/fp-vs-oo-from-the-trenches/&quot;&gt;FP vs. OO, from the trenches&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://steveblank.com/2013/07/22/an-mvp-is-not-a-cheaper-product-its-about-smart-learning/&quot;&gt;An MVP is not a Cheaper Product, It’s about Smart Learning&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/23/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/23/dailyreading</guid>
                <pubDate>2013-07-23T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, July 20 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.download-free-games.com/infographics/how-is-candy-crush-raking-in-the-millions&quot;&gt;How is Candy Crush Saga Raking in the Millions?&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/cdnstudents/archive/2013/07/18/visual-studio-tips-for-html-web-or-windows-developers-zencoding.aspx&quot;&gt;ZenCoding in Visual Studio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.converser.io/free-mobile-apps/&quot;&gt;What Really Makes Free Mobile Apps So Profitable?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/blog/1564-code-search-api&quot;&gt;Github Code Search API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/news/2013/07/dont-tell-them-its-rest&quot;&gt;Don&amp;#39;t Tell Them its REST&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;quot;start with the README&amp;quot; to build a minimal initial API and then evolve it based on usage experience. Don&amp;#39;t attempt to include too many features up front.&lt;br&gt;
&amp;quot;mocking&amp;quot; is a bad practice, the problem with mocking is that your tests are detached from reality, we should populate a local database with live data to perform continuous integration testing without resorting to mock&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.codinghorror.com/blog/2013/07/rule-of-three.html&quot;&gt;Rule of Three&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The solution we constructed in Discourse was a decent start, but woefully incomplete – even wrong in some areas. The only way we can figure this out is by &lt;code&gt;slowly running the solution through its paces with our three partners&lt;/code&gt;, to live in the same house of software they do as roommates, to walk alongside them as they grow their discussion communities and do everything we can to help build it into a community we enjoy as much as everyone else does. And when there were only one set of footsteps in the sand, well … that&amp;#39;s because we were carrying you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://jeffnolan.com/wp/2013/07/18/startup-lessons-dynamic-org-structures/&quot;&gt;Startup Lessons: Dynamic Org Structures&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/20/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/20/dailyreading</guid>
                <pubDate>2013-07-20T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, July 18 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.2ality.com/2013/07/hello-polymer.html&quot;&gt;Q&amp;amp;A with Google’s Polymer team&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://ankursethi.in/2013/07/simulating-a-slow-internet-connection/&quot;&gt;Simulating a Slow Internet Connection&lt;/a&gt;&lt;br&gt;
Fiddler on Windows and Network Link Conditioner (&lt;a href=&quot;http://www.neglectedpotential.com/2012/05/slow-your-apps-roll/&quot;&gt;SLOW YOUR APP’S ROLL&lt;/a&gt; )on Mac are good methods.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://pothibo.com/2013/07/responsive-javascript-in-rails/&quot;&gt;Responsive JavaScript in Rails&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.dotnetcurry.com/ShowArticle.aspx?ID=915&quot;&gt;OWIN, Katana and SignalR&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/rogerwang/node-webkit&quot;&gt;node-webkit develop desktop apps using NodeJS and HTML5&lt;/a&gt;&lt;br&gt;
It&amp;#39;s cool, just using web technology to develop desktop apps without learning Win32, .NET, or Object-C. Microsoft also has a similar technology &lt;code&gt;Javascript Runtime Hosting&lt;/code&gt; based on IE11, but there is no document about it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.helpscout.net/blog/psychology-of-color/&quot;&gt;The Psychology of Color in Marketing and Branding&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/18/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/18/dailyreading</guid>
                <pubDate>2013-07-18T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Wednesday, July 17 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/visualstudio/archive/2013/07/16/javascript-editor-improvements-in-visual-studio-2013-preview.aspx&quot;&gt;JavaScript Editor Improvements in Visual Studio 2013 Preview&lt;/a&gt;&lt;br&gt;
2 useful enhancement for JS editor: identifier hightlight and navigation bar.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.smashingmagazine.com/2013/07/16/authentic-design/&quot;&gt;Authentic Design&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.javacodegeeks.com/2013/07/practical-nosql-experiences-with-apache-cassandra.html&quot;&gt;Practical NoSQL experiences with Apache Cassandra&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Identify data access patterns, then the model data to support those access patterns. The database is optimized for key-oriented data access and data model must be denormalized&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.datastax.com/dev/blog/the-five-minute-interview-outbrain-touches-over-80-of-all-us-online-users-with-help-from-cassandra&quot;&gt;Outbrain touches over 80% of all US online users with help from Cassandra&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We look at how the data will be queried, its size, and how it needs to be distributed. We might use things like MySQL for historical reasons and MongoDB for smaller tasks, and then Cassandra for situations where data doesn’t all fit into memory or where it spans multiple machines and possibly data centers.&lt;/p&gt;

&lt;p&gt;The primary thing is to do your data modeling in a way that fits with Cassandra. Don’t treat it like MySQL, Mongo, or a pure KV store and you’ll get the full benefits of it’s replication and caching models.  Get that right and your management and maintenance isn’t hard&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://analytics.blogspot.com/2013/07/re-imagining-segmentation-in-analytics.html&quot;&gt;Re-imagining Segmentation In Analytics To Help You Make Better Decisions, Faster&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://devcenter.heroku.com/articles/how-heroku-works&quot;&gt;How Heroku Works&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://hugogiraudel.com/2013/07/15/understanding-sass-lists/&quot;&gt;Understanding Sass Lists&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.path.to/post/55607312083/six-lessons-that-might-have-saved-our-business-had-we&quot;&gt;Path.To - Six Lessons That Might Have Saved Our Business Had We Learned Them Earlier&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/17/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/17/dailyreading</guid>
                <pubDate>2013-07-17T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, July 16 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://techcrunch.com/2013/07/13/why-behavior-change-apps-fail-to-change-behavior/&quot;&gt;Why Behavior Change Apps Fail To Change Behavior&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To change behavior, products must ensure the user feels in control. People must want to use the service, not feel they have to.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/blog/1559-github-s-on-your-phone&quot;&gt;GitHub&amp;#39;s on your phone&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/AnalogJ/dropstore-ng&quot;&gt;Dropbox Datastore bindings for AngularJS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.burnsidedigital.com/2013/07/whats-a-rest-api/&quot;&gt;What’s a (Good) REST API?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tech.kinja.com/my-experience-with-typescript-710191610&quot;&gt;My experience with TypeScript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.patrickmeenan.com/2013/07/measuring-performance-of-user-experience.html&quot;&gt;Measuring performance of the user experience&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.teamtreehouse.com/responsive-design-patterns&quot;&gt;Responsive Design Patterns&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/16/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/16/dailyreading</guid>
                <pubDate>2013-07-16T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, July 15 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://paulgraham.com/ds.html&quot;&gt;Do Things that Don&amp;#39;t Scale&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://net.tutsplus.com/tutorials/javascript-ajax/eight-cool-features-coming-in-es6/&quot;&gt;Eight Cool Features Coming in ES6&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.judegomila.com/post/55386351452/beyond-helium&quot;&gt;Beyond Helium&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/ie11-developer-tools/&quot;&gt;What’s New in IE11′s Developer Tools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.10gen.com/blog/post/top-5-slides-and-videos-mongonyc&quot;&gt;Top 5 Slides and Videos from MongoNYC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://williampeng.com/post/55394072385/push-vs-pull-design&quot;&gt;Push vs. Pull Design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://techcrunch.com/2013/07/14/the-art-and-science-of-youtube-networks/&quot;&gt;The Art And Science Of YouTube Network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.nytimes.com/2013/07/15/business/attention-shopper-stores-are-tracking-your-cell.html&quot;&gt;Store Is Tracking Your Cell&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/gildas-lormeau/zip.js&quot;&gt;JavaScript library to zip and unzip files&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.timseverien.nl/promin&quot;&gt;Break forms into smaller chunks&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://nicolas.perriault.net/code/2013/why_javascript/&quot;&gt;Why JavaScript?&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/15/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/15/dailyreading</guid>
                <pubDate>2013-07-15T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, July 13 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://seravo.fi/2013/javascript-the-winning-style&quot;&gt;JavaScript, the winning style&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/articles/nuodb-architecture-1&quot;&gt;Exploring the Architecture of the NuoDB Database&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/13/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/13/dailyreading</guid>
                <pubDate>2013-07-13T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, July 12 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-name-your-sass-variables-modularly/&quot;&gt;Quick Tip: Name Your SASS Variables Modularly&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://thetechblock.com/150-sites-free-fonts/&quot;&gt;15 sites to find free fonts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/webdev/archive/2013/07/11/enable-edit-and-continue-debugging-option-is-now-on-by-default-for-new-web-applications-in-vs2013-preview.aspx&quot;&gt;“Enable Edit and Continue” is now on by Default&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/interoperability/archive/2013/07/11/new-open-source-releases-reactive-extensions-rx-libraries-for-python-and-ruby.aspx&quot;&gt;Reactive Extensions (Rx) libraries for Python and Ruby&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.ng-newsletter.com/posts/validations.html&quot;&gt;Form validation with AngularJS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://odiseo.net/javascript/front-end-optimizations-you-can-do-right-now-on-your-existing-code&quot;&gt;Frontend Optimizations you can do right now&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/inattention-blindness-maybe-users-really-dont-see&quot;&gt;Inattention Blindness – Maybe Users Really Don’t See&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://designerfund.com/bridge/interviewing-with-startups-tips-for-designers/&quot;&gt;Interviewing with Startups: Tips for Designers&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/12/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/12/dailyreading</guid>
                <pubDate>2013-07-12T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, July 11 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/articles/Tug-of-War&quot;&gt;The virtual Tug of War&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Protecting the target demands a change in mindset for how we approach security. Until now, the name of the game has been breach prevention, essentially ensuring the “good guys” stayed on the inside and the “bad guys” remained on the outside&lt;/p&gt;

&lt;p&gt;With new stealthy and sophisticated attacks being launched daily, most organizations are beginning to realize it is no longer a question of whether the company is breached or not; it is simply a matter of when. The mindset is moving from “breach prevention” to “breach acceptance.”&lt;br&gt;
This can be accomplished by deploying the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encryption: When data is encrypted, it is only useful to people who hold the decryption key. Encryption can be deployed “end-to-end”, between datacenters, virtual machines, devices.&lt;/li&gt;
&lt;li&gt;Authentication: ensures only authorized personnel have access to specific bits of information. This granular form of access control exposes data only to the right people and eliminates exposing critical data to those that should not have it, thereby increasing security&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.quickpeople.co.uk/2013/07/10/useful-github-patterns/&quot;&gt;Useful Github Patterns&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://techcrunch.com/2013/07/10/amazon-drops-price-of-ec2-dedicated-instances-by-up-to-80/&quot;&gt;Amazon Drops Price Of EC2 Dedicated Instances By Up To 80%&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.uxpin.com/2526/5-dangers-of-flat-design/&quot;&gt;5 Dangers of Flat Design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.opbeat.com/2013/07/10/move-fast-and-break-things/&quot;&gt;Move Fast and Break Things&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://news.yahoo.com/san-francisco-l-30-mins-proposed-transportation-system-180600043.html&quot;&gt;Hyperloop - New Transportation System&lt;/a&gt;&lt;br&gt;
It&amp;#39;s going to be not a fiction any more. There is a company building it.&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/11/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/11/dailyreading</guid>
                <pubDate>2013-07-11T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Wednesday, July 10 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://feeds.hanselman.com/%7E/43282970/0/scotthanselman%7ECrossPlatform-Portable-Class-Libraries-with-NET-are-Happening.aspx&quot;&gt;Cross-Platform Portable Class Libraries with .NET are Happening&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.chromium.org/2013/07/richer-access-to-google-services-and.html&quot;&gt;Richer access to Google services and better OS integration in Chrome packaged apps&lt;/a&gt;&lt;br&gt;
We can use Identity API, In App Payments API, Analytics API, Bluetooth API, Native Messaging API to develop desktop-like Chrome packaged app.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://aws.typepad.com/aws/2013/07/resource-permissions-for-ec2-and-rds-resources.html&quot;&gt;Resource-Level Permissions for EC2 and RDS Resources&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://skofo.github.io/blog/why-ruby-rocks/&quot;&gt;Why Ruby rocks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://hacks.mozilla.org/2013/07/web-audio-api-comes-to-firefox/&quot;&gt;Web Audio API comes to Firefox&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here are some examples of the features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheduling events to happen at exact times during audio playbacks&lt;/li&gt;
&lt;li&gt;Various types of audio filters to create effects such as echo, noise cancellation, etc.&lt;/li&gt;
&lt;li&gt;Sound synthesis to create electronic music&lt;/li&gt;
&lt;li&gt;3D positional audio to simulate effects such as a sound source moving around the scene in a game&lt;/li&gt;
&lt;li&gt;Integration for WebRTC to apply effects to sound coming in from external input (a WebRTC call, a guitar plugged in to your device, etc.) or to sound which is transmitted to the other party in a WebRTC call&lt;/li&gt;
&lt;li&gt;Analysing the audio data in order to create sound visualizers, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html&quot;&gt;TIOBE Programming Community Index for July 2013&lt;/a&gt;&lt;br&gt;
PHP is raising again.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.toptal.com/freelance/how-to-work-remotely-and-still-be-the-best&quot;&gt;How to Work Remotely and Still Be the Best&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Getting started with remote work can be quite an adjustment, both for you and the client. I’ve had it go very right, and very wrong. But, when it goes right, it can be an excellent way for clients or employeers to solve the “talent crunch” problem, and create a wider range of opportunities for developers who live outside major technological centers or “startup” hubs. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://pauloortins.com/lessons-unit-tests/&quot;&gt;12 Lessons I learned using unit tests/TDD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.brentozar.com/archive/2013/07/cassandra-and-net&quot;&gt;Cassandra and .NET&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/10/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/10/dailyreading</guid>
                <pubDate>2013-07-10T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, July 09 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.office.com/b/office365tech/archive/2013/07/08/what-powers-power-bi-in-office-365.aspx&quot;&gt;What powers Power BI in Office 365?&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Power BI for Office 365 is a new self-service business intelligence (BI) offering enabling businesses to gain insights from their data in powerful new ways within Excel and Office 365. Customers now have the ability to easily search, discover and access data inside and outside of their organization and, with just a few clicks, shape and transform that data. They can also analyze and create stunning interactive visualizations that uncover hidden insights to share and collaborate from virtually anywhere, on nearly any device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://promisesaplus.com/&quot;&gt;Promises/A+&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This proposal clarifies the behavioral clauses of the Promises/A proposal, extending it to cover de facto behaviors and omitting parts that are underspecified or problematic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.panopticoncentral.net/?p=9821&quot;&gt;Javascript Runtime Hosting&lt;/a&gt;&lt;br&gt;
With IE11, we can use web technology to develop desktop application beside Win32 and .NET Winform, WPF. It&amp;#39;s cool but there is no document or examples right now. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mikehadlow.blogspot.ca/2012/06/when-should-i-use-orm.html&quot;&gt;When should I use an ORM?&lt;/a&gt;&lt;br&gt;
We should use ORM when domain model is not complex and throughput is not high.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.apiaxle.com/post/signs-youre-veering-from-good-api-design/&quot;&gt;Signs you&amp;#39;re veering from good API design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://worrydream.com/Tangle/&quot;&gt;tangle -  reactive document library&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.ericosiu.com/lessons-growth-team-1/&quot;&gt;20 Lessons I Learned Leading A Growth/Marketing Team (Part 1)&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/09/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/09/dailyreading</guid>
                <pubDate>2013-07-09T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, July 08 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://startups.fm/2013/07/05/cube26-making-it-possible-for-computers-to-understand-our-emotions.html&quot;&gt;Cube26, making it possible for computers to understand our emotions&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://epf.io/&quot;&gt;Ember.js Persistence Foundation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jhlywa/chess.js&quot;&gt;chess.js A Javascript chess library for chess move generation/validation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/articles/codenvy-interview&quot;&gt;The Technology behind Codenvy. An Interview with Tyler Jewell, CEO&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://designmodo.com/ui-principles-interaction-design/&quot;&gt;UI Principles for Great Interaction Design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.netmagazine.com/tutorials/accessible-rwd&quot;&gt;Accessible RWD&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/08/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/08/dailyreading</guid>
                <pubDate>2013-07-08T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Sunday, July 07 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://groups.google.com/forum/#!topic/vim_use/N8jzif4e9L8&quot;&gt;Vim 7.4a ready for beta testing&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/maxogden/art-of-node&quot;&gt;Art of Node&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://torrentfreak.com/the-easiest-way-in-the-world-to-share-files-p2p-and-how-it-works-130706/&quot;&gt;The Easiest Way in the World to Share Files P2P&lt;/a&gt;&lt;br&gt;
Share files through WebRTC without need for plug-ins, software.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/are-you-missing-the-point-of-social-media&quot;&gt;Are You Missing the Point of Social Media?&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A social media page should be full of questions to customers, contests, and personalized responses to fan comments. The more engaging the content, the more personalized the responses are, and the more involved your customer community is, the more successful your social media campaign will be.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.forbes.com/sites/aileron/2013/07/03/5-secrets-entrepreneurs-will-never-reveal/&quot;&gt;5 Secrets Entrepreneurs Will Never Reveal&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/07/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/07/dailyreading</guid>
                <pubDate>2013-07-07T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, July 06 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://addyosmani.com/blog/devtools-extensions-for-webapp-developers/&quot;&gt;DevTools Extensions For Web App Developers&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/mongodb-limiting-collection&quot;&gt;MongoDB - Limiting Collection Size&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/redis-caching-server&quot;&gt;Redis - Caching Server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.simwood.com/2013/06/real-time-big-data/&quot;&gt;Real-time big-data!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.leadingagile.com/2013/07/how-do-you-know-your-metrics-are-any-good&quot;&gt;How Do You Know Your Metrics Are Any Good&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/06/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/06/dailyreading</guid>
                <pubDate>2013-07-06T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Getting started with OWIN</title>
                <description>&lt;p&gt;Owin is an Open Web Interface for .NET, it describes how components in a HTTP pipeline should communicate, like NodeJS Connect or Rack.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;Owin has one main interface, every components will communicate through this interface. &lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;n&quot;&gt;Func&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;//Actual implementation&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Invoke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
   &lt;span class=&quot;kt&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;someObject&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;“&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;some&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;”&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SomeObject&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
   &lt;span class=&quot;c1&quot;&gt;// etc… &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://owin.org/spec/owin-1.0.0.html&quot;&gt;Owin specs&lt;/a&gt; contains details of IDictionary object.&lt;/p&gt;

&lt;p&gt;Owin host will composes multiple middlewares into a application. It will implement the following interface&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; 
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Properties&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Build&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Type&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;returnType&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;middleware&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;params&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We compose middlewares in &lt;strong&gt;Configuration&lt;/strong&gt; method of &lt;strong&gt;Startup&lt;/strong&gt; class. When OwinHost starts, it looks into Configuration method to build up middlewares of our app.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Startup&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Configuration&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Logger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;      
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Let build a simple logger and a request handler middleware&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create new blank MVC4 (or MVC5) project &lt;strong&gt;OwinTest&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add the following packages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install-Package Owin&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Install-Package Install-Package Microsoft.Owin.Host.HttpListener -Pre&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new class &lt;strong&gt;Logger&lt;/strong&gt; and enter the following code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.Collections.Generic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.Threading.Tasks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Func&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Collections&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Generic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Threading&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Tasks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Logger&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;readonly&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;_next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Logger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;next&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;k&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;ArgumentNullException&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;next&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;_next&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Invoke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Diagnostics&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;WriteLine&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;{0} {1}&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DateTime&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;owin.RequestPath&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]));&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;_next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Create a class &lt;strong&gt;Startup&lt;/strong&gt; and enter the following code&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Startup&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Configuration&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Logger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;      
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Download &lt;a href=&quot;http://katanaproject.codeplex.com/releases/view/102220&quot;&gt;Katana hosting&lt;/a&gt;, extract to &lt;strong&gt;C:\&lt;/strong&gt; (or any folder)&lt;/li&gt;
&lt;li&gt;Open Project property, confiure &lt;strong&gt;Start external program&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-05-getting-started-with-owin_projectproperty.png&quot; alt=&quot;Project property&quot;&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Press &lt;strong&gt;F5&lt;/strong&gt; and browse &lt;strong&gt;http://localhost:8080&lt;/strong&gt; the console will show like this
&lt;img src=&quot;/images/posts/2013-07-05-getting-started-with-owin_consoleresult.png&quot; alt=&quot;console result&quot;&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a class &lt;strong&gt;HelloRequestHandler&lt;/strong&gt; and enter the following code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.Collections.Generic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.Globalization&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.IO&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;System.Threading.Tasks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Func&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Collections&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Generic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Threading&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Tasks&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;HelloRequestHandler&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;readonly&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;_next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;HelloRequestHandler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AppFunc&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;next&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;ArgumentNullException&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;next&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;_next&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Task&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Invoke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;responseHeaders&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;
                &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IDictionary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&amp;gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;owin.ResponseHeaders&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;kt&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;responseBytes&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ASCIIEncoding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;UTF8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;GetBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
                     &lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;&amp;lt;h1&amp;gt;Hello world&amp;lt;/h1&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;Stream&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;responseStream&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Stream&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;owin.ResponseBody&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;responseHeaders&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;Content-Length&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;responseBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ToString&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CultureInfo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;InvariantCulture&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;responseHeaders&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;text/html&amp;quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;responseStream&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;responseBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;responseBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;_next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;strong&gt;HelloRequestHandler&lt;/strong&gt; middleware to Startup class&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;csharp language-csharp&quot; data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Startup&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Configuration&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;IAppBuilder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Logger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;builder&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HelloRequestHandler&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Press &lt;strong&gt;F5&lt;/strong&gt; and browse &lt;strong&gt;http://localhost:8080&lt;/strong&gt; we will see the result like this
&lt;img src=&quot;/images/posts/2013-07-05-getting-started-with-owin_hellorequesthandler.png&quot; alt=&quot;browser result&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ASP.NET MVC5, WEB API 2, SignalR are compatible with OWIN, so we can compose middlewares or develop middlewares for our application&amp;#39;s need.&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/05/getting-started-with-owin/</link>
                <guid>dohaivu.github.io/blog/2013/07/05/getting-started-with-owin</guid>
                <pubDate>2013-07-05T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, July 05 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://kraigbrockschmidt.com/blog/?p=961&quot;&gt;Cool New APIs in Windows 8.1 #1: WebView for HTML&lt;/a&gt;&lt;br&gt;
It allows the app to invoke script within the webview and the webview to raise events to the app. It&amp;#39;s pretty cool. See more &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.aspx&quot;&gt;msdn WebView&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.markarteaga.com/top-reasons-developers-should-use-windows-azure-mobile-services&quot;&gt;Top Reasons Developers Should Use Windows Azure Mobile Services&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.datastax.com/dev/blog/datastax-csharp-driver-is-now-final&quot;&gt;DataStax&amp;#39;s Cassandra C# Driver is now final&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This C# driver also comes with an ADO.NET module to make it simpler to integrate with existing applications or libraries and a Linq module to improve developer productivity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.microsoft.co.il/blogs/sasha/archive/2013/07/02/visual-studio-2013-heap-view.aspx&quot;&gt;Visual Studio 2013 Heap View&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/FooBarWidget/passenger/wiki/Puma-vs-Phusion-Passenger&quot;&gt;Puma vs Phusion Passenger&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/news/2013/07/async-await-pitfalls&quot;&gt;Async/Await – Performance Overheads and Other Pitfalls&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/articles/Win8-LOB-Options&quot;&gt;Windows and Line of Business Applications: No Good Options&lt;/a&gt;&lt;br&gt;
WinRT is not ready, and it&amp;#39;s not full .NET. Silverlight is dead. WPF is no improvement. The future of LOB app is HTML5. WebGL, Canvas, WebSocket, WebWorker... make web site more application friendlier. Typescript, Dart allow to write a large scale web app.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://fi.co/posts/1221&quot;&gt;Elon Musk Explains the Fallacy of Learning from Failure&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Failure sucks. If anyone tells you they learn more from failure than success, then they’re wrong. You learn more from success. There are many more ways to fail than there are to succeed. If you&amp;#39;ve found the one thing that succeeds, that’s great.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/05/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/05/dailyreading</guid>
                <pubDate>2013-07-05T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, July 04 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/visualstudioalm/archive/2013/07/03/what-is-new-in-code-analysis-for-visual-studio-2013.aspx&quot;&gt;What is New in Code Analysis for Visual Studio 2013&lt;/a&gt;&lt;br&gt;
VS 2013 improves categories and sorting result in code analysis.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/arvindsh/archive/2013/07/03/sql-2014-in-memory-oltp-hekaton-training-videos-and-white-papers.aspx&quot;&gt;SQL 2014 In-Memory OLTP ‘Hekaton’: training videos and white papers&lt;/a&gt;&lt;br&gt;
A collection of videos and blog posts to get started with Hekaton.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://folklore.org/StoryView.py?story=Swedish_Campground.txt&quot;&gt;Why Mac has Command key&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://medium.com/front-end-development/8f433689736f&quot;&gt;Sizing (Web) components&lt;/a&gt;&lt;br&gt;
By using &lt;strong&gt;EM&lt;/strong&gt; unit, we can easily change component&amp;#39;s size when its font size change.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;css language-css&quot; data-lang=&quot;css&quot;&gt;&lt;span class=&quot;nc&quot;&gt;.Component&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;16px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;k&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5em&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;2em&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;radius&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;.5em&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;gold&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
                <link>dohaivu.github.io/blog/2013/07/04/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/04/dailyreading</guid>
                <pubDate>2013-07-04T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, July 02 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.slideshare.net/nzakas/enough-withthejavascriptalready&quot;&gt;Enough with the JavaScript already!&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/design-patterns-after-design&quot;&gt;Design Patterns after Design is Done&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A study on design patterns and software quality at the University of Montreal (2008) found that design patterns in practice do not always improve code quality, reusability and expandability; and often makes code harder to understand. Some patterns are better than others: &lt;strong&gt;Composite&lt;/strong&gt; makes code easier to follow and easier to change. &lt;strong&gt;Abstract Factory&lt;/strong&gt; makes code more modular and reusable, but at the expense of understandability. &lt;strong&gt;Flyweight&lt;/strong&gt; makes code less expandable and reusable, and much harder to follow. Most developers don’t recognize or understand the &lt;strong&gt;Visitor&lt;/strong&gt; pattern. &lt;strong&gt;Observer&lt;/strong&gt; can be difficult to understand as well, although it does make the code more flexible and extendible. &lt;strong&gt;Chain of Responsibility&lt;/strong&gt; makes code harder to follow, and harder to change or fix safely. And &lt;strong&gt;Singleton&lt;/strong&gt;, of course, while simple to recognize and understand, can make code much harder to change.&lt;/p&gt;

&lt;p&gt;Whether you’re designing and writing new code, or changing code, or refactoring code, the best advice is:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don’t use patterns unless you need to.&lt;/li&gt;
&lt;li&gt;Don’t use patterns that you don’t fully understand.&lt;/li&gt;
&lt;li&gt;Don’t expect that whoever is going to work on the code in the future to recognize and understand the patterns that you used – stick to common patterns, and make them explicit in comments where you think it is important or necessary.&lt;/li&gt;
&lt;li&gt;When you’re changing code, take some time to look for and understand the patterns that might be in place, and decide whether it is worth preserving (or restoring) them: whether doing this will really make the code better and more understandable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx&quot;&gt;Browser Link in VS 2013&lt;/a&gt;&lt;br&gt;
In order to make this feature work, ensure that we have configured:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;xml language-xml&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;add&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;key=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;vs:EnableBrowserLink&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;value=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/appSettings&amp;gt;&lt;/span&gt;
...
&lt;span class=&quot;nt&quot;&gt;&amp;lt;compilation&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;debug=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;targetFramework=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;4.5.1&amp;quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
...
&lt;span class=&quot;nt&quot;&gt;&amp;lt;modules&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;runAllManagedModulesForAllRequests=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://tech.pro/blog/1402/five-patterns-to-help-you-tame-asynchronous-javascript&quot;&gt;Five Patterns to Help You Tame Asynchronous JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Callbacks&lt;/li&gt;
&lt;li&gt;Observer Pattern&lt;/li&gt;
&lt;li&gt;Messaging&lt;/li&gt;
&lt;li&gt;Promises&lt;/li&gt;
&lt;li&gt;Finite State Machines&lt;/li&gt;
&lt;/ul&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/02/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/02/dailyreading</guid>
                <pubDate>2013-07-02T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, July 01 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.infoq.com/news/2013/06/economics-of-aws&quot;&gt;Economics of AWS&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;www.sketchingwithcss.com/samplechapter/&quot;&gt;Mastering CSS layout with Flexbox&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/01/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/07/01/dailyreading</guid>
                <pubDate>2013-07-01T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Cool features of Visual Studio 2013</title>
                <description>&lt;p&gt;Microsoft has released preview version of Visual Studio 2013 at BUILD. This version is just a year from Visual Studio 2012, but it has some new cool features.&lt;/p&gt;

&lt;!--break--&gt;

&lt;h2 id=&quot;toc_0&quot;&gt;Map mode in Scrollbar&lt;/h2&gt;

&lt;p&gt;Map of code on scrollbar. Hover over it to review, it&amp;#39;s easy to view your code before jumping to that code.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_mapmode.png&quot; alt=&quot;map mode&quot;&gt;&lt;/p&gt;

&lt;p&gt;Enable code map.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_mapmodeconfig.png&quot; alt=&quot;code map config&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_1&quot;&gt;Code Lens&lt;/h2&gt;

&lt;p&gt;Above classes, methods there is a small text show where they are referenced.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_codelens.png&quot; alt=&quot;peek defition&quot;&gt;&lt;/p&gt;

&lt;p&gt;Without looking at Test Explorer we can know test methods passed or not&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_codelensunit.png&quot; alt=&quot;peek defition&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_2&quot;&gt;Peek Definition&lt;/h2&gt;

&lt;p&gt;Put cursor in &lt;strong&gt;BooksContext&lt;/strong&gt;, press &lt;strong&gt;Alt F12&lt;/strong&gt;, it shows a definition window in the current window. It&amp;#39;s very useful to review our code without opening files. In this small window we have code map, line number, promote to normal window if we want.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_peekdefinition.png&quot; alt=&quot;peek defition&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_3&quot;&gt;Auto brace completion&lt;/h2&gt;

&lt;p&gt;When you type open braces &lt;strong&gt;[, (&lt;/strong&gt;, it will add a close braces &lt;strong&gt;], )&lt;/strong&gt; automatically. This is a small enhancement, but it is very useful.&lt;/p&gt;

&lt;h2 id=&quot;toc_4&quot;&gt;Browser Link&lt;/h2&gt;

&lt;p&gt;This is a great feature for web developer. Press &lt;strong&gt;Ctrl F5&lt;/strong&gt; to launch your web, edit HTML, CSS, then press &lt;strong&gt;Ctrl Alt Enter&lt;/strong&gt; browser will refresh automatically.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_browserlink.png&quot; alt=&quot;Browser link&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_5&quot;&gt;Notification&lt;/h2&gt;

&lt;p&gt;All extension, product, project updates are in a central place.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_notification.png&quot; alt=&quot;Notification&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_6&quot;&gt;Inline Navigate&lt;/h2&gt;

&lt;p&gt;Press &lt;strong&gt;Ctrl ,&lt;/strong&gt; now it shows a small text box on the top left instead of a central window in VS2012.&lt;br&gt;
&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_inlinenavigate.png&quot; alt=&quot;Inline Navigate&quot;&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_7&quot;&gt;Native git support without extension&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/images/posts/2013-07-01-cool-features-of-visual-studio_git.png&quot; alt=&quot;git&quot;&gt;&lt;/p&gt;

&lt;p&gt;Beside these cool features, Visual Studio 2013 also enhance performance, icon color... It ships new .NET 4.5.1, ASP.NET MVC 5 and WEB API 2.&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/07/01/cool-features-of-visual-studio/</link>
                <guid>dohaivu.github.io/blog/2013/07/01/cool-features-of-visual-studio</guid>
                <pubDate>2013-07-01T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Sunday, June 30 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://plus.google.com/+ChrisWilson/posts/cs4J6sS9qmJ&quot;&gt;Initial Web MIDI support in Chrome Canary!&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/contents/articles/18146.windows-azure-telemetry-basics-and-troubleshooting.aspx&quot;&gt;Telemetry Basics and Troubleshooting&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/30/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/30/dailyreading</guid>
                <pubDate>2013-06-30T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, June 29 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/typescript/archive/2013/06/28/announcing-typescript-0-9-0-1.aspx&quot;&gt;Announcing TypeScript 0.9.0.1&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.technet.com/b/firehose/archive/2013/06/28/skype-team-shares-its-mobile-plans-for-the-road-ahead.aspx&quot;&gt;Skype team shares its mobile plans for the road ahead&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.itwriting.com/blog/7493-visual-c-will-implement-all-of-c-11-and-14-some-of-c99-says-microsoft.html&quot;&gt;Visual C++ will implement all of C++ 11 and C++ 14&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/sql-2014-ctp1-where-is&quot;&gt;SQL 2014 CTP1, where is my BIDS?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tech.pro/tutorial/1356/an-interview-with-jquery-legend-rey-bango&quot;&gt;An Interview with jQuery Legend Rey Bango&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://phonegap.com/blog/2013/06/26/pg-290-released/&quot;&gt;PhoneGap 2.9.0 released&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/29/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/29/dailyreading</guid>
                <pubDate>2013-06-29T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, June 28 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/fsharpteam/archive/2013/06/27/announcing-a-pre-release-of-f-3-1-and-the-visual-f-tools-in-visual-studio-2013.aspx&quot;&gt;Announcing a pre-release of F# 3.1&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/windowsazure/archive/2013/06/27/announcing-the-general-availability-of-windows-azure-mobile-services-web-sites-and-continued-service-innovation.aspx&quot;&gt;Announcing the General Availability of Windows Azure Mobile Services, Web Sites and continued Service innovation&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/visualstudio/archive/2013/06/27/designing-the-visual-studio-2013-user-experience.aspx&quot;&gt;Designing the Visual Studio 2013 User Experience&lt;/a&gt;&lt;br&gt;
Icons get more color, now it&amp;#39;s easier to look at.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/webdev/archive/2013/06/27/html-editing-features-in-visual-studio-2013-preview.aspx&quot;&gt;HTML Editing Features in Visual Studio 2013 Preview&lt;/a&gt;&lt;br&gt;
Brand new HTML Editor for Razor files (.cshtml, .vbhtml) improve smart indent and format, automactic brace completion and type-through, intellisense item grouping&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/overview-and-recommendations&quot;&gt;Overview and Recommendations for Distributed File Systems&lt;/a&gt;&lt;br&gt;
An overview of DFS technologies: NFS, CIFS, OwFS, HDFS ...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.forbes.com/sites/tomiogeron/2013/06/27/paul-graham-some-vcs-push-for-large-rounds-even-when-startups-dont-need-them/&quot;&gt;Paul Graham: Some VCs Push For Large Rounds, Even When Startups Don&amp;#39;t Need Them&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Venture capitalists are getting smaller stakes in startups and that trend will increasingly continue. Venture investors are used to taking a 20% stake in Series A fundings. But that number is arbitrary and will inevitably go down further.  &lt;/p&gt;

&lt;p&gt;Today, VCs often push for larger first round financings even when they know the company doesn’t need it. Why? To make up for the “opportunity cost of taking a board seat,” Graham says.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.avc.com/a_vc/2013/06/valuation-vs-ownership.html&quot;&gt;Valuation vs Ownership&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://zapier.com/blog/how-manage-remote-team/&quot;&gt;21 Months In: How to Manage a Remote Team&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tomtunguz.com/financial-innovation&quot;&gt;The Startup Sector That’s Quietly Booming&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tedpatrick.com/2013/06/25/7-months-with-typescript/&quot;&gt;7 Months with TypeScript&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TypeScript has been a joy to work with over the past 7 months. Having had experience with types/interfaces in ActionScript/ES4, I took to TypeScript very rapidly as it supported the structure I needed, yet maintained the elegant flexibility of JavaScript. In many ways I know our choice in using the compiler really moved our project forward in both delivery date and in code quality. I cannot say I have ever been a Microsoft fan but TypeScript has ‘softened’ me, it is easily one of the best web technologies to arrive in the past 3 years. I am looking forward to working on more projects with it and evolving with the language/compiler ongoing.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/28/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/28/dailyreading</guid>
                <pubDate>2013-06-28T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, June 27 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/somasegar/archive/2013/06/26/visual-studio-2013-preview.aspx&quot;&gt;Visual Studio 2013 Preview&lt;/a&gt;&lt;br&gt;
Cool new features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Energy Consumption tool: estimate how much power their app will cause the device to consume&lt;/li&gt;
&lt;li&gt;View method return values in the debugger&lt;/li&gt;
&lt;li&gt;“Edit and Continue” for 64-bit&lt;/li&gt;
&lt;li&gt;Code Information Indicators&lt;/li&gt;
&lt;li&gt;Peek Definition&lt;/li&gt;
&lt;/ul&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/ie/archive/2013/06/26/introducing-ie11-the-best-way-to-experience-the-web-on-modern-touch-devices.aspx&quot;&gt;Introducing IE11&lt;/a&gt;&lt;br&gt;
IE11 now supports WebGL, latest video tag, brand new F12 tool and optimize touch performance.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/windowsazure/archive/2013/06/26/autoscaling-windows-azure-applications.aspx&quot;&gt;Autoscaling Windows Azure Application&lt;/a&gt;&lt;br&gt;
In the past, we had to use WASABi to scale our applications manually, now Windows Azure released autoscale feature for:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cloud Services&lt;/li&gt;
&lt;li&gt;Virtual Machines&lt;/li&gt;
&lt;li&gt;Web Sites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Currently, they support 2 metrics
- CPU percentage
- Storage queue depth&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/bharry/archive/2013/06/26/a-few-more-visual-studio-2013-preview-features.aspx&quot;&gt;A few more Visual Studio 2013 Preview features&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.geekwire.com/2013/dimension-windows-microsoft-adds-3d-printing-support/&quot;&gt;New dimension for Windows: Microsoft puts 3D printing support directly into OS&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/27/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/27/dailyreading</guid>
                <pubDate>2013-06-27T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, June 26 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/benjaminperkins/archive/2013/06/25/what-s-new-in-iis-8-5.aspx&quot;&gt;What’s new in IIS 8.5&lt;/a&gt;    &lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://matchist.com/blog/how-to-get-advice-from-powerful-people/&quot;&gt;How To Get Advice From Powerful People&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;First of all, don’t be afraid to make initial contact&lt;/strong&gt;&lt;br&gt;
Whether you read a blog post and hesitate at emailing the writer, or you’re at a conference and are too nervous to talk to a speaker….you’re making a big mistake!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specificity is king&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Follow up&lt;/strong&gt;&lt;br&gt;
Follow up twice, every 48 hours. Some people are afraid to follow up because they don’t want to be annoying. The truth is that by following up, you’re being less annoying because you prevent me from feeling bad about forgetting to respond to your initial email. The follow up should be short and ask the question you initially wanted answered without mentioning the person didn’t respond to your previous email&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.google.com/insights/consumersurveys/home&quot;&gt;Google Consumer surveys&lt;/a&gt;&lt;br&gt;
Add realtime surveys to your website&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.techbubbles.com/aspnet/visual-studio-2013-and-asp-net-preview/&quot;&gt;Visual Studio 2013 and ASP.NET Preview&lt;/a&gt;&lt;br&gt;
New cool feature &lt;code&gt;Browserlink&lt;/code&gt;, there is no need for LiveReload.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/&quot;&gt;Rails 4.0: Final version released!&lt;/a&gt;  &lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/26/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/26/dailyreading</guid>
                <pubDate>2013-06-26T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, June 25 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.c-sharpcorner.com/UploadFile/dacca2/5-tips-to-improve-performance-of-C-Sharp-code/&quot;&gt;5 Tips to Improve Performance of C# Code&lt;/a&gt;  &lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.slideshare.net/EvanChan2/cassandra2013-spark-talk-final&quot;&gt;Realtime Analytics with Cassandra, Spark&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://nicolashery.com/fast-mobile-friendly-website-with-jekyll/&quot;&gt;Creating a fast and mobile-friendly website with Jekyll&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://medium.com/i-m-h-o/a721d44b97be&quot;&gt;Content-first design ain’t herding cats&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/25/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/25/dailyreading</guid>
                <pubDate>2013-06-25T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, June 24 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://acceptingpayments.quora.com/Landmark-Apple-iSecure%C2%AE-and-iWallet%C2%AE-Patent-Application-Released&quot;&gt;iSecure and iWallet patents&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://jasonevanish.com/2013/06/23/do-you-really-read/&quot;&gt;Do you really read?&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I challenge myself to answer the following questions in everything I read:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Has this taught me anything new and valuable? (If not, move on quickly)&lt;/li&gt;
&lt;li&gt;How can I apply insights from this article today? (Wait and I’ll forget)&lt;/li&gt;
&lt;li&gt;When have I applied the ideas from this post? Where have I not, but could have? (What was the difference?)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.bothsidesofthetable.com/2010/10/12/startup-sales-why-hiring-seasoned-reps-may-not-work&quot;&gt;Why Hiring Seasoned Sales Reps May Not Work&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the biggest mistakes early-stage startups making is hiring &amp;#39;seasoned&amp;#39; sales professionals too early.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://medium.com/tech-talk/b193a544e771&quot;&gt;Effective Technical Leadership&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Most successful projects have a single engineer responsible for driving the project forward while ensuring that strong technical decisions are made with confidence. Typically, that person is referred to as a &lt;strong&gt;Tech Lead&lt;/strong&gt;. They often don’t manage people, but instead coach them to do their best work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://markdalgleish.com/2013/06/using-promises-in-angularjs-views&quot;&gt;Using Promises in AngularJS Views&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://appicontemplate.com/&quot;&gt;iOS App Icon Template&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.elezea.com/2013/06/instagram-video-complexity/&quot;&gt;Instagram’s pivot into complexity&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Instagram’s core strength relied on a similar principle. It was just photos you could scroll through. Nothing more, nothing less. You could open Instagram for 10 seconds and check what’s new, or for 10 minutes and get lost in the universe of people’s lives. And you always knew what you were going to get: an endless stream of photos. Just keep scrolling.  &lt;/p&gt;

&lt;p&gt;Now there’s no way to tell if you’re going to see a photo or a video. When you do happen upon a video, you have to stop scrolling and wait for it to load. And if you happen to check Instagram during a meeting and forget to turn the sound off… well, awkward. &lt;/p&gt;

&lt;p&gt;that it’s just the latest example of our obsession to add as many features as possible to products out of fear of losing traction. Instead of lateral shifts into additional functionality, I’d like to see more companies double down on the features they already have, and continuously improve the experience around those features.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/24/dailyreading/</link>
                <guid>dohaivu.github.io/blog/2013/06/24/dailyreading</guid>
                <pubDate>2013-06-24T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, June 23 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://medium.com/the-year-of-the-looking-glass/be905f64f3cb&quot;&gt;5 little design decisions to admire&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Snapchat’s single button for taking photo + video&lt;/strong&gt;&lt;br&gt;
Tap to snap. Hold to capture video.It’s intuitive because the thing you want to capture is the same in both instances; what’s different is how long you want to capture it for&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Candy Crush Saga’s “5 more moves.”&lt;/strong&gt;&lt;br&gt;
Couldn’t finish the puzzle in the allotted number of moves, buy for more 5 moves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Path’s sticker store&lt;/strong&gt;&lt;br&gt;
The sticker packs are displayed oh-so-prettily on neat little shelves, complete with dramatic spotlight as if this were a museum exhibit of sorts. Tilt the phone, and the stickers swing along, playfully reacting to your movements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spotify’s “Popular” section&lt;/strong&gt;&lt;br&gt;
For one thing, the discrepancy between the order of the songs and the global plays gives you an indication of what’s popular recently vs. what’s been popular historically, useful if you’re new to an artist. You also get a sense for the difference in popularity between various songs, something a simple sorted list doesn’t give you, so you can tell if the artist is a one-hit wonder or a consistent chart-topper&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evernote’s note cards&lt;/strong&gt;&lt;br&gt;
I’m talking about those little squares that look like white Post-It notes that show you a preview of the note’s content. There’s something about the tangibility and physicality of that design that makes it work so much better for me than a list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://www.l1ghtm4n.com/post/53259404576/patterns-for-rest-api-bulk-operations&quot;&gt;Patterns for REST API bulk operations&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://usablica.github.io/front-end-frameworks/compare.html&quot;&gt;A collection of best front end frameworks for faster&amp;amp;easier web development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/evolutionary-architecture-stop&quot;&gt;Evolutionary Architecture: Stop Divining Your Architecture, Instead Evolve It&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Shift architectural focus to the things that will result in an Evolutionary Architecture, one capable of evolving with the business.It means don&amp;#39;t spend a lot of time trying to divine the perfect architecture upfront&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/23/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/23/dailyread</guid>
                <pubDate>2013-06-23T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Friday, June 21 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/state-devops-2013-infographic&quot;&gt;State of DevOps in 2013&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mikehadlow.blogspot.co.uk/2013/05/the-benefits-of-reverse-proxy.html&quot;&gt;The benefits of reverse proxy&lt;/a&gt;&lt;br&gt;
A reverse proxy is server component that sites between the internet and your web servers. It accepts http requests, provide various services and forward the requests to one or many servers.&lt;br&gt;
Here are some benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing: route HTTP request to identical servers.&lt;/li&gt;
&lt;li&gt;Security: hide your web servers behind DMZ&lt;/li&gt;
&lt;li&gt;Authentication: single point of authentication for all HTTP requests&lt;/li&gt;
&lt;li&gt;SSL Termination: handle HTTPS requests.&lt;/li&gt;
&lt;li&gt;Serve static content&lt;/li&gt;
&lt;li&gt;Caching: HTTP caching&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Centralised Logging and Auditing&lt;/li&gt;
&lt;li&gt;URL Rewriting&lt;/li&gt;
&lt;li&gt;Aggregating multiple websites&lt;/li&gt;
&lt;/ul&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://kripken.github.io/mloc_emscripten_talk/#/&quot;&gt;Big Web App? Compile it&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.nodejitsu.com/npm-innovation-through-modularity&quot;&gt;NPM what next&lt;/a&gt;&lt;br&gt;
Some features on NPM roadmap: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple registries&lt;/li&gt;
&lt;li&gt;CDN-delivered static assets&lt;/li&gt;
&lt;li&gt;Source code searching and analytics&lt;/li&gt;
&lt;li&gt;Addressable content&lt;/li&gt;
&lt;li&gt;Signed packages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.phase2technology.com/blog/practical-lessons-from-rubynation-2013/&quot;&gt;Practical lessons from RubyNation 2013&lt;/a&gt;  &lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/21/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/21/dailyread</guid>
                <pubDate>2013-06-21T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Thursday, June 20 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://techblog.netflix.com/2013/06/announcing-ice-cloud-spend-and-usage.html&quot;&gt;Netflix Ice&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ice provides a birds-eye view of our large and complex cloud landscape from a usage and cost perspective.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Netflix/ice&quot;&gt;Ice&lt;/a&gt; help us view our accouts, services, cost and usage,...&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://designmodo.com/flat-design-mobile-apps/&quot;&gt;Use of Flat Design in Mobile App Interfaces, Best Examples&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Flat style is famous for its ability of adding extra flair of sophistication, elegance and neatness to any app interface, making it look more spacious and organized. As a rule, plain graphics and common icons skillfully interact with vivid color scheme, recreating flamboyant touches. Simplicity, absence of styles and effects give the design, at the same time, uncomplicated, and slightly intricate appearance. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/big-data-practice-cassandra&quot;&gt;Big data in Practice wiht Cassandra&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.jitbit.com/news/185-most-of-your-abtests-will-fail/&quot;&gt;Most A/B test will fail&lt;/a&gt;&lt;br&gt;
A/B test lessons form Jitbit&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Most of your tests will fail. It’s sad, but it’s okay.&lt;/li&gt;
&lt;li&gt;Testing insignificant changes is time wasting.&lt;/li&gt;
&lt;li&gt;Don’t run tests on pages that have a small number of visitors.&lt;/li&gt;
&lt;li&gt;Don’t finish your tests before you have a statistically significant result. Use this handy calculator.&lt;/li&gt;
&lt;li&gt;Don’t ever rely on intuition. Test results are unpredictable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bill Spingarn comments:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;However, beyond that I&amp;#39;d just like to point out that ultimately testing is just studying what happens when variables change in a controlled manner. Even if your last ten tests fail, it should not be all for nothing. I can&amp;#39;t stress enough that with each test you should be adding to your body of knowledge about your site/product by taking time to understand the &lt;em&gt;WHY&lt;/em&gt; behind a failed test. Split testing is not a magic bullet, but inch by inch you will see results if you employ the tool in a pragmatic approach.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://transferwise.com/blog/2013-06/8-must-use-tools-for-an-easy-freelance-life&quot;&gt;Some tips for freelancers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.wired.com/wiredenterprise/2013/06/yahoo-amazon-amplab-spark/all/&quot;&gt;Future of BigData, the next Hadoop&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Spark can store data in the memory subsystems of the thousand of servers it pulls together. Hadoop stores its data on good old fashioned hard disks, and grabbing data from memory requires far less time.  &lt;/p&gt;

&lt;p&gt;Hadoop often is used in tandem with Storm and distributed engines such as Hive, which let you slice and dice data via the SQL query language. But Spark is designed to mimic these tools directly, offering myriad possibilities from the same piece of software. Tools called Shark (analogous to Hive) to Spark Streaming (analogous to Storm) already run atop the platform.  &lt;/p&gt;

&lt;p&gt;Machine learning algorithms involve crunching and re-crunching the same data — over and over again — in what’s called a “logistic regression.” With Hadoop, this can be particularly time-consuming because you have to visit the hard disk with each iteration of the algorithm. But with Spark, you can iterate in memory.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/20/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/20/dailyread</guid>
                <pubDate>2013-06-20T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Wednesday, June 19 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blogs.msdn.com/b/typescript/archive/2013/06/18/announcing-typescript-0-9.aspx&quot;&gt;TypeScript 0.9 Preview Release&lt;/a&gt;&lt;br&gt;
This release provide some new features: Generics, Overloading on Constants, Export =, Enums. The new compiler improves performance, reliably, enhance completion, type information, error report.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://lizkeogh.com/2013/06/17/theres-no-such-thing-as-declarative-and-imperative/&quot;&gt;There’s no such thing as Declarative and Imperative&lt;/a&gt;   &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every Declarative is a chunking-up of something else, and every Imperative is a chunking-down, and you can chunk up and down to different levels of abstraction&lt;/p&gt;

&lt;p&gt;Even Java is a more declarative form of bytecode, and bytecode is a more declarative form of machine language.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://lizkeogh.com/2012/03/05/the-myth-of-what-and-how/&quot;&gt;The Myth of “What” and “How”&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The code is how we deliver a story.&lt;br&gt;
The story is how we deliver a feature.&lt;br&gt;
The feature is how we give the users the capability to do something.&lt;br&gt;
The users’ capabilities are how they deliver a business goal.&lt;/p&gt;

&lt;p&gt;It doesn’t really matter much whether we call them features, stories or tasks, as long we appreciate that they’re &lt;strong&gt;how&lt;/strong&gt; we’re delivering to those higher-level &lt;strong&gt;whats&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://highscalability.com/blog/2013/6/18/scaling-mailbox-from-0-to-one-million-users-in-6-weeks-and-1.html&quot;&gt;Scaling Mailbox&lt;/a&gt;&lt;br&gt;
Some useful lessons of Mailbox from Sean Beausolie&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Keep number of technologies to a minimum&lt;/strong&gt;. They didn&amp;#39;t want to become expert on a lot of different systems, they wanted to focus on the development of their product.&lt;br&gt;
&lt;strong&gt;Pay attention to what users do&lt;/strong&gt;. Core infrastructure was tweaked, sharded, or removed in response to user usage patterns. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://linqlib.codeplex.com/&quot;&gt;LINQ Extensions Library 1.0.4.2&lt;/a&gt;&lt;br&gt;
New LINQ Extensions Library release provide custom sort feature.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765&quot;&gt;Log Parser Studio v2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/top-10-front-end-development-frameworks-part-2&quot;&gt;Top 10 Frontend framework 2&lt;/a&gt;&lt;br&gt;
A glimpse of Foundation, GroundworkCSS, Gumby, IVORY,..&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile&quot;&gt;10 performance tips from LinkedIn Mobile &lt;/a&gt;  &lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/19/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/19/dailyread</guid>
                <pubDate>2013-06-19T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Tuesday, June 18 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://blog.digg.com/post/53203926175/digg-reader-update&quot;&gt;Digg Reader is released in June 26&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://priceonomics.com/hotels/&quot;&gt;Hotel vs Airbnb price comparison&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We discovered that Airbnb apartment rentals cost 21.2% less than staying at a hotel. And if you’re on a budget, you can save 49.5% if you decide to stay in a private room at a host’s house instead of staying in a hotel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://viralsweep.com/blog/how-to-get-leads-sales-and-have-your-emails-read/&quot;&gt;Emails marketing tips&lt;/a&gt;&lt;br&gt;
The author shares his experiences of email marketing&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://lukechesser.github.io/Popular-UIs/&quot;&gt;Facebook, Heroku, Github PSD&lt;/a&gt;&lt;br&gt;
Free homepages of Facebook, Heroku, Github PSD for education purpose.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.ploeh.dk/2013/06/17/where-to-put-unit-tests/&quot;&gt;Where to put unit tests&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You should put unit tests in a separate library to give clearer seperation of concern, reduce production code, enhance API design feedback&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://www.nsprogrammer.com/2013/06/logging-to-disk-most-important-part-of.html&quot;&gt;Logging: The Most Important Part of Any Application&lt;/a&gt;  &lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/18/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/18/dailyread</guid>
                <pubDate>2013-06-18T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Monday, June 17 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://www.theatlanticcities.com/jobs-and-economy/2013/06/new-global-start-cities/5144/&quot;&gt;Startup geography&lt;/a&gt;&lt;br&gt;
A look at where startups are located.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;net.tutsplus.com/tutorials/javascript-ajax/building-ribbit-in-meteor/&quot;&gt;Build ribbit in meteor&lt;/a&gt;&lt;br&gt;
A good introduction tutorial of meteor.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/lampepfl/scala-js&quot;&gt;Scala.JS&lt;/a&gt;&lt;br&gt;
Write javascript in Scala syntax.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/top-10-front-end-development-frameworks&quot;&gt;Bootstrap related frameworks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.fastcodesign.com/1672657/google-s-dead-simple-tool-for-making-ux-decisions-2-jars-of-marbles#1&quot;&gt;Google’s Dead-Simple Tool For Making UX Decisions: 2 Jars Of Marbles&lt;/a&gt;&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/17/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/17/dailyread</guid>
                <pubDate>2013-06-17T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Sunday, June 16 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://medium.com/on-management/4578569760e8&quot;&gt;Outsourcing and Limiting to Core Competencies are Essential&lt;/a&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The leanest companies will identify as few core competencies as possible, and outsource everything else. Instagram’s initial core competencies were (a) software development of image filters, (b) iPhone photo-sharing application development, and (c) driving adoption. 14 employees can handle that. When you throw in the other things I listed above, they’d need at least double the staff—so they outsourced, for example, to Amazon Web Services (server + network administration).  &lt;/p&gt;

&lt;p&gt;85% of all developer time must be spent on business-specific logic&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--break--&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/16/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/16/dailyread</guid>
                <pubDate>2013-06-16T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading - Saturday, June 15 2013</title>
                <description>&lt;p&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=5881746&quot;&gt;What&amp;#39;s Wrong with the iOS 7 Icons?&lt;/a&gt;&lt;br&gt;
Poor choice of color, inconsistent language, weak use of metaphor are comments of iOS 7 icons on HackerNews&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;a href=&quot;http://architects.dzone.com/articles/release-more-less&quot;&gt;Release more with less&lt;/a&gt;&lt;br&gt;
The author provides some evidences why we should release small changes more frequenly. It will improve cycle time, flow, feedback, risk, overheads, efficiency, ownership.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://t.co/H1c1SbN9fm&quot;&gt;Enterprise 2.0&lt;/a&gt;&lt;br&gt;
Enterprise will be social, mobile, cloud and big data.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.facebook.com/note.php?note_id=10151504075843920&quot;&gt;Wormhole pub/sub system: Moving data through space and time&lt;/a&gt;&lt;br&gt;
It&amp;#39;s Facebook&amp;#39;s pub/sub system that delivers 1 trillion messages per day. It look like delivery service than message service.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://engineering.foursquare.com/2013/06/11/quattroshapes-a-global-polygon-gazetteer-from-foursquare/&quot;&gt;Foursquare&amp;#39;s geographic stack&lt;/a&gt;&lt;br&gt;
It replies on open sources: PostGIS, GDAL, Shapely, Fiona, QGIS, S2, and JTS. It also relies on open geographic data: OSM, geonames.org, US Census’ TIGER, Canada’s geogratis, Mexico’s INEGI and EuroGeoGraphics&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://decoupledcms.org/index.html&quot;&gt;Decoupled CMS&lt;/a&gt;&lt;br&gt;
Decoupled CMS is a movement that remove monolithic stacks. It improves collaboration, scalability, flexibility for CMS. It separate the whole stack into 3 independent components: Web Editing tool, Web Framework, and Content Repository. So that we can use SQL Server, CouchDB, MongoDB for repository and Web Framework like Rails, Django, PHP,..&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://caliper.io/blog/2013/Performance-Monitoring/&quot;&gt;Monitoring Single Page App&lt;/a&gt;&lt;br&gt;
Monitoring on the server is not enough. We should monitoring feature load, page load and unresponsiveness on the client. We can use Google Analytics to do that.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://download.microsoft.com/download/F/5/0/F5096A71-3C31-4E9F-864E-A6D097A64805/SQL_Server_Hekaton_CTP1_White_Paper.pdf&quot;&gt;SQL Server 2014 Hekaton White paper&lt;/a&gt;&lt;br&gt;
It&amp;#39;s good read to know how Hekaton store data in memory.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tomtunguz.com/price-discovery&quot;&gt;The Most Effective Price Discovery Question for Your Startup&lt;/a&gt;  &lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/15/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/15/dailyread</guid>
                <pubDate>2013-06-15T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>A look into SQL Server In-Memory Hekaton engine</title>
                <description>&lt;p&gt;Hekaton is a new in-memory OLTP database engine in SQL Server 2014. It&amp;#39;s inside SQL Server, so it does not require a separate hardware, or seperate database.&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;Previous SQL Server stores data on disk, only load data to memory when needed to processing. In Hekaton everything is in memory, it does not need to load data from disk. It also has new HASH INDEX structure, compiled stored procedures. So it&amp;#39;s extremely fast.&lt;/p&gt;

&lt;p&gt;Hekaton&amp;#39;s design goals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fitting most or all of data required by a workload into main-memory&lt;/li&gt;
&lt;li&gt;lower latency time for data operations&lt;/li&gt;
&lt;li&gt;specialized database engines that specific types of workloads need to be tuned just for those workloads &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In-Memory OLTP removes the issues of waiting locks to be released using a completely new type of multi-version optimistic concurrency control.&lt;/p&gt;

&lt;h3 id=&quot;toc_0&quot;&gt;Memory optimized table&lt;/h3&gt;

&lt;p&gt;It is no need to read from disk. A set of checkpoint files are used for recovery that keep track the changes of data. Transaction log is stored on disk, the same as disk-based tables. If server crash, the rows of data can be created from checkpoint files and transaction logs.&lt;/p&gt;

&lt;p&gt;Non-durable table (SCHEMA_ONLY) is only available on memory. It does not require any IO operations, so data will be lost when server shutdown. But it&amp;#39;s useful for temp data, caches, web server sessions.&lt;/p&gt;

&lt;h3 id=&quot;toc_1&quot;&gt;Rows&lt;/h3&gt;

&lt;p&gt;Rows are allocated from structures called heaps. Rows for a single table are not necessarily stored near other rows from the same table and the only way SQL Server knows what rows belong to the same table is because they are all connected using the tables’ indexes.&lt;/p&gt;

&lt;p&gt;Each row consists of a header and a payload containing the row attributes.
&lt;img src=&quot;/images/posts/2013-06-15-a-look-into-hekaton_rows.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;toc_2&quot;&gt;Indexes on memory-optimized tables: Hash index&lt;/h3&gt;

&lt;p&gt;They are not stored as traditional B-trees.
Memory-optimized tables are never stored as unorganized sets of rows, like a disk-based table heap is stored.&lt;br&gt;
Indexes are never stored on disk, operation are not logged. When SQL Server restart, indexes will be rebuilt.&lt;/p&gt;

&lt;p&gt;Hash index is an array of hash bucket that is a pointer.&lt;br&gt;
In the example below, hash function is the length of name, city column. The row with name &amp;quot;Greg&amp;quot; whose length is 4, the hash bucket with value 4 will pointer to this row. Another rows with the same value is linked into the same chain 
&lt;img src=&quot;/images/posts/2013-06-15-a-look-into-hekaton_hash-index.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A pointer is 2 bytes in row header that follows IdxLinkCount.&lt;/p&gt;

&lt;h3 id=&quot;toc_3&quot;&gt;Native compiled stored procedures&lt;/h3&gt;

&lt;p&gt;Hekaton translates it to C and then compile it to a DLL. So it does not need compile at run time. Performance improves 10X to 25X time.&lt;/p&gt;

&lt;h3 id=&quot;toc_4&quot;&gt;Interpreted TSQL&lt;/h3&gt;

&lt;p&gt;We can access full TSQL but performance is not good as native compiled stored procedures.&lt;/p&gt;

&lt;h3 id=&quot;toc_5&quot;&gt;Transaction Isolation levels&lt;/h3&gt;

&lt;p&gt;The following isolation levels are supported for transactions accessing memory-optimized tables&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Snapshot&lt;/li&gt;
&lt;li&gt;Repeatable Read&lt;/li&gt;
&lt;li&gt;Serializable&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;toc_6&quot;&gt;Validation&lt;/h3&gt;

&lt;p&gt;Prior to the final commit of transactions involving memory-optimized tables, SQL Server performs a validation step. Because no locks are acquired during data modifications, it is possible that the data 
changes could result in invalid data based on the requested isolation level&lt;/p&gt;

&lt;h3 id=&quot;toc_7&quot;&gt;Create database&lt;/h3&gt;

&lt;p&gt;Add &lt;code&gt;MEMORY_OPTIMIZED_DATA&lt;/code&gt; filegroups for checkpoint files.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sql language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DATABASE&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;HKDB&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;ON&lt;/span&gt; 
&lt;span class=&quot;k&quot;&gt;PRIMARY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HKDB_data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;FILENAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Q:\data\HKDB_data.mdf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;FILEGROUP&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SampleDB_mod_fg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;CONTAINS&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MEMORY_OPTIMIZED_DATA&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HKDB_mod_dir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;FILENAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;R:\data\HKDB_mod_dir&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HKDB_mod_dir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;FILENAME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;S:\data\HKDB_mod_dir&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;LOG&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SampleDB_log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;L:\log\HKDB_log.ldf&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;COLLATE&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Latin1_General_100_BIN2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;toc_8&quot;&gt;Create tables&lt;/h3&gt;

&lt;p&gt;Hekaton support all datatypes except LOB, all rows will be limited to 8060 bytes. Add &lt;strong&gt;MEMORY_OPTIMIZED&lt;/strong&gt; and &lt;strong&gt;DURABILITY&lt;/strong&gt; hints to the create statement.&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sql language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;T1&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NONCLUSTERED&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;HASH&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;WITH&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;BUCKET_COUNT&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;City&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LastModified&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;WITH&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MEMORY_OPTIMIZED&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;ON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DURABILITY&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SCHEMA_AND_DATA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Limitation:&lt;br&gt;
- No DML triggers
- No FOREIGN KEY or CHECK constraints
- No IDENTITY columns
- No UNIQUE indexes other than for the PRIMARY KEY
- A maximum of 8 indexes, including the index supporting the PRIMARY KE
- No Schema changes, No DDL command(CREATE INDEX, ALTER INDEX,...) &lt;/p&gt;

&lt;p&gt;Hekaton is very fast database, so it is good to store session data, user profiles, or cached data.&lt;/p&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/15/a-look-into-hekaton/</link>
                <guid>dohaivu.github.io/blog/2013/06/15/a-look-into-hekaton</guid>
                <pubDate>2013-06-15T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Daily Reading Friday, June 14 2013</title>
                <description>&lt;h2 id=&quot;toc_0&quot;&gt;&lt;a href=&quot;http://devtoolsecrets.com/&quot;&gt;Devtoolsecrets&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A collection of tips &amp;amp; tricks about web debugging&lt;/p&gt;

&lt;h2 id=&quot;toc_1&quot;&gt;&lt;a href=&quot;http://www.smashingmagazine.com/2013/06/10/pinterest-paint-performance-case-study/&quot;&gt;Debug frame rate for better performance&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;toc_2&quot;&gt;&lt;a href=&quot;http://bradfrostweb.com/blog/post/atomic-web-design/&quot;&gt;Atoic Web Design&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Atomic is an approach in web design, it divides into five distinct levels: &lt;strong&gt;atom&lt;/strong&gt;, &lt;strong&gt;molecule&lt;/strong&gt;, &lt;strong&gt;organism&lt;/strong&gt;, &lt;strong&gt;template&lt;/strong&gt;, &lt;strong&gt;page&lt;/strong&gt;. It&amp;#39;s not new, but it defines a clear way of thinking that supports team members, client for better communication, easily traverse from abstract to concrete&lt;/p&gt;

&lt;!--break--&gt;
</description>
                <link>dohaivu.github.io/blog/2013/06/14/dailyread/</link>
                <guid>dohaivu.github.io/blog/2013/06/14/dailyread</guid>
                <pubDate>2013-06-14T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Jasmine Setup</title>
                <description>&lt;p&gt;The first time using Jasmine. This is step by step example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pivotal/jasmine/downloads&quot;&gt;Download the latest version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delete files in &lt;em&gt;/src&lt;/em&gt; and &lt;em&gt;/spec&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Add source files to &lt;em&gt;/src&lt;/em&gt;: HelloWorld.js&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;js language-js&quot; data-lang=&quot;js&quot;&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;helloWorld&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;Hello World!&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Add test files to &lt;em&gt;/spec&lt;/em&gt;: HelloWorldSpec.js&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;js language-js&quot; data-lang=&quot;js&quot;&gt;&lt;span class=&quot;nx&quot;&gt;describe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;Hello world&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;it&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;says hello&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;expect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;helloWorld&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;toEqual&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;Hello world!&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Edit file &lt;em&gt;SpecRunner.html&lt;/em&gt;: include source and spec files in &lt;em&gt;include source files here&lt;/em&gt; and &lt;em&gt;include spec files here&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Run the &lt;em&gt;SpecRunner.html&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visit Jasmine home for more assert statements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://pivotal.github.io/jasmine/&quot;&gt;Jasmine home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://evanhahn.com/how-do-i-jasmine/&quot;&gt;How do I Jasmine: a tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pivotal/jasmine/wiki&quot;&gt;Jasmine wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/11741738/frontend-testing-what-and-how-to-test-and-what-tool-to-use&quot;&gt;Frontend test - stackoverflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://martinfowler.com/bliki/TestPyramid.html&quot;&gt;Test Pyramid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <link>dohaivu.github.io/blog/2013/05/29/jasmine-setup/</link>
                <guid>dohaivu.github.io/blog/2013/05/29/jasmine-setup</guid>
                <pubDate>2013-05-29T00:00:00+07:00</pubDate>
        </item>

        <item>
                <title>Python Package Installation</title>
                <description>&lt;p&gt;This is a short note how to install package from &lt;a href=&quot;https://pypi.python.org&quot;&gt;PyPi&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;strong&gt;Support Python 2.7&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;toc_0&quot;&gt;Install Setuptool&lt;/h2&gt;

&lt;p&gt;Download &lt;a href=&quot;https://pypi.python.org/pypi/setuptools&quot;&gt;setuptools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you run Windows 64bit, download and run &lt;code&gt;python ez_setup.py&lt;/code&gt;. It will automatically install easytool.exe in Scripts folder&lt;/p&gt;

&lt;p&gt;Install download package, run this command&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;toc_1&quot;&gt;Install package by easy_install&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://peak.telecommunity.com/DevCenter/EasyInstall#using-easy-install&quot;&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install package by name&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SQLObject&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Download a source, automatically build and install it&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MyPackage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tgz&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Install an already-downloaded .egg file&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;my_downloads&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OtherPackage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;py2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;egg&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Upgrade installed package to latest version&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;upgrade&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PyProtocols&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;toc_2&quot;&gt;Upgrade packages&lt;/h3&gt;

&lt;p&gt;Upgrade a specific version&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;SomePackage==2.0&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Upgrade package that a version greater than&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;SomePackage&amp;gt;2.0&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Upgrade to latest version on PyPi&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;upgrade&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SomePackage&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;toc_3&quot;&gt;Uninstall packages&lt;/h3&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;python language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;easy_install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mxN&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PackageName&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
                <link>dohaivu.github.io/blog/2013/05/17/python-package-installation/</link>
                <guid>dohaivu.github.io/blog/2013/05/17/python-package-installation</guid>
                <pubDate>2013-05-17T00:00:00+07:00</pubDate>
        </item>


</channel>
</rss>
