Games: Sail Forth, Backspace Bouken, Receiver 2

2019-12-14 22:47:27

Serene naval adventure Sail Forth has a brand new trailer, coming to Linux next year

2019-12-14 18:04:22

Programming: Rasp Pi and Python

2019-12-14 17:28:48

Code the Classics on sale now TL;DR: we made a fully automated luxury gay space communist type-in-listing book. Buy it now and get it in time for Christmas. Weekly Python StackOverflow Report: (ccvi) stackoverflow python report Annual release cycle for Python, new Python Software Foundation fellows from Africa, and more updates The Python Software Foundation (PSF) is a nonprofit organization behind the Python programming language. I am fortunate to be a PSF Fellow (honorable member for life,) a Python core developer, and the liaison between my company, Red Hat, and the PSF. Part of that liaison work is providing updates on what’s happening in the Python community. Here’s a look at what we have going on in December. Upcoming events A significant part of the Python community is its in-person events. These events are where users and contributors intermingle and learn together. Here are the big announcements of upcoming opportunities to connect. PyCon US 2020 PyCon US is by far the largest annual Python event. The next PyCon is April 15-23, 2020, in Pittsburgh. The call for proposals is open to all until December 20, 2019. I’m planning to attend PyCon for the conference and its famous post-con sprints. A Python and Preact app deployed on Heroku Heroku is great but it's sometimes painful when your app isn't just in one single language. read more

Ten Programmer's Mugs

2019-12-14 12:00:00

It is legend that programmers run on coffee so what better than a new mug with an appropriate slogan? You could boost your favourite programmer's performance by encouraging increased coffeee consumption. Read more...

New postmarketOS build infrastructure is powered by sourcehut builds

2019-12-14 09:58:40

Development effort from our end went into (in short BPO). This is the name of both the website seen in the second screenshot, as well as the source code for the program that generates the website. Besides that, it manages the jobs that run on sourcehut builds. BPO has 91% test coverage. A rather unusual design decision is that the website is generated as static HTML page whenever there is a change. It is not generated on demand when requested via HTTP. This seems highly appropriate though, as the content at most changes a few times per second. We have come a long way from initially having no binary repository and expecting all developers to build everything from source at the project's public launch in May of 2017. During the following months we had an inofficial repository of binary packages for Plasma Mobile packages on postmarketOS at one point. Until we got the first official binary repository at the end of 2017. But that one had to be manually triggered and the build logs where not available online. Now it's completely automated and transparent, and multiple developers of the core team are able to fix things if they go south. Therefore we allow more people to merge incoming patches, and it is already apparent that this has resulted in increased productivity. read more

Annual release cycle for Python, new Python Software Foundation fellows from Africa, and more updates

2019-12-14 06:00:00

The Python Software Foundation (PSF) is a nonprofit organization behind the Python programming language. I am fortunate to be a PSF Fellow (honorable member for life,) a Python core developer, and the liaison between my company, Red Hat, and the PSF. Part of that liaison work is providing updates on what’s happening in the Python community. Here’s a look at what we have going on in December. read more

Tony Brooker, Pioneer of Computer Programming, Dies At 94

2019-12-14 01:30:00

Cade Metz from The New York Times pays tribute to Tony Brooker, the mathematician and computer scientist who designed the programming language for the world's first commercial computer. Brooker died on Nov. 20 at the age of 94. From the report: Mr. Brooker had been immersed in early computer research at the University of Cambridge when one day, on his way home from a mountain-climbing trip in North Wales, he stopped at the University of Manchester to tour its computer lab, which was among the first of its kind. Dropping in unannounced, he introduced himself to Alan Turing, a founding father of the computer age, who at the time was the lab's deputy director. When Mr. Brooker described his own research at the University of Cambridge, he later recalled, Mr. Turing said, "Well, we can always employ someone like you." Soon they were colleagues. Mr. Brooker joined the Manchester lab in October 1951, just after it installed a new machine called the Ferranti Mark 1. His job, he told the British Library in an interview in 2010, was to make the Mark 1 "usable." Mr. Turing had written a user's manual, but it was far from intuitive. To program the machine, engineers had to write in binary code -- patterns made up of 0s and 1s -- and they had to write them backward, from right to left, because this was the way the hardware read them. It was "extremely neat and very clever but pretty meaningless and very unfriendly," Mr. Brooker said. In the months that followed, Mr. Brooker wrote a language he called Autocode, based on ordinary numbers and letters. It allowed anyone to program the machine -- not just the limited group of trained engineers who understood the hardware. This marked the beginning of what were later called "high-level" programming languages -- languages that provide increasingly simple and intuitive ways of giving commands to computers, from the IBM mainframes of the 1960s to the PCs of the 1980s to the iPhones of today. Read more of this story at Slashdot.

Cloudflare Unifies Analytics Data With New GraphQL API

2019-12-13 22:32:15

Cloudflare has recently announced the release of a new GraphQL Analytics API that the company sees as the answer to complications caused by a fragmented multi-API approach it had used until now. Using the new API Cloudflare customers will be able to access all performance, security, and reliability data from a single endpoint. PHP Performance Trivia

2019-12-13 22:00:02

Nikita Popov discusses some low level performance optimizations in PHP.

For Loop in Python Explained With Practical Examples

2019-12-13 22:00:00

Learn the concept of for loop in Python with these practical examples.

Pi for Everyone and Everything

2019-12-13 21:12:39

Pi foundation released their first system-on-a-chip (SOC) in 2012, they had no idea how overwhelming the response would be. The credit-card-sized computer once meant to be an easy entry point for British students to get into programming and computer science has burgeoned into a whole community of add-on boards (“hats”), screens and extras that people all around the world are using for all kinds of things. Raspberry Pi computers have ARM processors on them and most Linux distributions that support those processors will run on them. There are also Windows 10 IOT (Internet of Things) embedded platforms that will run on them as well. The most popular operating system for it by far is Raspbian, which is a derivative of Debian Linux. The Raspberry Pi foundation also has an OS image called NOOBS, which will allow you to install a number of different options on it as well. Getting started is as easy as buying a Pi, a case and its accompanying necessities, which you might already own, namely a microSD card, a 5V-2A wall-wart-type supply with a micro USB connection, an HDMI cable and a USB keyboard and mouse. Several starter kits are available that include cases, power supplies and NOOBS already installed on a microSD card. If you already have access to a microSD card, it is simple enough to go to and download any of the OS images that they have there. There are also details on how to get the image onto the card. read more

Programming: GAction, Research on Developers, JavaBeans and Python

2019-12-13 20:22:29

Sébastien Wilmet: Providing GActions in a library GAction represents an action that the user can do in an application, it’s usually present in a menu item or a button. It’s not just a function to launch, it’s a little more involved than that. Overall, providing GActions in a library can be done quite naturally, once the library provides a framework for the application. TeplApplication and TeplApplicationWindow both provide GActions in their public API. They are namespaced with the "tepl-" prefix, to avoid conflicts with other libraries or the application; so the full name of the GActions are "app.tepl-something" or "win.tepl-something". And all the GActions are documented in the class description. Note that TeplApplication and TeplApplicationWindow are not subclasses of GtkApplication and GtkApplicationWindow, because several libraries might want to extend those GTK classes and an application needs to be able to use all those extensions at the same time. A nice solution that doesn’t require to hold a new object in the application: use this design pattern that I’ve already described on my blog. Research: Developers are trusted by the business but the alignment is not felt evenly across different generations Welcome to the first in a series of in-depth articles looking at the developer’s role in the modern organisation. In this first post: a new generation has arrived. As organisations shift to becoming technology-focused, developers’ roles have evolved so that they are now playing a crucial role in decision making across their businesses. However, all this newfound alignment isn’t so keenly felt across the whole developer workforce… Jakarta EE: Creating an Enterprise JavaBeans timer Enterprise JavaBeans (EJB) has many interesting and useful features, some of which I will be highlighting in this and upcoming articles. In this article, I’ll show you how to create an EJB timer programmatically and with annotation. Let’s go! The EJB timer feature allows us to schedule tasks to be executed according a calendar configuration. It is very useful because we can execute scheduled tasks using the power of Jakarta context. When we run tasks based on a timer, we need to answer some questions about concurrency, which node the task was scheduled on (in case of an application in a cluster), what is the action if the task does not execute, and others. When we use the EJB timer we can delegate many of these concerns to Jakarta context and care more about business logic. It is interesting, isn’t it? Python Dictionary Comprehension In this tutorial, we will learn about Python dictionary comprehension and how to use it with the help of examples. read more

Fedora, Red Hat and IBM: Flatpak 1.5.2, Cockpit 209, OpenShift, Java and More

2019-12-13 19:59:31

Flatpak 1.5.2 Continues Work On Authentication Support In Push To Handling Paid Apps Introduced last month was the Flatpak 1.5.1 development build that provided initial support for protected/authenticated downloads of Flatpaks as the fundamental infrastructure work towards allowing paid or donation-based applications within Flathub or other Flatpak-based "app stores" on Linux.  Flatpak 1.5.2 is out this Friday morning and it has continued work on this focus for authenticated/protected downloads. There has been new API coverage around the authentication code, an OCI authenticator is now bundled, a simple user/password authentication-driven option similar to HTTP-based authentication, and related work towards opening up new use-cases for Flatpak.  Cockpit 209 Cockpit is the modern Linux admin interface. We release regularly. Here are the release notes from version 209. A new design for the Overview page The landing page has been completely redesigned. Information is grouped into easier to understand panels, health information is much more prominent, the resource graphs have been moved to their own page, and the hardware information page should now be easier to find. We’re headed for edge computing Every week seems to bring a new report on how edge computing is going to take over the world. This crescendo has been building for the past few years, so it’s no surprise that edge computing sits near the peak on the Gartner hype cycle for emerging technologies. But the question remains—will the edge computing phenomenon take over the world as predicted and, if so, how can businesses benefit from it? In this and future articles, we’ll demystify edge computing, examine its motivations, and explore best practices in creating scalable edge deployments and the role of open source at the edge. We’ll also look at 5G and its impact to the telco industry, remote office/branch office, IoT, and other use cases. Persistent data implications for apps and microservices Speed and agility are the name of the game, whether you are running track in a triathlon, racing to find cures to the world’s most nefarious diseases, or developing new applications that are changing the way society interacts. Application development teams can have a profound effect, not only on their organizations’ ability to differentiate themselves, but also the world we live in. [...] While just a few years ago, some organizations were still concerned with the viability of running production workloads in containers, the benefits of capitalizing on faster development cycles has garnered favor among developers. And, with enterprise-class enhancements delivered by platforms such as Red Hat OpenShift Container Platform, containers have grown from nifty developer projects, to scalable, more manageable infrastructure environments that enable DevOps for the hybrid cloud. Cloud Pak for Applications supports IBM Z The latest version of Cloud Pak for Applications, Version 4.0, extends support for Red Hat OpenShift Container Platform 4.2 onto the IBM Z platform. Now users can extend their hybrid cloud deployments to include Red Hat OpenShift clusters on IBM Z hardware, taking advantage of the container orchestration platform and tools to bring a consistent experience for development of cloud-native workloads. Support for OpenShift on IBM Z in this release of IBM Cloud Pak for Applications is limited to the container platform only. IBM runtimes continue to provide support for IBM Z, including container deployments where appropriate. Exploring OpenShift 4.x Cluster In this video we will explore the cluster installed during the last video, log into the cluster, configure an authentication provider. We will understand the structure of the cluster and the architecture overview of HA installation. We will get deep understanding of what runs on the master node vs worker node, how the load balancers are setup. We will also look at the cloud provider to see all the infrastructure components that got created by the installer. Celebrating 20 years of enterprise Java: Milestones As we celebrate the last 20 years of enterprise Java, it is important to look back at the platform's history to better understand where it came from and how we arrived where we are today. Enterprise Java emerged during a pivotal time in the history of enterprise computing. When Java 2 Platform, Enterprise Edition (J2EE) 1.2 was introduced in December 1999, it not only marked the birth of enterprise Java, but also signaled an important shift in how organizations were thinking about the web. Roughly five years earlier, in May 1995, the Java programming language had been publicly released. The language was originally developed to address obstacles faced by a stealth innovation team at Sun Microsystems building the Star7, an interactive handheld home entertainment controller; however, after a tepid response from the television industry, the team instead set its sights on the internet. Web browsers were making the web more accessible to users, and when the Java language was first announced by Sun, it came with a crucial endorsement: Netscape, one of the leaders in the nascent Web browser market at the time, announced in 1995 that it would include support for Java in its namesake browser. read more

matt glaman - php, mysql, jquery, css, drupal developer: PHPStan Drupal: detecting deprecated constants and preparing for PHPStan 0.12 support

2019-12-13 18:30:02

PHPStan Drupal: detecting deprecated constants and preparing for PHPStan 0.12 support Tuesday 10, December 2019 mglaman drupal phpstan 24for2019

Your First-Gen Web Development Approach Is Officially Obsolete. Thank You APIs.

2019-12-13 18:29:42

The growth of API services, the advent of consumer data regulations, and the increased expectations of customers have exposed the limits of first-gen web design.

How the year of value stream held up

2019-12-13 18:03:42

Last year, SD Times declared that 2019 would be the year of the value stream as businesses started to look more into the value they were getting out of their IT processes. “I can go in and solve my release process and improve my release time, but if I don’t look at how long it … continue reading The post How the year of value stream held up appeared first on SD Times.

2019: How the year of value stream held up

2019-12-13 18:03:42

Last year, SD Times declared that 2019 would be the year of the value stream as businesses started to look more into the value they were getting out of their IT processes. “I can go in and solve my release process and improve my release time, but if I don’t look at how long it … continue reading The post 2019: How the year of value stream held up appeared first on SD Times.

SD Times news digest: Public code search tool for AOSP, DataRobot acquires Paxata, and Visual Studio Code 1.41

2019-12-13 17:11:38

Google introduced a code search feature with cross references for the Android Open Source Project. With the new feature, users are able to view the source code, navigate cross references across the entire code base and switch between Android’s open source branches. The Android repository is made up of a collection of git repositories which … continue reading The post SD Times news digest: Public code search tool for AOSP, DataRobot acquires Paxata, and Visual Studio Code 1.41 appeared first on SD Times.

TheVentureCity and Google Consolidate Miami as a Tech Powerhouse

2019-12-13 17:00:10

Vue Tutorial 7 - Components

2019-12-13 16:53:27

Granny is delighted! Your latest update of her web app really impressed her. She can now comfortably manage guests for her upcoming birthday party, knowing that she will not accidentally submit invalid data to the table, thanks to our frontend validation. However, she also mentioned something about reviewing your code and asked about the reusability of components within the app. This sent a chill down your spine. It’s time to learn about reusable Vue Components… Vue Components The more you program in Vue, the more thankful you will be for the Vue component system. Components are not very useful in small applications that we covered in this series of tutorials up to now. It is really important to understand how they work and what they are as they become very useful when building large applications, which you will inevitably face in your programming career.

Android Game SDK Launched

2019-12-13 16:30:56

Google has launched the Android Game SDK, a set of libraries for Android game developers. Read more...

The Definitive Guide to Modern Java Clients with JavaFX (Apress)

2019-12-13 16:28:07

This book is a professional reference for building Java applications for desktop, mobile, and embedded in the cloud age. It aims to teach how to upgrade legacy client applications, develop cross-platform applications in Java, and build enhanced desktop and mobile native clients. Authors Stephen Chin, Johan Vos and James Weaver show how these applications can take advantage of the latest user interface components, 3D technology, and cloud services. <ASIN:1484249259> Read more...

High-Stakes API Automation Testing: DOs and DON’Ts

2019-12-13 15:40:53

See how API automation testing keeps APIs secure API vulnerabilities are potentially devastating. The programming interfaces at the heart of our internet-connected world shuttle data blindly, dependent entirely on the coding and testing standards that went into their development. The safety and security of your users’ data — and, therefore, your own reputation and brand quality — rest solely on the resources you put into testing the application.

2019: Java’s last year on top?

2019-12-13 15:01:28

Following the new biannual release schedule that started in 2018, this year Java saw two major releases, Java 12 in March and Java 13 in September.  Java 12 introduced features such as a new low pause time garbage collector, microbench suite, switch expressions, a JVM constraints API, and more.  With Java 13, Oracle set out … continue reading The post 2019: Java’s last year on top? appeared first on SD Times.

SD Times Open-Source Project of the Week: Apache APISIX

2019-12-13 14:22:40

Apache APISIX is a cloud-native microservices API gateway that entered the Apache Incubator in October. The API gateway is intended to handle interface traffic for websites, mobile and IoT applications.  “At some point, traditional monolithic application architectures simply are not able to scale anymore. Inevitably, this happens to every successful software project that is based … continue reading The post SD Times Open-Source Project of the Week: Apache APISIX appeared first on SD Times.

Site News: Popular Posts for This Week (12.13.2019)

2019-12-13 14:05:01

Popular posts from for the past week:Derick Rethans: Crafty Code Coverage Laravel News: 25 Years of PHP with Rasmus Lerdorf Derick Rethans: Xdebug Update: November 2019 RIPS Technologies Blog: How to Fine-Tune Static Code Analysis - Part 1 symfony Project Blog: New in Symfony 4.4: WebProfiler Improvements Matthias Noback - PHP & Symfony: Defining a custom filter and sorter for Sculpin content types Ruben Van Assche: Getting started with GitHub Actions and Laravel TomᚠVotruba Blog: How to Get Rid of Technical Debt or What We Would Have Done Differently 2 Years ago symfony Project Blog: Symfony Type Declarations, Return Types and PHPUnit Compatibility ★ 📺 Video: Using tags and segments in Mailcoach Voices of the ElePHPant: Interview with Francesca Marano

Random sample overlap

2019-12-13 13:26:38

Here’s a simple probability problem with an answer you may find surprising. Suppose you draw 1,000 serial numbers at random from a set of 1,000,000. Then you make another random sample of 1,000. How likely is it that no numbers will be the same on both lists? To make the problem slightly more general, take […]

Screencasts and Shows: ArcoLinux 19.12 Run Through, TechSNAP and Python Bytes

2019-12-13 09:40:24

ArcoLinux 19.12 Run Through In this video, we are looking at ArcoLinux 19.12. Enjoy! 5G Fundamentals | TechSNAP 418 As the rollout of 5G finally arrives, we take some time to explain the fundamentals of the next generation of wireless technology. Plus the surprising performance of eero's mesh Wi-Fi, some great news for WireGuard, and an update on the Librem 5. Python Bytes: #160 Your JSON shall be streamed read more

How do committees invent?

2019-12-13 06:00:00

Poetry: Python dependency management and packaging

2019-12-13 04:44:14


Poetry Dependency Management for Python – v1.0

2019-12-13 04:44:14


Poetry: Python dependency management and packaging made easy

2019-12-13 04:44:14


Mozilla: Analysis Maturation Plan, Content Security Policy and Firefox Reality

2019-12-13 03:01:58

Analysis Maturation Plan To summarize the problem, I need to be able to share analyses with my peers at Mozilla (often HTML documents generated by Rmarkdown). Currently, we effectively dump documents onto an FTP server tied to a webserver (called Hala). This works pretty well, but it makes it almost impossible to search and discover other people's analyses and makes getting review difficult. To address these two problems, we put together and These are effectively lightweight blog indexes for public and private analyses. This works OK, but it still requires analysts to take the time to check in their results and get review. It's a little heavy weight and isn't getting as much use as I would like. Hell, I don't even use it all the time just because I'm busy. Test the new Content Security Policy for Content Scripts As part of our efforts to make add-ons safer for users, and to support evolving manifest v3 features, we are making changes to apply the Content Security Policy (CSP) to content scripts used in extensions. These changes will make it easier to enforce our long-standing policy of disallowing execution of remote code. When this feature is completed and enabled, remotely hosted code will not run, and attempts to run them will result in a network error. We have taken our time implementing this change to decrease the likelihood of breaking extensions and to maintain compatibility. Programmatically limiting the execution of remotely hosted code is an important aspect of manifest v3, and we feel it is a good time to move forward with these changes now. We have landed a new content script CSP, the first part of these changes, behind preferences in Firefox 72. We’d love for developers to test it out to see how their extensions will be affected. Discover on desktop or mobile. Enjoy in VR, only with Firefox Reality. A special update for Firefox Reality is available today -- just in time for the holidays! Now you can send tabs from your phone or computer straight to your VR headset. Say you’re waiting in line for your festive peppermint mocha, killing time on your phone. You stumble on an epic 3D roller coaster video that would be great to watch in VR. Since you’ve already signed in to your Firefox Account on Firefox Reality, you can send that video right to your headset, where it will be ready to watch next time you open the app. You can also send tabs from VR over to your phone or desktop, for when you eventually take your headset off. When you use Firefox on multiple devices, you can sync your history and bookmarks too. No more waving the laser pointer around to type wonky URLs or trying retrace your steps back to that super funny site from yesterday. Stay tuned in the new year for more features like these that make using VR a more seamless part of your everyday life. read more

Python Programming, Rust and Puppet Enterprise 3

2019-12-13 02:47:30

Circuit Python at PyConf Hyderabad Coding in/with hardware has become my biggest stress buster for me ever since I have been introduced to it in PyCon Pune 2017 by John. Coding with hardware provides a real-life interaction with the code you write. It flourishes creativity. I can do all of this while I learn something new. Now I look for auctions to offer me a chance to code in/with Hardware. It gives the chance to escape the muggle world. New in testmon 1.0.0 Significant portions of testmon have been rewritten for v 1.0.1. Although the UI is mostly the same, there are some significant differences. Determining affected tests Automatically determining affected tests sounds too good to be true. Python developers rightfully have a suspecting attitude towards any tool which tries to be too clever about their source code. Code completion and symbol searching doesn't need to be 100% reliable but messing with the test suite execution? This page explains what testmon tries and what it does not try to achieve. [...] After running the test with coverage analysis and parsing the source code, testmon determines which blocks does depend on. In our example it's Block 1,2 and 4. (and not Block 3). testmon doesn't store the whole code of the block but just a checksum of it. Block 3 can be changed to anything. As long as the Block 1,2 and 4 stay the same, the execution path for and it's outcome will stay the same. How to set-up and use py.test in Pycharm I've been using Vim and terminal as a weapon of choice for years. I've had a good time with it, however, more and more people ask me why I'm using this setup. And honestly, I don't know the answer. I'm aware that things can be done more efficiently and an IDE can help with a lot of things. I guess that my weak spot is the unit tests and testing my code in general. I'm not running my tests when on the coding spree, I'm breaking lots of stuff, and only when I think I'm finished, I'll do the fixing and make everything running green again. Well, I would like to change that. And I'm also curious about trying out new ways of doing things. The obvious choice for programming in Python is the PyCharm. It's a nice IDE, supports many features that I like and most importantly, it can help with the testing. PyCharm can easily integrate with popular test frameworks and run the tests for me. This Week in Rust 316 Continuous Delivery for Puppet Enterprise 3.0 is now available I am very excited to announce the immediate availability of Continuous Delivery for Puppet Enterprise 3.0! Over the last year, we’ve taken to heart the challenges and recommendations our customers have shared with us on how we can make Continuous Delivery for Puppet Enterprise better. Our intent is to be truly customer-obsessed, meet our customers where they are, and help them get to where they want to be. This release focuses on our customers’ needs by providing more context into the impact of a proposed Puppet change by offering Hiera support for Impact Analysis, a simplified approach to defining pipelines as code, and the ability to easily compose custom deployment processes (currently in beta!). Let’s dive in! read more

NPM swats path traversal bug that lets evil packages modify, steal files. That's bad for JavaScript crypto-wallets

2019-12-13 02:05:06

Trio of vulnerabilities made registry full of uncertain code even more of a risk On Wednesday, NPM, Inc, the California-based biz that has taken it upon itself to organize the world's JavaScript packages into the npm registry, warned that its command line tool, the npm CLI, has a rather serious security vulnerability. Version 6.13.4 has been rushed out with a fix.…

Navigation Menu Style 90

2019-12-13 00:22:11

The post Navigation Menu Style 90 appeared first on Best jQuery.

Link Hover Style 91

2019-12-13 00:20:43

The post Link Hover Style 91 appeared first on Best jQuery.

Django 3 Adds Support For ASGI

2019-12-13 00:00:00

There's a new version of Django, the high-level Python Web framework that lets you create dynamic websites. Django takes care of user authentication, content administration, site maps and RSS feeds to make website development easier. Read more...

Podcast Episode 60: Top WordPress Influencer Lists & Chrome Password Security Improvements

2019-12-12 23:41:45

A small furor erupted over a top influencers in WordPress list that neglected to show the diverse nature of the WordPress community. We talk about the impossibility of making an accurate list that reflects the true nature of WordPress influence or contribution, and the diversity we saw during our work on Open, our film project ...Read More The post Podcast Episode 60: Top WordPress Influencer Lists & Chrome Password Security Improvements appeared first on Wordfence.

Get Started With Vue.js

2019-12-12 23:00:00

Voices of the ElePHPant: Interview with Francesca Marano

2019-12-12 20:30:02

@FrancescaMarano Show Notes Gabriela D'Ávila Ferrara's Blog Audio This episode is sponsored by Day Camp 4 Developers: Modern Web Programming The post Interview with Francesca Marano appeared first on Voices of the ElePHPant.

Guide to New JavaScript Features Introduced at Google I/O 2019

2019-12-12 19:29:50

On May 6 and 7, 2019, the most recent Google I/O conference was held. This is an annual technology event that has been organized by Google every year since 2008. The forum brings together developers from around the world to present and discuss topics related to Google products, open Internet technologies, and new trends in the software industry. One of the biggest trends that was covered at this event was a series of changes with JavaScript. Mathias Bynens and Sathya Gunasekaran covered many of these changes in a talk titled: "What's new in JavaScript". This is a great video to check out. These two men have worked on Google's V8 JavaScript engine project, so they are very knowledgeable about the impact of these changes. However, we wanted to summarize the changes here.

Using R on Jupyter Notebook

2019-12-12 19:28:53

Overview R is an interpreted programming language for statistical computing and graphics supported by the R Foundation. It is widely used among statisticians and data miners for developing statistical software and data analysis. R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows, and macOS.

Integrate a React Native app with GraphQL and Apollo Client

2019-12-12 19:25:38

Are you interested in building a React Native app that uses GraphQL API endpoints? Then you should read this tutorial. You are going to learn how to leverage Apollo to build a client-side GraphQL application with React Native and Expo. Apollo has an entire ecosystem to build GraphQL applications. You can use it to develop client-side and server-side apps separately. Apollo has more features and support than its open source competitors in GraphQL for the JavaScript world.

2019: Microsoft innovates across the board

2019-12-12 19:00:47

2019 was Microsoft’s year. After a strong 2018 — a main highlight of which was its acquisition of GitHub — the company kept up that momentum into 2019.  Last year, our yearly review of Microsoft focused heavily on Azure. Microsoft invested heavily into its cloud platform last year, and it paid off. This year, things … continue reading The post 2019: Microsoft innovates across the board appeared first on SD Times.

Microsoft innovates across the board

2019-12-12 19:00:47

2019 was Microsoft’s year. After a strong 2018 — a main highlight of which was its acquisition of GitHub — the company kept up that momentum into 2019.  Last year, our yearly review of Microsoft focused heavily on Azure. Microsoft invested heavily into its cloud platform last year, and it paid off. This year, things … continue reading The post Microsoft innovates across the board appeared first on SD Times.

Como Instalar o Python 3 e Configurar um Ambiente de Programação no Ubuntu 18.04 [Quickstart]

2019-12-12 18:57:42

Como instalar o Linux, o Nginx, o MySQL, o PHP (pilha LEMP) no Ubuntu 18.04

2019-12-12 18:52:01

dtSearch announces new database indexer

2019-12-12 18:00:02

Enterprise and developer text retrieval solution provider dtSearch has announced a new database indexer add-on designed to extend its “off the shelf” research. The database indexer enables SQL indexing without any programming. According to the company, without the indexer users will have to search SQL data with the dtSearch Engine SDK as well as C++, … continue reading The post dtSearch announces new database indexer appeared first on SD Times.

dtSearch Database Indexer Adds SQL Support

2019-12-12 17:53:54

There's a new add-on for dtSearch's Database Indexer that extends the options so it works with SQL, including on Azure and AWS. Read more...

symfony Project Blog: Symfony Type Declarations, Return Types and PHPUnit Compatibility

2019-12-12 17:30:02

If you follow the Living on the Edge category of this blog, you'll find all the latest and greatest new features of each Symfony version. Big and small features that help you create your projects while having the best possible developer experience. However, this is only part of the development a...

Dart 2.7 released to be safer and more expressive

2019-12-12 17:17:18

The Dart 2.7 SDK has been released. Dart is a client-optimized programming language designed by Google. The latest release is meant to be “a safer, more expressive” version of Dart. Version 2.7 comes with added support for extension methods, a new package for handling strings with special characters, an update on null safety and a … continue reading The post Dart 2.7 released to be safer and more expressive appeared first on SD Times.

Atlassian Debuts Forge, a New Cloud Development Platform

2019-12-12 17:11:35

Atlassian has announced a new cloud development platform that is designed to bolster the company’s Atlassian Marketplace, a collection of development resources highlighted by over 4,000 apps and integrations. The new platform, Atlassian Forge, is a serverless FaaS (Functions-as-a-Service) hosted platform that features the all-new Forge UI.

Atlassian welcomes third-party developers into the cloud with Forge

2019-12-12 17:01:32

Atlassian is introducing a new cloud development platform designed to open the Atlassian ecosystem to third-party developers. Forge, which is currently in a cloused beta, was built for developers to build and run their enterprise-ready cloud apps with Atlassian solutions.  “Today, the Atlassian Ecosystem has grown into a community of more than 25,000 members – … continue reading The post Atlassian welcomes third-party developers into the cloud with Forge appeared first on SD Times.

Test environment management an obstacle to continuous testing, report finds

2019-12-12 16:31:35

Companies may be shifting testing left, but lack of access to internal services as well as external services can delay testing and cause unnecessary bottlenecks. According to the Sogeti 2019 Continuous Testing report, test environments are one of the biggest bottlenecks to achieving continuous testing. The survey results reveal the inordinate amount of time that … continue reading The post Test environment management an obstacle to continuous testing, report finds appeared first on SD Times.

SD Times news digest: Informatica updates its Intelligent Data Platform, Bonitasoft announces low-code collaboration tools, and Crystal 0.32.0

2019-12-12 15:45:27

Informatica announced several AI-powered updates to its Intelligent Data Platform, including an AI-driven catalog of catalogs, a data marketplace and a data quality cloud.  According to the company, key updates for the catalog include new advanced metadata scanners for business intelligence tools, data provisioning and improvements to its performance and scalability with Spark profiling.  In … continue reading The post SD Times news digest: Informatica updates its Intelligent Data Platform, Bonitasoft announces low-code collaboration tools, and Crystal 0.32.0 appeared first on SD Times.

Tomáš Votruba Blog: How to Get Rid of Technical Debt or What We Would Have Done Differently 2 Years ago

2019-12-12 15:30:02

We talked about cleaning legacy code with Rector 2 months ago on 40th meetup of PHP friends in Prague. Who is we? Me and CTO of the company I worked for, a great leader and technical expert who taught me a lot, Milan Mimra. The talk was not full of shallow tips, nor about framework migr...

Lack of cybersecurity skills and best practices strain security

2019-12-12 14:57:29

Security has hit a low point this year, as 2019 saw the 2nd, 3rd and 7th biggest breaches of all time measured by the number of people that were affected.  The largest breach of the year occurred in May when First American Financial Corporation leaked 885 million records of documents related to mortgage deals going … continue reading The post Lack of cybersecurity skills and best practices strain security appeared first on SD Times.

Programming: PHP, C++, Python and More

2019-12-12 14:17:58

Excellent Free Tutorials to Learn PHP PHP has been at the helm of the web for many years. It’s an extremely popular, interpreted scripting language that is ideally suited for web development in part because it has an approachable syntax and supports different operating systems. This language powers millions of web sites on the net and is extremely well supported by its user community. PHP is also used as a general-purpose programming language. PHP code can be executed with a command-line interface (CLI) and to implement standalone graphical applications. CLI PHP programs often automate common tasks such as testing, deployment, and application administration. The language offers a very complete set of object-oriented programming features as well as support for functional programming. The latest TIOBE Index (August 2019 at time of writing) ranks PHP in 8th place, behind Java, C, C++, C#, Python, Visual Basic .NET, and JavaScript. The language is released under a non-copyleft free software license / open source license. The latest stable version adds lots of new features. Intel's MKL-DNN/DNNL 2.0 Beta 3 Release Adds SYCL + Data Parallel C++ Compiler Intel's MKL-DNN Deep Neural Network Library (DNNL) that is open-source and catering to deep learning applications like Tensorflow, PyTorch, DeepLearning4J, and others is nearing its version 2.0 release. With DNNL 2.0 is now support for Data Parallel C++ as Intel's new language as part of their oneAPI initiative. MKL-DNN/DNNL 2.0 Beta 3 was released on Wednesday and to my knowledge is their first public test release of the forthcoming 2.0. Notable with DNNL 2.0 is supporting SYCL API extensions and interoperability now with SYCL code, the single-source C++-based programming language backed by The Khronos Group and a crucial to Intel's new oneAPI initiative. Watch this machine made out of Lego sort other Lego using AI Dubbed the “Universal Lego Sorting Machine” by its creator, Daniel West, it’s a pretty neat contraption that’s far more useful than any of the Lego science projects I used to make. The machine is apparently able to use AI to sort Lego into one of 18 different buckets at a rate of “about one brick every two seconds.” West says he trained the neural network that sorts the bricks using 3D images of Lego parts, and he says the network can learn to recognize any piece as long as there’s a 3D image to train on. Reactive programming, a new way of thinking Get to know Reactive Programming and Grace Jansen, co-author of a new O'Reilly report that introduces Reactive and Reactive Architecture. [...] At Devoxx Belgium, Grace gave a number of talks, including one about Reactive programming and the pitfalls, entitled “Reacting to the future of application architecture.” In the talk, she uses an analogy from biology, namely how bees live and function together. “I compare the behavior of bees with how we would like applications to function and meet the requirements and expectations of users.” Future-proof monolithic applications with modular design DevNation tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this talk, you’ll learn about future-proofing applications from Eric Murphy and Ales Nosek, Architects with Red Hat Consulting. When building an MVP software application, you may immediately jump to a microservices architecture because it’s the new norm for building cloud-native applications. You may also be skeptical about starting off with a monolith because of the perception of such applications as relics of the past. Merge Sort in Python Merge Sort is one of the most famous sorting algorithms. If you're studying Computer Science, Merge Sort, alongside Quick Sort is likely the first efficient, general-purpose sorting algorithm you have heard of. It is also a classic example of a divide-and-conquer category of algorithms. Updates on Unoon in December 2019 This Saturday evening, I sat with Unoon project after a few weeks, I was continuously running it, but, did not resume the development effort. This time Bhavin also joined me. Together, we fixed a location of the whitelist files issue, and unoon now also has a database (using SQLite), which stores all the historical process and connection information. In the future, we will provide some way to query this information. Summarising, Aggregating, and Grouping data in Python Pandas In this post, I will talk about summarizing techniques that can be used to compile and understand the data. I will use Python library Pandas to summarize, group and aggregate the data in different ways. I will be using college.csv data which has details about university admissions. read more

Site News: Blast from the Past - One Year Ago in PHP (12.12.2019)

2019-12-12 14:05:01

Here's what was popular in the PHP community one year ago today:Laravel News: Building a Laravel Translation Package – Handling Missing Translation Keys Colin O'Dell: How To Install PHP 7.3 Tomas Votruba: The Rocket Science Behind Migration of Docblock Types to PHP Typehints Rob Allen: Route specific configuration in Slim Freek Van der Herten: Handcrafting mocks

Music for Programming (2011)

2019-12-12 13:24:34


How to set up taxes in Magento 2

2019-12-12 11:35:08

We are happy to share with you the ultimate guide on how to set up and manage taxes in Magento 2. Everything you need as a merchant, consultant or developer, you’ll find right here. This guide is based on Magento 2.3.X, however, there were no significant changes in previous versions of Magento 2 when it... The post How to set up taxes in Magento 2 appeared first on Inchoo.

Collective #573

2019-12-12 10:40:23

Building A CSS Layout * Leonardo * React View * No to Chrome * Game accessibility and the Web Collective #573 was written by Pedro Botelho and published on Codrops.

Offline and back again: Surviving the PHP 7 upgrade by adding one letter

2019-12-12 06:21:04


Summarising Aggregating and Grouping data in Python Pandas

2019-12-12 04:26:02

This post is a good primer about data analysis using Python Pandas Library. I have tried to explain through examples how to use Pandas aggregate and groupby methods to summarize the data.

Fedora and Red Hat: Fedora's Modularity Initiative, Git, Servers, Buildah and Ansible

2019-12-12 04:07:47

Fedora's modularity mess Fedora's Modularity initiative has been no stranger to controversy since its inception in 2016. Among other things, there were enough problems with the original design that Modularity went back to the drawing board in early 2018. Modularity has since been integrated with both the Fedora and Red Hat Enterprise Linux (RHEL) distributions, but the controversy continues, with some developers asking whether it's time for yet another redesign — or to abandon the idea altogether. Over the last month or so, several lengthy, detailed, and heated threads have explored this issue; read on for your editor's attempt to integrate what was said. The core idea behind Modularity is to split the distribution into multiple "streams", each of which allows a user to follow a specific project (or set of projects) at a pace that suits them. A Fedora user might appreciate getting toolchain updates as soon as they are released upstream while sticking with a long-term stable release of LibreOffice, for example. By installing the appropriate streams, this sort of behavior should be achievable, allowing a fair degree of customization. Much of the impetus — and development resources — behind Modularity come from the RHEL side of Red Hat, which has integrated Modularity into the RHEL 8 release as "Application Streams". This feature makes some sense in that setting; RHEL is famously slow-moving, to the point that RHEL 7 did not even support useful features like Python 3. Application Streams allow Red Hat (or others) to make additional options available with support periods that differ from that of the underlying distribution, making RHEL a bit less musty and old, but only for the applications a specific user cares about. The use case for Modularity in Fedora is arguably less clear. A given Fedora release has a support lifetime of 13 months, so there are limits to the level of stability that it can provide. Moving bugzilla overrides to dist-git A while ago Fedora had pkgdb to configure ACLs for each package repo and package related admin actions. When we moved to 'pagure over dist-git', pagure already provided some of these capabilities. pkgdb would have needed a lot of effort to make it work with the modern package branching (modularity) [1] with different lifecycles for each package that are unrelated to Fedora releases and thus we've decided to retire it and replace it with a different solution. One of the missing parts after retireing pkgdb was the ability to set different default bugzilla assignees for EPEL and Fedora. This was solved by creating a new repository called fedora-scm-requests [2]. A script would then parse the contents of the repository, merge that information with the main package admins and repo watchers from dist-git and sync this information to bugzilla so that new bugs get assigned to the correct maintainers and all the interested parties get put on CC:. Each change required a pull request to this repo and someone from the infrastructure team to review and merge the patch. It is obvious that this doesn't scale with the huge number of packages that Fedora and EPEL have. Red Hat customers want the hybrid cloud If you listen to some people, everyone and their corner office wants to move to the public cloud. Red Hat's global customers have a different take. Thirty-one percent of Red Hat's customers say "hybrid" describes their strategy best, 21% are leaning toward a private cloud approach, while only 4% see the public cloud as their first choice. There's only one little problem: Finding the staff with the right skills to make the jump from old-school IT to the cloud. Businesses prefer the hybrid cloud strategy for many different reasons -- but, overall, data security, cost benefits, and data integration led the pack. For years, the hybrid cloud wasn't that popular. With the rise of the Kubernetes-based hybrid cloud model and with Red Hat being one of the new-model hybrid cloud's leading proponents, customers are embracing the hybrid cloud. Building with Buildah: Dockerfiles, command line, or scripts How to write a multitask playbook in ansible read more

Pagination Style 66

2019-12-12 00:22:36

The post Pagination Style 66 appeared first on Best jQuery.

Hover Effect Style 254

2019-12-12 00:20:16

The post Hover Effect Style 254 appeared first on Best jQuery.

Chrome 79 Adds WebXR Device API and New Security Protections

2019-12-12 00:00:33

Google launched Chrome 79 for Android, iOS, Linux, Mac, and Windows this week. The latest browser from Google packs in tons of updates, including support for the WebXR Device API, as well as a password checkup, real-time phishing protection, and, of course, security patches. Here's the run down on what's what. 

Where did the logic go?

2019-12-12 00:00:00

Logic never goes wrong but in this case a simple refactoring of an if block seem to give a different result even though it does exactly the same thing. Or does it? This Programmer Puzzle explores a gotcha in PHP Read more...

Netflix Opensources Metaflow

2019-12-12 00:00:00

Netflix has open sourced Metaflow, which the developers describe as a human-centric framework for data science. The framework has been used internally at Netflix for the last two years to build and manage hundreds of data-science projects. Read more...

The text adventure game of exiting a telnet session

2019-12-12 00:00:00

We’ve all been there, right? You debug something, you try telnet to see if a port is open, and now you’re stuck in a telnet session.

PPX: Probabilistic Programming EXecution Protocol and API Based on Flatbuffers

2019-12-11 21:48:50


Cloudera calls for open standards for MLOps

2019-12-11 21:25:30

Cloudera is calling for industry-wide participation in setting open standards for machine learning operations (MLOps) and machine learning model governance. Cloudera believes that community participation in developing these standards will ensure that companies can leverage their machine learning investments and pave a path for the future.  RELATED CONTENT: AI ethics: Early but formative days Ethical … continue reading The post Cloudera calls for open standards for MLOps appeared first on SD Times.

FCC Launches API for Lifeline Subsidy Program

2019-12-11 20:43:13

The Federal Communications Commission (FCC) has introduced a new API for its Lifeline program. The Lifeline program provides discounts on phone service to low-income consumers. The API makes it easier for carriers to verify consumer eligibility through the FCC. In turn, eligible consumers will have a simpler enrollment process.

Layered Programming (2013)

2019-12-11 20:38:15


symfony Project Blog: New in Symfony 4.4: WebProfiler Improvements

2019-12-11 20:30:03

Mailer Integration¶ Contributed by Fabien Potencier in #32912. The new Symfony Mailer was introduced in Symfony 4.3. In Symfony 4.4 we improved and polished it, including the integration wit...

Hadoop Ecosystem: Hadoop Tools for Crunching Big Data

2019-12-11 19:11:43

Hadoop Ecosystem In this blog, let's understand the Hadoop Ecosystem. It is an essential topic to understand before you start working with Hadoop. This Hadoop ecosystem blog will familiarize you with industry-wide used Big Data frameworks, required for a Hadoop certification. The Hadoop Ecosystem is neither a programming language nor a service; it is a platform or framework which solves big data problems. You can consider it as a suite that encompasses a number of services (ingesting, storing, analyzing, and maintaining) inside it. Let us discuss and get a brief idea about how the services work individually and in collaboration.

KSQL: A SQL Streaming Engine for Apache Kafka

2019-12-11 19:06:25

KSQL is a SQL streaming engine for Apache Kafka. It provides an easy-to-use, yet powerful interactive SQL interface for stream processing on Kafka, without the need to write code in a programming language like Java or Python. KSQL is scalable, elastic, and fault-tolerant. It supports a wide range of streaming operations, including data filtering, transformations, aggregations, joins, windowing, and sessionization. What Is Streaming? In stream processing, data is continuously processed, as new data become available for analyzing. Data is processed sequentially as an unbounded stream and may be pulled in by a “listening” analytics system as a record in key-value pairs.

Mozilla and Beyond: Daniel Stenberg on BearSSL, Mozilla Root Store Policy, The Weak Notes, Wladimir Palant on Avira

2019-12-11 18:44:08

Daniel Stenberg: BearSSL is curl’s 14th TLS backend curl supports more TLS libraries than any other software I know of. The current count stops at 14 different ones that can be used to power curl’s TLS-based protocols (HTTPS primarily, but also FTPS, SMTPS, POP3S, IMAPS and so on). The beginning The very first curl release didn’t have any TLS support, but already in June 1998 we shipped the first version that supported HTTPS. Back in those days the protocol was still really SSL. The library we used then was called SSLeay. (No, I never understood how that’s supposed to be pronounced) The SSLeay library became OpenSSL very soon after but the API was brought along so curl supported it from the start. Announcing Version 2.7 of the Mozilla Root Store Policy After many months of discussion on the mailing list, our Root Store Policy governing Certificate Authorities (CAs) that are trusted in Mozilla products has been updated. Version 2.7 has an effective date of January 1st, 2020. Week notes - 2019 w49 - worklog - The Weak Notes A week with a bad cold makes it more difficult to write week notes. So here my weak notes. Everything seems heavier to type, to push. This last week-end I was at JSConf JP. I wrote down some notes about it. The week starts with two days of fulltime diagnosis (Monday, Tuesday). Let's get to it: 69 open bugs for Gecko. We try to distribute our work across the team so we are sure that at least someone is on duty for each day of the week. When we have finished our shift, we can add ourselves for more days. That doesn't prevent us for working on bugs the rest of the week. Some of the bugs take longer. Problematic monetization in security products, Avira edition A while back we’ve seen how Avast monetizes their users. Today we have a much smaller fish to fry, largely because the Avira’s extensions in question aren’t installed by default and require explicit user action for the additional “protection.” So these have far fewer users, currently 400 thousands on Firefox and slightly above a million on Chrome according to official add-on store numbers. It doesn’t make their functionality any less problematic however. That’s especially the case for Avira Browser Safety extension that Avira offers for Firefox and Opera. While the vendor’s homepage lists “Find the best deals on items you’re shopping for” as last feature in the list, the extension description in the add-on stores “forgets” to mention this monetization strategy. I’m not sure why the identical Chrome extension is called “Avira Safe Shopping” but at least here the users get some transparency. [...] The Avira Browser Safety extension is identical to Avira Safe Shopping and monetizes by offering “best shopping deals” to the users. This functionality is underdocumented, particularly in Avira’s privacy policy. It is also risky however, as Avira chose to implement it in such a way that it will execute JavaScript code from Avira’s servers on arbitrary websites as well as in the context of the extension itself. In theory, this allows Avira or anybody with control of this particular server to target individual users, spy on them or mess with their browsing experience in almost arbitrary ways. In addition to that, the security part of the extension is implemented in a suboptimal way and will upload the entire browsing history of the users to Avira’s servers without even removing potentially sensitive data first. Again, Avira’s privacy policy is severely lacking and won’t make any clear statements as to what happens with this data. read more

News From Python Programmers

2019-12-11 18:28:13

Data Engineer Interview Questions With Python Going to interviews can be a time-consuming and tiring process, and technical interviews can be even more stressful! This tutorial is aimed to prepare you for some common questions you’ll encounter during your data engineer interview. You’ll learn how to answer questions about databases, Python, and SQL. 8 AI Predictions for 2020: Business Leaders & Researchers Weigh In The first industrial revolution was powered by coal, the second by oil and gas, and the third by nuclear power. The fourth — AI — is fueled by an abundance of data and breakthroughs in compute power. While this abundance has allowed us to make significant progress in recent years, there is still much to be done for AI to be the positive life-changing force that many hope it will be. We asked thought leaders at the forefront of AI and machine learning technology to contribute some insight into what they think will transpire in 2020. Their predictions center around hardware, the human impact of AI, the public’s understanding of AI, and its limitations. The easiest way to deploy Django application Heroku is a cloud application platform, it facilitate the deployement of a web application. They support several programming languages, include Python. Encoding and Decoding Base64 Strings in Python Have you ever received a PDF or an image file from someone via email, only to see strange characters when you open it? This can happen if your email server was only designed to handle text data. Files with binary data, bytes that represent non-text information like images, can be easily corrupted when being transferred and processed to text-only systems. Base64 encoding allows us to convert bytes containing binary or text data to ASCII characters. By encoding our data, we improve the chances of it being processed correctly by various systems. In this tutorial, we would learn how Base64 encoding and decoding works, and how it can be used. We will then use Python to Base64 encode and decode both text and binary data. read more

Audiocasts/Shows: Talk Python to Me, Art With Free Software and mintCast on Linux Mint

2019-12-11 18:07:17

Talk Python to Me: Episode #242: Your education will be live-streamed Online education has certainly gone mainstream. Developers and companies have finally gotten comfortable taking online courses. Sometimes these are recorded, self-paced courses like we have at Talk Python Training. Other times, they are more like live events in webcast format. In this episode, you'll meet two guys who are taking the interactivity of online learning up a notch. Brian Clark and Cecil Philip run a weekly event on Twitch where they are live-streaming an interactive Python course. They take questions from 100's of students and dig into the diversions more mainstream online learning simply cannot. [Krita artist] Production report: episode 31 Slowly but surely and in the background of the book-publishing project I've been working on a future episode of Pepper&Carrot. Here is a report about that with many screenshots: mintCast 323.5 – Traveling Networker Problem In our Innards section, we talk more about Linux Mint and Clem’s comments. read more

Google’s Flutter to focus on ambient computing

2019-12-11 18:05:07

Google is preparing for an ambient computing future with its UI toolkit Flutter. The company announced new updates and strategies at its Flutter conference Flutter Interact this week. “We live in a world where internet-connected devices are pervading every area of our lives. Many of us transition throughout the day between multiple devices: phones, watches … continue reading The post Google’s Flutter to focus on ambient computing appeared first on SD Times.

Foundations of Deep Reinforcement Learning (Addison-Wesley)

2019-12-11 18:03:25

This introduction to deep reinforcement learning (RL) combines both theory and implementation. Authors Laura Graesser and Wah Loon Keng starts with intuition, then carefully explain the theory of deep RL algorithms, discuss implementations in its companion software library SLM Lab, and finish with the practical details of getting deep RL to work. This guide is aimed both at computer science students and software engineers who are familiar with basic machine learning concepts and have a working understanding of Python. <ASIN:0135172381> Read more...

Matthias Noback - PHP & Symfony: Defining a custom filter and sorter for Sculpin content types

2019-12-11 18:00:03

This blog runs on Sculpin, a static site generator. The generator itself runs on Symfony, which for me makes it easy to extend. However, I find that if you want something special, it can usually be done, but it may take several hours to get it right. In the end though, the solution is often quite el...

SD Times news digest:’s WebAssembly Hub, Accenture’s cloud-native solution, and EDB Postgres platform 12

2019-12-11 16:59:39

Software company launched the WebAssembly Hub to allow users to easily add new functionalities to their service mesh. “At, we believe that extending the functionality of your service mesh should be simple and secure,” said Idit Levine, founder and CEO of “This is why we’re excited about integrating Wasm with Envoy Proxy. … continue reading The post SD Times news digest:’s WebAssembly Hub, Accenture’s cloud-native solution, and EDB Postgres platform 12 appeared first on SD Times. ★ 📺 Video: Using tags and segments in Mailcoach

2019-12-11 16:30:05

My team and I are currently building Mailcoach, a self-hosted solution to easily send out newsletters and email campaigns. In this video, I demonstrate how email lists can be segmented using tags. Together with Mailcoach, we'll release a video course on how to use Mailcoach, and how it was buil...

Flutter: the first UI platform designed for ambient computing

2019-12-11 16:00:06

A programmable programming language (2018) [pdf]

2019-12-11 15:38:54


Npm Pro targets independent JavaScript developers

2019-12-11 15:32:42

Npm has announced a new tool for independent JavaScript developers. The new npm Pro is designed for developers who do most of their JavaScript development on their own, such as consultants, students, and hobbyists, as well as certain startup and corporate JavaScript developers with side projects. RELATED CONTENT:  JavaScript becomes the most in-demand developer technology … continue reading The post Npm Pro targets independent JavaScript developers appeared first on SD Times.

Ruben Van Assche: Getting started with GitHub Actions and Laravel

2019-12-11 15:30:02

At Spatie, we have been using Circle CI, Travis CI, Chipper CI, and other services for quite a while, but we couldn't find an exact fit for our cases. We were excited when GitHub announced its CI/CD service named GitHub Actions this year and think this might be the CI/CD service for all our projects...

Advantages of redundant coordinates

2019-12-11 15:21:41

Since you can describe a point in the plane with two numbers, why would you choose to use three numbers? Why would you ever want to use a coordinate system with more coordinates than necessary? Barycentric coordinates One way to indicate the location of a point inside a triangle is to give the distance to […]

Enterprises cleared for takeoff into the cloud

2019-12-11 14:25:08

The skies began to clear up for enterprises to start doing more in the cloud this year.  According to Forrester, 2018 was the year cloud-native tools and technologies started to gain more traction, and 2019 was its breakout year as more enterprises turned to microservices, containers, serverless and modern approaches. “From a software development perspective, … continue reading The post Enterprises cleared for takeoff into the cloud appeared first on SD Times.

Programming: Vim, Qt Shader and Python

2019-12-11 11:43:38

Vim Text Editor for Beginners Part 1 - Introduction In my newly refreshed Vim series, you'll learn all the things you'll need to know in order to use this text editor in your daily workflow. In this first video, we'll get Vim installed take an initial look. Vim Text Editor for Beginners Part 2 - Combining Files In my newly refreshed Vim series, you'll learn all the things you'll need to know in order to use this text editor in your daily workflow. Qt Shader Tools Looks To Become Official Qt6 Module The currently-experimental Qt Shader Tools allows for graphics/compute shader conditioning and used by the in-development Qt graphics abstraction layer for supporting Vulkan / Metal / Direct3D / OpenGL APIs. Qt Shader Tools offers various shader features in preparing them for consumption by different graphics APIs. Qt Shader Tools is currently used ahead of time for QtGUI with Qt 5.14+. But for Qt 6.0, Qt Shader Tools is going through the appropriate steps for becoming a formal Qt 6 module for compiling and translating shaders between interfaces. Python Positional-only parameters I have downloaded Python 3.8 and start to play around with those latest python functions. In this article, we will look at the Positional-only parameter syntax which is a function parameter syntax / to indicate that some function parameters must be specified positionally and cannot be used as keyword arguments which means after the / syntax we may specify a value for each parameter within that function. For Loop in Python Explained With Practical Examples If you are just getting started to learn Python, you must be in search of something to explore for loop in Python. Of course, our list of free python resources should help you learn about it quickly. In either case, we shall help you learn more about the ‘for‘ loop in python using a couple of important examples. read more

Games: Pygame, The Long Dark, DXVK and Shovel Knight

2019-12-11 11:41:18

Enable your Python game player to run forward and backward In previous entries in this series about creating video games in Python 3 using the Pygame module, you designed your level-design layout, but some portion of your level probably extended past your viewable screen. The ubiquitous solution to that problem in platformer games is, as the term "side-scroller" suggests, scrolling. The key to scrolling is to make the platforms around the player sprite move when the player sprite gets close to the edge of the screen. This provides the illusion that the screen is a "camera" panning across the game world. This scrolling trick requires two dead zones at either edge of the screen, at which point your avatar stands still while the world scrolls by. Survival Mode in The Long Dark just got a lot bigger with the ERRANT PILGRIM update As promised, Hinterland Studio have released a huge update to the Survival Mode side of The Long Dark named ERRANT PILGRIM. It brings in a whole new region to explore, Bleak Inlet. Once a home to a thriving industrial Cannery, seismic activity cut-off Bleak Inlet from the rest of the Great Bear mainland. Exploring is not for the faint of heart, being Timberwolf territory but the treasures contained in the industrial complex may just be enough to warrant the journey. DXVK Reportedly Going Into "Maintenance Mode" Due To State Of Code-Base While DXVK tends to be much-loved by Linux gamers for allowing more Direct3D 10/11 Windows games to run nicely on Linux with Wine or Proton (Steam Play) thanks to its fairly complete translation of D3D10/D3D11 API calls to Vulkan, it looks like Philip Rebohle is at least contemplating shifting it just into maintenance-mode. The DXVK lead developer recently commented that DXVK is "entering maintenance mode" and he doesn't want to make any significant changes or additions to the code. Shovel Knight: King of Cards and Shovel Knight Showdown are out, completing the series Starting off with a successful Kickstarter crowdfunding campaign back in 2013 and growing into a massive multi-part 8-bit inspired world, Shovel Knight: Treasure Trove now finally finished. Note: Keys provided by to us. Originally having a goal of $75,000 and a Linux/macOS stretch goal at $130,000 it proved to be popular ending on $311,491. It's taken six years for Yacht Club Games to get here starting with Shovel of Hope, followed by Plague of Shadows in 2015, Specter of Torment in 2017, and now King of Cards and Shovel Knight Showdown in 2019. read more

W3C Trace Context specification enters proposed recommendation status and what it means

2019-12-11 10:00:11

The W3C Distributed Tracing working group has moved the Trace Context specification to the next maturity level. The specification is already being adopted and implemented by many platforms and SDKs. This article describes the Trace Context specification and how it improves troubleshooting and monitoring of modern distributed apps. W3C Trace Context specification defines the format […]

Enable your Python game player to run forward and backward

2019-12-11 08:00:00

This is part 8 in an ongoing series about creating video games in Python 3 using the Pygame module. Previous articles are: read more

A tale of two abstractions: the case for object space

2019-12-11 06:00:00

Programming: Rust, Haskell, Qt and Python

2019-12-11 05:08:24

Sonja Heinze: What this blog is about In order to ask for an Outreachy grant for a certain open-source project, applicants first have to contribute to that project for about a month. When choosing a project, I didn’t know any Rust. But the fact that Fractal is written in Rust was an important point in favor due to curiosity. But I also expected to have a hard time at the beginning. Fortunately, that wasn’t really the case. For those who haven’t used Rust, let me give two of the reasons why: If you just start coding, the compiler takes you by the hand giving you advice like “You have done X. You can’t do that because of Y. Did you maybe mean to do Z?”. I took those pieces of advice as an opportunity to dig into the rules I had violated. That’s definitely a possible way to get a first grip on Rust. Nevertheless, there are pretty good sources to learn the basics, for example, the Rust Book. Well, to be precise, there’s at least one (sorry, I’m a mathematician, can’t help it, I’ve only started reading that one so far). It’s not short, but it’s very fast to read and easy to understand. In my opinion, the only exception being the topics on lifetimes. But lifetimes can still be understood by other means. Joey Hess: announcing the filepath-bytestring haskell library filepath-bytestring is a drop-in replacement for the standard haskell filepath library, that operates on RawFilePath rather than FilePath. Parsing XML with Qt: Updates for Qt 6 This module provides implementations for two different models for reading and writing XML files: Document Object Model (DOM) and Simple API for XML (SAX). With DOM model the full XML file is loaded in memory and represented as a tree, this allows easy access and manipulation of its nodes. DOM is typically used in applications where you don't care that much about memory. SAX, on the other hand, is an event based XML parser and doesn't load the whole XML document into memory. Instead it generates events for tokens while parsing, and it's up to the user to handle those events. The application has to implement the handler interfaces (fully, or partially by using QXmlDefaultHandler). A lot of people find this inconvenient as it forces them to structure their code around this model. Another problem is that the current implementation of SAX (and as a consequence DOM, since it's implemented using SAX) is not fully compliant with the XML standard. Considering these downsides, Qt does not recommend using SAX anymore, and the decision has been made to deprecate those classes starting from Qt 5.15. pathlib and paths with arbitrary bytes The pathlib module was added to the standard library in Python 3.4, and is one of the many nice improvements that Python 3 has gained over the past decade. In three weeks, Python 3.5 will be the oldest version of Python that still receive security patches. This means that the presence of pathlib can soon be taken for granted on all Python installations, and the quest towards replacing os.path can begin for real. In this post I’ll have a look at how pathlib can be used to handle file names with arbitrary bytes, as this is valid on most file systems. PyCoder’s Weekly: Issue #398 (Dec. 10, 2019) Variables in Python If you want to write code that is more complex, then your program will need data that can change as program execution proceeds. Creating an email service for my son’s childhood memories with Python This was very flexible as it allowed me to keep anything else I wanted in this document – and it was portable (to anyone who have access to some way of reading Word documents) – and accessible to non-technical people such as my son’s grandparents. After a while though, I wondered if I’d made the right decision: shouldn’t I have put it into some other format that could be accessed programmatically? After all, if I kept doing this for his entire childhood then I’d have a lot of interesting data in there… Well, it turns out that a Word table isn’t too awful a format to store this sort of data in – and you can access it fairly easily from Python. Once I realised this, I worked out what I wanted to create: a service that would email me every morning listing the things I’d put as diary entries for that day in previous years. I was modelling this very much on the Timehop app that does a similar thing with photographs, tweets and so on, so I called it julian_timehop. Executing Shell Commands with Python Repetitive tasks are ripe for automation. It is common for developers and system administrators to automate routine tasks like health checks and file backups with shell scripts. However, as those tasks become more complex, shell scripts may become harder to maintain. Fortunately, we can use Python instead of shell scripts for automation. Python provides methods to run shell commands, giving us the same functionality of those shells scripts. Learning how to run shell commands in Python opens the door for us to automate computer tasks in a structured and scalable way. In this article, we will look at the various ways to execute shell commands in Python, and the ideal situation to use each method. read more

How To Scrape Reviews Using Python Scrapy

2019-12-11 03:05:52

This post is about scraping reviews using Python library Scrapy. The post is a good primer for Users who have never used Scrapy before.

Pricing Table Style 137

2019-12-11 00:22:00

The post Pricing Table Style 137 appeared first on Best jQuery.

Counter Style 98

2019-12-11 00:20:11

The post Counter Style 98 appeared first on Best jQuery.

Mozilla Remains Confident Despite Dip In Revenue

2019-12-11 00:00:00

Mozilla is a unique organization which is critical to the overall health and well being of the Internet. It also provides valuable financial support to open source organizations. For those two reasons its financial health is important.  Read more...

Daily API RoundUp: Bold Commerce, Let's Encrypt, BitZ, My Digital Office, AuthVia

2019-12-10 23:02:23

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

Determining fundamental frequency

2019-12-10 22:52:30

My daughter had a homework problem the other day that gave the frequencies of several Fourier components and asked her to find the fundamental frequency. The numbers were nice enough that brute force worked, and I’m sure that’s what students were expected to do. But this could easily be a much more sophisticated problem. If […]

Postman Annual API Report Highlights Continued Concern for API Security

2019-12-10 22:43:18

Postman, an API development collaboration platform provider, just released its 2019 State of the API Report. Postman surveys its community each year to better understand who is working with APIs, how they are using them, and where the industry is headed.

Podcast Episode 59: Mailpoet’s Kim Gjerstad on Beating Spammers and Improving Net Promoter Scores

2019-12-10 22:23:17

Kim Gjerstad, one of the founders of Mailpoet, visited with Mark at the Wordfence booth at WordCamp US. Kim and Mark talked about the origins of Mailpoet, the plugin that gives users a full email management system within the WordPress administrative dashboard. They talk about email deliverability as well as the challenges of fighting email ...Read More The post Podcast Episode 59: Mailpoet’s Kim Gjerstad on Beating Spammers and Improving Net Promoter Scores appeared first on Wordfence.

Updating an ASP.NET Core 2.2 Web Site to .NET Core 3.1 LTS

2019-12-10 22:07:00

Now that .NET Core 3.1 is out jus this last week and it is a "LTS" or Long Term Support version, I thought it'd be a good time to update my main site and my podcast to .NET 3.1. You can read about what LTS means but quite simply it's that "LTS releases are supported for three years after the initial release." I'm not sure about you, but for me, when I don't look at some code for a few months - in this case because it's working just fine - it takes some time for the context switch back in. For my podcast site and main site I honestly have forgotten what version of .NET they are running on. Updating my site to .NET Core 3.1 First, it seems my main homepage is NET Core 2.2. I can tell because the csproj has a "TargetFramework" of netcoreapp2.2. So I'll start at the migration docs here to go from 2.2 to 3.0. .NET Core 2.2 reaches "end of life" (support) this month so it's a good time to update to the 3.1 version that will be supported for 3 years. Here's my original csproj<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> <RootNamespace>hanselman_core</RootNamespace> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" /> </ItemGroup> <ItemGroup> <None Update="IISUrlRewrite.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project> and my 3.0 updated csproj. You'll note that most of it is deletions. Also note that I have a custom IISUrlRewrite.xml that I want to make sure gets to a specific place. You'll likely not have anything like this, but be aware.<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <RootNamespace>hanselman_core</RootNamespace> </PropertyGroup> <ItemGroup> <None Update="IISUrlRewrite.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project> Some folks are more little methodical about this, upgrading first to 3.0 and then to 3.1. You can feel free to jump all the way if you want. In this case the main breaking changes are from 2.x to 3.x so I'll upgrade the whole thing all in one step. I compile and run and get an error "InvalidOperationException: Endpoint Routing does not support 'IApplicationBuilder.UseMvc(...)'. To use 'IApplicationBuilder.UseMvc' set 'MvcOptions.EnableEndpointRouting = false' inside 'ConfigureServices(...)." so I'll keep moving through the migration guide, as things change in major versions. Per the docs, I can remove using Microsoft.AspNetCore.Mvc; and add using Microsoft.Extensions.Hosting; as IHostingEnvironment becomes IWebHostEnvironment. Since my app is a Razor Pages app I'll add a call to servicesAddRazorPages(); as well as calls to UseRouting, UseAuthorization (if needed) and most importantly, moving to endpoint routing like this in my Configure(); app.UseEndpoints(endpoints =>{ endpoints.MapRazorPages();}); I also decide that I wanted to see what version I was running on, on the page, so I'd be able to better remember it. I added this call in my _layout.cshtml to output the version of .NET Core I'm using at runtime. <div class="copyright">&copy; Copyright @DateTime.Now.Year, Powered by @System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription</div> In order versions of .NET, you couldn't get exactly what you wanted from RuntimeInformation.FrameworkDescription, but it works fine in 3.x so it's perfect for my needs. Finally, I notice that I was using my 15 year old IIS Rewrite Rules (because they work great) but I was configuring them like this:using (StreamReader iisUrlRewriteStreamReader = File.OpenText(Path.Combine(env.ContentRootPath, "IISUrlRewrite.xml"))){ var options = new RewriteOptions() .AddIISUrlRewrite(iisUrlRewriteStreamReader); app.UseRewriter(options); } And that smells weird to me. Turns out there's an overload on AddIISUrlRewrite that might be better. I don't want to be manually opening up a text file and streaming it like that, so I'll use an IFileProvider instead. This is a lot cleaner and I can remove a using System.IO;var options = new RewriteOptions() .AddIISUrlRewrite(env.ContentRootFileProvider, "IISUrlRewrite.xml");app.UseRewriter(options); I also did a little "Remove and Sort Usings" refactoring and tidied up both Program.cs and Startup.cs to the minimum and here's my final complete Startup.cs.using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Rewrite; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace hanselman_core { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddHealthChecks(); services.AddRazorPages().AddRazorPagesOptions(options => { options.Conventions.AddPageRoute("/robotstxt", "/Robots.Txt"); }); services.AddMemoryCache(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHealthChecks("/healthcheck"); var options = new RewriteOptions() .AddIISUrlRewrite(env.ContentRootFileProvider, "IISUrlRewrite.xml"); app.UseRewriter(options); app.UseHttpsRedirection(); app.UseDefaultFiles(); app.UseStaticFiles(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); } } } And that's it. Followed the migration, changed a few methods and interfaces, and ended up removing a half dozen lines of code and in fact ended up with a simpler system. Here's the modified files for my update:❯ git statusOn branch mainYour branch is up to date with 'origin/main'.Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: Pages/Index.cshtml.cs modified: Pages/Shared/_Layout.cshtml modified: Program.cs modified: Startup.cs modified: hanselman-core.csproj Updating the Web Site in Azure App Service and Azure DevOps That all works locally, so I'll check in in and double check my Azure App Service Plan and Azure DevOps Pipeline to make sure that the staging - and then production - sites are updated. ASP.NET Core apps can rely on a runtime that is already installed in the Azure App Service or one can do a "self contained" install. My web site needs .NET Core 3.1 (LTS) so ideally I'd change this dropdown in General Settings to get LTS and get 3.1. However, this only works if the latest stuff is installed on Azure App Service. At some point soon in the future .NET Core 3.1 will be on Azure App Service for Linux but it might be a week or so. At the time of this writing LTS is still 2.2.7 so I'll do a self-contained install which will take up more disk space but will be more reliable for my needs and will allow me full controll over versions. I am running this on Azure App Service for Linux so it's running in a container. It didn't startup so I checked the logs at startup via the Log Stream and it says that the app isn't listening on Port 8080 - or at least it didn't answer an HTTP GET ping. I wonder why? Well, I scrolled up higher in the logs and noted this error:2019-12-10T18:21:25.138713683Z The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found. Oops! Did I make sure that my csproj was 3.1? Turns out I put in netcoreapp3.0 even though I was thinking 3.1! I updated and redeployed. It's important to make sure that your SDK - the thing that builds - lines up with the the runtime version. I have an Azure DevOps pipeline that is doing the building so I added a "use .NET Core SDK" task that asked for 3.1.100 explicitly. Again, I need to make sure that my Pipeline includes that self-contained publish with a -r linux-x64 parameter indicating this is the runtime needed for a self-contained install. Now my CI/CD pipeline is building for 3.1 and I've set my App Service to run on 3.1 by shipping 3.1 with my publish artifact. When .NET Core 3.1 LTS is released on App Service I can remove this extra argument and rely on the Azure App Service to manage the runtime. All in all, this took about an hour and a half. Figure a day for your larger apps. Now I'll spend another hour (likely less) to update my podcast site. Sponsor: Like C#? We do too! That’s why we've developed a fast, smart, cross-platform .NET IDE which gives you even more coding power. Clever code analysis, rich code completion, instant search and navigation, an advanced debugger... With JetBrains Rider, everything you need is at your fingertips. Code C# at the speed of thought on Linux, Mac, or Windows. Try JetBrains Rider today!© 2019 Scott Hanselman. All rights reserved.      

Report: A majority of companies feel confident about API security

2019-12-10 20:50:03

Companies are feeling confident about the security of their APIs, even in the midst of frequent reports of API security breaches and misuse. A newly released report from API platform provider Postman found almost three quarters of respondents feel their APIs were “very secure” or have “above-average security,” and only 2.4% responded that their APIs … continue reading The post Report: A majority of companies feel confident about API security appeared first on SD Times.

RIPS Technologies Blog: How to Fine-Tune Static Code Analysis - Part 1

2019-12-10 20:30:02

Before integrating SAST into your SDLC you want to make sure that your code analysis produces only relevant findings with the best performance possible. In the first part of this guide, we will cover the following 5 configuration options and best practices for fine-tuning: Set the Language Version ...

Object Detection and Tracking using MediaPipe

2019-12-10 20:21:52

The top reasons to adopt a modern messaging platform

2019-12-10 19:36:04

The right messaging platform will unlock your team’s potential for advanced collaboration  with powerful capabilities that drive increased efficiency, productivity, and velocity. The following considerations can help you define messaging requirements for your organization. RELATED CONTENT: Challenges to effective DevOps collaboration Designed for developer collaboration  Take advantage of a messaging solution that’s designed from the … continue reading The post The top reasons to adopt a modern messaging platform appeared first on SD Times.

Testing gets smarter, and so do testers

2019-12-10 18:38:36

Testing continued to evolve throughout the year as businesses worked to get high-quality software out faster. Now that testing early and often has become a common mantra among development teams, testing smarter was the new focus in 2019.  The advances in machine learning and artificial intelligence have enabled more test automation and accuracy.  Perfecto announced … continue reading The post Testing gets smarter, and so do testers appeared first on SD Times.

Ride on Waves Surfboard: Migrating from Waves Browser-based IDE to Surfboard CLI tool Part 1

2019-12-10 18:24:48

Handwriting Recognition using ML.NET

2019-12-10 18:24:45

Master The Asynchronous State In A Functional React Component

2019-12-10 18:24:33

You must unlearn what you have learned.Continue reading on codeburst »

To UI Engineering and Back Again

2019-12-10 18:24:28

Kubernetes CKA-CKAD Updates — 1.16 Exam Curriculum, Labs, Inspiration

2019-12-10 18:23:56

Here is an update about some of the changes recently announced in the Kubernetes Exam Curriculum and some additional labs we have…Continue reading on codeburst »

JavaScript News & Updates (November 2019)

2019-12-10 18:23:51

Learning Rust by Contrasting with TypeScript: Part 14

2019-12-10 18:23:45

Learning Rust by Contrasting with TypeScript: Part 13

2019-12-10 18:23:44

Learning Rust by Contrasting with TypeScript: Part 12

2019-12-10 18:23:42

17 Resources That Will Teach You How To Code Like a Pro

2019-12-10 18:23:34

Create a Flask Application in a Few Minutes

2019-12-10 17:57:29

According to The Pallets Projects, Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy. This article will even make it easier by showing a step-by-step guide to creating a Python Flask web application with auto-generated desired data to get the application started. Prerequisites:

SD Times news digest: SmartBear launches CucumberStudio, API Fortress offers unlimited API monitoring, and Google’s ARCore Depth API

2019-12-10 17:06:05

SmartBear released a new behavior-driven development (BDD) solution CucumberStudio. It is designed to bridge the gaps between business, development and testing through Git integration and living documentation.  According to the company, CucumberStudio merges Cucumber with HipTest, which SmartBear acquired in 2018, representing an investment in a solution that supports all aspects of behavior-driven development (BDD). … continue reading The post SD Times news digest: SmartBear launches CucumberStudio, API Fortress offers unlimited API monitoring, and Google’s ARCore Depth API appeared first on SD Times.

Creating Python Virtual Environments with Conda: Why and How

2019-12-10 15:52:21


Debugging Variables With Watchpoints in Firefox 72

2019-12-10 15:45:10

Have you ever wanted to know where properties on objects are read or set in your code, without having to manually add breakpoints or log statements? Watchpoints are a type of breakpoint that provide an answer to that question. They are new in the updated Debugger, available now in the Firefox 72 Developer Edition release. The post Debugging Variables With Watchpoints in Firefox 72 appeared first on Mozilla Hacks - the Web developer blog.

Derick Rethans: Xdebug Update: November 2019

2019-12-10 15:30:03

Xdebug Update: November 2019 London, UK Tuesday, December 10th 2019, 09:17 GMT Another month, another monthly update where I explain what happened with Xdebug development in this past month. It will be published on the first Tuesday after t...

Industry Watch: What follows CD? Progressive delivery

2019-12-10 15:14:00

Software development and delivery practices continue to evolve and change, so on the heels of the late October DevOps Enterprise Summit, attendees and journalists alike have been asking, ‘Where does it all go from here?’ One area involves value streams, the creation of which allow organizations to see waste in their organization and eliminate for … continue reading The post Industry Watch: What follows CD? Progressive delivery appeared first on SD Times.

Most Used StackOverflow Snippet Has A Bug

2019-12-10 14:31:40

It is not really a joke that programming has become a matter of copy-and-paste from a variety of sources. Yes, it can save time, but when you just copy-and-paste how do you know the code works? Even a highly up-voted SO answer could, and did, have a bug. Read more...

Most Used Stack Overflow Snippet Has A Bug

2019-12-10 14:31:40

It is not really a joke that programming has become a matter of copy-and-paste from a variety of sources. Yes, it can save time, but when you just copy-and-paste how do you know the code works? Even a highly up-voted SO answer could, and did, have a bug. Read more...

Community News: Latest PECL Releases (12.10.2019)

2019-12-10 14:05:01

Latest PECL Releases:igbinary 3.1.0b3 * Skip over object properties that are uninitialized or unset when serializing, instead of serializing them as null. This is done to avoid Errors when unserializing their values for php 7.4 typed properties. ev 1.0.8 - Fixed build warnings with PHP 7.4.0-alpha1: 'incompatible pointer type' warnings occurred in assignments to the write property handlers (thanks to Remi Collet). - Re-fixed the Windows build errors related to errno in a way that the libev sources are left pristine. (The root of the issue is actually rooted in the PHP code where the errno macro is re-defined.) xdebug 2.9.0 Mon, Dec 9, 2019 - xdebug 2.9.0 Improvements: Fixed issue #1723: Class/function pre-analysis for code coverage speed improvements Removed features: Fixed issue #1301: Removed aggregated profiler feature Fixed issue #1720: Remove superfluous xdebug.remote_handler setting = Fixed bugs: Fixex issue #1722: Build warning issues on FreeBSD Fixed issue #1724: Missing property types and uninitialised values in variable dumping routines skywalking 3.2.4 Support php7.4 igbinary 3.1.0b2 * Fix crashes related to unserializing instances of classes with php 7.4 typed properties. igbinary 3.1.0b1 * Support php 7.4's __serialize/__unserialize the same way serialize()/unserialize() does. This deliberately only supports __serialize/__unserialize in php 7.4, to making switching to/from serialize()/unserialize() as straightforward as possible. rdkafka 4.0.1 BREAKING CHANGE: Since version 4.0, the client no longer polls for network events at shutdown (during object destructor). This behaviour didn't give enough control to the user in case of server issue, and could cause the script to hang while terminating. Starting from 4.0, programs MUST call flush() before shutting down, otherwise some messages and callbacks may be lost. Features Added RdKafkaConsumerTopic::consumeCallback() (#310, @nick-zh) Enhancements Run integration tests in CI (#223, @Steveb-p) Improved README (#295 #297 #298, #307 @Steveb-p @sndsgd @nick-zh) Fix windows test cases (#296, @cmb69) Add testsuite in pecl archive (#291, @remicollet) Add editor config (#308, @Steveb-p) Bugfixes Fix build (#290, @nick-zh) Fix segfault during module shutdown (#293, @arnaud-lb @nick-zh) Fix RdKafkaTopic visibility in PHP 7.4 (#316, @nick-zh) Fix headers memory management in producev (#318 , @nick-zh) Fix partition number in error (#321, @nick-zh) rdkafka 3.1.3 * Fix segfault during module shutdown (#293, @arnaud-lb @nick-zh) * Fix RdKafkaTopic visibility in PHP 7.4 (#316, @nick-zh) ev 1.0.7 - Updated libev - Fixed Windows build by applying a patch suggested by Christoph M. Becker. gRPC 1.26.0RC2 - Fix php5.5 build xhprof 2.1.2 -- Fixed build with PHP-7.4 #32 datadog_trace 0.35.0 ### Added Compile-time metric #648 Health metrics: track segmentation faults #621 Changed Migrate Mysqli integration to sandboxed api #635 Migrate Zend framework integration to sandboxed api #655 Migrate Symfony framework integration to sandboxed api #667 Migrate Mongo library integration to sandboxed api #669 Refactor opcode hooks #659 Fixed CodeIgniter namespace definition #650 Error reporting in case of fatal errors #671 Mutation of Memcached result code #663 gRPC 1.26.0RC1 - gRPC Core 1.26.0 update - #20991: Added php.ini option to set custom grpc log location - #20987: Performance improvement to Call::startBatch() - #20903: Init ssl roots cert only once mongodb 1.6.1 ** Bug * [PHPC-1503] - Fix MONGOC_CC assignment in config.w32 for PHP 7.4 ** Task [PHPC-1504] - Add PHP 7.4 to AppVeyor build matrix [PHPC-1505] - Update to libmongoc 1.15.2 swoole 4.4.13RC1 New API --- + Built-in Connection Pool ([examples]( ([doc]( (@twose) Enhancement Support websocket compression on CoroutineHttpServer (#2943) (@twose) Support CURLOPT_PUT, CURLOPT_INFILE, CURLOPT_INFILESIZE (#2954) (@twose) Add error info for bind error (@LeiZhang-Hunter) (@twose) (#2972) Update error info if socket call failed (it will not warn anymore if not necessary) (1e9b8cbb) (@twose) Make library submodule (@twose) Fixed Fixed gdbinit in docker (missing symbol) (d46dc2d7 (@twose) Fixed compression in POST request (#2947) (@twose) Fixed compatibility of Websocket->push method (ac7dbcbc) (@twose) Fixed $output result inconsistency (Yurunsoft) (#2955) Fixed Coroutine::fread (#2958) (@matyhtf) Fixed CoroutineServer can not exit normally #2837 (#2962) (@twose) Fixed memory leak in HTTP2Server (#2964) (@twose) Fixed unsafe_event (#2970) (@matyhtf) Fixed illegal call after server start (#2977) (@twose) Fixed WebSocketFrame can not enable mask (#2982) (#2983) (@twose) Fixed memory leak of Process callback (898894a7) (@twose) Fixed case where minfd is never updated (#2985) Fixed HTTP2 module is always enable (3925e212) (@twose) Fixed HTTP2 context double free (#2987) (f4cdff1b) (@twose) Fixed string comparison (#2988) (97c6c425) (9e5eae63) (@twose) Fixed HTTP2 pipeline (#2993) (@twose) Fixed coroutine context has been destroyed (#2991) (@twose) Kernel Refactor swoole_(get|set)_object to the way of extending zend_object (more stable and faster) (#2966) (@twose) Support Github Actions (@twose) (@matyhtf) memcached 3.1.5 PHP 7.0 - 7.1 - 7.2 - 7.3 - 7.4 release of memcached extension. Note that support for libmemcached 0.x series has been discontinued and the oldest actively tested version is 1.0.8. It is highly recommended to use version 1.0.18 of libmemcached. Fixes Fix build with PHP 7.4 release due to ulong typedef removal (#445) sqlsrv 5.7.1preview [Added] - Support for PHP 7.4 - Support for Red Hat 8 and macOS Catalina (10.15) - Feature Request [#1018]( - support for [PHP extended string types]( - Pull Request [#1043]( - [Always Encrypted with secure enclaves](, which requires [MS ODBC Driver 17.4+]( and [SQL Server 2019]( [Removed] - Dropped support for [PHP 7.1]( [Fixed] - Issue [#1027]( - Fixed how drivers handle query timeout settings - Pull Request [#1049]( - performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval [Limitations] - No support for inout / output params when using sql_variant type - No support for inout / output params when formatting decimal values - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work - Always Encrypted requires [MS ODBC Driver 17+]( - Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported - Issue [#716]( - With Always Encrypted enabled, named parameters in subqueries are not supported - Issue [#1050]( - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns - [Always Encrypted limitations]( [Known Issues] - Data Classification metadata retrieval requires ODBC Driver and [SQL Server 2019]( - Connection pooling on Linux or macOS is not recommended with [unixODBC]( < 2.3.7 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here]( pdo_sqlsrv 5.7.1preview [Added] - Support for PHP 7.4 - Support for Red Hat 8 and macOS Catalina (10.15) - Feature Request [#1018]( - support for [PHP extended string types]( - Pull Request [#1043]( - [Always Encrypted with secure enclaves](, which requires [MS ODBC Driver 17.4+]( and [SQL Server 2019]( [Removed] - Dropped support for [PHP 7.1]( [Fixed] - Issue [#1027]( - Fixed how drivers handle query timeout settings - Pull Request [#1049]( - performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval [Limitations] - No support for inout / output params when using sql_variant type - No support for inout / output params when formatting decimal values - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work - Always Encrypted requires [MS ODBC Driver 17+]( - Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported - Issue [#716]( - With Always Encrypted enabled, named parameters in subqueries are not supported - Issue [#1050]( - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns - [Always Encrypted limitations]( [Known Issues] - Data Classification metadata retrieval requires ODBC Driver and [SQL Server 2019]( - Connection pooling on Linux or macOS is not recommended with [unixODBC]( < 2.3.7 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](

How we mapped the “skills genome” of emerging jobs

2019-12-10 14:00:00

In today’s newly-published Emerging Jobs Report, we introduce the “skills genome methodology” to highlight the unique skills for emerging jobs—occupations that have experienced tremendous growth in hiring, but may not have had a correspondingly large or established workforce. Often, these jobs are relatively new, such as the top job globally on this year’s report: Artificial Intelligence Specialist. Highlighting the unique skills associated with each emerging job provides insights about what aptitude or knowledge is valued when employers are hiring for a particular role. It also can […]

Reading EDI Data in Java

2019-12-10 13:39:41

Learn more about reading EDI data in this Java tutorial. These days, most Java developers expect to deal with JSON to exchange data with other systems and businesses. However, what happens when JSON is not an option? It's easy to forget that there are other formats for data exchange, some of which are more difficult to handle. One such format is known as EDI. EDI itself comes in several flavors — for example, X12 and EDIFACT — so code to read it may not always be "one size fits all." You may also like: [DZone Refcard] Understanding Stream Processing On the surface, reading EDI data seems to be a simple endeavor. A developer may see a sample file and attempt to read it using the basic string parsing APIs available in his or her programming language's standard library. Unfortunately, this may not always work and it becomes difficult to do data validation and handle the structure of the document effectively.

Programming: JavaScript, Go, Perl and Python

2019-12-10 13:12:08

Excellent Free Tutorials to Learn JavaScript JavaScript is possibly one of the easiest language to get up and running with. But to truly master the language requires a firm foundation of its intricacies. JavaScript is an interpreted, prototype-based, scripting computer programming language. It came to popular attention as a simple client-side scripting tool, interacting with the user using forms and controlling the web browser, and remains a front-end language for web applications. JavaScript features dynamic types, it’s weakly typed, supports the structured programming syntax from C, uses prototypes instead of classes for inheritance, and copies many names and naming conventions from Java. It also borrows design principles from Scheme and Self, as well as concepts and syntax idioms such as C-style procedural roots. Lessons learned from programming in Go When you are working with complex distributed systems, you will likely come across the need for concurrent processing. At, we deal daily with real-time, fast and resilient software. Building a global private network that dynamically routes packets at the millisecond scale wouldn’t be possible without a highly concurrent system. This dynamic routing is based on the state of the network and, while there are many parameters to consider here, our focus is on link metrics. In our context, link metrics can be anything related to the status or current properties of a network link (e.g.: link latency).                     Add address of FreeBSD iocage jails to PF table                                               I started mucking about with PF, but that’s not my department … and so the jails table remained empty which meant the jail could not access anything beyond the host.                         After a bit of searching I found iocage supports most jail(8) parameters, so I did this: [...]                           2019.49 Almost Starring                   Patrick Spek has made the first release candidate of Rakudo Star 2019.11 available for download. If you are working with Raku from Rakudo Star distributions, then this is the moment to test the distribution so that you can be sure that nothing was missed! So please, download and test it! Which of course you can also do if you’re not generally a user of Rakudo Star Python 3.8.1rc1 The Python 3.8 series is the newest major release of the Python programming language, and it contains many new features and optimizations. Python 3.8.1rc1 is now available for testing Python 3.8.1rc1 is the release candidate of the first maintenance release of Python 3.8. The Python 3.8 series is the newest feature release of the Python language, and it contains many new features and optimizations. You can find Python 3.8.1rc1 here: Assuming no critical problems are found prior to 2019-12-16, the scheduled release date for 3.8.1 as well as Ned Deily's birthday, no code changes are planned between this release candidate and the final release. That being said, please keep in mind that this is a pre-release of 3.8.1 and as such its main purpose is testing. See the “What’s New in Python 3.8” document for more information about features included in the 3.8 series. Detailed information about all changes made in 3.8.0 can be found in its change log. Maintenance releases for the 3.8 series will continue at regular bi-monthly intervals, with 3.8.2 planned for February 2020. Python Docstrings In this tutorial, we will learn about Python docstrings. More specifically, we will learn how and why docstrings are used with the help of examples. Python docstrings (documentation strings) are the string literals that appear right after the definition of a function, method, class, or module. Let's take an example. Python Comments Comments are descriptions that help programmers better understand the intent and functionality of the program. They are completely ignored by the Python interpreter. 3 easy steps to update your apps to Python 3 The 2.x series of Python is officially over, but converting code to Python 3 is easier than you think. Over the weekend, I spent an evening converting the frontend code of a 3D renderer (and its corresponding PySide version) to Python 3, and it was surprisingly simple in retrospect, although it seemed relatively hopeless during the refactoring process. read more

Top command line posts of 2019

2019-12-10 12:32:58

Top blog posts this year about command line tools. The hard part in becoming a command line wizard Computational survivalist Computing π with bc Set theory at the command line Working with wide text files Random sampling from a file

Building a Physics-based 3D Menu with Cannon.js and Three.js

2019-12-10 12:00:31

Learn the basics of doing physics in WebGL by building a 3D menu with Cannon.js and Three.js as renderer. Building a Physics-based 3D Menu with Cannon.js and Three.js was written by Arno Di Nunzio and published on Codrops.

3 easy steps to update your apps to Python 3

2019-12-10 08:03:00

The 2.x series of Python is officially over, but converting code to Python 3 is easier than you think. Over the weekend, I spent an evening converting the frontend code of a 3D renderer (and its corresponding PySide version) to Python 3, and it was surprisingly simple in retrospect, although it seemed relatively hopeless during the refactoring process. read more

Lessons learned from programming in Go

2019-12-10 08:02:00

When you are working with complex distributed systems, you will likely come across the need for concurrent processing. At, we deal daily with real-time, fast and resilient software. Building a global private network that dynamically routes packets at the millisecond scale wouldn’t be possible without a highly concurrent system. read more

Daniel Stenberg: Mr Robot curl

2019-12-10 06:49:34

Vasilis Lourdas reported that he did a “curl sighting” in the show and very well I took a closer peek and what do we see some 37 minutes 36 seconds into episode 8 season 4… (I haven’t followed the show since at some point in season two so I cannot speak for what actually has happened in the plot up to this point. I’m only looking at and talking about what’s on the screenshots here.) Elliot writes Python. In this Python program, we can see two curl invokes, both unfortunately a blurry on the right side so it’s hard to see them exactly (the blur is really there in the source and I couldn’t see/catch a single frame without it). Fortunately, I think we get some additional clues later on in episode 10, see below. He invokes curl with -i to see the response header coming back but then he makes some questionable choices. The -k option is the short version of --insecure. It truly makes a HTTPS connection insecure since it completely switches off the CA cert verification. We all know no serious hacker would do that in a real world use. Perhaps the biggest problem for me is however the following -X POST. In itself it doesn’t have to be bad, but when taking the second shot from episode 10 into account we see that he really does combine this with the use of -d and thus the -X is totally superfluous or perhaps even wrong. The show technician who wrote this copied a bad example… read more

Programming: RcppClassic, LLVM, Rust, Python and Django

2019-12-10 06:26:33

Dirk Eddelbuettel: RcppClassic 0.9.12 A maintenance release 0.9.12 of the RcppClassic package arrived earlier today on CRAN. This package provides a maintained version of the otherwise deprecated initial Rcpp API which no new projects should use as the normal Rcpp API is so much better. Changes are all internal. Testing is now done via tinytest, vignettes are now pre-built and at the request of CRAN we no longer strip the resulting library. No other changes were made. CRANberries also reports the changes relative to the previous release from July of last year. [llvm-dev] [10.0.0 Release] Release schedule Hello everyone, I know 9.0.1 is still in full swing, and 10.0.0 isn't due for some time, but I'd like to get the schedule settled well before we start. Below is my proposed timeline. It's essentially the same as last time. - 15 January 2020: Create the release branch, Release Candidate 1 ships soon after - 5 February 2020: Release Candidate 2 - 26 February 2020: Final (this usually slips a little, but let's try not to). Please let me know what you think. Thanks, Hans LLVM / Clang 10.0 Should Be Out In Late February Or Early March Google's Hans Wennborg is once again stepping up to manager the next feature release of LLVM and sub-projects like Clang. If all goes well, LLVM 10.0 will be out with Clang 10.0 and friends before the end of February. For the projected release date of 26 February to be realized, Wennborg is aiming to branch the code (and thereby the feature freeze) around 15 January and after that to issue the first release candidate. Niko Matsakis: Async Interview #2: cramertj For the second async interview, I spoke with Taylor Cramer – or cramertj, as I’ll refer to him. cramertj is a member of the compiler and lang teams and was – until recently – working on Fuchsia at Google. They’ve been a key player in Rust’s Async I/O design and in the discussions around it. They were also responsible for a lot of the implementation work to make async fn a reality. More fun with Jinja2 templates When last I left this discussion, I was advocating using Python 3 dataclasses to wrap Jinja2 templates. I had another idea and a chance to experiment with it, and I was reasonably happy with the results. Can the dataclass corresponding to the Jinja2 template be used by the test suite to check that all required parameters for a template are present in the dataclass? The answer is mostly yes, although unfortunately there are some substantial caveats because Jinja2 doesn't provide all of the tools that one would like to analyze parsed templates. Django Weblog: 2020 DSF Board Election Results Our 2020 Django Software Foundation Election results are in. The Top 7 candidates are listed below in order of their ranking: Frank Wiles Anna Makarudze James Bennett William Vincent Kátia Nakamura Aaron Bassett Sayantika Banik read more

Book Review: "Gray Day"

2019-12-10 03:56:35

WireGuard VPN Is On Its Way To Linux

2019-12-10 00:50:00

WireGuard has now been committed to the mainline Linux kernel. "While there are still tests to be made and hoops to be jumped through, it should be released in the next major Linux kernel release, 5.6, in the first or second quarter of 2020," reports ZDNet. From the report: WireGuard has been in development for some time. It is a layer 3 secure VPN. Unlike its older rivals, which it's meant to replace, its code is much cleaner and simple. The result is a fast, easy-to-deploy VPN. While it started as a Linux project, WireGuard code is now cross-platform, and its code is now available on Windows, macOS, BSD, iOS, and Android. It took longer to arrive than many wished because WireGuard's principal designer, Jason Donenfeld, disliked Linux's built-in cryptographic subsystem on the grounds its application programming interface (API) was too complex and difficult. He suggested it be supplemented with a new cryptographic subsystem: His own Zinc library. Many developers didn't like this. They saw this as wasting time reinventing the cryptographic well. But Donenfeld had an important ally. Torvalds wrote, "I'm 1000% with Jason on this. The crypto/ model is hard to use, inefficient, and completely pointless when you know what your cipher or hash algorithm is, and your CPU just does it well directly." In the end, Donenfeld compromised. "WireGuard will get ported to the existing crypto API. So it's probably better that we just fully embrace it, and afterward work evolutionarily to get Zinc into Linux piecemeal." That's exactly what happened. Some Zine elements have been imported into the legacy crypto code in the forthcoming Linux 5.5 kernel. This laid the foundation for WireGuard to finally ship in Linux early next year. Read more of this story at Slashdot.

Product Grid Style 95

2019-12-10 00:22:53

The post Product Grid Style 95 appeared first on Best jQuery.

CSS Text Effect Style 58

2019-12-10 00:20:43

The post CSS Text Effect Style 58 appeared first on Best jQuery.

AI At The Edge Challenge

2019-12-10 00:00:00

NVIDIA has partnered with in a competition that requires you to add NVIDIA hardware to an AI or robotics project. There's over $100K in prizes and one project will be selected for a special "AI Social Impact Award". Read more...

The Art Of Computer Programming Progresses - A Great Present

2019-12-10 00:00:00

... for any programmer unless they already have the complete work. Even if they do there is part 5 of volume 4 hot off the press and they are unlikely to have that one.   Read more...

StrongSalt Introduces Encryption as a Service API

2019-12-09 23:05:59

StrongSalt, encryption platform as a service provider, has introduced its Open Privacy API. The API makes encryption more usable, and developers can leverage the platform to bake encryption into everyday applications and workflows. The company believes it will do for encryption what Stripe has done for payments and Twilio has done for communications.

Your Guide to Java Streams [Tutorials and Articles]

2019-12-09 20:45:55

In this edition of "Best of DZone," we've compiled our best tutorials and articles on one of the most popular APIs in Java, Streams. Whether you're a beginner just looking to bring in some elements of functional programming into a Java application, or a Streams vet, we've got your back! Before we begin, we'd like need to thank those who were a part of this article. DZone has and continues to be a community powered by contributors like you who are eager and passionate to share what they know with the rest of the world. 

Python Programming: Python 3, MicroPython, Creating Command Line Utilities and Installing/Updating Packages in Python

2019-12-09 19:31:15

It’s Time to Upgrade to Python 3 – Time Is Running Out! As of January 1, 2020, Anaconda will no longer be adding new packages built for Python 2.7 to default channels. The Python 2.7 packages available prior to that date will remain available. This means, for instance, that if there is a newly released version of TensorFlow after the first of the new year – it will not be available in defaults for Python 2.7. The one exception is that Python 2.7.18 is slated to be released in mid-April 2020 according to PEP-0373. Packages for Python 2.7.18 will be built and made available on the defaults channel. MicroPython: An Intro to Programming Hardware in Python Are you interested in the Internet of Things, home automation, and connected devices? Have you ever wondered what it would be like to build a blaster, a laser sword, or even your own robot? If so, then you’re in luck! MicroPython can help you do all of those things and more. [...] Python’s popularity has skyrocketed in recent years. These days, it’s used everywhere from DevOps to statistical analysis, and even in desktop software. But for a long time, there was one field where Python use was conspicuously missing. Developers working with microcontrollers had not yet adopted the language. All of that changed in 2013 when Damien George launched a Kickstarter campaign. Damien, an undergraduate at Cambridge University, was an avid robot programmer. He wanted to move the Python world from machines that worked with capacities in the gigabytes down to the kilobytes. His Kickstarter campaign was an attempt to back his development while he turned his proof of concept into a finished implementation. Many developers jumped at the chance, not only to use Python on microcontrollers but also to get an early version of Damien’s own reference hardware, which was built especially for the task! In fact, by the end of the campaign, Damien had blown past his £15,000 goal. Thanks to over 1,900 backers, he reached just shy of £100,000. Creating Command Line Utilities with Python's argparse Most of the user-facing software comes with a visually pleasing interface or via a decorated webpage. At other times, a program can be so small that it does not warrant an entire graphical user interface or web application to expose its functionality to the end-user. In these cases, we can build programs that are accessible via a Command Line Interface, or CLI. In this post, we will explore Python's argparse module and use it to build a simple command-line tool to help us shorten URLs swiftly. Learn all About Installing & Updating Packages in Python In this tutorial, we will learn the basics of installing, working and updating packages in Python. First, we will learn how to install Python packages, then how to use them, and finally, how to update Python packages when needed. More specifically, we are going to learn how to install and upgrade packages using pip, conda, and Anaconda Navigator. Now, before we are going to learn how to install Python packages we are going to answer the question “what is a package in Python?” read more

Analyst Watch: Evaluating the ethics of software

2019-12-09 19:24:04

In recent years, technology analysts have devoted much attention to the topic of developers and how the demographics of developers are changing. For starters, the International Data Corporation (IDC) has noted the growth of developer populations in China, India, Brazil, Russia, Indonesia and Turkey, as well as select countries in East Africa. In addition, IDC … continue reading The post Analyst Watch: Evaluating the ethics of software appeared first on SD Times.

The Top 2019 LinkedIn Engineering Blogs

2019-12-09 19:20:00

As the year draws to a close, we’re taking a look back at ten of our most popular 2019 articles on the LinkedIn Engineering Blog. Examining the list, it’s clear that topics pertaining to open source and artificial intelligence are some of the most popular, as are posts that look at how we tackle technical challenges at scale. We’re excited to share new progress and updates in all of these areas in the new year, but in the meantime, take a look at what you might have missed in 2019.  Authorization at LinkedIn’s Scale Scaling Machine Learning Productivity at LinkedIn Pinot Joins […]

How to Build a Streaming API Using GraphQL Subscriptions

2019-12-09 19:14:28

GraphQL Subscriptions are a game-changer in the way developers interact with an API. In contrast to the more commonly found REST architectural style (HTTP APIs), GraphQL's Subscriptions complement GraphQL's default non-subscription behavior in a way that both synchronous HTTP request/response communication and asynchronous event-driven interactions are available from a single API experience. Some of the GraphQL concepts presented in this article are pretty advanced.

NVDA 2019.3beta1 now available for testing

2019-12-09 18:43:37

Beta1 of NVDA 2019.3 is now available for download and testing. For anyone who is interested in trying out what NVDA 2019.3 has to offer before it is officially released, we welcome you to download the beta and provide feedback. NVDA 2019.3 is a very significant release as there are a great deal of under-the-hood changes which improve security and allow for some pretty cool innovations in the future. The most significant changes are the upgrade of Python 2 to Python 3, and a major re-write of NVDA’s speech subsystem. As these changes require add-ons and custom synthesizer drivers to be re-written, we plan to make the 2019.3 beta cycle much longer than normal, so that we can ensure that add-on developers have plenty of time to upgrade and test their add-ons with NVDA 2019.3 betas before 2019.3 stable is officially released. the current plan is to release several more betas over this month, and hopefully make the official release very early in the new year. Also: NVDA 2019.3 Beta 1 is available read more

Spark Streaming Under the Hood

2019-12-09 17:34:46

Apache Spark Streaming is a scalable, fault-tolerant streaming processing system that natively supports both batch and streaming workloads. Spark Streaming is different from other systems that either have a processing engine designed only for streaming or have similar batch and streaming APIs but compile internally to different engines. Spark’s single execution engine and unified programming model for batch and streaming lead to some unique benefits over other traditional streaming systems. In particular, four major benefits include:

Blending Realities with the ARCore Depth API

2019-12-09 17:00:11

SD Times news digest: Niantic to work with Qualcomm on AR, SEI developer portal, and Microsoft to end support for Windows Phone

2019-12-09 16:48:16

Niantic announced that it is collaborating with Qualcomm Technologies to accelerate AR software and hardware. To ensure interoperability with today’s latest AR innovations and accelerate the development of tomorrow’s devices, the platform plans to be optimized first for the Qualcomm Snapdragon XR2 Platform. “At Niantic, we’re unlocking the potential to create next generation AR experiences … continue reading The post SD Times news digest: Niantic to work with Qualcomm on AR, SEI developer portal, and Microsoft to end support for Windows Phone appeared first on SD Times.

Laravel News: 25 Years of PHP with Rasmus Lerdorf

2019-12-09 16:30:02

The keynote speaker at this year’s PHP Barcelona conference was Rasmus Lerdorf the creator of PHP and he gave an excellent talk about the history of PHP, PHP 7.4 &amp;amp; 8, career advice, motivation, burn-out and focusing on things that really matter. ...

LabVIEW Graphical Programming 5th Ed (McGraw-Hill)

2019-12-09 15:37:04

This book shows how to build effective LabVIEW programs. The authors Richard Jennings and Fabiola De la Cueva have updated all content to align with the latest version and added new chapters that clearly explain object-oriented programming methods, and programming in teams using the cloud. The book begins with basics for beginners and quickly progresses to intermediate and advanced programming techniques. This hands-on guide shows how to work with data types, start building your own applications, handle I/O, and use the DAQmix library. <ASIN:1260135268> Read more...