Saturday, 9 September 2017

Four Simple Timers That Remind You to Take Breaks from Your Computer

Whether you work at your computer or just enjoy the occasional long gaming session, it’s important to take breaks regularly. Getting up to take a walk, grab a coffee, or do some stretches helps reduce eye strain, prevent repetitive strain injury (RSI), and is otherwise just plain good for you. And one study from the University of Illionoise at Urbana-Champaign shows that breaks might even enhance productivity by increasing focus.

Top 10 and highlights: August review

Top 10 and highlights: August review

Opensource.com brought in 661,550 unique visitors who generated 1,096,909 page views in August, our 11th consecutive month with more than 1-million page views. We published 82 articles last month, and welcomed 20 new authors. More than 67% of our content was contributed by members of the open source community. Our community moderators contributed 21 articles.

Editor's Pick 6


read more

Elon Musk empire: A tale of collaboration between Space Tech & autonomous cars

Tesla engineers reached out to their counterparts at Space Exploration Technologies Corp., who recommended the use of ultrasound sensors to isolate the problem.

By skipping spam calls Indians can save 63 million hours in a year

India tops the list of spam calls received by any country in 2017 as per a report published by Truecaller.

How to Remove HomeKit Devicesfrom Your Apple HomeKit Home

Whether you no longer have the HomeKit accessory in question or simply need to remove a phantom entry in your HomeKit home, it’s simple to do so—if you know where to look. Let’s remove a HomeKit device now and guide you through the process.

Geek Trivia: The Highway Safety Feature Known As A “Rumble Strip” Was First Introduced In?

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

Friday, 8 September 2017

Closure on enumerators in Pipeline

While at Jenkins World, Kohsuke Kawaguchi presented two long-time Jenkins contributors with a "Small Matter of Programming" award: Andrew Bayer and Jesse Glick. "Small Matter of Programming" being:

a phrase used to ironically indicate that a suggested feature or design change would in fact require a great deal of effort; it often implies that the person proposing the feature underestimates its cost.

— Wikipedia

In this context the "Small Matter" relates to Jenkins Pipeline and a very simple snippet of Scripted Pipeline:

[1, 2, 3].each { println it }

For a long time in Scripted Pipeline, this simply did not work as users would expect it. Originally filed as JENKINS-26481 in 2015, it became one of the most voted for, and watched, tickets in the entire issue tracker until it was ultimately fixed earlier this year.

Photo by Kohsuke

At least some closures are executed only once inside of Groovy CPS DSL scripts managed by the workflow plugin.

— Original bug description by Daniel Tschan

At a high level, what has been confusing for many users is that Scripted Pipeline looks like a Groovy, it quacks like a Groovy, but it’s not exactly Groovy. Rather, there’s an custom Groovy interpreter (CPS) that executes the Scripted Pipeline in a manner which provides the durability/resumability that defines Jenkins Pipeline.

Without diving into too much detail, refer to the pull requests linked to JENKINS-26481 for that, the code snippet above was particularly challenging to rectify inside the Pipeline execution layer. As one of the chief architects for Jenkins Pipeline, Jesse made a number of changes around the problem in 2016, but it wasn’t until early 2017 when Andrew, working on Declarative Pipeline, started to identify a number of areas of improvement in CPS and provided multiple patches and test cases.

As luck would have it, combining two of the sharpest minds in the Jenkins project resulted in the "Small Matter of Programming" being finished, and released in May of this year with Pipeline: Groovy 2.33.

Please join me in congratulating, and thanking, Andrew and Jesse for their diligent and hard work smashing one of the most despised bugs in Jenkins history :).

The Best Free Video Channels for Your Roku

If you’ve got a Roku, odds are you’ve already connected your Netflix, Hulu, or Amazon account for streaming. You probably know that you can buy movies and TV episodes on other services too, like Google Play. But there is a lot of free content on the Roku too…if you know where to look.

Tryton News: Tryton Unconference Liège 2017

TUL2017

From the 7th to 10th of December, the annual Tryton Unconference will come back to its birthplace: Liège. The conference happens later than usual to occur during the 10th anniversary of the first commit.

This will be the seventh edition. Users, developers and interested people will have the opportunity to discover or talk about Tryton.

The two first days will be the proper unconference. A first part will be dedicated to business oriented talks and a second part focused on developer talks. Talks can be submitted at tul2017@tryton.org.

A Code sprint will be organised the 9th and 10th in the coworking space of LeanSquare.

Informations and registration are available at http://ift.tt/2jaGWBW.

If you want to request a talk on a specific topic, you can send your request to the Tryton mailing list. If you have question about the organisation, please contact the foundation at foundation@tryton.org.

And don't forget to spread the word! #TUL2017

Python Bytes: #42 Behold: The Python 2 death clock

<p>Sponsored by DataDog! <a href="http://ift.tt/2rviH5s">http://ift.tt/2jbFQGc; <p><strong>Brian #1:</strong> <strong>What Kenneth Did Last Week (well, recently)</strong></p> <ul> <li><p>Kenneth Reitz</p> <ul> <li><p>Homebrew Python Tap</p> <ul> <li>Python 2.5 through 3.6 available through homebrew </li> <li><a href="http://ift.tt/2eW5Ssi">http://ift.tt/2wOrvV3; <li><pre><code>$ brew tap kennethreitz/pythons $ brew install python-2.5 </code></pre></li> </ul></li> <li><a href="http://ift.tt/2vTy7lY">http://ift.tt/2jaGELm; <ul> <li>“ Twisted Deferred Thread backend for Requests.”</li> <li>Can be used with async/await or with twisted.</li> </ul></li> <li><a href="http://ift.tt/2etHAoV">http://ift.tt/2wNFmdZ; <ul> <li>“Runs things in the background.”</li> </ul></li> <li><a href="http://ift.tt/2vDr1x2">http://ift.tt/2j9yTFw; <ul> <li>“setup.py (for humans)”</li> <li>“This repo exists to provide an example setup.py file, that can be used to bootstrap your next Python project. It includes some advanced patterns and best practices for setup.py, as well as some commented–out nice–to–haves.”</li> </ul></li> </ul></li> </ul> <p><strong>Michael #2:</strong> <a href="http://ift.tt/29zkN8x"><strong>Python 2 Death Clock</strong></a></p> <ul> <li>Python 2.7 will not be maintained past 2020. </li> <li>No official date has been given, so this clock counts down until April 12th, 2020, which will be roughly the time of the 2020 PyCon.</li> <li>I am hereby suggesting we make PyCon 2020 the official end-of-life date, and we throw a massive party to celebrate all that Python 2 has done for us.</li> <li>Python 2, thank you for your years of faithful service.</li> <li>Python 3, your time is now.</li> </ul> <p><strong>Brian #3:</strong> <a href="http://ift.tt/2uDFxcw"><strong>Small Functions considered Harmful</strong></a></p> <ul> <li>Cindy Sridharan</li> <li>"General programming advice doled out invariably seems to extoll the elegance and efficacy of small functions."</li> <li>This is sometimes pushed to the extreme of having one line functions that are only called from one place. Understand that doing this increases your code size by 4 lines every time you do it. <ul> <li>1 line for the function call isn't removed because you moved the guts into a function.</li> <li>2 lines for function definition and guts</li> <li>2 lines to properly space your new function around other functions.</li> </ul></li> <li>Supposed Benefit: Do one thing; a function should only ever do one thing and do it well.</li> <li>Problems: <ul> <li>"Instead of a reasonably airtight abstraction that can be understood (and tested) as a single unit, we now end up with even smaller units that’ve been carved out to delineate each and every component of “the one thing” until it’s fully modular and entirely DRY." </li> <li>"...pragmatism and reason are sacrificed at the altar of a dogmatic adherence to DRY, ..."</li> <li>premature abstractions. breaking up the code into smaller functions before you really understand the problem space can make it harder to refactor later.</li> <li>micro-functions tend to have longer names because you need more names. Longer names aren't always a good thing when you have many long names on a page.</li> <li>loss of locality: One bit of functionality that used to be in one function is now spread across many functions and possibly moved far away from use.</li> <li>class pollution: class interfaces grow with smaller functions and hide the real intended interface.</li> <li>harder to read, especially for newcomers.</li> </ul></li> <li>There is still a place for small functions. But use it in moderation. Communicating with future developers clearly is more important than following dogmatic rules about function size.</li> </ul> <p><strong>Michael #4:</strong> <a href="http://whypy3.com/"><strong>Why Python 3</strong></a></p> <ul> <li>All the cool Python 3 features that'll make you switch today!</li> <li>Presented as a random code sample surprise</li> <li>Examples: <ul> <li>Annotations: <code>def my_add(a: int, b: int) -&gt; int</code></li> <li>Keyword only arguments: <code>def f(a, b, *args, option=True)</code></li> <li>Yield from: <code>yield from range(5)</code></li> <li>Enums: <code>class Color(Enum)</code></li> </ul></li> </ul> <p><strong>Brian #5:</strong> <strong>EANABs</strong></p> <ul> <li>Equally Attractive Non-Alcoholic Beverage</li> <li>There is drinking that happens often when you get a bunch of adults together. Often with work or tech gatherings. That’s fine. But make sure you emphasize that drinking is not required. </li> <li><a href="https://twitter.com/treyhunner">@treyhunner</a> <a href="https://twitter.com/treyhunner/status/896081298581635072">brought it up recently</a> and suggested that all conferences and tech events should have this. <ul> <li>"I sometimes feel excluded when events include nice alcohol but only cheap soda" <ul> <li><a href="http://ift.tt/2wCbXBE">Stanford site</a> has a bunch of great recipes.</li> </ul></li> <li>“EANABS are required at all Stanford parties, …” <ul> <li>If you have specialty local beers, try to find specialty local sodas.</li> <li>If you have nice spiked punch, have a NA version also.</li> <li>If you have cocktails, advertise your ability to serve mocktails. </li> </ul></li> </ul></li> </ul> <p><strong>Michael #6:</strong> <a href="http://ift.tt/2eL01JB"><strong>The Incredible Growth of Python</strong></a></p> <ul> <li>via StackOverflow</li> <li>Recently explored how wealthy countries (those defined as high-income by the World Bank) tend to visit a different set of technologies than the rest of the world. </li> <li>Largest differences we saw was in the programming language Python. </li> <li>High-income countries, the growth of Python is even larger than it might appear from tools like Stack Overflow Trends, or in other rankings.</li> <li>[StackOverflow] makes the case that Python has a solid claim to being the fastest-growing major programming language.</li> <li>June 2017 was the first month that Python was the most visited tag on Stack Overflow within high-income nations. (Grown has grown by 2.5-fold since 2012)</li> <li><strong>Python compared to smaller, growing technologies</strong> graph is incredible.</li> <li>Also: <a href="http://ift.tt/2wiQ4Yl"><strong>Python overtakes R, becomes the leader in Data Science, Machine Learning platforms</strong></a></li> </ul>

How to Offer or Ask For Help During An Emergency With Facebook

Facebook’s Safety Check is most well known for letting people know you’re safe during an emergency. However, if you’re in the affected area of a disaster and you need help or want to offer to help others, you can find people using it, too. Here’s how to find help or volunteer.

How to Disable the “Is Displaying Over Other Apps” Notification on Android Oreo

Back in Android Marshmallow, Google introduced a feature that allowed apps to display on top of other apps. Things like Facebook Messenger and Twilight take advantage of this feature to be able to essentially run on-screen at the same time as other foreground applications.

Legal Experts Abraham Thoppil and Duncan C. Card Announced As Featured Speakers at Armour Expo

8th September 2017, George Town, Cayman Islands: Armour Expo 2017 (September 28th, 2017), with eShore Ltd & Optiv, has announced the addition of two legal experts as Featured Speakers for the 2017 Conference.FinTech expert and Legal 500 Recommended, Abraham Thoppil of Maples and Calder (Cayman), and Leading IT, Corporate Governance, and Commercial Transactions Lawyer, Duncan C. Card of Bennett Jones (Bermuda) Ltd will address the demands of Cyber Security as a corporate Governance priority, especially... Source: RealWire

The Best Unofficial Twitter Apps for Android

Services that offer public APIs often get their best tools from third-party developers. Social platform Twitter is no exception: almost anyone who uses Twitter professionally will have TweetDeck on their desktop, which started out as an independent tool before Twitter acquired the project.

Continuum Analytics Blog: Securely Connecting Anaconda Enterprise to a Remote Spark Cluster

With the release of Anaconda Enterprise 5, we are introducing a more robust method of connecting JupyterLab, the interactive data science notebook environment, to an Apache Spark cluster. Using Anaconda Enterprise 5, you’ll be able to connect to a remote Spark cluster via Apache Livy (incubating) by using any of the available clients, including Jupyter notebooks (by using sparkmagic) and Apache Zeppelin (by using the Livy interpreter).

Codementor: Django Allauth Tutorial | Social logins

A tutorial on how to build a small Django website having features of Login with Facebook Login with Google Custom User model.

What Is the System Reserved Partition and Can You Delete It?

Windows 7, 8, and 10 create a special “System Reserved” partition when you install them on a clean disk. Windows doesn’t normally assign a drive letter to these partitions, so you’ll only see them when you use Disk Management or similar utility.

How to Require Moderator Approval for Posts in Your Facebook Group

By default, any member can post anything they want in your Facebook Groups. This means they could post horribly offensive content, and while you can remove it, it might be a while before you get to it.

How Do Windows Defender’s “Automatic Sample Submission” and “Cloud-Based Protection” Work?

Windows 10’s integrated Windows Defender antivirus has some “cloud” features, like other modern antivirus applications. By default, Windows automatically uploads some suspicious-looking files and reports data about suspicious activity so new threats can be detected and blocked as quickly as possible.

Top 5: Cleaning messy datasets, kid-friendly Linux distros, TensorFlow projects, and more

Top 5 articles for the week of September 8, 2017

In this week's top 5, we take a look at the Pandas Python data analysis library, the current state of kid-focused Linux distributions, and more.


read more

3 industries relying on Apache Kafka

3 ways Apache Kafka has outgrown its roots

Apache Kafka is a distributed publish-subscribe messaging system designed to be fast, scalable, and durable. It provides a unified, high-throughput, low-latency platform for handling real-time data feeds and has a storage layer that is essentially a massively scalable pub/sub message queue architected as a distributed transaction log. That architecture makes Kafka, which was originally developed by LinkedIn and made open source in early 2011, highly valuable for enterprise infrastructures to process streaming data.


read more

Recording live presentations, Part 3: Recording and troubleshooting

Recording live presentations, Part 3: Recording and troubleshooting

This three-part series explains how to use open source Open Broadcaster Software (OBS) video-recording software and easily available hardware and tools to record live presentations at meetings and conferences. Part 1 explained the hardware and physical setup required to record live presentations, and part 2 described the software setup. Now it's time to record presentations.


read more

Kushal Das: Qubes OS part 2

In this post, I am going to talk about sharing data between domains. You can read part one here.

One of the most common operation while working on many domains is copy/pasting text or files. Though it is something very much necessary, at the same time this can be a security risk. Randomly copy pasting data or file into a trusted domain, can be dangerous. We also have to make sure that random scripts can not copy paste without proper authorization. Qubes uses Xen shared memory for copying files instead of any block device.

Copy pasting text

One can copy text to the clipboard of the VM as usual, and then one can press Ctrl+Shift+c, then if one press Ctrl+Shift+v in any VM, it will ask for a menu like below screenshot to confirm if you want to paste to that VM’s clipboard. After that, you can normally paste with Ctrl+v or from the GUI.

Copying file to another VM

We can copy a file to another VM using the file browser. Just right click on any file, and click copy to the right VM. The following screenshots shows this way.

The other way to copy paste is using the command line. For example, the following command copies hello.txt file to the personal VM.

$ qvm-copy-to-vm personal hello.txt
sent 0/1 KB

Executing any command on a given VM

dom0 is the privileged domain in the system. From that, you can actually execute any command to another domain. In the following example, I am running the date command in the personal domain. With the --pass-io command line flag, we are saying to pass across the STDOUT and STDIN from the remote VM to dom0.

$ qvm-run --pass-io personal date
Tue Sep  5 17:42:11 IST 2017

Settle car accident claim in 1 hour with video proof

Settlement of accident claims with an hour has become the new add-on in insurance. And companies are able to do this because of automation.

Government plans to limit role of private agencies in Aadhaar enrolment

The government is banking on 24,000-plus post offices and 12,000 bank branches to offer Aadhaar services to citizens by March next year.

No, artificial intelligence bots are not stealing your job, says Capgemini

Globally, on average, 15% of the new job roles created by artificial intelligence were for staff members, that number is just 1% in India.

Automation Anywhere & EY collaborate to scale GST with bots

Global Accounting firm, E&Y has leveraged San Hose based Automation Anywhere's RPA platform for a smooth transition during GST reduced costs.

Instantly Search Your Terminal History With a Keyboard Shortcut

Everyone who regularly uses the command line has at least one long string they type regularly. Instead of entering all that again and again, quickly search your history to find the complete command.

Equifax Got Hacked: How to Stop Identity Thieves from Opening Accounts in Your Name

Everybody is getting hacked left and right. Anthem lost 80 million records in 2015. The US government got hacked and lost personal data for millions, all the way down to fingerprint data. Now Equifax, a credit bureau, got hacked. So how can you protect yourself from criminals opening accounts in your name?