Search This Blog

Google Analytics

Thursday, October 23, 2014

Inbox by Gmail - Am waiting for an invite

Inbox by Gmail looks interesting and cool! Requested for an invitation yesterday and am still waiting for one. Do drop me an invitation!

Monday, October 20, 2014

Why switch to HTTPS?

The number of websites moving to the more secured HTTPS protocol is ever increasing especially after recent many web security compromises. But is there a need for HTTPS even if your website is purely only content? Engineers from the Google team feel YES.

Watch why YES from the following video:

Thursday, September 18, 2014

Mobile: All-In-One App or Multi Apps?

I have heard and seen clients wanting to include just everything, say product catalogue, events registrations, etc., from their website onto a mobile app. Each of the features itself are with complicated logics and workflows.

Question we should be asking now is whether to bundle all features into one single app or to split them into multi apps so each serve its own purpose. Mobile users are very much different from desktop users.To deliver the best mobile app experience, we need to make sure mobile users can complete a single mission easily and quickly.

TheNextWeb has an article, Forget ‘unbundling': Why your multi-app strategy should start from day one, recommending the multi apps approach for mobile strategy.

Thursday, September 04, 2014

Infographics: How to Perfectly Make 38 Types of Coffee

One can never have enough of coffee. The infographics below shows how perfectly make 38 types of coffee.

via [Stylist]

Friday, August 29, 2014

Periodic Table of Web Design Process

Preview all your installed fonts on your web browser

Ever wondered how your text will look like on all of your installed fonts? One handy way is using this free online tool wordmark.it. Simply type in the text to preview and hit on a button. It is just so easy.


Note: JavaScript is required for the online tool to work.

Wednesday, August 13, 2014

HTML Tags Accepted by Gmail

When sending a HTML email out, we often used some common HTML tags e.g. <br>, <font> and so on. An article, Gmail's HTML Tag Whitelist, on Quip publish a list of HTML tags known to be supported as well as unsupported by Gmail.

Supported HTML Tags

<a>
<abbr>
<acronym>
<address>
<area>
<b>
<bdo>
<big>
<blockquote>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<dd>
<del>
<dfn>
<dir>
<div>
<dl>
<dt>
<em>
<fieldset>
<font>
<form>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<hr>
<i>
<img>
<input>
<ins>
<kbd>
<label>
<legend>
<li>
<map>
<menu>
<ol>
<optgroup>
<option>
<p>
<pre>
<q>
<s>
<samp>
<select>
<small>
<span>
<strike>
<strong>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<u>
<tr>
<tt>
<u>
<ul>
<var>

Unsupported HTML tags

<applet>
<article>
<aside>
<audio>
<base>
<basefont>
<bdi>
<bgsound>
<blink>
<body>
<canvas>
<content>
<data>
<datalist>
<decorator>
<details>
<dialog>
<element>
<embed>
<figcaption>
<figure>
<footer>
<frame>
<frameset>
<head>
<header>
<hgroup>
<html>
<iframe>
<isindex>
<keygen>
<link>
<listing>
<main>
<mark>
<marquee>
<menuitem>
<meta>
<meter>
<nav>
<nobr>
<noframes>
<noscript>
<object>
<output>
<param>
<picture>
<progress>
<rp>
<rt>
<ruby>
<script>
<section>
<shadow>
<source>
<spacer>
<style>
<summary>
<template>
<time>
<title>
<track>
<video>
<wbr>
<xmp>

If you have a whitelist for Outlook.com and Yahoo, do make a comment below.

Infographics: HTML5 - Past, Present & Future

Monday, August 04, 2014

Get List of Installed Programs on Windows

If you ever need to do some reinstalling of Windows on your laptop but would like to backup the list of installed programs before formatting, the following will be useful.
  1. Start Command Prompt.
  2. Type wmic /output:"%userprofile%\Desktop\InstallList.txt" product get name,version on command prompt to run Windows Management Instrumentation Command-line tool.
This will generate a list of all installed programs and save it as a text file. Do note this may take some time depending on the number of installed programs you may have.

Saturday, July 26, 2014

Introduction to Xamarin

Online technical tutorial, tuts+, published a 3-parts introduction on Xamarin. Xamarin is a cross-platform software solution using C# codebase to develop one single implementation for Android, iOS and Windows apps.

Hopefully I have the time to try out this interesting software one day.

Thursday, July 24, 2014

Difference Between Holland and The Netherlands

Many times, we always use Holland and The Netherlands interchangeably without knowing the two terms are in fact different. Do watch the following video below to understand more.

Monday, July 14, 2014

Israel vs Palestine - So who is right?

Israel vs Palestine and so who is exactly right? Let's hear from each side of the story.

Israel's side of story

Palestine's side of story

Thursday, July 03, 2014

Seven Pointers to Watch Out for Before Buying an IPO

An insightful article on the Seven Things You Should Know About IPOs.

  1. Pre-IPO Placements
  2. Vendor Shares
  3. Deferred Shares and Share Options
  4. The "Greenshoe"
  5. Bookbuilding
  6. Clawback
  7. Lock-ups

Thursday, June 19, 2014

Top 20 Most Preferred NS Vocations


20. Storeman
19. Clerk
18. Mess Boy
17. Area Cleaning IC
16. Night Snack Orderly
15. Safety van Drinks Server
14. Route March Song IC
13. White Horse
12. Attend C Bunk
11. Music & Dance Company Reserve Guitar Tuner
10. Canteen Tray Hygiene Officer
9. Mobilisation TV Flasher
8. Pioneer Magazine Writer
7. Reservist Outfield Tapao Coordinator
6. Excuse Uniform, Excuse Grass, Excuse Sunlight
5. E-mart Noticeboard IC
4. Reservist FHM Magazine Supplier
3. Out-Of-Course
2. Future Minister
1. Civilian

Monday, May 26, 2014

Many Are Into Responsive Design, So Should I?

Many websites are now moving into responsive design so that webpages load "nicely" on mobile devices. The technologies and frameworks are there but should you and I go into revamping websites and adopt responsive design?

Responsive Web Design Taking Pictures Into Consideration

Responsive web design with pages and images resized and aligned properly for mobile view will not be complete if the images downloaded are the full desktop version. For better design, do consider using element. Read more on the picture element here.

Improve Mobile Support With Server-Side-Enhanced Responsive Design

An article on the Smashing Magazine on how to improve mobile support with responsive design at server side. It also discusses on the balance to doing it on client and server side.

An interesting read.

Thursday, May 08, 2014

Singaporean Jeremy Teng won a Japanese singing contest at Nodojiman The World

As a fellow Singaporean, I am so proud of compatriot Jeremy Teng for having won a Japanese singing contest at Nodojiman The World. You may watch him in action on YouTube.

Sunday, May 04, 2014

Google Play Errors Explained (With Fixes)

Popular Android forum, XDA Developers, wrote a thread explaining some of the errors encountered on Google Play. Yes, they may get annoying and may caused one to be helpless. With the feedback from many fellow Android users, the forum thread serves to provide with an always updated knowledgebase.

Saturday, April 26, 2014

Find out if you sleep deprived

Are you sleep deprived? Find out if you are from the following 1-minute video.

Friday, April 18, 2014

How to Schedule Gmail Emails to be Sent?

Amit Agarwal from the Digital Inspiration wrote a little Google script to schedule and send out Gmail emails later at a stipulated date and time.

Watch the video tutorial below to do just that.


Do read this Digital Inspiration article for the detailed steps in words and Google scripts too.

DynDNS Shutting Down Free Plans; So What Are The Alternatives?

DynDNS has shut down its free plans and so, if you need a hostname to be hosted, what are the other alternatives we have in the market right now?

The hundred over comments on The Best Free Alternatives to DynDNS offer some of the alternative services. Which of them have you used?

Cheat Sheet - Learn Basic Linux Commands

A cheat sheet on Linux commands, organised into 13 categories, should get you up to mark in using Linux operating system. The cheat sheet is available at LinOxide in PDF format and as one detailed reference guide all on a single long page. If you prefer visual, the following image may be helpful too.


Side Navigation Drawer or Tabbed Design?

The debate over whether to implement the now trendy side navigation drawer (a.k.a. hamburger menu) or stick to traditional tabbed design for a mobile website or app can go a long way. An article published on TheNextWeb summarised just when using side navigation is relevant.
My take-away from all of this is that if most of the user experience takes place in a single view, and it’s only things like user settings and options that need to be accessed in separate screens, then keeping the main UI nice and clean by burying those in a side menu is the way to go.
On the other hand, if your app has multiple views that users will engage with somewhat equally, then side navigation could be costing you a great deal of your potential user engagement, and interaction with those part of the app accessed via the side menu.

» UX designers: Side drawer navigation could be costing you half your user engagement | TheNextWeb

Thursday, April 03, 2014

Introducing the Windows 8.1 Update

Microsoft just unveiled Windows 8.1 Update 1. New features include an improved taskbar, better task switching, and Start Screen tweaks that focus on mouse and keyboard users. Opened applications will also come with title bar. This update certainly makes Windows 8 more "Windows".


The update will be made available via Windows Update on April 8.

Sunday, March 30, 2014

Microsoft MS-DOS v1.1 and v2.0 Source Code

Microsoft released the source code for MS DOS 1.1 and 2.0 few days back. With the help of the Computer History Museum, the source codes are now made downloadable by the public.

On the same day, Microsoft also released source code for Word for Windows 1.1a.

» Microsoft MS-DOS early source code | Computer History Museum

Microsoft Word for Windows Version 1.1a Source Code

Microsoft released the source code for Word for Windows 1.1a few days back. With the help of the Computer History Museum, the source codes are now made downloadable by the public.

On the same day, Microsoft also released source code for MS-DOS v1.1 and v2.0.

» Microsoft Word for Windows Version 1.1a Source Code | Computer History Museum

Wireless@SG - SIM-based Connection Guide

From 1 Apr 2014 onwards, Singapore's FREE Wi-Fi initiative Wireless@SG will be enhanced to allow SIM-based authentication. This is on top of the existing non SIM-based authentication, one that requires connecting to a SSID through Wi-Fi and then doing a web-based authentication.

From the list of supported devices that support EAP-SIM, it appears many today's iOS, Android and BlackBerry devices are supported. Windows devices are not in the list.

Friday, March 28, 2014

Tips to convert all ebook format and make them readable across all devices

An article published on the LifeHacker - How to Buy Ebooks From Anywhere and Still Read Them All in One Place detailed just how to make sure eBooks purchased or downloaded across multiple sources can be made readable on any other eBook reader/devices. One key point to note is the step required to strip away DRM.

Hope it helps.

Tuesday, March 25, 2014

Image Resize in C#

The below code snippet (adapted from Stackoverflow) will do a image resize to a desired width in pixels. I hope it helps.

/// <summary>
/// Resize image to desired dimension based on width
/// </summary>
/// <param name="strSrcPath">Full absolute path of image source</param>
/// <param name="strDestPath">Full absolute path for resized image to be saved to</param>
/// <param name="iNewWidth">New desired width in pixels</param>
/// <param name="blnIgnoreIfNewWidthLarger">Do not resize image should new desired width is larger than width of original image if set to true</param>
public void Resize(string strSrcPath, string strDestPath, int iNewWidth, bool blnIgnoreIfNewWidthLarger)
{
 bool blnDoNotResize = false;
 System.Drawing.Image objSrcImage;
 System.Drawing.Bitmap objDestImage;
 System.Drawing.Graphics objGrapics;

 try
 {
  objSrcImage = System.Drawing.Image.FromFile(strSrcPath);

  int iSrcWidth = objSrcImage.Width;
  int iSrcHeight = objSrcImage.Height;

  blnDoNotResize = ((iSrcWidth == iNewWidth) || (blnIgnoreIfNewWidthLarger && iNewWidth > iSrcWidth));

  if (!blnDoNotResize)
  {
   int iNewHeight = iSrcHeight * iNewWidth / iSrcWidth;

   int iSrcX = 0, iSrcY = 0, iDestX = 0, iDestY = 0;
   float fPercent = 0, fPercentW = 0, fPercentH = 0;

   fPercentW = ((float)iNewWidth / (float)iSrcWidth);
   fPercentH = ((float)iNewHeight / (float)iSrcHeight);
   if (fPercentH < fPercentW)
   {
    fPercent = fPercentH;
    iDestX = System.Convert.ToInt16((iNewWidth - (iSrcWidth * fPercent)) / 2);
   }
   else
   {
    fPercent = fPercentW;
    iDestY = System.Convert.ToInt16((iNewHeight - (iSrcHeight * fPercent)) / 2);
   }

   int iDestWidth = (int)(iSrcWidth * fPercent);
   int iDestHeight = (int)(iSrcHeight * fPercent);

   objDestImage = new System.Drawing.Bitmap(iNewWidth, iNewHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
   objDestImage.SetResolution(objSrcImage.HorizontalResolution, objSrcImage.VerticalResolution);

   objGrapics = System.Drawing.Graphics.FromImage(objDestImage);
   objGrapics.Clear(System.Drawing.Color.Black);
   objGrapics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

   objGrapics.DrawImage(objSrcImage,
    new System.Drawing.Rectangle(iDestX, iDestY, iDestWidth, iDestHeight),
    new System.Drawing.Rectangle(iSrcX, iSrcY, iSrcWidth, iSrcHeight),
    System.Drawing.GraphicsUnit.Pixel);

   objGrapics.Dispose();

   objSrcImage.Dispose();

   objDestImage.Save(strDestPath);
   objDestImage.Dispose();
  }
  else
  {
   objSrcImage.Dispose();
   System.IO.File.Copy(strSrcPath, strDestPath, true);
  }
 }
 catch (Exception ex)
 {
  throw ex;
 }
 finally
 {
  objSrcImage = null;
  objDestImage = null;
  objGrapics = null;
 }
}

Wednesday, March 19, 2014

Edward Snowden Speaks at TED 2014

Infamous Edward Snowden, former contractor for the National Security Agency (NSA) and whistleblower who leaked thousands and thousands of classified American National Agency documents that had led to global outrage over U.S. privacy pry on all other countries. Of course, this had also led to Snowden having to base himself in Russia to avoid being detained by the U.S.

Snowden appeared in the form of a robot at TED.com and spoke about surveillance and Internet freedom.

Friday, March 14, 2014

Google Docs and Sheets Launches Add-Ons

Google launches add-ons to its Docs and Sheets apps. With add-ons written by developers, users would now be able to add in even more features in their documents and spreadsheets e.g. easily send documents as emails to contacts, create Avery address labels and name badges from Google spreadsheet data, adding track changes and approval workflow, etc.


This is really many steps ahead for Google.

Wednesday, March 12, 2014

Gift - A Singapore Drama Short Film by Viddsee

An inspiring short 8 minute short drama titled "Gift" by Singaporean Viddsee.

Being rich is not about what you have, but how much you can give.

Tuesday, March 04, 2014

MergeFil.es - Merge multiple files (PDF, Word, PowerPoint, Excel, Images) into one consolidated PDF, Word, Excel or PowerPoint

MergeFil.es is a 100% FREE online tool that can combine/merge multiple files of varying formats (PDF, MS Word, MS PowerPoint, MS Excel, images, html, and/or .txt files) into one consolidated PDF, MS Word, MS Excel, or MS PowerPoint document. The tool also allows reordering of the selected files before finalising for merging.

Monday, March 03, 2014

Ellen Selfie at the Oscars 2014 - Most Retweets Of All Time

Ellen DeGeneres took a selfie together with several stars at the Oscars 2014 and tweet it online right away with a Samsung sponsored Note 3 phone. The tweet garnered the most number of retweets Of all time beating Obama's 2012 record.

Ellen DeGeneres 2,471,533 retweets (as of now)





Barack Obama 781,578 retweets (as of now)


Tuesday, February 25, 2014

How to Decipher the Moles On Your Face?

The Chinese Almanac, also known as the Tung Shu, not only tell us the auspicious and inauspicious dates, it also reveals information on astrology, codes and symbols which includes the secrets regarding moles on your face and what they mean depending on which part of your face they appear.


An article on the Feng Shui Beginner tells us more on this.

Friday, February 21, 2014

DHL prank on competitor to do advertisting for them

DHL pulled a prank on its competitor to do advertising for them.

Several huge boxes coated with black-coloured temperature sensitive ink that will disappear in higher temperature were arranged to be delivered by its competitors like TNT and UPS. As calculated, the black ink disappeared while being transported in delivery trucks, revealing big-sized imprint boasting that "DHL is faster". Without much of a choice, the courier guy continued with the usual delivery service but definitely with some awkwardness.


Well done!

Samsung Teases Galaxy S5 Unpacked Event With a Video Ad

Samsung just launched a teaser video ad in anticipation of coming 24 February Galaxy event in Barcelona, Spain, at 8 p.m. local time. It is expected Galaxy S5 to be unveiled.

Thursday, February 20, 2014

Convert your Android phones into inter-connected Baby Monitors

Dormi is a new Android app that can convert your old or existing Android devices into smart baby monitors or remote speakers. Watch the video below for a quick introduction to Dormi or you may just simply head to Dormi website.

Wednesday, January 29, 2014

Starhub TV Free Preview for Chinese New Year 2014

Starhub is offering 30 FREE TV channels this Lunar New Year from 30 Jan, 12pm to 3 Feb, 3pm.


And if you are on the move, download StarHub TV Anywhere App which is available on both Android and iOS.

Tuesday, January 28, 2014

Isaac Asimov’s Three Laws

The Three Laws of Robotics (often shortened to The Three Laws or Three Laws) are a set of rules devised by the science fiction author Isaac Asimov. The rules were introduced in his 1942 short story "Runaround", although they had been foreshadowed in a few earlier stories. The Three Laws are:

  1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
  2. A robot must obey the orders given to it by human beings, except where such orders would conflict with the First Law.
  3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.

» Three Laws of Robotics | Wikipedia

Sunday, January 12, 2014

Share Your Android Screen to PC or Laptop

I came across this BBQScreen app few months back and I thought it worth a mention to blog it. With BBQScreen, it is possible to share your Android screen right onto your PC or laptop. What you need to do is to install the app on your Android and also on your PC or laptop. BBQScreen support Windows, Linux and Mac OS. What's most important is that it is absolutely free of charge!

Saturday, January 11, 2014

15 jQuery Tips and Tricks to Increase Performance

jQuery has been widely used in several websites to make use of available libraries. Though the API itself is already optimised, it is still possible to enhance its performance.

Here are 15 tips and tricks by the Web Revisions.
  1. Always Use the Latest jQuery Version
  2. Always load CDN-hosted copy of jQuery
  3. Always use ID as Selector Instead of Classes or Name
  4. Always Cache jQuery Objects before use
  5. Always use Tags Before Classes
  6. Use Chaining
  7. Just give your Selectors a Context
  8. Storing Data
  9. Preloading images
  10. Try to make code simpler using group queries
  11. jQuery Lazy Loading
  12. Always Return False
  13. Use join() for Longer Strings
  14. Try to avoid DOM Manipulation
  15. Check if an Element Exists

Wednesday, January 08, 2014

10 Awesome Infographics to Guide your Marketing Plan for 2014

The Buffer blog has rounded up 10 infographics and suggestions on online marketing to help us get our 2014 marketing strategy off to a great start. Visit the page now.

Wednesday, January 01, 2014

Typography: Care about how sentences are looked, read and understood

Do you care about words and how they look, read, and are understood? 24 Ways mentioned the need to manicure the right rag. There are 5 possible violations that we should be mindful of.

Violation 1. Never break a line immediately following a preposition
Solution 1: Are there any prepositions in the text? If so, add a &nbsp; after them.

Violation 2. Never break a line immediately following a dash
Solution 2: Are there any dashes? If so, add a &nbsp; after them.

Violation 3. No small words at the end of a line
Solution 3: Are there any words of fewer than three characters that you haven't already added spaces to? If so, add a &nbsp; after them.

Violation 4. Hyphenation
Solution 4: Are there any emphasised groups of words either two or three words long? If so, add a &nbsp; in between them.

Violation 5. Don't break emphasised phrases of three or fewer words
Solution 5: Are there emphasised phrases of three or fewer words? If so, try not to break the line among them. Group them.

To implement the above on your blog or website itself, you may try out this script on GitHub.

» Run Ragged | 24 Ways

How to defer loading of javascript efficiently using the Google way?

If there is a piece of code that is intended to be loaded after a webpage finishes loading, one efficient method as recommended by Google is to use listeners. An article on feedthebot illustrates the Google's method. The following code should be placed in your HTML just before the </body> tag. Also, all code blocks supposed to be delayed are to be placed in an external js file (defer.js in this case).

<script type="text/javascript">
function downloadJSAtOnload() {
    var element = document.createElement("script");
    element.src = "defer.js";
    document.body.appendChild(element);
}

if (window.addEventListener)
    window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
    window.attachEvent("onload", downloadJSAtOnload);
else
    window.onload = downloadJSAtOnload;
</script>

Tuesday, December 31, 2013

2013 In Review (In Short)

#2013 in review:- Work) Little change » Status quo. Life) Pursued » Achieved. I know #2014 will be very different.

Tuesday, December 24, 2013

Convert Any Files to PDF

One common question many asked is "How can I actually convert a document or even image to a PDF file?". In some of my earlier articles, I wrote about converting a webpage into a PDF without installing any tool [option 1, option 2] and also manipulating existing PDF file(s) like merging, splitting, etc with an absolutely free tool.

Today, I just chanced upon toPDF. toPDF provides the capability to convert text documents, presentations, spreadsheets and images to PDF format. Some of its attractiveness include free service and needless to install any tool onto your PC since it is web-based. This free service supports up to 5 files (25Mb max).

Monday, December 23, 2013

10 Tips For An Effective User Experience UX Debrief Meeting

How should one conduct an effective user experience (UX) debrief meeting such that all stakeholders in the team can benefit from and do better in the next round? Userfocus offers 10 practitioner tips for running an effective UX debrief meeting.

  1. Don’t wing it. Prepare thoroughly. Have a plan.
  2. Don’t think of the debrief as a wrap-up meeting — think of it as a springboard to the next step. And make sure UX is part of the next step.
  3. Co-chair the meeting with a lead member of the project team.
  4. Make sure the main decision-makers attend.
  5. Don't give a PowerPoint presentation, and don’t rehash the report. If you have 60 minutes talk for 20 minutes, then discuss for 40 minutes.
  6. Insist that attendees must read the report and prepare comments and questions.
  7. Before you summarize the study findings, ask the team to share what they learned from the study, what surprised them and what usability issues they feel are most important or most serious.
  8. Simplify your message. Focus on just the 5 most severe usability problems. Don’t overwhelm the team by trying to cover everything (they can check the report for those details).
  9. Get consensus on the problems rather than argue over solutions.
  10. Don’t expect or insist that everything must be fixed. Focus next steps on things that can realistically be changed within the budget and timeline.

» The UX debrief: A tale of two meetings | Userfocus

Sunday, December 15, 2013

Security Practices When Making Calls to Server From Client Side

With HTML5 getting more widely adopted and more application logic done on client side, better (a different type) security should be considered to mitigate risk. Nettuts+ discussed some of the measures that can be deployed for just that. The topics are:

  • Don’t Even Think About HTTP
  • Make XSS Less Harmful With Content Security Policy
  • Use Cross Origin Resource Sharing Instead of JSONP
  • Sandbox Potentially Harmful Iframes

» Client-Side Security Best Practices | Nettuts+

Saturday, December 14, 2013

Outlook.com launches automated tool to migrate from Gmail

Microsoft is continuing its attack on Google by launching an automated tool to migrate Gmail to its very own web-based Outlook.com (successor of hotmail.com).

The blog post claims emails, contacts, labels and even calendars can be imported. Immediately after the import is completed, Microsoft will send an email notification to your inbox.

Though I am not a fan of Outlook.com, I thought I should give the tool a try one day for curiosity sake.

Sunday, December 08, 2013

The Essentials of Writing High Quality JavaScript

Nettuts+ wrote an article on some of the essentials of writing high quality JavaScript. It is largely based on a book "JavaScript Patterns" written by Stoyan Stefanov. Though lengthy, I strongly recommend it.

Friday, November 08, 2013

Tuesday, October 29, 2013

HtmlEncode and HtmlDecode In JavaScript

In web development, we often need to encode a string especially input from user so data with potential malicious intention when displayed will be safe. On server side, we can use e.g. HtmlUtility.HtmlEncode (in ASP.NET for encode) and HtmlUtility.HtmlDecode (in ASP.NET for decode).

What if we need one in JavaScript? Here's how to do just that!

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script language="javascript" type="text/javascript">
<!--
    function htmlEncode(value) {
        return $('<div/>').text(value).html();
    }

    function htmlDecode(value) {
        return $('<div/>').html(value).text();
    }

    var s = "<b>hello's world</b>";
    var encoded = htmlEncode(s);
    var decoded = htmlDecode(encoded);

    alert(encoded);
    alert(decoded);
//-->
</script>

Sunday, October 27, 2013

How to give your Web apps a real speed boost?

Few tips published on the The Next Web on how to speed up your website and making sure user experience is not impacted especially on mobile.

  1. Check for unnecessary or oversized images
  2. Don't ignore Android
  3. Consistent measurement
  4. Multitask

The article also introduced a few tools to get you started.

Monday, October 14, 2013

This Visual Guide Outlines How Men's Suits Should Fit

A visual guide on what how men's suits should fit so it look fit and neither too small nor big. A good general knowledge.

Sunday, October 06, 2013

Use Google Analytics to Track Outgoing Gmail Messages

Very creative use of Google Analytics to track outgoing Gmail messages.

Generate VCard as QR Code Using Google Docs

Should you have lots of contacts to be imported into your phone, it can get pretty time consuming to input one at a time. One time saving tip is to have them entered into a spreadsheet and have them converted into VCard format. Google Docs does have a feature to generate VCard as QR Code which you may then use any QR Code reader to read them.

This article demonstrates exactly just how to do that.

A quick summary:
  1. Create a new Google Spreadsheet

  2. Setup 5 columns i.e. First Name, Last Name, Phone, Contacts, QR Code.

  3. First 4 columns should be self-explanatory. As for the last column, it shall be a formula to generate QR Code. Copy and paste below formula.

    =image("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=BEGIN:VCARD%0AN:" & A2 & "%20" & B2 & "%0ATEL;CELL:" & C2 & "%0AEMAIL:" & D2 & "%0AEND:VCARD")

Hope it helps.

What is "Exit Rate" and "Bounce Rate"?

Exit rate

The number of times a visitor leaves your domain from a page, divided by that page’s total views. Generally expressed as a percentage.

Bounce rate

The number of times a visitor enters a domain on a page but leaves before viewing any other page in the domain, divided by the total number of views of that page. Also generally expressed as a percentage.

Friday, September 20, 2013

Understanding Various Image File Types for Web Site

HTML5 Rocks Tutorials published an interesting article on Image Compression for Web Developers, doing detailed explanation and comparison on the various popular image file types for website. It's worth the read.

» Image Compression for Web Developers | HTML5 Rocks

Sunday, August 25, 2013

Lengthy but awesome biography on Marissa Mayer

An unauthorised biography featuring former Googler and now CEO of Yahoo!, Marissa Mayer, published by Business Insider, is a MUST read! The write-up pretty much summarised Mayer's personality as well as her brilliance that make her who she is today.

Read the biography here.

Monday, August 19, 2013

10 Steve Jobs videos you should watch instead of Ashton Kutcher’s ‘Jobs’

Sorry to say this - I actually read several reviews that Ashton Kutcher's movie - ‘Jobs’ were rather poor and this made me changed my mind watching it. The Next Web published an article on 10 Steve Jobs videos you should watch instead of Ashton Kutcher’s ‘Jobs’ and I thought they were excellent to watch!

Enjoy!

National Day Rally 2013

Friday, August 16, 2013

5 photo mobile apps to help you look more beautiful

The Next Web made a review on 5 photo mobile apps capable of making enhancements on your photo, making you look more beautiful.

The 5 photo mobile apps are:
  1. Beauty Camera (Android)
  2. Beauty Booth (Android | iOS)
  3. Photo Wonder (Android | iOS)
  4. Beauty Plus (Android | iOS)
  5. Meitu Xiu Xiu 美图秀秀 (Android | iOS)
Let us know how the above help you.

Thursday, August 15, 2013

JAVA: Get MD5 Hash On String

The following demonstrates how to perform MD5 hash on string. For it to run, you will need to import these 2 packages.
  • java.security.MessageDigest
  • javax.xml.bind.annotation.adapters.HexBinaryAdapter
public static void main(String[] args) {
    try {
        String hash1 = computeMD5Hash1("hello world");
        String hash2 = computeMD5Hash2("hello world");
        System.out.println(hash1);
        System.out.println(hash2);
    } catch (Exception e) {
    }
}

//using HexBinaryAdapter to convert byte array to string
public static String computeMD5Hash1(String plainText) {
    String hash = "";
    try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        hash = (new HexBinaryAdapter()).marshal(md5.digest(plainText.getBytes()));
        hash = hash.toUpperCase();
    } catch (Exception e) {
        hash = "";
    }

    return hash;
}

//no library to convert byte array to string
public static String computeMD5Hash2(String plainText) {
    String hash = "";
    try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        byte[] bb = md5.digest(plainText.getBytes());
        for (byte b : bb)
            hash += String.format("%02X", b & 0xff);
    } catch (Exception e) {
        hash = "";
    }

    return hash;
}

Tuesday, August 13, 2013

VIDEO: How to Coil Cables

The following video demonstrates techniques on how to coil cables such that they can be neat and won't be twisted. Interesting tip.

Friday, August 09, 2013

National Day Parade (NDP) Theme Songs (Consolidated)

28 May 2015: Added theme song for NDP 2015.
20 June 2016: Added theme song for NDP 2016.

Just come of the video compilations used as themes songs for National Day.

NDP 1998: Kit Chan 陈洁仪 -- Home 家



NDP 2001: Tanya Chua - Where I Belong



NDP 2002: Stefanie Sun 孙燕姿 -- We Will Get There 一起走到



NDP 2003: Stefanie Sun 孙燕姿 -- One United People 全心全意



NDP 2008: Joi Chua 蔡淳佳 -- 晴空万里



NDP 2010: Corrine May -- Song for Singapore



NDP 2011: Sylvia Ratonel -- In A Heartbeat



NDP 2012: Olivia Ong, Natanya Tan -- Love at First Light



NDP 2013: Sing A Nation Choir -- One Singapore



NDP 2015: Dick Lee -- Our Singapore



NDP 2016: 53A -- Tomorrow's Here Today


Prime Minister Lee Hsien Loong's National Day Message 2013

Watch Prime Minister Lee Hsien Loong's National Day Message 2013 (English) below. For the transcript, click here.

Google Releases Seven Videos On Typical Manual Spam Actions Received On Webmaster Tools

Google released seven videos for the most common manual action notifications related to spam for websites in your free Google Webmaster Tools. The videos include user-generated spam, hidden text and/or keyword stuffing, pure spam, thin content with little or no added value video, unnatural Links to site video, unnatural links from your site and unnatural Links to site – impacts links.

User-generated spam


Hidden text and/or keyword stuffing


Pure spam


Thin content with little or no added value


Unnatural Links to site


Unnatural links from your site


Unnatural Links to site - impacts links


» Google Releases Seven Videos On Typical Manual Spam Actions | Search Engine Land

Saturday, August 03, 2013

How to Do a Partial YouTube Embed (Custom Start and End)?

Suppose you have a long YouTube video but would like to do an embed only from say first to second minute? It's actually possible with a simple tweak.

The following is the standard embed code (without changing anything) of the PSY - Gangnam Style YouTube from first to second minute.

<iframe width="560" height="315" src="//www.youtube.com/embed/9bZkp7q19f0" frameborder="0" allowfullscreen></iframe>

To do a partial embed from the first to second minute, you will first need to convert the periods into seconds. So it would be from the 1*60=60 seconds to the 2*60=120 seconds. We will then add the 2 new start and end parameters to the embed code. The following is the customised embed code.

<iframe width="560" height="315" src="//www.youtube.com/embed/9bZkp7q19f0?start=60&end=120" frameborder="0" allowfullscreen></iframe>

The video goes like this!

Monday, July 08, 2013

{ prologue } bookstore at ION Orchard closing down sale

{ prologue } bookstore at ION Orchard is currently having its closing down sale. Yes, you didn't hear me wrongly - CLOSING down sale. Looks like high-end bookstore globally is not doing well at all. It must be because of the rising popularity of eBooks.


Don't miss it!

Popular Posts