Read This Before You Buy Any Udemy Course

Looking to learn coding this summer? Well, there are plenty of free resources on the Internet to quickly get you started but if you prefer proper instructor-led video courses, go with Udemy. If you are new here, Udemy is an online marketplace where you’ll find courses on everything from calligraphy to photography to programming.

I’ve purchased more than two dozen Udemy courses around web development from different instructors – the list includes courses on React, Redux, JavaScript, Node.js, ES6, Express, Webpack, Firebase, TypeScript – and have been really impressed with the overall quality of the training content. You pay a one-time fee for any course and, unlike Pluralsight or Lynda LinkedIn Learning that charge a monthly subscription, your Udemy course will be yours forever.

Most video courses on Udemy are priced between $20 and $200 but before you key in the credit card, ready this.

Avoid Impulse Buying

Udemy offers massive discounts almost every week and the $150 course you are looking to buy could be available for as low as $10 the next day, or even the next hour.

Do not make ‘impulse’ purchases on Udemy. Add the Udemy course to your wish list or place it in your shopping cart and you could soon have an email from Udemy itself saying that course has gone on sale.

Support the Instructor

Udemy has a simple revenue-sharing agreement with instructors. If the instructor brings the student to Udemy through their own links, Udemy’s commission is mere 3% of the sale price. If a student finds a course by directly searching on Udemy, the instructor’s share is only 50% of the sale.

Check the blog, Twitter or Facebook pages of the Udemy teacher. Buy the course through links shared by Udemy teachers on their social media pages and you’ll be indirectly helping them as they’ll get most of the sale proceeds.

Avoid Coupon Sites

Search for “Udemy Discount Coupons” on Google and a million websites will pop-up. The problem is the 99.9% of these sites offer outdated/expired coupons and their sole purpose is to serve ads or get their own cookie in your browser.

Use Browser, not Mobile Apps

You can buy Udemy courses on their website or through their mobile apps. The interesting thing is that the same course may be priced differently depending on the platform you are on. It’s just like some airline company showing higher prices to people who are browsing on an iPhone.

I simultaneously searched for React.js courses on Udemy on iOS, Android, and Chrome and the prices varied everywhere. The prices displayed were lowest when I opened Udemy on the desktop in Chrome’s incognito mode.

Udemy Website on Chrome

udemy-user

Udemy Android App

udemy-android

Udemy iPad App

udemy-ios-ipad

Udemy Website – Incognito mode

udemy-incognito

The bottom line is that you should never purchase Udemy courses at the list price and always use a desktop to complete the purchase. They probably have to pay Google / Apple a share in the sale and hence the courses are priced higher inside Udemy’s mobile apps.

The post Read This Before You Buy Any Udemy Course appeared first on Digital Inspiration.

How to Backup your Gmail Inbox to another Gmail Account

Looking for an easy way to backup your Gmail messages? The Download Gmail add-on automatically saves a copy of your Gmail emails and file attachments to your Google Drive. You can then use the Drive client to backup the files saved in Drive to your local Windows PC or Mac.

The little downside with this approach is that Gmail and Google Drive share common storage space. So if you archive an email thread that contains, say, a 10 MB file attachment, the email will end up consuming 20 MB overall space in your Google Storage (10 MB in Gmail and another 10 MB in Drive).

Move Gmail Data from One Google Account to Another

If your current Gmail account is running low on storage, you can consider using a new Gmail account to backup your existing emails and then delete the bulky mails from the primary account to make space. There are no addons to install and the Gmail-to-Gmail transfer happens directly in the cloud.

gmail-import-emails.png

Let’s get started.

Create a new Gmail account for backup, go to Settings, select the Accounts and Import tab and choose Import Mail and Contacts.

In the pop-up window, specify the email address of your existing @gmail.com account from where you wish to import the messages into the new account.  Sign-in with your credentials and allow the ShuttleCloud app to access your Gmail and Google contacts data.

Once the authentication is successful, click the “Start Import” button to begin the migration. You can close this window or even log out and close your browser as the import happens in the cloud.

gmail-migration.png

After all the emails are imported, you’ll find a new label in your new Gmail account that will house all the imported emails. The folder structure of the source email account is replicated under this new label.

Google has integrated a third-party vendor – ShuttleCloud – to handle the email migration within Gmail. As per their privacy policy, they do not store any copies of your emails nor do they use your personal information in any way.

Once the migration is complete, you can visit myaccount.google.com/permissions and revoke access to the service. Also, since the authentication happens via Google OAuth, you don’t have to share your password anywhere.

PS: If you are looking to backup your GSuite emails to another Gmail account, please follow this email migration guide.

The post How to Backup your Gmail Inbox to another Gmail Account appeared first on Digital Inspiration.

How to Copy Email Messages from GSuite to a New Gmail Account

Your current organization uses GSuite, formerly knowns as Google Apps, with Gmail for email. You are moving to another company and would like to archive all your existing email messages before they are permanently deleted from the Google servers.

Our previous email migration guide discussed ShuttleCloud, a service built into Gmail that uses Gmail APIs to copy your emails from one Gmail account to another. That approach will, however, not work when you are transferring emails from GSuite to a standard Gmail account.

How to Copy GSuite Emails to another Gmail Address

Step 1: Enable POP

In your old Gmail (GSuite) account, go to Settings, click the Forwarding and POP/IMAP tab, choose Enable POP for all mail in the POP download section and save your changes.

Gmail POP Access

Step 2: Generate password

While modern apps work with the OAuth protocol that do not require you to share your Gmail password with third-party apps, the POP3 protocol needs your password in plain text to download your emails.

While you are logged into the old Gmail account, go to google.com/apppasswords, choose Custom from the Select App drop-down, enter a name (like Download Gmail through POP) and generate the app-specific password.

Gmail Password Screen

Step 3: Transfer Email

Open a new browser tab and sign-in with your new Gmail account. Next, go to Settings, click the Accounts and Import tab, and choose Import mail and contacts. In the pop-up window, enter the full email address of your old Gmail account hosted on Google Apps (GSuite). Click Continue.

In the next step, enter the app-specific password of your old Gmail account that you’ve generated in the previous step. The POP username is the same as your email address while the pop server is pop.gmail.com. Choose port 995 and enable the “Use SSL” setting.

gmail-pop-settings.png

Enable the settings “Leave a copy of retrieved messages on the server” and “Label incoming messages” to easily identify emails fetched from the old address. Click “Start Import”  and Gmail will immediately start copying your old messages to your new email address.

That’s it. The process may take a while to complete based the size of your mailbox. The email transfer happens in the cloud so may safely close your browser.

PS: This method is recommended for transferring the entire mailbox to another email account. If you would like to transfer a select number of email messages, look at the Gmail bulk email forwarder.

The post How to Copy Email Messages from GSuite to a New Gmail Account appeared first on Digital Inspiration.

How to Record your Android Screen with the YouTube Gaming App

YouTube’s gaming platform, available at gaming.youtube.com, primarily focuses on live streaming of video games. It may not have an audience as large as Amazon’s Twitch TV but there exist a few unique features that make the YT Gaming app useful for everyone, not just professional gamers.

One, you don’t need additional hardware or software to live stream your games to YouTube. You can do a quick live stream from your desktop as well as your mobile phone. And the most interesting part, YT Gaming isn’t just for recording gameplay but can be used to record screencasts of any app on your Android phone.

How to Record Screencasts on Android with YouTube

Here’s a step by step guide on how to create screencasts on your Android phone via the YouTube app. Standalone screencasting apps may offer more features but with YT Gaming, the big benefit is that you can even live stream your phone on to YouTube with a tap. The app is free and there are no ads. Let’s get started.

Android Screencast with YouTube

Launch YT Gaming on Android and click the Go Live button. You may choose to live stream your phone directly or record the screencast first, edit the video and then upload it to YouTube.

One the next screen, select an Android App that you’d like to stream. YT Gaming will show a list of apps that fit in the ‘gaming’ category but can you click the ‘All Apps’ link to screencast any app that’s installed on your Android phone.

The recorder will stream everything you do while the session is on including incoming notifications and the text you type in input boxes. Also, it will record the audio from the speaker as well as surrounding sound though you do get an option to mute the microphone. The front camera can be turned off as well.

video-screencast-editor.jpg

After you are done recording, swipe down the notification drawer and tap to stop the session. You can now perform basic video editing before uploading the video to YouTube. For instance, you can replace the ambient audio with background music, trim the video or apply video effects like sepia, B&W and more.

That’s it. Your screencast video is now ready to share with the world.

Also see: How to Create Screencasts with YouTube

How to Keep your Folders on FTP Server and Google Drive in Sync

How do you connect an FTP server to your Google Drive or Dropbox for transferring files in either direction automatically?

Well, the easiest option would be to use a desktop FTP client like Cyberduck (supports Mac & Windows, free) or Transmit (Mac only, paid). These software applications can connect to all the popular cloud storage services including Google Drive, OneDrive, Dropbox and Amazon S3. They can perform a remote-to-remote sync allowing you to recursively transfer files and folders from the FTP server to any cloud service and vice versa.

The only issue with using a desktop application is that it needs to be run manually on your computer. Wouldn’t it be nice if you could set up a task that continuously monitors your Google Drive (or Dropbox or OneDrive) for new files and automatically copies them to a specified FTP server?

Transfer Files from FTP Server to Google Drive

Enter Microsoft Flow, an online automation service that lets you create automated workflows similar to Zapier and IFTTT. The free plan lets you create unlimited workflows and each workflow would run every 15 minutes. And it is the only service in town that can simultaneously talk to Google Drive, OneDrive, Dropbox and FTP /SFTP servers.

google-drive-ftp.png

Let’s create a connector that will upload a copy of the file to Google Drive whenever a file is added to Google Drive. You can similarly setup workflows to sync files from a folder in Dropbox to folder on FTP server. Or connect to Gmail and download emails to your FTP server automatically in the background.

  1. Go the Microsoft Flow Connectors page and activate the FTP (or SFTP) service.
  2. Next select the trigger that should start the workflow. In our case, we’ll choose “When a file is added to the FTP server”
  3. Specify the host address, the username and the password for your FTP server. If you are using SFTP, you may also need to specify the SSH private key and passphrase.
  4. On the next screen specify the full path of the folder on the FTP server that should be monitored for new files.
  5. Click “Add an Action” for the New step, choose Google Drive from the connector list and set the action as “Create File”
  6. Select the folder in Google Drive where the files should be saved, set the file name and file content fields from the list of available files so they match the incoming file name and content.

Save the flow and test. Also checkout the documentation page to know about the various actions and triggers available for the FTP / SFTP connectors in Mcirosoft Flow.

How to Use LinkedIn Sales Navigator outside Gmail and Google Chrome

Rapportive was one of my favourite Google Chrome extensions of all time. If you are new, Rapportive added a little widget in your Gmail sidebar, you could hover your mouse over any email address and the widget would show details for that contact including their current job title, social profiles, contact details and more.

This came handy in two situations. If you receive an email from an unknown person, you can quickly see their social profiles without leaving Gmail. If you are sending an email to someone but unsure if the address is correct or not, you can open the Gmail compose window, type the email address and hover your mouse to see if that person has an associated profile or not.

gmail-linkedin-profile

LinkedIn acquired Rapportive and rebranded the add-on as Sales Navigator targeted more towards the sales professional. The good part is that the original functionality continues to exist so you can still hover over any email address to view the corresponding Linked Profile right inside your Gmail Message.

Remove the LinkedIn Clutter in Gmail Sidebar

While the basic version of LinkedIn Sales Navigator is free, it is more cluttered and feels like a distracting advertisement for the premium version that is continuously displayed in your Gmail sidebar. See the screenshots below:

Gmail LinkedIn addon clean

If you would like to continue using Rapportive but sans the clutter, there are other CSS injecting Chrome extensions that can help. The idea is that you inject custom CSS into the Gmail website that hides any element on the page.

To get started, install User CSS in Chrome. Switch to the Gmail website, click the User CSS menu icon and add the following CSS code. The other good alternatives are StyleBot and User JS CSS if you prefer to inject JavaScript code in addition to user styles.

CSS for Gmail LinkedIn

Use LinkedIn Sales Navigator outside Gmail or Google Chrome

The Linked Sales Navigator add-on is the easiest way to find the LinkedIn profile of a person that is associated with a particular email address. Here’s how it works:

When you hover your mouse over an email address inside a Gmail message, the Chrome extension makes an HTTP request to a particular URL. The HTML response of that URL is rendered in the Gmail sidebar.

Open Demo Page

The interesting part is that this URL can be used outside the Chrome extension as well so you can just append any email address to that URL and get the corresponding LinkedIn profile.  The URL format is:

https://www.linkedin.com/sales/gmail/profile/viewByEmail/email@domain.com

Replace email@domain.com with any other email address, open the URL in any browser and you’ll have the basic LinkedIn profile, just like the one displayed inside Gmail.

Give it a shot by opening this page in your browser. The only constraint is that you should be logged in your LinkedIn account as anonymous requests are not allowed.

Also see: How to Verify an Email Address

Perform Text Analysis with IBM Watson and Google Docs

Google, Microsoft, IBM and Amazon have made it easier for developers to add human cognitive capabilities (also known as artificial intelligence) within their own applications. You need not be a machine learning expert to build a computer program that can recognize objects in photographs, or one that transforms human speech to text or even a chatbot that converses with people in natural language.

The Google Photos app leverages machine learning to identify landmarks and faces in your photos. You can even build and train your own machine learning models by installing Google’s TensorFlow library on your own computer. IBM’s PowerAI lets enterprises deploy TensorFlow like frameworks in the cloud on power systems for training custom machine learning models of any size.

The IBM Code Patterns microsite hosts hundreds of ready-to-use examples around artificial intelligence. For instance, here’s an open source repo that explains how to recognize images of houses that have swimming pools. Another example on Github shows how you can easily build a system that can detect and count products on store shelves using the PowerAI platform.

Train your own Machine Learning Model

If you would like to build your own image recognition engine without the complexity of servers and TensorFlow, try this online demo of the Watson Visual Recognition engine hosted the IBM Cloud (formerly Bluemix) website.

watson-image-recognition.png

You can create your own classifier and upload a set of images to train the classifier.  It is also essential to upload a set of negative images that may look similar but are different. Train the model and, in about a minute or so, your model is ready. Upload any image and the classifier will be able to tell if it matches any of your trained bundles.

IBM Watson + Google Docs for Natural Language Understanding

The Natural Language Processing (NLP) service of IBM Watson uses machine learning to extract entities, person names, places, and understand the overall sentiment and emotion of text. Amazon Comprehend and Google Natural Language are other competing platforms that offer powerful text analysis in the cloud.

ibm-watson-nlp.png

Getting started with Watson NLP is easy and all you need is an IBM Cloud account to get started. The lite plan is free (no credit card required), it never expires and the quota resets every month automatically.

I’ve built a sample Google Apps Script based app that uses Watson NLP to analyze the text in your Google Document. Here’s how you can get started:

  1. Copy this Google Document to your Google Drive
  2. Select the text in the document, go to the IBM Watson menu and choose the Analyze text menu.
  3. Grant the necessary authorization and you’ll see get a pop-up with the list of entities found in the selected text.

The Google Apps Script is open-source and you can find a copy of the source code inside Tools > Script Editor. If you ever run into quota limits, remember to replace the credentials in the source code with your own Bluemix account.

ibm-watson-google-docs.gif

Disclaimer: The writer attended IBM Code Day in Bangalore at the invitation of IBM. The travel and accommodation were arranged and paid for by IBM.

How to Verify an Email Address?

How do you verify if a given email address is real or fake? The obvious solution is that you send a test mail to that email address and if your message doesn’t bounce, it is safe to assume* that the address is real.

[*] Some web domains may have configured a catch-all email address meaning that messages addressed to a non-existent mailbox will not be returned to the sender but in most cases, such email messages will bounce.

Ping an Email Address to Validate it!

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) exists or not.

Using a similar logic, we can verify an email address from the computer without actually sending an email 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 use the PuTTy tool. If you are on a Mac, open the iTerm app.

Step 2. At the command prompt, type the nslookup command:

nslookup  –type=mx gmail.com

This nslookup command will query name servers for that domain. Since we have specified the type as MX, our command will extract and list the MX records of the email domain. 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 in the nslookup output, it is not uncommon to have multiple MX records for a domain. Pick any one of the servers listed in the MX records, maybe the one with the lowest preference level number (in our example, gmail-smtp-in.l.google.com), and “pretend” to send an email message to that server from your computer.

For that, go to the 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

HELO

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:

Place Google Drive Files on your Android Home Screen for Quick Access

You are at the check-in counter, there’s a long queue of people and the lady at the other end has just asked you to present a digital copy of some document for verification. You remember saving that file on your phone but don’t exactly remember where you placed it? Maybe the file is in your Gmail inbox, or Google Drive, or is it on the SD card?

Locating files on your mobile phone isn’t always straightforward, especially when you are in a hurry, and this is exactly where Google Drive can help.

Create File Shortcuts on Android Phone

You can upload the file to Google Drive, then open the file inside the Drive app on your Android phone, and tap “Add to Home Screen” to create a shortcut to that file on the home screen. You should also check the “Available Offline” option so that the file shortcut works even when you are outside the coverage are.

Android File Shortcuts

If you would like to place shortcuts to multiple documents on your home screen, it is recommended that you create a folder inside Google Drive and then create a shortcut. Unlike files, you cannot make an entire folder offline in Drive.

The Dropbox app for Android also allows you to create shortcuts for folders through widgets. Long tap any blank area on your home screen, drag the Dropbox folder widget and select the folder for which you would like to create the shortcut.

Please note that the option to add files to home screen is only available inside the Google Drive app but not the Docs, Slides or Sheets app. If you would like to create a shortcut to your work-in-progress presentation on the Android screen, you should do it inside the Drive App, not the Slides App.

Also see: The Best Android Apps (2018)

How to Send Emails with Google Forms Based on User’s Answers

With the Forms Email Notifications add-on, you can automatically send emails to anyone each time a user submits your Google Form. You can choose to notify the form owner, the form respondent, your team members or anyone else and the emails are triggered immediately after a form is submitted.

The Google Forms add-on can also send conditional emails to specific people depending on what a user has selected in your Google Form. The body and subject of the email message can be personalized for each recipient with the form answers.

Before we get into the implementation, here are some real-world examples where conditional email notifications can come handy:

Example A: Send Email to Different Departments

Conditional Email Notifications

This is a tech support form where the customer fills in the product name and their location. With the Google Forms addon, you can create a conditional email that goes out to the iPhone support team when the selected answer is either iPhone or iPad. Another email could go out to the India team when the customer selects India in the country drop-down.

Example 2: Route Emails to Class Teachers

School Google Form

This is a school form where parents are required to give consent. If a parent says “yes”, the class teacher of the student should be emailed and a confirmation email should also go out to the parent’s email address. If the answer is “No”, the email notifications aren’t sent anywhere.

How to Send Conditional Emails with Google Forms

Here’s a step-by-step guide on how to set up notification emails based on the user’s answers in the Google Form.

Go to the Google Forms store and install the Email Notifications add-on. Next, go to forms.google.com and either create a new form or use any of your existing forms. The addon is also compatible with Quiz based forms.

Configure Email Notification for Google Forms

Inside the Google Form editor window, click the add-on icon (it looks like a puzzle), choose Email Notification for Forms > Create Email Notification (you can also set up mobile notifications with IFTTT).

Here, specify the form rule name (say “Inform the Teacher”) but leave the “Email Addresses to Notify” field blank  – we need to send emails only when specific conditions are met, else we skip the notification. Click Continue.

google-forms-email-rule.png

On the next screen, click the Visual Email button and create your own rich-text email template. You can also include placeholders for form fields – like {{Phone Number}} – and these will be replaced with the actual values entered by the user. Click Continue

Click the Edit Conditions button and here add one or more conditional statements per rule. In the following screenshot, emails are sent to the parent and jeff@school.com whenever the consent value is “Yes” and the teacher’s name contains either Jeff, Jordon or Mary.

In the Rule #2, emails are sent to the school principal if the parent has chosen “No” as the answer and other rules will be skipped.

form-conditional-email-notifications.png

That’s it. Save the rule, go to the live Google Form and submit a test entry. If the rules are correctly set up, the emails will be correctly routed to different email addresses and you can find a copy of all the emails that were sent out in your Gmail Sent Items folder.

Check out the video tutorial ? on YouTube and the documentation to know more about the capabilities of the Google Forms Notifications addon.