Saturday, 30 September 2017

How to Use Low Power Mode on an iPhone (and What Exactly It Does)

Your iPhone has a “Low Power Mode”, which you’ll be prompted to activate it when your phone reaches 20% battery. However, you can enable it before that point to stretch your battery life further. Starting with iOS 11, you can also activate Low Power Mode right from the Control Center.

How to Set Up, Tweak, and Use Your Android Wear Watch

Android Wear is a rather useful addition to your arsenal of technology, but getting to know a completely new device can be overwhelming. Here’s everything you need to know about setting up, tweaking, and using your new Android Wear watch.

Friday, 29 September 2017

Jenkins Contributors Awarded Top Honors at Jenkins World 2017

This is a guest post by Alyssa Tong, who runs the Jenkins Area Meetup program and is also responsible for Marketing & Community Programs at CloudBees, Inc.

Awards

For the first time at Jenkins World, the Jenkins project honored the achievement of three Jenkins contributors in the areas of Most Valuable Contributor, Jenkins Security MVP, and most Valuable Advocate. These three individuals has consistently demonstrated excellence and proven value to the project. With gratitude and congratulations, below are the well deserved winners:

Alex Earl - Most Valuable Contributor

Alex is the current or previous maintainer of some of the most used Jenkins plugins and has been for years. He’s a regular contributor to project policy discussions, and helps to keep the project running by improving the Jenkins project infrastructure, moderating the mailing lists and processing requests for hosting new plugins.

Steve Marlowe - Jenkins Security MVP

Steve is one of the most prolific reporter of security vulnerabilities in Jenkins. His reports are well-written, clearly identify the problematic behavior, and provide references that help quickly resolve the reported issue. On top of that, Steve is always responsive when asked for clarification.

Tomonari Nakamura - Most Valuable Advocate

Ikikko

Tomonari leads the Jenkins User Group in Tokyo, which is one of the largest and the most active with a long history. The group has been organizing meet-ups for more than 10 times now, and every meet-up fills up to 100% very quickly with regular turn-out of 100-200 people. At one point the group under his leadership organized a fully volunteer-run "Jenkins User Conference" in Tokyo that commanded 1000+ attendees.

Congratulations to our winners.

We can’t wait to recognize more contributors at Jenkins World 2018!

Everything You Can Do With the Files App on Your iPhone or iPad

In iOS 11, Apple finally added a file manager to both the iPhone and iPad. Dubbed “Files”, this app is a central place where you can view and manage all your files across services like Apple’s iCloud Drive, Dropbox, Google Drive, and Microsoft OneDrive.

How to Update Your Apple TV to tvOS 11

The latest version of tvOS is out now for the fourth-generation Apple TV (as well as the new Apple TV 4K). Here’s how to update the streaming box and get all the new features.

The Best Android Games Exclusive to the NVIDIA SHIELD

NVIDIA’s line of SHIELD products is a great example of what Android can do when put in the right hands—SHIELD Tablet is still one of the best Android tablets around, and SHIELD Android TV is the top Android TV box you can buy.

How to Make Your iPhone Use JPG and MP4 Files Instead of HEIF and HEVC

In iOS 11, the photos and videos you take will no longer be encoded in the compatible formats you’re used to. Instead of JPG for images and MPEG-4 for video, they’ll use High Efficiency Image Format (HEIF) and High Efficiency Video Format (HEVC), respectively. Files in these newer formats are about half the size of JPG and MP4 files of similar quality.

Cord Cutting Only Sucks If You’re Trying to Replicate Cable

The cord cutting pushback has begun. Wired, The LA Times and even my own colleagues have all argued that cutting the cord is starting to lose its luster, and that as more companies break off into their own streaming services (instead of putting their content up on Netflix), cord cutting will soon be just as expensive as cable.

Access More Settings in iOS 11’s Control Center with 3D Touch

iOS 11 has a completely new Control Center, which squeezes in more settings onto one screen without needing to swipe back and forth. However, on top of what’s currently available in Control Center, there are even more settings that you can access from that screen with a simple 3D Touch or long press.

Thursday, 28 September 2017

The Most Wonderfully Stupid Sonic the Hedgehog Fan Games

Sonic is hilarious. Maybe it’s the decades of bad games. Maybe it’s the Extreme Attitude™, a 90s marketing gimmick that feels dated now. Or maybe it’s just that he’s a weird looking dude.

How to Recover a Deleted File: The Ultimate Guide

It’s happened to most of us. You delete a file, and then realize you need it back. This guide explains when you can get that file back and how to go about it.

Can Other People See the Tweets I’ve Liked?

You might think that Retweets are public and Likes are private. This makes sense, in a way: anything you Retweet is instantly pushed to your followers, and Twitter doesn’t make it clear at all what happens when you Like a tweet.

How to Stop the IMDB App from Sending You Notifications

Recently, the IMDB app started sending out notifications for “Featured Trailers”. As near as I can guess, this is where the production company pays IMDB to push a link to the trailer to a load of people in an effort to promote it. If IMDB isn’t being paid, they’re just annoying their fans for no reason. Whatever their reason, here’s how to turn these notifications off.

How to Quickly Transfer Files from a Computer to Your Phone with Portal

We’ve all had that moment where we need a file on our phone that happens to be on the computer. Now, there are a couple of ways you can do this: email it to yourself, put it in cloud storage like Dropbox, or even transfer it with a USB cable. But there’s a faster, easier way. Enter Portal.

Amazon slashes Echo prices & debuts new Echo devices

Amazon will head into the holiday shopping season with a simple wish list: It wants voice-controlled devices featuring its digital assistant Alexa to become as ubiquitous in people's homes as televisions.

In a driverless car future, surge pricing can be history

Technology companies are already plotting how to grab the best financial position in the potential brave new world of transportation.

Why Do Some Websites Have Pop-Up Warnings About Cookies?

If you spend any time at all on the web, you’ve probably come across a fairly normal site that seems strangely concerned about cookie education. You’ll see a pop-up that warns you that yes, the site uses cookies…just like almost every other page on the web. If the warning seems redundant and ineffectual, you’re not the only one to think so. But some people think it’s necessary, and those very specific people are in the European Union.

Amazon Just Announced Five New Echos, Here’s What They All Do

At a surprise event in Seattle today, Amazon announced multiple new Echo models—some similar to the original Echo, and others very, very different. Here’s every Echo you can buy right now, and what the difference between them all is.

How to Hide the App Icons at the Bottom of iMessage for the iPhone

A new feature in iOS 11 gives you quicker access to iMessage Apps at the bottom of the screen, but if you never use them in the first place, they’re just annoying. Here’s how to hide them.

Wednesday, 27 September 2017

How to Create a Bootable USB Installer for macOS High Sierra

The Mac App Store is the default way to upgrade or install macOS, but it doesn’t work for everyone. Maybe you’ve got multiple Macs and a limited amount of bandwidth, and don’t want to download the entire operating system for every system. Or maybe you’re looking to install the operating system from scratch.

How to Get Twitter’s New 280-Character Limit Now

In case you haven’t heard, Twitter is testing out a longer 280-character message limit, doubling the restriction that’s been in place since the service started back in 2006. Initially, the longer limit is only available to a few select accounts during the testing period, but intrepid users have discovered how to access the new feature.

Pipeline and Blue Ocean Demos from Jenkins World

At Jenkins World last month, we continued the tradition of "lunch-time demos" in the Jenkins project’s booth which we started in 2016. We invited a number of Jenkins contributors to present brief 10-15 minute demos on something they were working on, or considered themselves experts in. Continuing the post-Jenkins World tradition, we also just hosted a "Jenkins Online Meetup" featuring a selection of those lunch-time demos.

I would like to thank Alyssa Tong for organizing this online meetup, Liam Newman for acting as the host, and our speakers:

Below are some links from the sample projects demonstrated and the direct links to each session.

Developing Pipeline Libraries Locally

If you have ever tried developing Pipeline Libraries, you may have noticed how long it takes to deploy a new version to server to discover just another syntax error. I will show how to edit and test Pipeline libraries locally before committing to the repository (with Configuration-as-Code and Docker).

Delivery Pipelines with Jenkins

Showing off how to set up holistic Delivery Pipelines with the DevOps enabler tool Jenkins.

Pimp my Blue Ocean

How to customize Blue Ocean, where I create a custom plugin and extending Blue Ocean with custom theme and custom components.

Deliver Blue Ocean Components at the Speed of Light

Using storybook.js.org for Blue Ocean frontend to speed up the delivery process - validate with PM and designer the UX. Showing how quickly you develop your components.

Mozilla’s Declarative + Shared Libraries Setup

How Mozilla is using Declarative Pipelines and shared libraries together.

See also the #fx-test IRC channel on irc.mozilla.org

Git Tips and Tricks

Latest capabilities in the git plugin, like large file support, reference repositories and some reminders of existing tips that can reduce server load, decrease job time, and decrease disc use.

Visual Pipeline Creation in Blue Ocean

We will show how to use Blue Ocean to build a real-world continuous delivery pipeline using the visual pipeline editor. We will coordinate multiple components of a web application across test and production environments, simulating a modern development and deployment workflow.

Disable User Account Control (UAC) the Easy Way on Win 7, 8, or 10

If you’ve been using Windows for a while, you likely remember how annoying the User Account Control (UAC) was when it first popped up in Windows Vista. We showed you back then how to disable it, and you can still disable it in Windows 8 and 10. Here’s how.

How to Overhaul macOS’ Spotlight Search Using Alfred

Spotlight Search on macOS has gotten a lot better over the last few years, but there’s still so much potential that’s missing. Enter Alfred, which is similar to Spotlight Search, but on some major steroids.

How to Take Screenshots on an Android Phone or Tablet

Sometimes it’s necessary to grab a still image of what’s happening on your device’s screen—that’s called a screenshot. While this used to be a hassle on Android (many moons ago), all modern handsets include the capability. Here’s how to do it.

How to Save Original Photos With Instagram

Instagram, as well as being a fun social network, is now a pretty decent editing app. You’re no longer just slapping over-the-top filters on low resolution images; now you can actually make considered edits. Instagram only posts photos with a max resolution of 1080x1080px, though. The photos most smartphones take are much higher quality than that. If you want the original photo resolution with your Instagram edits applied, you need to save them elsewhere. Here’s how.

What’s the Difference Between OLED and Samsung’s QLED TVs?

Organic light-emitting diodes, abbreviated as OLED, are all the rage for high-end HD televisions. The technology has jumped from phones and tablets to larger screens, and its vibrant colors and “perfect” black levels make for amazing picture quality. But it isn’t the only player in town.

Millennial farmers log on to apps for a better yield

Agri-tech startups including Accel Partners-backed AgroStar, RML AgTech, Aspada Investments-funded EM3 AgriServices, and Aibono are even encountering farmers increasingly interested in the science behind the agriculture inputs.

How to Stop Uber from Tracking Your iPhone’s Location When You Aren’t Using the App

Most iOS apps that require your location give you a choice: you can “Always” grant it access, or only grant it access “While Using the App”. Uber, however, only gave you an “Always” or “Never” choice, which means it could track you after your ride ends and you stop using the app. And they did just that.

Tuesday, 26 September 2017

How to Upgrade Your Mac to High Sierra

Curious about the new features in High Sierra, but not sure how to actually update your operating system? Don’t worry: it’s easy.

How to Hide the “Creation Club News” Spam in Fallout 4

A long time ago in the far-off year of 2015, Bethesda tried to copy the incredible variety of user mods for its big RPG franchises, and make money off of them. It was a bad idea, so they stopped doing that. In 2017, Bethesda had the exact same idea, and it’s still bad, but this time they don’t seem to be listening to anyone.

How to View Notifications You’ve Dismissed on Android

Android’s notification system is arguably one of its strongest features, but it can also be annoying if you accidentally dismiss those notifications. Fortunately, there’s a simple way to view all the notifications that have hit your phone.

How to Turn Off Comments on Your Instagram Posts

Instagram, for the most part, is a pretty lovely social network. People tend to post the good things that are happening in their lives, rather than rants about everything that’s wrong with the world. It keeps things positive.

Cord-Cutting Is Losing Its Luster

Remember a few years ago, when online services were going to slay the anti-consumer demons of DirecTV, Time Warner, and Comcast? Here in 2017, the market for cord-cutting, streaming TV looks a lot more bleak. And thanks to confusing and expensive channel lineups, weird sports restrictions, and more and more exclusive content, the situation isn’t going to get better any time soon.

How to Update Your iPhone or iPad to iOS 11

Apple released iOS 11 on September 19, 2017. You can upgrade by tapping “Install Now” when an update message appears, but you can also check for the update and install it immediately.

How to Install (and Remove) Application Packages from Your Synology NAS

Packages are the applications that make your Synology NAS more than just a glorified network drive. Let’s look at how to install packages, remove them, and even how to add repositories to gain access to even more functionality.

Parallel stages with Declarative Pipeline 1.2

After a few months of work on its key features, I’m happy to announce the 1.2 release of Declarative Pipeline! On behalf of the contributors developing Pipeline, I thought it would be helpful to discuss three of the key changes.

A Pipeline with Parallel stages

Parallel Stages

First, we’ve added syntax support for parallel stages. In earlier versions of Declarative Pipeline, the only way to run chunks of Pipeline code in parallel was to use the parallel step inside the steps block for a stage, like this:

/* .. snip .. */
stage('run-parallel-branches') {
  steps {
    parallel(
      a: {
        echo "This is branch a"
      },
      b: {
        echo "This is branch b"
      }
    )
  }
}
/* .. snip .. */

While this works, it doesn’t integrate well with the rest of the Declarative Pipeline syntax. For example, to run each parallel branch on a different agent, you need to use a node step, and if you do that, the output of the parallel branch won’t be available for post directives (at a stage or pipeline level). Basically the old parallel step required you to use Scripted Pipeline within a Declarative Pipeline.

But now with Declarative Pipeline 1.2, we’ve introduced a true Declarative syntax for running stages in parallel:

Jenkinsfile
pipeline {
    agent none
    stages {
        stage('Run Tests') {
            parallel {
                stage('Test On Windows') {
                    agent {
                        label "windows"
                    }
                    steps {
                        bat "run-tests.bat"
                    }
                    post {
                        always {
                        junit "**/TEST-*.xml"
                        }
                    }
                }
                stage('Test On Linux') {
                    agent {
                        label "linux"
                    }
                    steps {
                        sh "run-tests.sh"
                    }
                    post {
                        always {
                        junit "**/TEST-*.xml"
                        }
                    }
                }
            }
        }
    }
}

You can now specify either steps or parallel for a stage, and within parallel, you can specify a list of stage directives to run in parallel, with all the configuration you’re used to for a stage in Declarative Pipeline. We think this will be really useful for cross-platform builds and testing, as an example. Support for parallel stages will be in the soon-to-be-released Blue Ocean Pipeline Editor 1.3 as well.

You can find more documentation on parallel stages in the User Handbook.

Defining Declarative Pipelines in Shared Libraries

Until the 1.2 release, Declarative Pipelines did not officially support defining your pipeline blocks in a shared library. Some of you may have tried that out and found that it could work in some cases, but since it was never an officially supported feature, it was vulnerable to breaking due to necessary changes for the supported use cases of Declarative. But with 1.2, we’ve added official support for defining pipeline blocks in src/*.groovy files in your shared libraries. Within your src/*.groovy file’s call method, you can call pipeline { ... }, or possibly different pipeline { ... } blocks depending on if conditions and the like. Note that only one pipeline { ... } block can actually be executed per run - you’ll get an error if a second one tries to execute!

Major Improvements to Parsing and Environment Variables

Hopefully, you’ll never actually care about this change, but we’re very happy about it nonetheless. The original approach used for actually taking the pipeline { ... } block and executing its contents was designed almost two years ago, and wasn’t very well suited to how you all are actually using Declarative Pipelines. In our attempts to work around some of those limitations, we made the parsing logic even more complicated and fragile, resulting in an impressive number of bugs, mainly relating to inconsistencies and bad behavior with environment variables.

In Declarative 1.2, we’ve replaced the runtime parsing logic completely with a far more robust system, which also happens to fix most of those bugs at the same time! While not every issue has been resolved, you may find that you can use environment variables in more places, escaping is more consistent, Windows paths are no longer handled incorrectly, and a lot more. Again, we’re hoping you’ve never had the misfortune to run into any of these bugs, but if you have, well, they’re fixed now, and it’s going to be a lot easier for us to fix any future issues that may arise relating to environment variables, when `expression`s, and more. Also, the parsing at the very beginning of your build may be about 0.5 seconds faster. =)

More to Come!

While we don’t have any concrete plans for what will be going into Declarative Pipelines 1.3, rest assured that we’ve got some great new features in mind, as well as our continuing dedication to fixing the bugs you encounter and report. So please do keep opening tickets for issues and feature requests. Thanks!

How to Schedule an Uber Ride for the Future

If you’re planning on being somewhere at a specific time and need to arrange transportation to get there, Uber allows you to schedule rides in advance so that you don’t have to do it when the time actually comes.

What’s New in macOS 10.13 High Sierra, Available Now

The next version of macOS is out now, with improvements to Safari, Mail, Photos, and a lot under the hood. Here are the best features you’ll see in macOS 10.13 “High Sierra”.

Monday, 25 September 2017

How to Enable Two-Factor Authentication on Your Nintendo Account

Nintendo now allows you to enable two-step verification, a form of two-factor authentication, for your Nintendo Account. Whenever you sign into your account—from a Nintendo Switch, on the web, or via a mobile app—you’ll need to enter a code generated by an app on your smartphone as well as your password.

The Best Bluetooth Mechanical Keyboards

It’s odd that, given their booming popularity among all kinds of computer users, mechanical keyboards still have so few wireless options. Between gamers, computing purists, and pragmatists, there doesn’t seem to be much desire for Bluetooth mechanical boards. But if you’d like a mobile-friendly keyboard, or just a more aesthetically pleasing one for your desktop, there are a handful of options out there.

How to Block Calls from a Certain Number on an iPhone

If you keep getting calls from someone (anyone) you don’t want to talk to, the best thing you can do is block them. There are a few different ways to do this on the iPhone, and we’re going to take a closer look at how to manually keep those people out of your life.

How to Use Multiple Apps at Once on an iPad

iOS 11‘s new multitasking features make the iPad even more powerful. The ability to access the dock in any app allows you to more easily launch apps in split-screen mode. iOS 11 also adds a new drag-and-drop feature that allows you to move content between apps.

What’s the Difference Between the “Program Files (x86)” and “Program Files” Folders in Windows?

There’s a good chance you have both the “C:\Program Files” and “C:\Program Files (x86)” folders on your Windows PC. If you poke around, you’ll see that some of your programs are installed in one folder, and some are installed in the other.

IUC charge cut may trigger a faster shift to VoLTE services

With IUC revenue stream drying up, companies will have to switch to VoLTE and unveil bundled offers to counter Reliance Jio threat.

Sunday, 24 September 2017

Saturday, 23 September 2017

How to Automatically Block Spam Calls on an iPhone

Nothing is quite as annoying as receiving spam calls, especially when you don’t know it’s a spam call in the first place. However, thanks to a free app, here’s how you can detect spam calls before you answer them and just plain block them altogether.

How to Download Files with Your Synology NAS (and Avoid Leaving Your Computer On at Night)

If you have a Synology NAS, you can easily configure it to download large files for you, allowing you to shut down your PC and let the NAS hum away in the background. Let’s look at how to start and schedule those downloads now.

How to Measure Distances in Google Maps for Running, Biking, and Hiking

Getting directions in Google Maps lets you easily see how far away the destination is. However, if you want to know the distance between point A and point B on a hiking or running trail, here’s how to do that in Google Maps.

Geek Trivia: The Medical Term For Sleepwalking Is?

Think you know the answer? Click through to see if you're right!

Friday, 22 September 2017

How to See Twitter Notifications For Mentions, But Not Likes or Retweets

If you’ve ever posted a highly-favorited tweet or been part of a popular thread, you’ve probably known the mild annoyance of having your phone overflow with dozens of notifications for retweets and favorites. If this behavior is affecting your enjoyment of Twitter (you social media wizard, you), you’ll probably want to restrict those notifications.

How to Set Your Preferred Autofill Manager in Android Oreo

One of the best new features in Android Oreo is the system-wide autofill service. Basically, if you store passwords and form data in Chrome, this information now syncs across the system for use in apps and the like.

How to Set Up a Facebook Page

Facebook Pages are a great way to promote your business, a cause, or just your hobby. Unlike Groups, which are more of a community feature, Facebook Pages work mostly like a regular Facebook Profile. You can use them to share posts, photos, videos, and whatever else you want. You can also send and receive messages. It’s basically just a profile but for something that’s not human. The biggest difference is that any number of people can Like and Follow the page.

VR needs more competition to build audience: Sony gaming chief

The virtual reality gaming market needs more competition to drive adoption of the technology and spur software developments more competition to build audience, said Sony gaming chief

How to Enable Microsoft’s Precision Touchpad Drivers on Your Laptop

Microsoft has been trying to improve the touchpad experience on Windows 10 laptops. Laptops with “Precision Touchpads” are optimized by Microsoft, support standard gestures, and can be configured from the Settings app. Unfortunately, PC manufacturers can opt out of using Precision Touchpads. Now, there’s a way to install Precision Touchpad drivers even on laptops that don’t ship with them.

Baidu announces $1.5Bn fund for autonomous driving projects

Over the next three years,Baidu's Apollo Fund will invest 10 billion yuan ($1.5 billion) in over 100 autonomous driving projects

UIDAI sends notice to Airtel for alleged flouting of Aadhaar rules over opening payments bank a/c

The UIDAI has slapped notices on Bharti Airtel and Airtel Payments Bank over its retailers allegedly opening payments bank accounts without taking "informed consent" of customers who go for Aadhaar-based mobile SIM verification.

IIT Kharagpur develops solution to check hacking into IoT devices

A team of researchers at IIT Kharagpur has come up with a solution that prevents hacking into devices supporting Internet of Things

Amazon said to be working on smart glasses with Alexa integration

Amazon is attempting to develop glasses that pair with Alexa and would allow users to access the voice-activated assistant outside the home, according to a newspaper report.

How to Automatically Enable Do Not Disturb on Your iPhone While Driving

A new feature in iOS 11, “Do Not Disturb While Driving” figures out if you’re driving or not and toggles Do Not Disturb accordingly. Here’s how to enable the feature.

Thursday, 21 September 2017

How to Automatically Open Articles in Safari’s Reader Mode

Every Mac user should ditch Chrome for Safari, and Safari 11 makes one of its best features even better. Reader Mode, which shows you only the article you want to read without any sidebars ads, or other clutter, can now be set to open automatically on specific websites. This is perfect if there’s a site with content you love, but design choices you absolutely despise.

How To Adjust Mouse Settings in Windows

The old Windows properties window has been around for a long time. In Windows 8 and 10, it probably would have been a good idea to move some of those settings into the new Settings app, but of course that didn’t happen. To get anything useful done, you’ll need to dive into the good old-fashioned Control Panel.

How to Fix the “Screen Overlay Detected” Error on Android

Starting with Android Marshmallow, there’s a curious error that sometimes shows its face, but it can be hard to decipher what’s causing it. The “screen overlay detected” error won’t allow certain apps to launch, which makes it a real nuisance.

How to Post Panoramas to Instagram

Now that you can post multiple photos at once to Instagram, people are starting to take advantage of the feature. If you crop a large panorama seamlessly, you can post the different segments as multiple photos and get a swipeable panorama.

How to Use Android’s Built-In Tethering When Your Carrier Blocks It

Tethering your phone’s internet connection, which allows users to share their phone’s data connection with other devices, is really useful if you’re out and about with no Wi-Fi, but some carriers block the feature from your phone. If you get an error message when you try to tether—something like “Account not set up for tethering”—here’s a fix.

iOS 11’s Control Center Doesn’t Truly Disable Wi-Fi or Bluetooth: Here’s What to Do Instead

That shiny new Control Center in iOS 11 doesn’t actually let you disable Wi-Fi and Bluetooth anymore. You can toggle Wi-Fi and Bluetooth off from the Control Center, but the hardware radios will still be running and they’ll turn back on completely at 5 a.m. Yes, this is really weird.

How to Temporarily Disable Touch ID and Require a Passcode in iOS 11

iOS 11 has a new feature that allows you to discreetly disable the Touch ID unlock functionality, requiring the PIN code for access to the device. Here’s why that’s important (and how to use the new locking feature).

How to Free Up Space on Your iPhone or iPad by Offloading Unused Apps

Apps can consume a lot of space on an iPhone or iPad. In iOS 11, a new feature allows you to remove an app from your device without removing the app’s data. In other words, you can remove the app and free up space without losing anything—when you redownload the app in the future, you can immediately  pick up right where you left off.

Wednesday, 20 September 2017

Safari Now Disables Auto-Playing Videos. Here’s How to Allow Them for Certain Sites

You’re trying to do some reading when you hear it: a video playing somewhere off-screen. You curse under your breath, scroll down to find the offending media, then try to find back your place in the article.

How to Stop iPhone and iPad Apps From Asking for Ratings

Lots of iPhone and iPad apps ask for ratings, and they often don’t stop. Even if you do leave a review just to stop seeing the review requests, new apps you install will pester you for reviews, too. iOS 11 fixes this problem, limiting how often apps can ask for ratings and allowing you to stop these requests entirely.

How to Revoke Third-Party App Access From Soundcloud

SoundCloud, an alternative platform for posting and selling music and other audio-only content, offers an API that lets other websites and applications access its data for cool connections. But it’s always possible to be too connected, and if you’d rather be a little more secure with your SoundCloud account, you’ll want to restrict and cancel some of those connections. Here’s how.

How to Customize Your iPhone or iPad’s Control Center

Starting with iOS 11, you can now customize the Control Center you see when you swipe up from the bottom of your iPhone or iPad’s screen. You can remove shortcuts you never use, add new shortcuts, and rearrange the shortcuts to make the Control Center your own.

How to Delete Your Instagram Search History

Search histories can be somewhat incriminating, and there’s often very little reason to keep them around. Your Instagram search history is no exception. Here’s how to clear it.

Are My Amazon Echo and Google Home Spying on Everything I Say?

In-home voice assistants like the Amazon Echo and Google Home are convenient, but are they also a secret back door for the government and corporations to spy on everything you say? No. Of course not. Reports of the Echo and Google Home’s ability to spy on you have been greatly exaggerated.

Mahindra & Mahindra showcases driverless tractor, launch in 2019

Tractor major Mahindra & Mahindra plans to launch its driverless tractor in 2019 while it would launch a driver assist model in 2018, a top company official said here on Tuesday.

How to Leave the iOS Beta Now that iOS 11 Is Out

Once a major release of iOS comes out, the benefits of being the on the beta release channel diminish significantly–here’s how to get off the beta tester train and get back to regular old public releases.

Udacity opens registration for Intro to Self Driving Cars Nanodegree program

Udacity is also in the process of building a curriculum for a Flying Car Nanodegree program that will open in early 2018

Tuesday, 19 September 2017

16 Finder Shortcuts Every Mac User Should Know

The Finder seems pretty basic, but there are all kinds of things hidden just below the surface. Whether you want to cut and paste files or jump to a particular folder, it’s all about knowing the right keyboard shortcuts.

Is MoviePass, the $9.95 Movie Theater Subscription, Worth It?

MoviePass offers an unprecedented deal for moviegoers: $9.99 a month lets you see a movie in theaters every single day. Yes, you read that right. You can watch around thirty movies in theaters every month for ten bucks. Since that’s cheaper than a single ticket in most places, people flocked to it. But before you sign up, there are still a few things to consider.

What Is “Application Frame Host” and Why Is It Running on My PC?

Open the Task Manager on Windows 10 and you’ll see an “Application Frame Host” background process running. This process has the file name “ApplicationFrameHost.exe” and is part of the Windows 10 operating system.

US defence firms want control over tech in Make-in-India plan

US defence firms offering to set up production lines in India to win deals worth billions of dollars want stronger assurances they won't have to part with proprietary technology

How to Auto-Run Windows Programs When You Plug In a USB Drive

Portable apps—self-contained executables that can be moved onto flash drives and run without installation—are popular tools for anyone who has to work on multiple Windows machines. If you want to make your workflow even faster, you can add an “auto-run” file that automatically opens the program as soon as you plug in the drive.

How to Snooze Notifications in Android Oreo

We get it; you’re busy. You can’t always respond to notifications right when they hit your phone, but you also don’t want to forget about them. Fortunately, in Android Oreo, you can snooze these notifications so they’ll pop up again later.

What Are Creative Commons Licenses?

Any creative work you do is covered by copyright. This means that if you write something, take a photo, record a song, paint a picture, or do anything that creates intellectual property, you get certain legal protections. The biggest protection is that other people aren’t able just to take your work and use it how they please. This is why services like Facebook have such complicated (and scary) Terms of Service.

What Does CCleaner Do, and Should You Use It?

These days, it seems like every Windows user has heard about CCleaner. It’s widely recommended, online and offline—but this week, it acted as a piggyback for malware. The real question we should be asking is: do you really need CCleaner in the first place?

Insurance firms use Chatbots to sell policies, and help you

Artificial intelligence is partly replacing humans to answer customer queries.

China to allow use of smartphones on aircraft

China’s aviation authority has set the ball rolling for allowing the use of smartphones onboard aircraft.

12 Spoiler-Free Stardew Valley Tips and Tricks to Get You Started

One of the big things that makes Stardew Valley such a magical gaming experience is discovering everything for yourself, but that doesn’t mean that aren’t some spoiler-free tips and tricks to help you get started.

How to Reopen Closed Tabs on an iPhone or iPad

Modern mobile browsers allow you to reopen tabs you’ve recently closed, just like desktop browsers do. In Apple’s Safari browser for iPhone and iPad, the feature is a bit hidden—but it’s there. You can also reopen closed tabs in Google Chrome and other third-party browsers on an iPhone or iPad.

Monday, 18 September 2017

How to Add Favicons to Safari on macOS

We’ve been clear: Mac users should ditch Chrome for Safari. It offers much better battery life, better performance, and content filters are way better than ad blockers.

How to Start a Fundraiser After An Emergency Using Facebook

Facebook has several useful tools for disasters, including a way to let others know you’re safe, and find out if others are safe, too. You can even connect with people who need or are offering help, or donate to existing fundraisers. If you want to raise money for your own cause, you can set up a fundraiser through Facebook’s Safety Check.

How to Save Google’s WEBP Images As JPEG or PNG

Google’s new WEBP image format is pretty cool: its unique compression systems can display images at approximately two thirds the size of the same image rendered in JPEG or PNG format.

CCleaner Was Hacked: What You Need to Know

CCleaner, the incredibly popular PC maintenance utility, has been hacked to include malware. Here’s how to tell if you were affected, and what you should do.

How to Make Windows 10’s Taskbar Clock Display Seconds

Windows 10’s taskbar clock can display the precise time down to the second. This feature requires a registry hack to enable, and only works on Windows 10. Windows 7 users will instead need a third-party utility like T-Clock Redux to do this instead.

How to Boost Your Mouse Pointing Accuracy in Windows

From Enhance Pointer Precision to DPI and pointer speed, there are a lot of options that affect how your mouse pointer moves in Windows. The below tips will help you move your mouse pointer more accurately—and even allow you to move it pixel by pixel.

Bitcoins lose lustre in the face of flak

The RBI has been cautioning people against bitcoin trading though, unlike China, it hasn’t asked trading platforms to close operations.

Rickshaws to jump start India's all-electric drive

India, one of the world's most polluted nations, has one of the most ambitious plans to kick its fossil fuel addiction and make new vehicle sales all-electric by 2030.

Mitsubishi in talks to pick up stake in GreyOrange Robotics

The Mitsubishi investment pegged at less than $20 million, could also see participation of GreyOrange's existing backer Tiger Global and is being structured through a convertible note

Cryptocurrencies catches the fancy of Bengaluru's tech-driven millennials

According to domestic cryptocurrency exchanges Unocoin and Zebpay, Bengaluru ranks among the top five cities in the country for transactions and interest levels in digital currencies, alongside Mumbai, Delhi, Ahmedabad and Pune

Sunday, 17 September 2017

The Best Ways to Control All Your Smarthome Devices from One Place

The more smarthome products you pile onto your house, the more complicated it gets to integrate all of them together and seamlessly control them. If you’re in this situation, here are the best ways you can control all of your smarthome devices.

Saturday, 16 September 2017

How to Make Sure a File Is Safe Before Downloading It

If you’re concerned a file might be malicious, you don’t need to download it and rely on your antivirus. You can scan the file for malware with over 60 antivirus engines before you download it—all with one single tool.

How to Manually and Automatically Shut Down and Restart Your Synology NAS

There’s more than one way to shutdown and restart your Synology NAS, including physical interaction with the NAS, software, and scheduled events. Let’s look at all three methods now.

Know all about Bitcoin: What is bitcoin and how does it work?

Bitcoin is a form of electronic money independent of traditional banking. Bitcoins started circulating in 2009 and have become the most prominent of several fledgling digital currencies.

How to Use Your Ecobee Smart Thermostat with Alexa

Controlling your smart thermostat remotely from your phone is cool and all, but don’t forget that you can also make it even easier on yourself and control it with your voice using Alexa. Here’s how to set it up.

Friday, 15 September 2017

Stupid Geek Tricks: Convince Your Friends You’re a Hollywood-Style Hacker with These Tools

Hacking in the movies is crazy exciting: fingers fly across the keyboard, and the screen is an ever flashing array of cryptic characters. It’s all so…interesting. Real hacking, sadly, isn’t that intense. However illegal what you’re doing may be, you’re still just someone sitting at a computer. Most the time you’re just trying to get people to use a fake Google sign-in page.

Lease vs Finance vs Buy: How Should You Pay for the iPhone 8 or X?

Another year, another new iPhone, and it’s time to wade through the mess of confusing financing plans, early upgrades, and pay-to-own schemes. All the different prices, plans, and carriers supporting the iPhone are enough to make our heads spin, so we’re here to help you decide whether it’s better to lease or own.

How Much Better Is the iPhone X’s Camera?

While the iPhone X’s design is its biggest talking point, the thing that really caught my eye watching the announcement was the new camera.

How to Revoke Third-Party App Permissions From Spotify

Internet music service Spotify offers an API that lets other websites and applications access your music and customer data. That can be a really cool feature if you’re using it to integrate music with other tools, like Shazam or Sonos. But, when you’re finished with whatever you’re doing, it’s probably a good idea to restrict access to only the most essential apps. Here’s how you do it.

Does Wireless Charging Work with a Case?

With wireless charging making its way into the new iPhones, there are undoubtedly a lot of questions floating around about how this technology works in practical application. The biggest question I’ve heard so far is: will it work with a case?

How To Find Out What Places Are a Specific Distance From You

Sometimes you want to find out what’s within a certain number of miles of a specific location. Maybe you want to know what area a cell tower covers or what would happen if a nuclear bomb got dropped on your in-laws’ house.

How Does Wireless Charging Work?

Wireless charging is set to become more popular with the adoption of Qi wireless charging in Apple’s iPhone 8, iPhone 8 Plus, and iPhone X. It’s also found on some Android phones, like Samsung’s Galaxy Note 8, Galaxy S8, and Galaxy S7.

How to Get the Most Out of Your Ring Doorbell

The Ring Doorbell works like any other doorbell, but has a video camera built in that can alert you to motion and button presses. While it’s a pretty basic device for the most part, there are definitely some features and tricks that you might not have known about.

Thursday, 14 September 2017

How to Check If a Twitter Account Is a Bot

There are a lot of bots on Twitter. Some are trying to sell things, some are stage one in an elaborate scam, and some are run by international intelligence agencies for any number of reasons.

How to See Who Has Logged Into Your Netflix Account

Netflix knows that you aren’t the only person using your account. The company has turned a mostly blind eye to password sharing, but you may still want to know who’s been logging into your account—especially if you think someone got access without your approval. Here’s how to find out who has logged in using your credentials.

Is Wireless Charging Slower Than Wired Charging?

Look, Apple is making wireless charging cool again with the iPhone 8, 8 Plus, and X. I’m glad! But there are things you should know about this technology—like how fast it’s going to charge your phone. You know, practical stuff.

What’s the Difference Between a Font, a Typeface, and a Font Family?

Since the majority of written words are now produced in one digital form or another, fonts and typefaces have become much more important than they used to be. And to the chagrin of graphic designers and generally nerdy people everywhere, those terms are often used interchangeably.

What Are “Silent” Notifications on Android?

So here’s the scenario: you grab your phone and don’t see anything in the notification bar. But you pull the shade down, and there one is. It’s a mysterious little guy with no icon in the bar.

How to Get Verified On Twitter (or At Least Try)

Oh that sweet blue tick. Only a select few Twitter elite are awarded it—Justin Pot has one. The rest of us digital plebs are left go without, forever unverified. Or are we?

How to Block Calls in Android, Manually and Automatically

It’s dinner time. You’re just sitting down when you get a call. On the other line, a robotic voice says: “We have important information regarding your credit accounts. Please hold to speak to a representative.”

Tesla to unveil electric semi-truck in October

The company has been working on an electric semi-truck since 2016 and had earlier promised to unveil it this September.

Persistent Systems to build e-licensing system for Ohio Medical Marijuana Control Program

The system, expected to go live in early 2018, will integrate with the State’s larger eLicensing platform as well as the State’s payment gateway (CBOSS).

RBI looking into cryptocurrencies, 'not comfortable' with bitcoin

The Reserve Bank of India (RBI) has a group looking into cryptocurrencies as legal tender but emphasised its discomfort with bitcoin

Scheme to push e-vehicles extended by six months

Phase I of FAME-India Scheme was launched for a two-year period between April 1, 2015, and March 31, 2017, at an approved outlay of Rs 795 crore.

30% of bank jobs at risk from technology: Vikram Pandit

Vikram Pandit, who ran Citigroup Inc during the financial crisis, said developments in technology could see some 30% of banking jobs disappearing in the next five years.

Karnataka school kids to be given personalized teaching in Kannada

Laptops with pre-loaded digital content in Mathematics and Science subjects are also being supplied to schools.

How Much Free Space Should You Leave on Your iPhone?

It’s all too easy to fill your iPhone’s storage to the brim with apps, photos, and video, but just because you can doesn’t mean you should. How full is too full? We put our iOS devices through the paces to get to the bottom of things.

Ecobee4 vs. Ecobee3 Lite: What Are the Differences?

Ecobee sells two different smart thermostats, both of which offer different features at different prices. If you’re in the market for a smart thermostat and have narrowed it down to Ecobee, here are some things you should know about the Ecobee4 and the Ecobee3 Lite before you make an official purchase.

Wednesday, 13 September 2017

How to Find a Video’s Bitrate in Windows and macOS

The bitrate of a video governs how much detail a video can display. Even a high resolution video with a low bitrate will look blocky and distorted. Fortunately, it’s easy to find out the bitrate of any video on Windows or macOS.

How to Check a Video’s Bitrate In VLC

A video’s bitrate is a key piece of information in determining the quality of said video. Even if two videos have the same resolution, a lower bitrate is going to result in less detail and clarity. Here’s how to see the bitrate of any video you’re playing in real time with VLC.

The Best Online Retailers for Cheap Imported Gadgets

Unless you regularly peruse the less—ahem—mainstream portions of the web’s personal electronics sites, you might not be very familiar with the booming low-price gadget trade. Manufacturers in China, Hong Kong, Taiwan, and South Korea are more than willing to offer phones, tablets, music players, and even full PCs to buyers whose budgets won’t stretch to the big brand names.

How to Check if Your Extensions Will Stop Working With Firefox 57

With Firefox 57, scheduled for release in November 14, 2017, Mozilla will end support for legacy extensions, and only support newer WebExtensions. Here’s how to check if your extensions will stop working—and how to keep using them after November, if you need to.

How to Take Good Photos of the Moon

The moon is a tricky subject to photograph. When you step outside on the night of a full moon, it looks huge, dominating the sky. But then you take a quick photo and…it’s a small indistinct white blob.

Coming soon: Smart traffic signals at CBD junctions

Of the 35 smart signals proposed under Phase I of the project, 20 have already been installed at major junctions

Dassault Systèmes to soon launch 3D printing marketplace

Dassault has been working on a platform where a product can be 3D printed and delivered to a customer's location with the click of a button.

Bengaluru ranks among the top 25 high-tech cities in the world

Research firm 2thinknow that specialises in analysing innovative cities has placed Bengaluru at 19th place ahead of Berlin, Hong Kong and Shenzhen.

Apple launches Apple TV 4K with 4K & HDR capabilities

Apple unveiled Apple TV 4K on Tuesday, designed to deliver a good cinematic experience to consumers at home with the support for both 4K and High Dynamic Range (HDR).

Is It Worth Upgrading to the Apple Watch Series 3?

It only seems like yesterday when Apple first announced the Apple Watch, but we’re now on the third generation (officially named Apple Watch Series 3). The big question, though, is whether or not you should upgrade your current Apple Watch to the latest and greatest.

Is It Worth Upgrading to the Apple TV 4K?

The fourth-generation Apple TV was a big step up from previous generations, but now that 4K is becoming more popular, Apple is joining the party with its new Apple TV 4K. However, should you upgrade your current fourth-gen Apple TV to the new one?

Is It Worth Upgrading to the iPhone 8, or iPhone X?

As summer turns to autumn, the leaves turn brown and the new iPhone is announced. At How-To Geek, we don’t get outside much, so we’re obviously more interested in the new iPhones than whatever trees are doing. Apple introduces the iPhone 8, iPhone 8 Plus, and the iPhone X. We’re not going to address the profoundly weird start to the keynote, so the big question is: should you upgrade?

What’s New in iOS 11 for iPhone and iPad, Arriving September 19, 2017

iOS 11 is on its way, and Apple announced a number of new features and changes at WWDC 2017 this year. From improvements to Messages and Apple Pay to powerful multitasking and file management on the iPad, here are the best new features. iOS 11 will be released on September 19, 2017, but you can play with it yourself today if you install the iOS 11 public beta.

Nest vs. Ecobee3 vs. Honeywell Lyric: Which Smart Thermostat Should You Buy?

When it comes to smart thermostats, there’s a handful to choose from, but the big three that stand out are the Nest, Ecobee4, and Honeywell Lyric Round. We’ve tried out all three to see which one has the upper edge, and where their features differ.

Tuesday, 12 September 2017

What Is “coreaudiod,” and Why Is It Running on My Mac?

So you saw something called “coreaudiod” while browsing Activity Monitor. What does that do, and could it be causing problems?

How to Fix Windows and Linux Showing Different Times When Dual Booting

Your computer stores the time in a hardware clock on its motherboard. The clock keeps track of time, even when the computer is off. By default, Windows assumes the time is stored in local time, while Linux assumes the time is stored in UTC time and applies an offset. This leads to one of your operating systems showing the wrong time in a dual boot situation.

8 Reasons to Install LineageOS on Your Android Device

CyanogenMod was formerly the most popular custom ROM for Android devices. Unfortunately, a short-lived effort at making the ROM the basis of a business-to-business software company sank the entire CyanogenMod team and its former assets, including the name and community servers. But all isn’t lost: many of the original developers have jumped into the new LineageOS project—a direct follow-up to CyanogenMod. While the extensive device support isn’t quite what it used to be, Lineage is still the first stop for up-to-date community ROMs for many users.

How to Use Android Oreo’s New Notification Channels for Ultra-Granular Notification Customization

Google has done a lot in the more recent versions of Android to give users a way to customize notifications, but nothing even comes close to Oreo’s new Notification Channels. These new settings let you take notifications to a whole new level.

How to Activate Twitter’s Night Mode

Twitter has a dark mode on the web and in its apps, where the bright whites are replaced with deep blues. Ostensibly, this makes Twitter easier to use in low-light environments since it’s less harsh on your eyes. Personally, I just think it makes Twitter look really cool. Here’s how to activate it.

IIT Madras & Verizon Data brings solar technology to rural Telangana

Ramunigundla Thanda, Kesya Thanda, Jogi Thanda and Mantriya Thanda are four rural hamlets of Devarakonda Mandal in Nalgonda district, Telangana. The hamlets are about 100kms from Hyderabad

An insider's view of omni-channel retail in the Middle East versus India

In India, visiting a mall can be a great source of recreation and it’s the same for the young generation living in Middle Eastern countries, however, they have a greater bias towards actually shopping at these malls.

The Cheapest Way to Stream TV: Rotate Your Subscriptions

Ever since the dawn of cable bundles, all we viewers have ever wanted is to pay for just the shows that we want to watch. Now that everyone and their parent company has a streaming subscription, you can sort of do that…but if you subscribe to Netflix, Hulu, Amazon, HBO Now, and all of the other ones you want, it could end up costing as much as cable. Fortunately, there’s a solution: rotate your subscriptions.

NewVoiceMedia recognised as one of Britain’s fastest growing tech firms by the Sunday Times

LONDON, 12 September 2017 – NewVoiceMedia, a leading global provider of cloud contact centre and inside sales technology that enables businesses to have more successful conversations, has been recognised in the Sunday Times Hiscox Tech Track 100, reflecting its rapid international expansion and commitment to driving innovation.NewVoiceMedia secured position 82 in the 17th annual league table, which ranks Britain’s private technology, media and telecoms companies with the fastest-growing sales. Published on 10 September, the 100... Source: RealWire

Codementor: How I learned Pyhton

A beginner willing to work for free , wanna gain some experience.

Peter Bengtsson: cache_memoize - a pretty decent cache decorator for Django

This is something that's grown up organically when working on Mozilla Symbol Server. It has served me very well and perhaps it's worth extracting into its own lib.

Usage

Basically, you are probably used to this in Django:

from django.core.cache import cache

def compute_something(user, special=False):
    cache_key = 'meatycomputation:{}:special={}'.format(user.id, special)
    value = cache.get(cache_key)
    if value is None:
        value = _call_the_meat(user.id, special)  # some really slow function
        cache.set(cache_key, value, 60 * 5)
    return value

Here's instead how you can do exactly the same with cache_memoize:

from wherever.decorators import cache_memoize

@cache_memoize(60 * 5)
def compute_something(user, special=False):
    return _call_the_meat(user.id, special)  # some really slow function

Cache invalidation

If you ever need to do non-trivial caching you know it's important to be able to invalidate the cache. Usually, to be able to do that you need to involved in how the cache key was created.

Consider our two examples above, here's first the common thing to do:

def save_user(user):
    do_something_that_will_need_to_cache_invalidate(user)

    cache_key = 'meatycomputation:{}:special={}'.format(user.id, False)
    cache.delete(cache_key)
    # And when it was special=True
    cache_key = 'meatycomputation:{}:special={}'.format(user.id, True)
    cache.delete(cache_key)

This works but it involves repeating the code that generates the cache key. You could extract that into its own function of course.

Here's how you do it with the cache_memoize decorator:

def save_user(user):
    do_something_that_will_need_to_cache_invalidate(user)

    compute_something.invalidate(user, special=False)
    compute_something.invalidate(user, special=True)    

Other features

There are actually two ways to "invalidate" the cache. Calling the new myoriginalfunction.invalidate(...) function or passing a custom extra keyword argument called _refresh. For example: compute_something(user, _refresh=True).

You can pass callables that get called when the cache works in your favor or when it's a cache miss. For example:

def increment_hits(user, special=None):
    # use your imagination
    metrics.incr(user.email)

def cache_miss(user, special=None):
    print("cache miss on {}".format(user.email))

@cache_memoize(
    60 * 5,
    hit_callable=increment_hits,
    miss_callable=cache_miss,
)
def compute_something(user, special=False):
    return _call_the_meat(user.id, special)  # some really slow function

Sometimes you just want to use the memoizer to make sure something only gets called "once" (or once per time interval). In that case it might be smart to not flood your cache backend with the value of the function output if there is one. For example:

@cache_memoize(60 * 60, store_result=False)  # idempotent guard
def calculate_and_update(user):
    # do something expensive here that is best to only do once per hour

Internally cache_memoize will basically try to convert every argument and keyword argument to a string with, kinda, str(). That might not always be appropriate because you might know that you have two distinct objects whose __str__ will yield the same result. For that you can use the args_rewrite parameter. For example:

def simplify_special_objects(obj):
    # use your imagination
    return obj.hostname 

@cache_memoize(60 * 5, args_rewrite=simplify_special_objects)
def compute_something(special_obj):
    return _call_the_meat(special_obj.hostname)

In conclusion

I've uploaded the code as a gist.

It's quite possible that there's already a perfectly good lib that does exactly this. If so, thanks for letting me know. If not, perhaps I ought to wrap this up and publish it on PyPI. Again, that's for letting me know.

Tonbo Imaging raises Rs 120 Cr in Series B funding led by WRV Capital

"We plan to spend the funds on scaling up our international operations, which constitutes 70% of our revenue, and invest in R&D and product development on commercial businesses," chief executive Arvind Lakshmikumar said

How to Get Premium Hard Drives for Cheap by “Shucking” External Drives

Every now and then, you come across something that sounds way too good to be true, but against the odds, it actually works. Buying cheap external hard drives, cracking them open, and getting more expensive hard drives for your effort is one of those things.

What Is “Spooler SubSystem App” (spoolsv.exe), and Why Is It Running on My PC?

If you poke around in your Task Manager, you’ll likely see an process named “Spooler SubSystem App”, “Print Spooler”, or spoolsv.exe. This process is a normal part of Windows and handles printing. If this process consistently using a high amount of CPU resources on your system, there’s a problem.

Monday, 11 September 2017

How to Get the Old Volume Control Back on Windows 10

Windows 10 provides no way to restore Windows 7’s Aero, Windows Media Center, or other much-loved features. But, for some reason, there is a hidden registry setting that will re-enable Windows 7’s old volume control interface on Windows 10.

How to Remove a Device From Your Netflix Downloads Allotment

Netflix lets you download some of its shows to your device so you can keep watching when you’re on a plane, stuck in the subway, or just don’t want to use up your mobile data. However, you can only download shows on up to four devices. If you ever need to add another, you’ll need to deauthorize one first. Here’s how to do that.

How to Connect an Xbox One Controller to Windows with Bluetooth

The latest version of the Xbox controller—the one included with the Xbox One S and the upcoming One X—includes Bluetooth! Microsoft finally included Bluetooth along with the older proprietary Xbox wireless connection, so Windows users can hook it up without an extra dongle. Here’s how to connect it to your Bluetooth-equipped laptop or desktop.

Doug Hellmann: platform — System Version Information — PyMOTW 3

Although Python is often used as a cross-platform language, it is occasionally necessary to know what sort of system a program is running on. Build tools need that information, but an application might also know that some of the libraries or external commands it uses have different interfaces on different operating systems. For example, a …

Mike Driscoll: PyDev of the Week: Jeff Forcier

This week we welcome Jeff Forcier (@bitprophet) as our PyDev of the Week. Jeff is the current maintainer of the popular Fabric and Paramiko packages. He is also the creator of the Invoke package. You can check out other projects that Jeff contributes to on Github. He also has a blog that you might find interesting. Let’s take some time to get to know Jeff better!

Can you tell us a little about yourself (hobbies, education, etc):

My overall bio can be found at http://ift.tt/2wVdbs6, but here’s some basics!

  • I’ve a bachelor’s degree in computer science (though I don’t hold with those who think one is required for a career in this field.)
  • Most of my hobbies involve a computer or TV screen – for example, I’m a devout video game addict, spend more time than I should just surfing the Web, and enjoy watching video (anime, movies, TV; no Twitch habit yet!)
  • When not glued to a display, I read a lot (mostly scifi & fantasy); take day trips around the beautiful, if disturbingly expensive, San Francisco Bay Area; and annoy my cats.
  • Sometimes I combine these things – such as when my wife and I go on long walks playing Pokémon Go 🙂

Why did you start using Python?

My final semester of university included a course on mobile computing, which in 2004 was VERY different from what that term means today! The professor was a Python advocate and had us write our projects in it, to run on Sharp Zaurus PDAs. My project was a wifi-based advertising/bulletin-board server/client platform, written entirely in Python.

Prior to this I’d written Java for classwork and PHP for fun/jobs, and found I enjoyed Python’s expressiveness – it ‘clicked’ with how my mind works. Post-graduation, I wrote intranet apps in Plone and then Django, which further cemented Python as my language of choice.

What other programming languages do you know and which is your favorite?

Prior to Python I wrote Visual Basic, PHP and Java; haven’t used them since. After learning Python I also picked up Ruby and Clojure.

I enjoy Ruby; my ideal language would be Python with some Ruby syntax (blocks, trailing logic, etc) or Ruby with a more explicit import system and Python’s package ecosystem (i.e. not limited to mostly web and ops.) At the moment everything I’m working with is Python, so my Ruby is gathering dust.

Ruby and Python are more similar than distinct – so I employ Clojure for some personal projects. Being LISP, it stretches my brain and encourages me to work with paradigms I don’t use much in Python, but is modern enough to avoid most of the practical frustrations found in other LISPs.

What projects are you working on now?

​Too many! Which is my own fault. A full list is at http://ift.tt/2w0D2Sd .

Fabric 2 and its underlying Invoke project are my primary foci right now. My time’s spent eyeballing the requirements for their 2.0 and 1.0 releases, respectively; and personal itch-scratching feature work. I’m privileged to use a lot of this OSS at my day job, so I allow myself tangents when something annoys me, or my users, enough.

Strongly related: Paramiko, which has high-priority feature areas needing a serious redo (like auth handling) on top of the usual ‘missing’ features and fixes.

Finally, I’ve been porting my test suites to a pytest-based test runner; the old one I used was based on nose and pytest has gotten so much neat stuff in the past few years, I made the jump. Plus the rewrite allowed for quality-of-life improvements on top of simply “you can use other pytest plugins with it”!

​My other projects (including Alabaster, the Sphinx theme) get maintenance work and the occasional sprint.

How did you end up becoming the maintainer of the these project(s)?

In ~2008 I needed to do config management in Python and there weren’t many options at the time. Fabric was created by another dev (Christian) who based it on Capistrano from the Rails world; it was a single .py and (like early Capistrano) wasn’t very UNIX-y in behavior or invocation, at version 0.1.x.

I submitted a large (pre-Github) PR that turned it into a multi-file package, made it more like a traditional POSIX app, and added some features; as it turns out, Christian was at a turning point on his end and asked if I just wanted the project wholesale. I said yes. 0.9.x was born; and we’re now up to 1.13, with a full-rewrite 2.0 around the corner.

Paramiko has powered Fabric since the beginning; about 5 years into my Fabric stewardship, I forked Paramiko (around 1.7.7) to publish critical bugfixes Paramiko’s author (Robey) hadn’t time to merge. He eventually got back to me and asked if I wanted to take over the original. I said yes and merged my fork back in. Since then, I’ve published versions 1.7.7.x through 1.18, then a (non-rewrite) 2.0, 2.1, etc.

Alabaster started life as a (non-hostile) fork of Kenneth Reitz’s Sphinx theme, which in turn was a gentle rework of Armin Ronacher’s theme for his projects. Alabaster’s intent was to add a lot of configurability to the theme package, for example making it easier to use across multiple sites (as I do with most of my projects’ split www/docs sites.) It’s now the default Sphinx theme!

Invoke (née Fabric 2) is 100% original work, as is my barely-used-by-anyone-else test runner, spec (nose) / pytest-relaxed (pytest).

What challenges have you faced while developing/maintaining these popular packages?

The biggest challenge is simply scaling with the amount of activity the projects get. I’m able to work on them 1-2 days a week due to arrangement with my day job, but as with most OSS, these projects really want more like 1-2 full-time developers.

Making matters worse are my tendencies towards micromanagement and pickiness – they’ve prevented me from giving out full commit/release privileges to others, which would help get more patches out more quickly.

That said, I have a handful of awesome folks who help with ticket triage/patch review; I still feel compelled to at least skim nearly every ticket, but seeing a trusted name in the comments makes it much easier to defer, close or just-merge sometimes!

Backwards compatibility (something I take very, perhaps too, seriously – see “pickiness” above) introduces many challenges, not only around how to make certain changes, but also how to handle them in changelogs, release branches, etc.

Finally, I’m a poster child for impostor syndrome; it’s amazing how you can have millions of PyPI downloads and still beat yourself up for being “bad at computers”!

What sorts of things can we look forward to in Fabric 2?

I have a nice handy list at http://ift.tt/2wUeaZD, some of my personal favorites so far:

  • Python 3 compatibility, finally.
  • Explicit, single-responsibility-principle driven classes instead of functions referencing global module state, which brings a ton of other good stuff like “you can use threads instead of multiprocessing!”
  • Massively expanded configuration system.
  • POSIX/GNU style command-line flags for task arguments; no more weird custom stuff.
  • Command/subprocess execution now way more powerful, more consistent between local/remote, and usable totally standalone (easy-to-use replacement for manual, stdlib subprocess based hacks!)
  • Elegant nested SSH gateway support.

Which Python libraries are your favorite (core or 3rd party)?

In no particular order:

  • requests and sphinx are near-ubiquitous, for good reason;
  • cryptography has been great to work with, and its split high/low level API approach is increasingly valuable as the programming world gets more security-savvy;
  • flake8 and coverage are invaluable for code insight;
  • humanfriendly (or tqdm), tabulate, & blessings all make for attractive user interfaces (spinners, progress bars, tables, colors) – a feature area I’m increasingly utilizing;
  • pathlib, which I should use more than I do;
  • httpie is amazing for introspecting anything web/http based on the CLI.

Where do you see Python going as a programming language?

​I’m not a programming language theorist, and I admit my firm Python bias, but I think it can learn (and is learning) from the current competition, such as Golang and Javascript. For example:

  • Execution speed: Golang is hard to beat, but PyPy’s doing good work, and optional typing in Python 3 can only help (also just for those who like typing, period.)
  • Deploying code: Python justifiably gets a bad rap compared to “copy a static binary”, but the Packaging Authority is doing awesome work and there’s more coming. Wheels are already a huge boon over sdists or eggs.
  • Managing dependencies: npm has the benefit of being a next-gen system, with the bells & whistles that entails; but again, the PyPA does great work and I’m excited for upcoming changes (e.g. Pipfile.)
  • Async: an increasingly common need in our multi-core age; Golang and JS have strong async paradigms, but Python 3.5+ has made solid gains in native async syntax and hopefully will keep improving (plus the built-in syntax is only one option!)

Not a comparison to another language, but: I think helping programmers write secure programs by default is rapidly increasing in importance. Python has an opportunity to be a leader here, given our community is blessed with no few security domain experts, and tends to encourage APIs which do the right thing by default while still being flexible.

What is your take on the current market for Python programmers?

​It’s hard for me to be objective here, my resumé & overall visibility (presumably) means I get more recruiters contacting me than average – but as far as I can tell the market is doing quite well, at least as well as the overall tech sector and possibly moreso.

I think Pythonistas who have, or can get, a leg up on the interfaces between Python and the current hot topics (containers, functions-as-a-service, machine learning, etc) will get an edge when it comes to job opportunities. Take it from someone who lags behind on such topics!

Thanks for doing the interview!

Understanding the true impact of SQL Server deployments

Cambridge UK, Monday 11 September – Redgate Software has released a new version of SQL Toolbelt, its portfolio of database development software, that lets developers and administrators see immediately if database deployments have caused any adverse effects. It addresses a long standing issue that, when database deployments are made, it is vital to monitor their impact in case they lead to SQL Server problems. In many busy organizations, however, it may not be immediately obvious... Source: RealWire

How to Block Text Messages from a Certain Number on an iPhone

Sometimes you get spam messages on your phone. Sometimes people are annoying. Sometimes you just need to block people. The good news is doing that on your iPhone is easy.

How to Find Compatible Lenses for Your Canon or Nikon Camera

Buying lenses for your camera isn’t always simple. The two major manufacturers, Canon and Nikon, both have different options depending on whether you’re getting a lens for a full-frame or crop sensor camera. Even if you’ve got a Canon camera, you can’t be sure that any Canon lens will work.

Telensa Named “One to Watch” in Sunday Times Hiscox Tech Track 100

Smart City Technology Firm Recognised for Rapid GrowthCambridge, 11th September 2017 – Telensa, the global leader in connected street lighting and Smart City applications, today announced that it has been named as one of fifteen ‘Ones to Watch’ in the annual Sunday Times Hiscox Tech Track 100 Report. The fast-growing company recently filed its financial year 2017 accounts, which show revenues of £23M and a profit of £3M. The company’s revenues have grown by 90%... Source: RealWire

Telensa Named “One to Watch” in Sunday Times Hiscox Tech Track 100

Smart City Technology Firm Recognised for Rapid GrowthCambridge, 11th September 2017 – Telensa, the global leader in connected street lighting and Smart City applications, today announced that it has been named as one of fifteen ‘Ones to Watch’ in the annual Sunday Times Hiscox Tech Track 100 Report. The fast-growing company recently filed its financial year 2017 accounts, which show revenues of £23M and a profit of £3M. The company’s revenues have grown by 90%... Source: RealWire

How Much Free Space Should You Leave on Your Windows PC?

It’s a bad idea to fill a Windows system drive completely full, and this could cause a variety of problems. But just how much empty space do you really need?

Gibraltar National Archives chooses Preservica to safeguard its rich heritage

Following the 50th anniversary of the 1967 sovereignty referendum, Gibraltar ensures its cultural heritage is digitally preserved foreverGibraltar National Archives (GNA) has announced a partnership with Preservica to preserve and protect its extensive collection of historic digital records, following yesterday’s National Gibraltar Day, which in 2017 marked the 50th anniversary of Gibraltar’s sovereignty referendum. Using Preservica’s active digital preservation software and collaborative working approach, GNA’s historic records are now safely stored and accessible for generations... Source: RealWire

Gibraltar National Archives chooses Preservica to safeguard its rich heritage

Following the 50th anniversary of the 1967 sovereignty referendum, Gibraltar ensures its cultural heritage is digitally preserved foreverGibraltar National Archives (GNA) has announced a partnership with Preservica to preserve and protect its extensive collection of historic digital records, following yesterday’s National Gibraltar Day, which in 2017 marked the 50th anniversary of Gibraltar’s sovereignty referendum. Using Preservica’s active digital preservation software and collaborative working approach, GNA’s historic records are now safely stored and accessible for generations... Source: RealWire

Over a third of UK firms looking to globalise IT to access tech talent outside the UK

Businesses to invest in global infrastructure to combat skills shortageLondon, UK – September 11, 2017 – With nearly six in 10 (59%) organisations committed to pursuing digitalisation over the next year, the cost of skills to support digital transformation projects is on average 31% higher than other IT projects in the UK. A survey of 120 UK IT leaders by Interoute, the global cloud and network provider, has revealed there is a consensus among 96%... Source: RealWire

"Fredrik Håård's Blaag": What I Wish Recruiters Would Do

I spend a lot of time dealing with recruiters - responding to queries, and accepting or rejecting endless amount of LinkedIn contact requests. I mostly agree to those requests, unless it's obviously a spam account, since you never know what a new contact will give, but a quick review says that way less than 1% of the recruiters who contact me will actually end up signing a new contract. This means 99% of the time I spend on new contacts from recruiters is waste, and if my experiences hold up for the industry1, 99% of the recruiters' time spent on initial contact is wasted as well.

All this waste is not very lean 2.

I don't subscribe to the recruiter hate that a lot of contractors do - I've got little patience for sales, and so far almost all of my contracts come through recruiters who contact me out of the blue with a proposal too good to turn down. I simply can't afford to be hostile to recruiters when they bring me all of my business! On the other hand, while a handful of recruiters keeps my bills paid, it seems to me that the business as a whole could use a bit of a tweak to cause less annoyance and a lot less wasted time for all involved.

In the interest of not just complaining but actually offer suggestions for improvement, I've come up with a few points that would make my own interactions with recruiters much more pleasant and productive.

Read My Profile

Please, please, please read my profile before contacting me. What you can read at the very top of it is that I'm not interested in employment. At all. The next thing is normally my availability - for example, right now only remote work, and not full time.

If a recruiter's first contact with me shows obvious signs of not having read even this far - for example by offering me an on-site employment - they're really not off to a good start. Lets face it, since they have not done even the very most basic research and have no idea of who they're contacting, I have no reason to give them any benefit of the doubt at all.

In addition, if someone reads my entire profile description on LinkedIn, and maybe check out my homepage and blog, they may get a better idea if the proposal they have is a deal I'll ever seriously consider. All of this work probably would probably take half an hour or so, which is of course a lot more than just spamming requests to everyone who matches a search filter... which leads us to:

Stop With The Useless Spamming

Out of the thousands of pure recruiter spam emails I've gotten, exactly zero has lead to anything good and most has lead to an instant block of the spammer, and if I felt ambitious that day, their entire company. This is not because I'm hostile, this is for me to have a chance to read messages from recruiters that send me stuff I might actually be interested in without drowning in junk.

I can't fathom that the spamming actually pays off, but even if it does manage to scare up a desperate junior every now and than, it would be nice to add a "less than a year of experience" filter to the search criteria. That way the cost of spamming will go down, and people who would never ever even respond to such spam can save the time it would take to add the source to the spam filter - it's win win!

Respect The Client And The Contractor

Since the contractor is the source of the recruiters' income, and the clients are the ones actually paying, it would do to pay both just a little respect. I've had recruiter actually laugh when I tell them I don't want a long term contract or empoyment (end call politely, block), try to get me to agree to halve my rates (end call politely, block), or ask me to tell a client I know things I don't (hang up, block). This was annoying enough when I was a junior developer, but is for some reason bringing me close to a rage now that the recruiter often is ten years my junior and does not even have a quarter of my experience in the business.

Another, insidious, disrespect is the one aimed at the clients. Some recruiters seem to be intent on making me feel superior by trash-talking the client's representatives and especially the client's employees. I can just say that if the recruiter shows no respect for the client, I assume they'll try to sell any contractor to them whether they fit the job or not (me?), and I don't want anything to do with a business relationship that starts with mistrust and disrespect.

Of course, it would be equally bad to hide known problems on the client's side from me during the recruitment process, but the blatant talking down of clients just has no place in a professional environment and is only (I assume) meant to boost my ego3, make me feel important, and like the recruiter. It accomplishes none of these, and shows a lack of professionalism that is appalling.

Be An Agent, Not A Used-Car Salesman

In a perfect world, the recruiter would try to honestly represent both my interests and that of the client, while making money on successful deals. In this world, it seems to me that a lot of recruiters look at themselves more like salespeople than agents - the important part is to sell, not to build a working relationship. It is only seldom I feel that I can trust that a recruiter will represent me fairly to the client, and not oversell me and my skills if they can - and likewise, they almost always present the client like the ideal place on Earth4. In my experience, if those mythical "everything is perfect" workplaces exist, they don't hire contractors to help with their presumably non-existing issues.

So I'd like to be able to trust a recruiter to represent the client fairly including the issues they have, and to represent me equally fairly, including the gaps in my experience or skill set that might be important for the client.

Promote Transparency

Repeatedly, I've been told or gotten in writing that I should not, must not, discuss rates and pricing with the client, other contractors, or anyone else.

On one hand, it's like that the fact that the client is charged more than what I charge is some big secret, and the recruiter expects me to react badly to the fact that they, too, make money from their work.

On the other hand, the contracts that stipulates that I'm not allowed to discuss rates with other contractors is just weird - what rates one can charge is naturally very important for a contractor, and no amount of gag rules is going to hide the lay of the land from a freelancer. Those clauses are clearly anti-competitive in their nature, but fail to accomplish anything at all but cause irritation, as contractors follow their letter and willfully ignore and circumvent their intent.

Keep Recruiting, With Precision

After reading this far, you may get the picture that I really dislike recruiters - I don't! More than nine out of ten hours billed for me started with a call or message from a recruiter, and without them I'd be out of work. However, I think that my dealings with recruiters have become more and more of a hassle with more spam and unprofessional behavior lately, and I think there is great potential for great recruiters to stand out from the crowd and build profitable and lasting relationships. This is all obviously written from my personal experience, and other contractors - as well as recruiters themselves - may have wildly different experiences of the business. I'd love for this to lead to discussions that may move us all forward!


  1. Unlikely to mirror exactly, but very possible the truth is in the same ballpark. ^
  2. And everybody wants to be lean! ^
  3. Trust me on this, my ego does not need the boost. ^
  4. Sometimes at the same time as deriding the people working there - see previous point. ^

Kushal Das: Updating Qubes OS

Using updated software is a normal thing, also a few of us get more excited and use latest (not so stable) packages from the testing branch. This helps to detect bugs in the software before they go out the general availability.

As I was already using the RC1 release of Qubes, I thought of upgrading to the latest testing packages.

$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing

As we already know that dom0 does not connect to the network, it actually uses an UpdateVM to download the packages first, and then the packages are sent to dom0. DNF takes care of the actual install/update of the package.

I rebooted the box after the update was done. One of the major change I can see is with copy/pasting text. It is not asking to confirm the extra dialog box while pasting. I can simply copy text, press Ctrl+shift+c and then go to another domain and press Ctrl+shift+v, and then right click and paste (or press Ctrl+v).

I have also updated the Fedora25 templateVM to the latest from my local Fedora mirror. While trying to attach a local image file using loop device (in dom0) to a VM I got into this issue.

I could not find any Fedora 26 repo for Qubes yet, Fedora 25 is the latest there. Fedora 27 release date is in less than 2 months. And then in another month Fedora 25 will be EOL. I hope developers will release packages to upgrade to F26 at least by then.

E-vehicle drive: India may take Elon Musk's Australian policy for a spin

Indian govt is looking at fast adoption and absorption of mature e-vehicle tech. It is studying global parameters and how well they can fit into the Indian scenario.

Nikola: Nikola v7.8.10 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.10. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

What is Nikola?

Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

Find out more at the website: https://getnikola.com/

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Fix crashes with Jinja2 themes and tag indexes (Issue #2900)
  • Ignore empty tags in HTML metadata reader (Issue #2890)
  • Fix crash when compiling empty .html posts (Issue #2851)

Sunday, 10 September 2017

How to Stream Every NFL Game Live, Without Cable

Fall is on its way, which can mean only one thing: football is back! Wouldn’t it be nice if you could watch whatever NFL game you want without being subject to the whims of your local cable company, though?

Three Ways Chromebooks Are Better Than PCs or Macs

Look, I’m not trying to start a war here, but hear me out: Chromebooks are awesome. In fact, I prefer mine to my Windows PC for nearly every use. Why? Because I think it’s a better system. Let’s talk about why.

Vladimir Iakolev: Building a graph of flights from airport codes in tweets

A lot of people (at least me) tweet airports codes like PRG ✈ AMS before flights. So I thought it will be interesting to draw a directed graph of flights and airports. Where airports are nodes and flights are edges.

First of all, I created a twitter application, authorized my account within it and got all necessary credentials:

TWITTER_CONSUMER_KEY = ''
TWITTER_CONSUMER_SECRET = ''
TWITTER_ACCESS_TOKEN = ''
TWITTER_ACCESS_TOKEN_SECRET = ''
USER_ID = ''

As a special marker I chose airplane emoji:

MARKER = '✈'

Then I tried to receive all my tweets with that marker but stuck with a huge problem, twitter REST API doesn’t work with emojis in a search query. So I decided to receive a whole timeline and filter it manually. So only the last 3200 tweets will be parsed. Working with twitter API is very easy with tweepy:

import tweepy


def get_tweets():
    auth = tweepy.OAuthHandler(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET)
    auth.set_access_token(TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET)
    api = tweepy.API(auth)
    cursor = tweepy.Cursor(api.user_timeline,
                           user_id=USER_ID,
                           exclude_replies='true',
                           include_rts='false',
                           count=200)
    return cursor.items()

>>> for tweet in get_tweets():
...     print(tweet)
... 
Status(_api=<tweepy.api.API object at 0x7f876a303ac8>, ...)

Then I filtered tweets with in its text:

flight_texts = (tweet.text for tweet in get_tweets()
                if MARKER in tweet.text)

>>> for text in flight_texts:
...     print(text)
...
ICN ✈️ IKT
IKT ✈️ ICN
DME ✈️ IKT

As some tweets may contain more than one flight, like LED ✈ DME ✈ AUH, it’s convenient to extract all three letter parts and build flights like LED ✈ DME and DME ✈ AUH:

def get_flights(text):
    parts = [part for part in text.split(' ') if len(part) == 3]
    if len(parts) < 2:
        return []

    return zip(parts[:-1], parts[1:])


flights = [flight for text in flight_texts
           for flight in get_flights(text)]
uniq_flights = list(set(flights))

>>> uniq_flights
[('ICN', 'IKT'), ('IKT', 'ICN'), ('DME', 'IKT')]

From edges in uniq_flights it’s very easy to get all nodes:

airports = [airport for flight in flights
            for airport in flight]
uniq_airports = list(set(airports))

>>> uniq_airports
['ICN', 'IKT', 'DME']

So now it’s possible to create a graph with networkx and draw it with matplotlib:

import networkx
from matplotlib import pyplot


graph = networkx.DiGraph()
graph.add_nodes_from(uniq_airports)
graph.add_edges_from(uniq_flights)
networkx.draw(graph, with_labels=True, node_size=1000)
pyplot.draw()
pyplot.show()

The graph is very ugly:

But it’s simple to improve it by using different colors depending on nodes and edges weight, and by using graphviz.

from collections import Counter
from matplotlib import cm


def get_colors(all_records, uniq_records):
    counter = Counter(all_records)
    max_val = max(counter.values())
    return [counter[record] / max_val
            for record in uniq_records]


networkx.draw(graph, 
              with_labels=True,
              node_size=1000,
              width=1.5,
              pos=networkx.nx_pydot.graphviz_layout(graph, prog='neato'),
              cmap=cm.get_cmap('Pastel1'),
              edge_cmap=cm.get_cmap('Pastel2'),
              edge_color=get_colors(flights, uniq_flights),
              node_color=get_colors(airports, uniq_airports))
pyplot.draw()
pyplot.show()

So now it’s much nicer:

Gist with sources.