Tuesday, April 12, 2016

Affinity Google AMP HTML

Affinity Google AMP Guide 1
AMP HTML is HTML with some restrictions for reliable performance and some extensions for building rich content beyond basic HTML.
Though most tags in an AMP HTML page are regular HTML tags, some HTML tags are replaced with AMP-specific tags.
Affinity Google AMP Guide 2
The AMP JS library ensures the fast rendering of AMP HTML pages. The Google AMP Cache (optionally) delivers the AMP HTML pages.
AMP HTML is basically HTML extended with custom AMP properties.
Among the biggest optimizations is the fact that it makes everything that comes from external resources asynchronous, so nothing in the page can block anything from rendering.

ampproject.org get started...

Friday, November 9, 2012

Dell - Project Sputnik

 Few days back we reported that Dell has announced Project Sputnik, a six month research effort to explore the possibility of creating an open source Ubuntu laptop targeted directly at developers.

Dell has now announced that the experiment was successful and they were surprised by the amount of interest it has generated.
“Since we announced project Sputnik a little over two months ago, we have continued to be amazed by the amount and quality of interest and input we have received,” said Barton George, project Sputnik lead and director Dell’s web vertical marketing.

As the project has matured, Dell is now taking Project Sputnik from pilot to product this fall. It plans to deliver an official developer laptop based on the Dell XPS 13 with Ubuntu 12.04LTS preloaded, available in select geographies. 

Made possible by an internal innovation fund, the system will offer developers a complete client-to-cloud solution. The included software will allow developers to create “microclouds” on their laptops, simulating a proper, at-scale environment, and then deploy that environment seamlessly to the cloud. 

The solution is based on the current high-end configuration of the Dell XPS13 laptop: 13.3 inch screen with edge to edge glass (1366x768 resolution), i7 2GHz Intel Core2 Duo processor, 4GB of RAM, 256 GB SSD, 0.88 x 12.56 x 9.3 dimensions and 2.99 lbs weight. Check out XPS13 product page here.

How to Edit PDF Files without Adobe Acrobat

The PDF file format was originally created by Adobe in the early ’90s and there are now over 700+ million PDF documents on the Internet according to Google (search for filetype:pdf).

There are several reasons why the PDF file format is so popular for exchanging all sorts of documents including presentations, CAD Drawings, invoices and even legal forms.
  • PDF files are generally more compact (smaller in size) than the source document and they preserve the original formatting.
  • Unlike Word and other popular document formats, the content of a PDF file cannot be modified easily. You can also prevent other users from printing or copying text from PDF documents.
  • You can open a PDF file on any computer or mobile device with free software like Adobe Acrobat Reader. Google Chrome can read PDFs without requiring plugins and it can create PDFs.


Edit PDF Files using Free Alternatives to Adobe Acrobat

While PDF Files are “read only” by default, there are ways by which you can edit certain elements* of a PDF document for free without requiring the source files or any of the commercial PDF editing tools like Adobe Acrobat.

We will primarily focus on tools that let you alter the actual contents of a PDF file

An Online PDF Editor for Basic Tasks


Sometimes you need to make minor changes to a PDF file. For instance, you may want to hide your personal phone number from a PDF file before uploading it online or may want to annotate a page with notes and freehand drawings.
You can perform such edits in a PDF easily with PDFEscape.com, an online PDF editor that is free and also lets you edit password-protected PDF documents in the browser.
With PDF Escape, you can hide* parts of a PDF file using the whiteout tool or add annotations with the help of custom shapes, arrows, text boxes and sticky notes. You can add hyperlinks to other PDF pages / web documents.
[*] Hiding is different from redaction because here we aren’t changing the associated metadata of a PDF file but just hiding certain visible parts of a PDF file by pasting an opaque rectangle over that region so that the stuff beneath the rectangle stays invisible.


Change Metadata of PDF Files


If you would like to edit the meta-data associated* with a PDF document, check out Becy PDFMetaEdit. This is a free utility that can help you edit properties of a PDF document including the title, author name, creation data, keywords, etc.
The tool can also be used for removing PDF passwords as well as for encrypting PDF documents such that only users who know the password can read the contents of your PDF files. And since this PDF metadata plus bookmarks editor can be executed from the command line, you can use it to update information in multiple PDF files in a batch.
[*] If you planning to post your PDF files on the web, you should consider adding proper metadata to all the files as that will help improve the organic rankings of your PDF files in Google search results.


Edit the Text of a PDF File


If you want to edit the text in a PDF file but don’t have access to the source documents, your best bet is that you convert the PDF file into an editable Word document or an Excel spreadsheet depending on the contents of the PDF.
Then edit these converted PDFs in Microsoft Office (or Google Docs) and export the modified files back into PDF format using any PDF writer.
If your PDF document is mostly text, you may use the desktop version of Stanza to convert that PDF into a Word document. If the document includes images, charts, tables and other complex formatting, try the online PDF to Word converter from BCL Research or the one from NitroPDF – the former offers instant conversion while the latter service can take up to a day though its yields more accurate results.


Advanced PDF Editing (Images, text, etc.)


Now that you know the basic PDF editing tools, let’s look at another set of PDF editors that are also free but can help you do some more advanced editing like replacing images on a PDF file, adding signatures, removing blocks of text without breaking the flow of the document, etc.
First there’s PDF XChange, a free PDF viewer and editor that you also may use for typing text directly on any PDF page. PDF XChange also supports image stamps so you may use the tool for signing PDF files or for inserting images anywhere on a PDF page.
Then you have Inkscape, a free vector drawing tool (like Adobe Illustrator) that can natively import and export PDF content.


Video: How to Edit PDF Files with Inkscape


With Inkscape, you can select any object on a PDF page (including text, graphics, tables, etc.) and move them to a different location or even remove them permanently from the PDF file. You can also annotate PDF files with Inkscape or draw freehand on a page using the built-in pencil tool.

The next tool in the category of advanced PDF editors is OpenOffice Draw with the PDFImport extension. OpenOffice Draw supports inline editing so you can easily fix typos in a PDF document or make formatting related changes like replacing color, increasing or decreasing the text size, replacing the default font-family, etc.

Like Inkscape, the OpenOffice toolbox also includes support for annotations, shapes, images, tables, charts, etc. but here you have more choices and the software also looks less complex.

The OpenOffice suite is a little bulky (they don’t provide a standalone installer for Draw) but if you have the bandwidth, OpenOffice is the best tool for manipulating PDF documents when you don’t have the budget for Adobe Acrobat.


How to Verify an Email Address?

When you send an email to someone, the message goes to an SMTP server which then looks for the MX (Mail Exchange) records of the email recipient’s domain.

For instance, when you send an email to hello@gmail.com, the mail server will try to find the MX records for the gmail.com domain. If the records exist, the next step would be to determine whether that email username (hello in our example) is present or not.

Using a similar logic, we can verify an email address from the computer without actually sending a test message. Here’s how:

Let say that we want to verify if the address billgates@gmail.com exists or not?

Step 1. Enable telnet in Windows.   Or if you already have the PuTTY utility, skip this step.

Step 2. Open the command prompt and type the following command:
nslookup  – type=mx gmail.com

This command will extract and list the MX records of a domain as shown below. Replace gmail.com with the domain of the email address that you are trying to verify.

gmail.com MX preference=30, exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference=20, exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference=5,  exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference=10, exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference=40, exchanger = alt4.gmail-smtp-in.l.google.com

Step 3. As you may have noticed, it is not uncommon to have multiple MX records for a domain. Pick any one of the servers mentioned in the MX records, may be the one with the lowest preference level number (in our example, gmail-smtp-in.l.google.com), and “pretend” to send a test message to that server from you computer.

For that, go to command prompt window and type the following commands in the listed sequence:

3a: Connect to the mail server:
telnet gmail-smtp-in.l.google.com 25

3b: Say hello to the other server

3c: Identify yourself with some fictitious email address
mail from:<labnol@labnol.org>

3d: Type the recipient’s email address that you are trying to verify:
rcpt to:<billgates@gmail.com>

The server response for ‘rcpt to’ command will give you an idea whether an email address is valid or not. You’ll get an “OK” if the address exists else a 550 error like:
  • abc@gmail.com – The email account that you tried to reach does not exist.
  • support@gmail.com – The email account that you tried to reach is disabled.

That’s it! If the address is valid, you may perform reverse email search to find the person behind the address. And if you get stuck somewhere, this step-by-step video should help:

Find the Person Behind an Email Address

You get an email from a person with whom you have never interacted before and therefore, before you reply to that message, you would like to know something more about him or her. How do you do this without directly asking the other person?
Web search engines are obviously the most popular place for performing reverse email lookups but if the person you’re trying to research doesn’t have a website or has never interacted with his email address on public forums before, Google will probably be of little help.

No worries, here are few tips and online services that may still  help you uncover the identity of that unknown email sender.

#1. Find the sender’s location 

Location of Email Sender

Open the header of the email message and look for lines that say “Received: from” followed by an IP address in square brackets. If there are multiple entries, use the IP address mentioned in the last entry.

Now paste the IP address in this trace route tool and you should get a fairly good idea about the location of the email sender

#2. Reverse email search with Facebook
Facebook email search

Facebook has 450 million users worldwide and there’s a high probability that the sender may also have a profile on Facebook.
Unlike LinkedIn and most other social networks, Facebook lets you search users by email address so that should make your job simpler. Just paste the email address of the sender into the Facebook search box and you’ll immediately know if a matching profile exists in the network.

If you are able to locate that person on Facebook, download his profile picture and then upload it to Google Images (click the camera icon in the search box). This acts as a reverse image search engine so you can locate his other social profiles where he may have used the same picture.

#3. Check all the other Social Networks
You can use a service like Knowem to quickly determine if a profile with a particular username exists in any of the social networks.

If the email address of the send is something like green_peas@hotmail.com, there’s a probably that he or she may have created accounts of some other social network using the same alias “green_peas” – put that in knowem.com to confirm.

#4. People Search

Reverse Email Search

Finally, if nothing works, you should try a people search service like Pipl and Spokeo – both services let you perform reverse email lookups but Spokeo has a more comprehensive database than Pipl.

Other than regular web documents, Spoke also scans social networks and even the whois information of domain names to find any bit of information associated with an email address. However, some of the results returned by Spokeo are only available to subscribers.

Saturday, May 19, 2012

ubuntu upgrade to 12.04 precise pangolin, 10x faster

Before leaping to the Ubuntu site to download the freshest bytes and bits, you may want to wait for a bit. Canonical tells me that the site is currently getting overwhelmed and some people are not being able to get into it. For me, the site and download links worked, but at speeds of about 100Kbps, they certainly aren’t fast.

You should use whichever region is closest to you, you can either manually add these to
file or paste them into the custom URL field of the software sources application.

East Coast US:
deb http://us-east-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

West Coast US (California):
deb http://us-west-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

West Coast US (Oregon)
deb http://us-west-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

South America (São Paulo, Brazil)
deb http://sa-east-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

Western Europe (Dublin, Ireland)
deb http://eu-west-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

SouthEast Asia (Singapore)
deb http://ap-southeast-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

NorthEast Asia (Tokyo)
deb http://ap-northeast-1.ec2.archive.ubuntu.com.s3.amazonaws.com/ubuntu/ precise main restricted universe multiverse

 I've always gone with the 'select best server' GUI tool: from , go to Edit -> Software Sources in the menu. (You can also do this from the Preferences for Synaptic or the Update Manager.)
Under the Ubuntu Software tab there's a drop-down next to "Download from:" If you select "Other..." you'll get a button that says "Select Best Server"; clicking on it gets Ubuntu to run some tests to see what mirror will give the best download speed.
I can't comment on whether this is better or worse than the method you found for yourself. Perhaps someone with some expertise on the issue can comment!
Here are some screenshots for the graphical method:

First, open Ubuntu Software Center, click on Edit in the global menu, and go to Software Sources:
Click on the drop-down menu next to 'Download From' and select 'Other...'

Click on 'Select Best Server'

The best server is highlighted.  Click 'Choose Server' and you're done!

Sunday, February 5, 2012

Making your Video Content Indexable

Internet search engines provide end-users a quick and easy to use way to get access to information available on the Internet. As more and more Internet content is multimedia, you need to ensure that your content is properly indexed by the search engines so that users can discover it. This article will provide an overview of how to enable your video content to be SEO enabled and indexed by the various search engines (Google, Yahoo, Microsoft).
There is a standard document, called a sitemap, that search engine indexers look for when examining your site. This document concisely tells the search engines what content is exposed on your site, the metadata for that content, and where that content is located on your site. A sitemap is an XML file that follows a standard specification.
There are two different flavors of sitemaps that you can (and should) create:
  • Sitemap – A sitemap that will index your content in the standard text based search engines such as www.google.com or search.yahoo.com
  • Video Sitemap – A sitemap that will index your content in media-centric search engines such as video.google.com
Note that both of these sitemaps index the metadata about your video content and provide links to end-users. The difference is where the metadata that is indexed is obtained from and how the content is surfaced in search results.
A proper SEO strategy for your video content will include creating both a standard sitemaps as well as a video sitemap. From a priority perspective, you want to create a standard Sitemap first and then a Video Sitemap.

Standard Sitemaps

Sitemaps follow the sitemap specification that is defined here: www.sitemaps.org. The purpose of the sitemap file is to provide a list of URLs on your site to the search engines. The only other information associated with a URL is when the page was last modified and how frequently the page changes. Note, there is no metadata about your content in this index. Because the sitemap is page-centric, we need to create a model where each video in your library will have a unique page, or URL, associated with it. This can be accomplished by having a single page whose behavior and content can be dynamically changed by passing in different query parameters to the page. For example, if you have a URL like http://www.example.com/video.html?videoId=123, you would have the video.html page look for the videoId query parameter (videoId=123) and modify the contents of the page returned to the browser to contain information about the video with id 123. This would be done on the server-side of your application where the page would look for the ID and then use the Video Cloud Media APIs to fetch metadata about the video and write it into the page.

For the purposes of this article, we assume that there is a single landing page on your site which can be used to play back all video content for your site. Different query parameters will be passed to the page to tell the page what video to play back and what video to surface metadata for. For example, let's say you have a page that displays the contents of an entire playlist and queues up a specific video in a player. You tell the page what playlist to display metadata for via a bclid query parameter and what video to surface in a player via the bctid parameter. Thus, what we want to do is create a URL for every unique playlist and video id combination.
Here is an example of sitemap that will be created:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

Google Video Sitemaps

A video sitemap is similar in concept to the standard sitemap file; there will be an entry in this sitemap file per video in your account. In fact, a video sitemap uses the sitemap schema as its base and adds additional tags specific to video metadata.
We won't go through the meaning of every element in the video sitemap file, but we do want to touch upon two elements: <video:content_loc> and <video:player_loc>. According to the video sitemap specification:
You must provide one of either the <video:content_loc> or <video:player_loc>
The video:content_loc element would be used to provide a reference to your video file (FLV or MP4) directly. We don't want to do this for several reasons:
  • If you use FMS for streaming, the video sitemap specification does not allow you to reference these files directly; you can only use HTTP.
  • If Google surfaces your content directly in the results page, you want to make sure it is played back through your player to keep all of your analytics, advertising, and branding with your content.
For these reasons, we want to use the video:player_loc element rather than video:content_loc. This will point to a Single Video Player from the Video Cloud system via the Player URL publishing code. We can pass different video IDs to this player to play, using the bctid query parameter. We don't restrict this player to a particular domain and thus will allow it to be directly embedded in the search results.

Here is an example of the video sitemap that will be created:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      <video:player_loc allow_embed="yes">http://www.site.com/videoplayer.swf?video=123</video:player_loc>
      <video:title>Grilling steaks for summer</video:title>  
      <video:description>Get perfectly done steaks every time</video:description>
A complete SEO strategy for your video content should include creating both a standard sitemap as well as a video sitemap. This will ensure that your content is indexed across the widest swath of search engines. Additionally, your content will be surfaced in the most aesthetically pleasing manner for the point of discovery. This article has outlined an approach for providing a unique URL per video and samples for generating the sitemap files that the engines will index.

Tech Search