Friday, 21 August 2015

If G is For Google, What Do the Remaining “Alphabets” in A-Z Mean?



The recent restructuring of the tech giant Google under a larger company Alphabet, that was announced on Monday, has come up with a lot of news and controversies associated with it. It’s being reported that BMW claims to own the Alphabet trademark and it’s the owner of Alphabet.com domain name.
The co-founders of Google  Larry Page and Sergey Brin, will now look after Alphabet while Google will be handled by the previous senior vice president Sundar Pichai, who will take over as the new CEO.

We bring to you the interesting story behind the name of Alphabet. Alphabet deals in a wide range of moonshot products and internet services. The origin of Alphabet is linked to the different services and products that are offered by Alphabet, previously Google. Find a list of the services and products offered by Alphabet in the alphabetical order below:

A – Alphabet / Android / AdSense / Analytics / Ara / AdMob / Alerts
B – Blogger / Boston Dynamics / Books
C – Calico / Cardboard / Capital
D – Drive / DeepMind / Design / DoubleClick
E – Earth / Express
F – Fiber / Fi / Flights / FeedBurner / Firebase / Finance
G – Google / Gmail / Glass / Groups
H – Hangouts
I – Images / Ingress / Inbox / Invite Media
J – Jump
K – Keep
L – Life Sciences / Local / Loon
M – Maps / My Business / Makani
N – Nest / News / Nexus / Now
O – Offers
P – Plus / Play / Photos / Picasa / Pixate / Patents
Q – (Nexus) Q
R – Refine / reCaptcha
S – Search / Shopping / SageTV /Stackdriver / Skybox / Skia / Scholar
T – Translate / Tango
U – N/A
V – Voice / Ventures / VirusTotal / Video
W – Wallet / Wing
X – X Labs
Y – YouTube
Z – Project Z / Zagat


Monday, 10 August 2015

Useful HTML5 Features: Semantic Tags



In this part of the useful HTML5 features series we are going to present you the new semantic tags that were introduced with HTML5 (most of them). We have provided a simple demo of a page that uses the HTML5 semantic tags.



The first one is the <header> tag. Its name seems simple enough but it is important to know that it can be used not only for the main header of the page. The <header> tag can also be used to indicate headers of different parts of your page such as the header of an independent article located in your website.
You usually insert into a header one or more headings (<h1> to <h6>) , some sort of a logo or information about the author of the post/article/document that will be discussed below it.
We include another new element which is the <nav> – it is best used for the primary navigation(s) of the page. It would not be a good idea to enclose every distant anchor on your webpage with the <nav> tag.
Next, we have the <aside> tag which indicates sidebars or content that is related to the DOM location where it is being placed but it is not essential to it. For example, if your readers are reading an article on a page, you can use it to show the user additional information about the article such as references, highlights from it, interesting facts and even to show the user related articles.
You can also see the use of <figure> . You should use it for code snippets, images, diagrams, charts and other visual content that is related to the place where it is placed but in the same time the enclosing content should still make sense without that figure. Inside the <figure> tag you can nest other tags such as <img> and you can add a caption which explains the figure through the <figcaption> element.
The <section tags indicates a generic section in the document. and it should not be used merely for styling purposes as it affects the document’s outline. The specification pinpoints that the theme of the section should be specified by inserting one or more headings in the section. An important difference between <section> and<article> is that the <article> tag should be a self-contained composition so that when you copy the article to a different place – it would still make sense and will not require the rest of the website’s contents. Like the tag’s name suggests, you could use <article> for blog posts, newspaper articles, comments, widgets and many more.
The <footer> could be used not only at the page’s end but it can be used throughout different sections and articles. It typically contains information such as information about the author, copyright notices, contact information, a map of the site, related information, a way to go back to the top among other possibilities.
The last tag we are going to discuss is <time> – you can add an attribute called datetime to it. This attribute supports a date and a time in the following format: YYYY-MM-DDThh:mm:ss. The element and attribute are machine-readable and can pinpoint times when an article was created, updated or when an event is going to occur. Here is an example of how you might use it: <time datetime="2015-07-14"> 14/7/2015 </time>

Thursday, 6 August 2015

Top statements from manager

Here are top statements from manger.
  1. Out of box ( Your idea is crappy, try again)
  2. Leverage (Subtle way of asking to take advantage of something. God knows what)
  3. WFH (Just being online sleeping at home doing nothing but not taking leave from work too, in short WFH)
  4. Revert back (It means bull crap in proper English. But I want a response to my query)
  5. ASAP (My managers are pissed off, do your work quickly or get fired)
  6. Please do the needful (I have no idea what/how/when to do, but you do it anyway on ASAP bases)
  7. Touch base (Warning: This is not an invitation to touch your boss’s base)
  8. Proactive (DO extra work you’re not paid for)
  9. I’m low on resources (Humanity is dead. We’re just resources. Sigh!)
  10. Bring to the table (Ohhh puleesse !!! don’t sit idle & sleep during my boring meeting. You can join me with your OOB ideas too)
  11. Keep me in the loop (Include me in every unnecessary email chain ever.)
  12. Network with people (You should waste your more time on doing unproductive work, that’s what you meant?)
  13. Core competencies (I just want to prove that you’re good at nothing. Hence, this spine breaking jargon that means nothing.)
  14. Give 110% (Subtle way of asking you to slog)
  15. Win-win (It’s a trap. Run)
  16. Ramp up (Develop extra skill that’s not your interest at all)
  17. What’s the ballpark number (I know you’ve no idea about the estimation, just throw a random number on me)
  18. Let’s take this offline (You’re never going to talk about this again)
  19. I don’t have the bandwidth (Not really, it means your manager can’t work. Why? Coz. Managers are not supposed to work)
  20. SWOT analysis (I’ve no idea what’s happening, so let me do my numbo-jumbo)
  21. Better visibility (It means you should show up in the office more often. Not sleep during the meetings and get your work done)
  22. My 2 cents (here is my advice that’s not even worth 2 cents. Take it anyways because I’m your boss.)
  23. Open door policy (Just because the door to my cabin is open, doesn’t mean I want to listen to your BS. But I want to get promoted to Sr. Manager, so I’ll rub this jargon in your face anyway.)
  24. Value-add (You’re not adding any value to the company. Time to look for a new job.)
  25. OOO (Dear manger, I will pray to god that you may forever be out of office)

Wednesday, 5 August 2015

How To Access Blocked Websites? 6 Easy Ways



Given the current stature of the constitutional “Rights” and “Freedoms” conferred upon the public in most of the democracies, censorship and bans on trivial matters often come as a surprise. And in the era of the Internet, harassing the general public is even easier. Be it the controversial net neutrality, or restriction to access to specific websites.
If you also feel stifled by the blocked websites then here are some ways to access blocked websites:

1. Become Anonymous: Use Proxy Websites

A proxy website becomes a moderator between the user and server site. The proxy website camouflages the blocked site from the ISPs and allows you to access blocked websites. To get a proxy website for any blocked site, just perform the Google search.
Eg: Facebook Proxy Server. In case, Facebook is blocked in your institution, or you can go to
http://www.spysurfing.com/
http://proxify.us/p/ and more…

2. Use VPN

VPN or Virtual Proxy Network allows you to connect your device to a secure connection to another network over the internet. VPN enables you to access blocked websites from your home network and puts your IP address in a land far away. You can also download the apps or open the sites blocked in your country.
Check out our How To set-up VPN on Android devices without the need of any software

3. Use IP Rather Than URL

The blocked website sometimes are stored as a list of URLs and using IP of the website might work in few of the cases. To get the IP address for any website, you do a ping domain.com command in Command Prompt.
Using IP is a simple way to access blocked websites in your region. However, if the website had hidden its IP too, then it won’t open with this method.

4. Change Network Proxy In Browsers

Your college or institute might be having more than one proxy for its network. So, it happens that some websites are restricted on one proxy, but accessible in another. So, you can give a try to proxy surfing to access blocked websites in your college.
Change the advanced settings of your Firefox browser and select the Manual Proxy. Put the bypass proxy under HTTP proxy.

5. Use Google Translate

Institutes or even countries sometimes don’t ban Google Translate. So, you can bypass the restriction by converting the blocked website into some other language that you may know. Try Google Translate and see for yourself. It is yet another simple way to access blocked websites.

6. Bypass via Extensions

If the websites that are blocked by your institute or office are dynamic in nature such as Facebook or YouTube, then should give a try to these extensions. Hola and ProxMate are some extensions that you can use to access blocked websites.
These are some of the most effective and easy to use methods to circumvent the censorship that has been put on your favorite websites. Let us know which one do you prefer to access blocked websites in your region.

Sunday, 26 July 2015

JQUERY UI EVENTS CHEATSHEET

While creating the accessible multi-level dropdown navigation, I had to think a lot about which jQuery events were applicable for desktop vs mobile and mouse vs keyboard. I created a little cheatsheet for myself to reference, which turned out to be quite useful and so I thought I would share it.

THE UI EVENTS

The “UI” events I was looking to were events which invole the user interacting with an element. Here is an overview of the events -

EventDescription
.focusWhen an actionable element, e.g. ainput or button, gains focus
.blurWhen an actionable element loses focus
.focusinWhen an actionable element, or its children, gains focus
.focusoutWhen an actionable element, or its children, loses focus
.clickWhen an element is clicked
.dblclickWhen an element is double-clicked
.mousedownWhen a pointer presses on an element
.mouseupWhen a pointer releases press on an element
.mouseenterWhen a pointer enters the area of an element
.mouseleaveWhen a pointer leaves the area of an element
.mousemoveWhen a pointer moves within the area of an element
.mouseoutWhen a pointer is registered outside the area of an element after previously being registered within it
.mouseoverWhen a pointer enters the area of an element
.hoverA shorthand for both .mouseenter and .mouseleave events
.keydownWhen a key is pressed while on an element
.keyupWhen a key is released while on an element
.keypressWhen a key (not including modifier and non-printing keys such as Esc) is pressed while on an element
RESPONDING USER INTERACTIONS

The way these events are organised in the jQuery documentation can be a bit confusing. For example, the only events listed under keyboard events are .keydown, .keyup, and .keypress. However, other events can also be triggered by the keyboard.

Here is a list of the UI events and which types of user interaction each can be triggered by -

EventMouse?Keyboard?Screen Tap?
.focus
.blur
.focusin
.focusout
.click
.dblclick
.mousedown
.mouseup
.mouseenter
.mouseleave
.mousemove
.mouseout
.mouseover
.keydown
.keyup
.keypress

SCREEN TAP INTERACTIONS

Screen taps are treated very similarly to clicks. Each screen tap is almost like each time the mouse moves on screen. This is why a doubleclick cannot be registered through tapping. However, because of this, we can get some events blocking the registering of other events.
As a test, I chained all the events which can be triggered by a screen tap. When each event is registered, it is appended to a list on screen.
$('.test').on('click mousedown mouseup mouseenter mouseleave mousemove mouseout mouseover',
 function(event) {

  $('#output').append('<li>'+event.type+'</li>');
  return false;

})

When chaining all the events, the clickmousedown, and mouseup events are never registered.
But when the mousemove event was removed, the other, previosuly unregistered, events show up -
KEYBOARD INTERACTIONS When dealing with keyboard interactions, which key pressed becomes pertinent. Some events are triggered by the pressing of a particular key, while, with others, you can access the particular key that was pressed.
EventWhich Key?
.focustab key released while on target element
.blurtab key pressed while on target element
.focusintab key released while on target element or its children
.focusouttab key pressed while on target element or its children
.clickreturn key pressed while on target element
.keydownany key pressed while on target element
.keyupany key released while on target element
.keypressany key (not including modifier keys) pressed while on target element
For the events which respond to any key, we can find out which key was pressed simply -

$('.element').on('keydown keyup keypress', function(e) {
  
  // log the code of the key pressed to the console
  console.log(e.keyCode);

  if ( e.keyCode === 9 ) {
    // tab key pressed
  }
  if ( e.keyCode === 13 ) {
    // return key pressed
  }
})
 

These are some of the nuances that it helps to be aware of when chaining multiple events and targetting different interactions. I hope you find this useful!