12 September 2018

How to Build a Photo Tweeting Twitter Bot With Raspberry Pi and Node.js


twitter-bot-raspberry-pi

Looking for a way to make Twitter more useful, if only for other people? One way is to create an automated Twitter bot that tweets images with useful descriptions. You could do this manually… or you could build it with Node.js and host it on a Raspberry Pi. Read on to find out how.

Why Build a Twitter Bot?

Tweeting photos with a bot

If you’ve ever been on Twitter and seen accounts that post photos, or facts, or cartoons, etc., then it’s overwhelmingly likely that these are automated. It’s a great way to build an audience of people interested in the same topic.

But there is another reason, beyond retweets and follows. Building a Twitter bot will teach you some useful programming skills. We’ve previously looked at how to build a basic Twitter bot with Python (also on a Raspberry Pi), but this time we’re taking a different approach.

In this project, we’re going to use Node.js to build a photo-tweeting bot on a Raspberry Pi. The photos will be photos from the First World War, accompanied by a short sentence and attribution). This information will be stored in an array, a basic database.

Get Started: Build Your Database

If you want to build a photo tweeting bot, you’ll need to start by collecting the images you want to share. These should either be your own images, or ones you’ve acquired under a Creative Commons or some other open source license.

You should also keep note of attribution and other information that you want to go with the images. We’ll come back to this information later, once the bot is up and running.

Install Node.js on Raspbian

Begin by installing Node.js. You should already have a Raspberry Pi up and running, with Raspbian installed. For this project, we recommend a Raspberry Pi 2 or later; the project was tested on the Raspberry Pi 3 B+.

In the terminal (or via SSH), update the system package list, and upgrade to the latest version:

sudo apt-get update
sudo apt-get dist-upgrade

Follow the on-screen prompt, and wait while your Pi updates. Once you’re done, reboot with

sudo reboot

When you’re done, use curl to download Node.js:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Next, install it with

sudo apt-get install -y nodejs

When all is done, run a check to ensure the software was installed correctly. The easiest is to check for the version number:

node -v

The response should be something like v8.11.3 (or higher). If you see something like that, you can be confident that Node.js is ready to use.

Build Your Twitter Bot

The next stage is to input the code that will create the bot. Begin by creating a directory:

mkdir twitterbot

Then, change it to the new directory for your bot:

cd twitterbot

Here, create a file called server.js

sudo nano server.js

In this file, input a single line:

console.log('I am a Twitter bot!');

Press Ctrl + X to save and exit, then run the script:

node '/home/pi/twitterbot/server.js'

This should return the phrase “I am a Twitter bot!”. Now that you’ve confirmed this is working, it’s time to install the Twit library with npm (the Node Package Manager). Ensure this is installed by entering:

npm -v

Again, you should see a version number displayed.

Follow this with:

npm init

This begins by prompting you for information about the Node.js app you’re creating. Default options are displayed (like this) so you can just tap Enter to accept them. You can choose to input your own details too. Once this configuration is over, you’ll be asked to confirm the details with “yes”.

The next stage is to install the Twit module from the npm.

npm install twit --save

Wait while the files download into the node_modules subdirectory. Once that’s done, open the server.js file again in nano.

sudo nano server.js

Here, delete the command you entered earlier, replacing it with:

var fs = require('fs'),

    path = require('path'),

    Twit = require('twit'),

    config = require(path.join(__dirname, 'config.js'));

Save and exit as before.

Create a Twitter App

To build a working Twitter bot, you’ll need to create a Twitter app. This is a simple process, which requires you to first sign up for a new Twitter account. Note that this also requires a phone number to verify the account, and once this is done, head to developer.twitter.com to create the app.

If you don’t have a developer account, this may take some time, as there is a certain amount of form filling needed. This is a step Twitter has taken to avoid spam, so take your time and answer the questions accurately.

Click Create an App, and add the details as requested. At the time of writing, the developer system is undergoing an overhaul, so you may have to wait a few days (and answer some additional questions).

Create an app in Twitter

Next, switch to the Keys and Tokens tab, and under Permissions find the Access permission and ensure it is set to Read and Write (use Edit if not). Then switch to Keys and Tokens and make a note of the following:

  • Consumer Key
  • Consumer Secret

Under Access token, click Create to generate:

  • Access Token
  • Access Token Secret

These are the API keys which you’ll need for giving the bot access to your Twitter account.

Back in the command line, create config.js in nano:

sudo nano config.js

Add the following

var config = {
 consumer_key:         'XXXXX',
 consumer_secret:      'XXXXX',
 access_token:         'XXXXX',
  access_token_secret:  'XXXXX'
}
module.exports = config;

Where it reads ‘XXXXX’, substitute your own corresponding API key details.

Add your key strings generated by Twitter into the config file

Save and exit, then open server.js.

sudo nano server.js

Here, append the following lines to the end of the file:

var T = new Twit(config);

T.post('statuses/update', { status: 'My first tweet!' }, function(err, data, response) {
  console.log(data)
});

It should look like this:

This code will prompt a tweet to be sent.

Again, save and exit, then in the command line, enter

node server.js

Open your Twitter account in the browser to see the results:

A test tweet sent using Node.js code

You’ve confirmed the bot is tweeting, so it’s time to give it something to do!

Create Your Folder of Images

To tweet photos, copy the images you collected into a folder (typically named images). Start off with a dozen or so.

Next, return to the server.js document:

sudo nano server.js

Here, remove the code that sent the tweet, the line beginning T.post(‘statuses/update’).

Next, replace this with a function, called random_from_array. This will pick an image at random from the images folder.

function random_from_array(images){
  return images[Math.floor(Math.random() * images.length)];
}

Once you’ve done this, you’ll need to add a second function, upload_random_image:

function upload_random_image(images){
  console.log('Opening an image...');
  var image_path = path.join(__dirname, '/images/' + random_from_array(images)),
      b64content = fs.readFileSync(image_path, { encoding: 'base64' });

  console.log('Uploading an image...');

  T.post('media/upload', { media_data: b64content }, function (err, data, response) {
    if (err){
      console.log('ERROR:');
      console.log(err);
    }
    else{
      console.log('Image uploaded!');
      console.log('Now tweeting it...');

      T.post('statuses/update', {
          media_ids: new Array(data.media_id_string)
        },
        function(err, data, response) {
          if (err){
            console.log('ERROR:');
            console.log(err);
          }
          else{
            console.log('Posted an image!');
          }
        }
      );
    }
  });
}

This function picks an image at random from the images folder, and once selected is uploaded to Twitter using the media/upload API.

Next, add the following code. This will find the images directory, and take an image from it, posting one at random every 60 seconds. You can (and should) edit this timing, which is represented in the code with the figure 60000. Longer gaps are advisable.

    setInterval(function(){
      upload_random_image(images);
    }, 60000);
  }
});

Save this with Ctrl + X, then Yes to save. (You can find the full code for this project at GitHub).

A single use of the node server.js command will then prompt the photos to begin tweeting! (Should you need to end the posts, press Ctrl + Z to cancel the server.js script.)

Adding Text to Your Photo Tweets

If you need to add text to your images, this can be done using an array. The array will refer to the filenames of the images and list the text that should be added. For instance, you might add attribution to images that you didn’t take. Or you might add some facts or a quote.

A Twitter bot can post photos and text

Begin by creating images.js

sudo nano images.js

Here, add the following code. This is an array, with two elements, file, and source. These hold the file name of the image, and the attribution (typically a URL).

var images = [
  { 
    file: 'image0001.png',
    source: 'http://www.example.com/image0001.png'
  },
  { 
    file: 'image0002.png',
    source: 'http://www.example.com/image0002.png'
  },
]

Repeat as necessary for each image, then end the images.js file with:

module.exports = images;

Save and close the file, then open server.js again, and add this to the list of variables:

images = require(path.join(__dirname, 'images.js'));

Save and exit, then restart the Twitter bot with the node server.js command once again.

You might also use the “source” field to include some text, explaining the background of the picture. This can be included alongside the URL.

Your First Twitter Bot, Ready to Reuse!

By now, you should have an auto-posting Twitter bot up and running, sharing photos, facts, and attributes on your given topic.

To summarize, the process is:

  • Collect your photos
  • Install Node.js
  • Build your Twitter bot
  • Apply for developer status on Twitter
  • Create a Twitter app
  • Add an attribution array
  • Start tweeting!

Perhaps the best thing about this is that the code can be used to tweet photos, facts, and attributes on literally any subject.

Want to know what other bots you could run with a similar setup? Check our list of the best Twitter bot projects for the Raspberry Pi!

Read the full article: How to Build a Photo Tweeting Twitter Bot With Raspberry Pi and Node.js


Read Full Article

Nintendo Switch online service will launch on September 18th


Nintendo has communicated quite a lot on its new online service. And the company just shared the last missing piece of information — the service will launch on September 18th.

For the first time, Nintendo will launch a subscription service to access online services. It’ll cost $20 per year, $3.99 per month or $7.99 for three months.

Subscribers will be able to play multiplayer online games, such as Mario Kart 8 Deluxe, Splatoon 2 and Arms. If you were already playing those games over the internet, you’ll have to start paying.

In order to sweeten the deal, the company is adding new services for subscribers. Your save data will finally be synchronized with Nintendo’s servers. If you break or lose your Switch, you’ll be able to restore your user profiles. Unfortunately, it won’t work with Splatoon 2, Dead Cells, Dark Souls Remastered, Fifa 19, NBA 2K19 and Pokémon Let’s Go.

Subscribers will also be able to play NES games for free. Around 20 games will be part of the library. If you plan on subscribing, Nintendo will offer a 7-day free trial on September 18th.


Read Full Article

Dealers remain on Instagram as it pushes drug searchers to treatment


You don’t have to search too hard to find Xanax and Fentanyl dealers posting their phone numbers all over Instagram, but at least it’s starting to push people towards addiction recovery resources.

Backlash led Instagram to perform a cursory blocking of exact drug name hashtag searches in April did little to solve the problem, as sellers just moved to unblocked hashtags like “#XanaxLife” and “Oxycontins”. Facebook and Instagram could share some of the blame for 2017’s massive spike in synthetic opioid deaths that skyrocketed from 10,000 to 30,000 according to The Center For Disease Control.

So last month, Facebook began redirecting users searching to buy drugs towards a  “Can we help?” box explaining that “If you or someone you know struggles with opioid misuse, we would like to help you find ways to get free and confidential treatment referrals, as well as information about substance use, prevention and recovery.” The box displayed a  “Get support” button that opens The Substance Abuse and Mental Health Services Administration’s website. But I criticized the company for allowing accounts like “Fentanyl Kingpin Kilo” to keep operating, even after it removed posts of some Pages and profiles for violating its drug rules.

But the problem is that some people searching for drugs on Instagram are actually seeking help. “Blocking hashtags has its drawbacks. In some cases, we are removing the communities of support that help people struggling with opioid or substance misuse” Instagram tells me.

Now Instagram will start pointing users searching for words like “opioids” or “uppers” towards treatment options too. The most abused and previously blocked hashtags will remain unsearchable, but new ones like phrases and synonyms of drug names will still be available with this dismissible interstitial. An Instagram spokesperson tells me “As part of Instagram’s commitment to be the kindest, safest social network, we’re launching a new pop-up within the app that offers to connect people with information about free and confidential treatment options, as well as information about substance use, prevention and recovery.”

However, users can opt to “see posts anyway” which makes the interstitial little more than a speed bump for those adamant about finding drugs. At least Instagram tells me it’s testing type-ahead blocking so users won’t be able to easily discover drug synonyms and phrases that would surface dealers.

These pop-ups will appear when users search for opioids, prescription drugs, or illegal drug hashtags, and the company will add more hashtags to the list over time. They’ll show up today in the US before rolling out globally in the coming weeks. Info will also be available to assist concerned friends and family of victims. “We worked in close partnership with Substance Abuse and Mental Health Services Administration, the NCADD, and the Partnership for Drug Free Kids to offer these resources” Instagram explained.

Instagram will have to be vigilant or dealers may win this cat-and-mouse game by constantly switching to new hashtags using drug name variants, misspellings, and synonyms, as well as by restarting terminated accounts. While it’s admirable that it’s trying to avoid shutting victims out of support communities, the relatively hands-off approach might not deter addicts. Instagram should also be flagging users posting drug names and phone numbers as potential dealers. By whitelisting accounts purposefully sharing treatment and support, it could more aggressively chase the pill peddlers.

“Keeping Instagram a safe and open place for people to share their daily lives is hugely important to us. One of the most inspiring things about Instagram is that people can come together to support one another. People from all over the world use hashtags, comments, and more to offer support and find communities who understand the issues they may be struggling with” says Instagram’s Head of Public Policy Karina Newton. “The opioid epidemic is an issue that affects millions of people, and we want to use our platform to offer resources to those who need it – in the places where they are seeking help. This is an important step for us in our ongoing commitment to make Instagram the kindest, safest social network.”

Given Instagram has over 1 billion users, is starting to make some serious ad revenue, and it owned by deep-pocketed Facebook, there’s little excuse for it not applying more content moderation resources to solve this problem already. It’s now late, and some damage has been done, so Instagram can’t play it cautiously anymore. Otherwise the opioid crisis could become the company’s latest scandal.


Read Full Article

Google gets more RCS messaging support from Samsung


Google has secured a bit more buy in from Samsung for a next generation text messaging standard it’s long been promoting.

The Android OS maker’s hope for Rich Communication Services (RCS), which upgrades what SMS can offer to support richer comms and content swapping, can provide its fragmented Android ecosystem with a way to offer comparably rich native messaging — a la Apple’s iMessage on iOS.

But it’s a major, major task given how many Android devices are out there. And Google needs the entire industry to step with it to support RCS (not just device makers but carriers too) if it’s going to achieve anything more than fiddling around the edges.

Zooming out for a moment, the even bigger problem is the messaging ship has sailed, with massively popular platforms like WhatsApp and Telegram having already offloaded billions of users into their respective walled gardens, pulling the center of gravity away from SMS.

Not that that has stopped Google trying, though, even as it has been muddled in its strategy too — spreading its messaging efforts around quite a bit (with false starts like Allo).

Google doubled down on RCS in April when it pulled resources from the standalone Allo messaging app to focus on trying to drum up more support for next-gen SMS instead.

It has also managed to build a modicum of momentum behind RCS. At this year’s Mobile World Congress it announced more than 40 carriers now backed RCS — up from ~27 the year before. The most recent support figure put the carrier number at 55.

But, three years on from its acquisition of RCS specialist Jibe Mobile — and ambitious talk of building ‘the future of messaging’ — there’s little sign of that.

An added wrinkle is that carriers also have to have actively rolled out RCS support, not just stated they intend to. And it’s not clear exactly how many have.

Nor is it clear how many users of RCS there are at this stage. (Back in 2016 carriers were merely talking about building “a path” to one billion users — at a time when SMS had several billions of users, suggesting they saw little chance of creating anything near next-gen messaging ubiquity via the standard.)

The latest Google-backed RCS development, announced via press release, is of an “expanded collaboration” between Mountain View and Samsung — saying their respective message clients will “work seamlessly with each company’s RCS technology, including cloud and business messaging platforms”.

The pair have previously added RCS support to “select Samsung devices” but are now saying RCS features will be brought to some existing Samsung smartphones — including (and beginning with) the Galaxy S8 and S8+, as well as the S8 Active, S9, S9+, Note8, Note9, and select A and J series running Android 9.0 or later.

Which sounds like a fair few devices. But it’s also muddier than that — because again support remains subject to carrier and market availability. So won’t be universal across even that subset of Samsung Android handsets.

They also now say that (select) new Samsung Galaxy smartphones will natively support RCS messaging. But, again, that’s only where carriers support the standard.

“This means that consumers and brands will be able to enjoy richer chats with both Android Messages and Samsung Messages users,” they add, after their string of caveats.

Despite the PR ending on an upbeat note — with the two companies talking about bringing an “enhanced messaging experience across the entire Android ecosystem” — there’s clearly zero chance of that. A clear consequence of the rich ‘biodiversity’ of the Android ecosystem is reduced ubiquity for cross-device standardization plays like this. 

Still, if Google can cherry pick enough flagship devices and markets to buy in to supporting RCS it might have figured that’s critical messaging mass enough to stack against Apple’s iMessage. So added buy in from Samsung — whose high end devices are most often contending with iPhones for consumers’ cash — is certainly helpful to its strategy.


Read Full Article

How to Back Up and Restore Windows 10 Apps Without Backup Software


windows-10-backup-restore

You should always protect your data by backing it up, but it goes beyond documents and photos. Windows applications and utilities that you use all the time also create data, so we’re going to show you how to back up and restore these without even using backup software.

Applications like Maps and Sticky Notes, along with utilities like the Registry Editor and Printer all contain important settings and customization data. You don’t want to lose this!

If you have your own backup tips to share for Windows tools without additional software, let us know in the comments.

General Backup Advice

Backup Windows

Data is the lifeblood of your computer and you should look after it. The methods outlined in this guide are great for quick backups of Windows apps and utilities, but for the ultimate protection you should always backup your entire system regularly and follow these tips:

  1. Have multiple copies of all your data: If you’d be annoyed to lose it, back it up.
  2. Use different storage media: Do not keep your backups on the same drive as the source—if that device fails, you’ve lost everything.
  3. Store one backup offsite: If you keep all your backups physically close, one natural disaster is the end—consider the cloud for easy offsite storage.

For more information, check out our ultimate Windows 10 data backup guide.

1. Windows Apps

A lot of Windows applications store their setting files in unintuitive AppData folders. Here are a few examples of folder paths.

  • Alarms & Clock: %LocalAppData%\Packages\Microsoft.WindowsAlarms_8wekyb3d8bbwe
  • Camera: %LocalAppData%\Packages\Microsoft.WindowsCamera_8wekyb3d8bbwe
  • Groove Music: %LocalAppData%\Packages\Microsoft.ZuneMusic_8wekyb3d8bbwe
  • Maps: %LocalAppData%\Packages\Microsoft.WindowsMaps_8wekyb3d8bbwe\Settings
  • News: %LocalAppData%\Packages\Microsoft.BingNews_8wekyb3d8bbwe
  • Photos: %LocalAppData%\Packages\Microsoft.Windows.Photos_8wekyb3d8bbwe
  • Remote Desktop: %LocalAppData%\Packages\Microsoft.RemoteDesktop_8wekyb3d8bbwe
  • Sticky Notes: %LocalAppData%\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe
  • Weather: %LocalAppData%\Packages\Microsoft.BingWeather_8wekyb3d8bbwe

Simply press Windows key + R to open Run, input the desired folder path, and click OK. Copy and paste the files somewhere else to create your backup.

Paste the application path in the Run window.

To restore the files, go to the app’s folder path, paste the backup and click Replace the files in the destination.

Replace the files in the destination.

Before you begin, ensure the app is completely closed.

2. Start Menu

The Windows 10 Start Menu allows for lots of customization; you can pin programs, sort into groups, set live tiles, and more. You can back up this layout to save time setting it up again.

Back Up the Start Menu Layout

To begin, press Windows key + R to open Run. Input regedit and click OK. This will open the Registry Editor.

Open the Registry Editor.

In the toolbar, click View and ensure Address Bar is ticked. Copy and paste the following into the address bar, then press Enter:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount

Export the Registry Setting.

On the left pane, right click the DefaultAccount folder and click Export. Navigate to where you want to save it, give the .reg file a name, and click Save. Close the Registry Editor.

Again, press Windows key + R. Input %LocalAppData%\Microsoft\Windows\Shell and click OK. This will open a folder via File Explorer.

Within this folder is a file called DefaultLayouts.xml. Copy and paste this file into the same place you saved the .reg file.

Restore the Start Menu Layout

To restore from the backup you created previously, press Windows Key + R to open Run, input regedit, and click OK.

Navigate to the same path as before:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount

On the left pane, right click the DefaultAccount folder and click Delete. Click Yes to confirm. Close the Registry Editor.

Delete the Registry Key.

Next, navigate to where you saved the .reg file and double click it. The Registry Editor will ask if you’re sure you want to continue. Click Yes and then OK.

Copy your backed up version of DefaultLayouts.xml. Press Windows key + R, input %LocalAppData%\Microsoft\Windows\Shell, and click OK. Paste the file here. Click Replace the file in the destination.

Sign out and back into your account to complete the process.

3. Printers

Save yourself the task of setting up your printers by backing them up. This will capture their queues, drivers, ports, and more.

This process uses the Printer Migration application, which is only available if you’re running Windows 10 Pro edition.

Backup Printer Settings

Press Windows key + R to open Run. Input PrintBrmUi.exe and press OK. This will open the Printer Migration application.

Printer Migration settings.

Select Export printer queues and printer drivers into a file and click Next. Select This print server and click Next twice.

Click Browse… to select where you want to save the .printerExport file to. When ready, click Next, then Finish.

Restore Printer Settings

Press Windows key + R, input PrintBrmUi.exe, and press OK.

Select Import printer queues and printer drivers from a file. Click Next, then click Browse… and locate the backup file you made previously. Click Next.

Restore Printer Settings

Review the list of items to be imported and click Next. Select This print server and click Next.

Use the Import mode dropdown to choose between Keep existing printers or Overwrite existing printers. The latter is probably the choice you want, but read the descriptions for each.

Click Next, then Finish, and you’re done.

4. Windows Registry

The Registry is a database of settings for Windows, its hardware, applications, users, and more. It can be a powerful tool for configuring your computer, but it’s also important not to screw anything up in the Registry. To keep yourself safe, ensure you backup your Registry, not least before making any changes in it.

To begin, press Windows key + R to open Run. Input regedit and click OK. This will open the Registry Editor.

Back Up Your Windows Registry

To back up the entire Registry, right-click on Computer in the left-hand pane and click Export. Navigate to where you want to keep your backup, input a File name and click Save.

Back Up Your Windows Registry

You can also backup specific folders of the Registry rather than the entire thing. To do so, use the instructions above, but replace Computer with whatever the folder is.

Restore Your Printer Settings

To restore, open the Registry Editor and go to File > Import… Navigate to where the backup is and double click it to wind back time.

Restore Your Printer Settings

Keep Backing Up Your Data

Whether you use third-party software to backup or use our handy tips above, the important thing is that you actually are backing up. Don’t delay: save yourself a headache in the future and get on it now.

You shouldn’t back up only your Windows apps. You should take steps to back up your Outlook emails on a regular schedule too.

Read the full article: How to Back Up and Restore Windows 10 Apps Without Backup Software


Read Full Article

Google gets more RCS messaging support from Samsung


Google has secured a bit more buy in from Samsung for a next generation text messaging standard it’s long been promoting.

The Android OS maker’s hope for Rich Communication Services (RCS), which upgrades what SMS can offer to support richer comms and content swapping, can provide its fragmented Android ecosystem with a way to offer comparably rich native messaging — a la Apple’s iMessage on iOS.

But it’s a major, major task given how many Android devices are out there. And Google needs the entire industry to step with it to support RCS (not just device makers but carriers too) if it’s going to achieve anything more than fiddling around the edges.

Zooming out for a moment, the even bigger problem is the messaging ship has sailed, with massively popular platforms like WhatsApp and Telegram having already offloaded billions of users into their respective walled gardens, pulling the center of gravity away from SMS.

Not that that has stopped Google trying, though, even as it has been muddled in its strategy too — spreading its messaging efforts around quite a bit (with false starts like Allo).

Google doubled down on RCS in April when it pulled resources from the standalone Allo messaging app to focus on trying to drum up more support for next-gen SMS instead.

It has also managed to build a modicum of momentum behind RCS. At this year’s Mobile World Congress it announced more than 40 carriers now backed RCS — up from ~27 the year before. The most recent support figure put the carrier number at 55.

But, three years on from its acquisition of RCS specialist Jibe Mobile — and ambitious talk of building ‘the future of messaging’ — there’s little sign of that.

An added wrinkle is that carriers also have to have actively rolled out RCS support, not just stated they intend to. And it’s not clear exactly how many have.

Nor is it clear how many users of RCS there are at this stage. (Back in 2016 carriers were merely talking about building “a path” to one billion users — at a time when SMS had several billions of users, suggesting they saw little chance of creating anything near next-gen messaging ubiquity via the standard.)

The latest Google-backed RCS development, announced via press release, is of an “expanded collaboration” between Mountain View and Samsung — saying their respective message clients will “work seamlessly with each company’s RCS technology, including cloud and business messaging platforms”.

The pair have previously added RCS support to “select Samsung devices” but are now saying RCS features will be brought to some existing Samsung smartphones — including (and beginning with) the Galaxy S8 and S8+, as well as the S8 Active, S9, S9+, Note8, Note9, and select A and J series running Android 9.0 or later.

Which sounds like a fair few devices. But it’s also muddier than that — because again support remains subject to carrier and market availability. So won’t be universal across even that subset of Samsung Android handsets.

They also now say that (select) new Samsung Galaxy smartphones will natively support RCS messaging. But, again, that’s only where carriers support the standard.

“This means that consumers and brands will be able to enjoy richer chats with both Android Messages and Samsung Messages users,” they add, after their string of caveats.

Despite the PR ending on an upbeat note — with the two companies talking about bringing an “enhanced messaging experience across the entire Android ecosystem” — there’s clearly zero chance of that. A clear consequence of the rich ‘biodiversity’ of the Android ecosystem is reduced ubiquity for cross-device standardization plays like this. 

Still, if Google can cherry pick enough flagship devices and markets to buy in to supporting RCS it might have figured that’s critical messaging mass enough to stack against Apple’s iMessage. So added buy in from Samsung — whose high end devices are most often contending with iPhones for consumers’ cash — is certainly helpful to its strategy.


Read Full Article

Apple, AT&T, Amazon, Google among tech giants called to Senate Commerce Committee


If you weren’t done watching tech giants get grilled by lawmakers, mark your calendar for September 26 in what’s expected to be another riveting round of questioning.

Policy chiefs from AT&T and Charter, along with senior executives at Apple, Amazon, Google and Twitter will face questions from the Senate Commerce Committee later this month about how each company approaches safeguards to consumer privacy. The tech and telco companies will be asked to “discuss possible approaches to safeguarding privacy more effectively,” among other things.

Noticeably absent is Facebook; though the committee says the witness list is subject to change.

Committee chairman Sen. John Thune ssaid the hearing will allow the companies to “explain their approaches to privacy, how they plan to address new requirements from the European Union and California, and what Congress can do to promote clear privacy expectations without hurting innovation.”

Beyond that, it’s not clear exactly what the point of the hearing is.

A congressional source told TechCrunch to expect each company to explain for one what they could do to protect privacy outside of the law, and what role Congress can play in creating a single set of privacy requirements.

This will be the latest in a string of hearings in recent months following the Cambridge Analytica scandal, which embroiled Facebook in an exposure of millions of users’ data.

This will be the second Senate Commerce Committee hearing this year focused on the issue. Facebook chief executive Mark Zuckerberg was called to testify in April and later the Senate Intelligence Committee has held several hearings to discuss election security and disinformation campaigns around the 2018 midterm elections.


Read Full Article

Live from Apple’s iPhone event


Gooooood morning, Cupertino. Today’s the big event at Apple HQ. 2018’s been a slow year for Apple hardware (including a complete no-show at WWDC a few months back). As ever, we’ll be on-hand to help make sense of all of the news as it breaks, and you can follow along with our handy liveblog below. For those who want it straight from the source, you can follow Apple’s live stream or over on Twitter.

As far as what to expect, but all accounts, there’s going to be A LOT. New iPhones are basically a given. Likely there will be a sequel to the iPhone X, along with a cheaper version that keeps the design in tact, while swapping the OLED for something a bit cheaper. A new version of the Apple Watch also seems like all but a given at this point. Here’s a rundown of the most likely announcements for today’s big show to help you brace for the news.

Things kick off at 10AM PT, 1PM ET.


Read Full Article

Live from Apple’s iPhone event


Gooooood morning, Cupertino. Today’s the big event at Apple HQ. 2018’s been a slow year for Apple hardware (including a complete no-show at WWDC a few months back). As ever, we’ll be on-hand to help make sense of all of the news as it breaks, and you can follow along with our handy liveblog below. For those who want it straight from the source, you can follow Apple’s live stream or over on Twitter.

As far as what to expect, but all accounts, there’s going to be A LOT. New iPhones are basically a given. Likely there will be a sequel to the iPhone X, along with a cheaper version that keeps the design in tact, while swapping the OLED for something a bit cheaper. A new version of the Apple Watch also seems like all but a given at this point. Here’s a rundown of the most likely announcements for today’s big show to help you brace for the news.

Things kick off at 10AM PT, 1PM ET.


Read Full Article

The 10 Best Free Udemy Courses


best-free-udemy-courses

How do you pick the best free Udemy classes when there are more than 80,000 online courses to choose from? Well, here are a few steps if you are only interested in the free courses:

  1. Decide your topic.
  2. Use the Udemy menu to drill down to the Categories.
  3. Search for course with the right keyword in the Search Bar.
  4. Click the All Filters button on the search result page.
  5. Apply the Free filter.

Then it’s just a few minutes of diligent sifting to find the course with the best ratings and a good number of enrollments. Use the video preview to check if the instructor’s rhythm agrees with you. The comments can also be a good pointer to the quality of any course.

I put these steps to the test in order to find the best free Udemy classes. Many of the top courses are around technology topics. And as you know, we really like to talk about tech. So here we are…

1. Before You Code: Programming 101

Programming-101

I am assuming you are a beginner. You have decided to test the logical side of your brain. So let’s start with the basic tools of the trade. This course does not teach you any programming languages, but instead offers a gentle introduction to the journey ahead. Like everything else, a coder sticks to some basic principles which you should always remember.

Also: Try the paid Pre-Programming: Everything you need to know before you code course if you manage to snag a discount coupon.

2. Learn Python Coding: Introduction to Python Programming

Introduction To Python Programming

Machine learning is hot. But you can’t use machine learning unless you know how to program. Help yourself to the basics with this free guide. Python is among the world’s most popular programming languages, ranked at the top by IEEE Spectrum in 2017.

It is also flexible, as you can use Python for building desktop and web apps if you don’t want to go into machine learning. The Introduction to Python Programming covers the basics and does not ask for any prior programming experience.

3. Learn Machine Learning: The Top 5 Machine Learning Libraries in Python

The Top 5 Machine Learning Libraries in Python

As mentioned, machine learning is already shaping our lives. So grab the basics of machine learning before you dive into deep learning and AI. All three are interrelated and involve the specific set of techniques that enable machines to learn from data and make predictions.

Udemy has a big roster of excellent machine learning courses. But The Top 5 Machine Learning Libraries in Python course is a gentler introduction and comes at the unbelievable price of free. For instance, there are six lectures devoted to Scikit-Learn, which is the gold standard Python library for general-purpose machine learning and covers many common algorithms used in projects.

4. Learn Data Science: Introduction to Data Science Using Python

Introduction to Data Science using Python

Data science uses statistical tools to extract patterns in big sets of data. It overlaps with artificial intelligence and machine learning, as intelligent algorithms are designed to learn more about the world around us. If you want to become a data scientist, your skillsets will include Python, R, Hadoop, and SQL. Start with this primer course (the first of a series) that will stoke your interest.

Also, look into these paid data science courses on Udemy too when you decide to go deeper into the field.

5. Get Introduced to Cloud Computing: AWS Concepts

AWS Concepts

If cloud services are the present and the future, then Amazon Web Services is at the vanguard. Amazon offers a training and certification path for learning practical skills to help manage the cloud for large enterprises. There are several in-demand niche areas like cloud architecture, container and docker technology, and even cloud backup and disaster recovery.

But this free Udemy course from Linux Academy can be the first step to gather the basic concepts. To make it easier, there are no technical explanations or definitions to memorize. It is visual and conceptual.

6. Simply SQL: Introduction to Databases and SQL Querying

SQL Querying

I read somewhere that a data analyst who doesn’t know SQL won’t get far. But you don’t need to look that far; just see how databases are at the core of any business today. The Structured Query Language (SQL) is how you speak to databases. With SQL you can track your own data and make your own reports instead of relying on the tech department. You can even use SQL with Microsoft Excel.

This is an introductory course on Databases and SQL Querying. It is a simple walkthrough of SQL queries and how you can extract data from a database. It is just the right introduction for someone who does not have any knowledge of SQL.

7. Learn Your First Language: Javascript Essentials

Udemy - JavaScript Essentials

Want to be comfortable in a foreign land? Learn the native language. Want to be a good developer on the web? Learn JavaScript. It is like a “default” language (along with Java and C++) if you want to go anywhere. TechRepublic cites research from the Cloud Foundry Foundation that says:

“According to the research, Java is used in 58% of the organizations represented by the 601 respondents, and JavaScript is used in 57%.”

Last year’s StackOverflow Developer Survey also put JavaScript at the top, as do many other surveys. So just take their word for it and take this basic course that will not only show you how JavaScript works, but also teach you with a mini-project.

If you want to try another free JavaScript course then look at Learn JavaScript for Web Development too.

8. Make Video Games: Introduction to Unity for Absolute Beginners

Introduction To Unity

Unity is a complete software application for game development. An integrated development environment (IDE) like Unity is the less difficult way to design your own game. The harder way is to learn the black arts of programming languages like C++ and Java from scratch. Unity gives you many of the assets for game development along with a code editor. So the workflow is much easier.

This free Udemy course will show you that workflow, from the installation to the process of controlling game objects with code. Some experience with coding will help, but it is not essential. Also, this course is updated for 2018 with a bonus section at the end.

9. Take a Business Class: Introduction to Project Management

Introduction to Project Management

Take any industry, and we’ll bet that while this single skill may look good on your resume, its benefits will jump beyond that paper. If you are good at project management, you will also learn to be adept at managing risk, change, and people. Those are invaluable soft skills for today’s competitive landscape.

More than 100,000 students are enrolled in this course. You may not want to become a project manager just yet, but take this course anyway. It might give you a few insights into your own productivity.

10. Hyperthinking: Improve Your Day to Day Learning & Creativity

Hyperthinking

Hard skills are the bricks. But soft skills are the mortar. You can flounder in your career if you do not develop soft skills like critical thinking and problem-solving. Today, a technology career also needs creativity and design thinking. Maybe some of these soft skills will help us save our jobs from the robots.

As the world changes every day, this course gives you a few hyperthinking tools that can help you frame a situation and think about it in a new way. With these critical thinking tools, you can take on challenges with more confidence.

Select Your Udemy Course and Dive In

These aren’t the only best free Udemy classes, of course. There are many more that are well-rated. The word “best” is relative and you will find your own picks once you work through the course roster. Free Udemy courses are a no-risk introduction to the subjects you are interested in; the only investment is time.

Do remember that learning online on your own needs a lot of self-discipline. So keep these tips in mind as you start your class.

Read the full article: The 10 Best Free Udemy Courses


Read Full Article

New techniques teach drones to fly through small holes


Researchers at the University of Maryland are adapting the techniques used by birds and bugs to teach drones how to fly through small holes at high speeds. The drone requires only a few sensing shots to define the opening and lets a larger drone fly through an irregularly shaped hole with no training.

Nitin J. Sanket, Chahat Deep Singh, Kanishka Ganguly, Cornelia Fermüller, and Yiannis Aloimonos created the project, called GapFlyt, to teach drones using only simple, insect-like eyes.

The technique they used, called optical flow, creates a 3D model using a very simple, monocular camera. By marking features in each subsequent picture, the drone can tell the shape and depth of holes based on what changed in each photo. Things closer to the drone move more than things further away, allowing the drone to see the foreground vs. the background.

As you can see in the video below, the researchers have created a very messy environment in which to test their system. The Bebop 2 drone with an NVIDIA Jetson TX2 GPU on board flits around the hole like a bee and then buzzes right through at 2 meters per second, a solid speed. Further, the researchers confused the environment by making the far wall similar to the closer wall, proving that the technique can work in novel and messy situations.

The team at the University of Maryland’s Perception and Robotics Group reported that the drone was 85 percent accurate as it flew through various openings. It’s not quite as fast as Luke skirting Beggar’s Canyon back on Tatooine, but it’s an impressive start.


Read Full Article