Wednesday, March 7, 2018

Propel – Differential Programming in JavaScript

Propel is a differential programming in javascript. It provides a GPU-backed numpy-like infrastructure for scientific computing in JavaScript. JavaScript is a fast, dynamic language which, we think, could act as an ideal workflow for scientific programmers of all sorts.


by via jQuery-Plugins.net RSS Feed

Chrome 65, CSS Quirks, and We've Redesigned

#330 — March 7, 2018

Read on the Web

Frontend Focus

Yes, Frontend Focus looks totally different today!

We got bored with the weird purple we used to rock, so as part of our redesign and new template, we've switched to 'HTML5 orange'. There's still a lot to do, but the newsletter will continue to get better over the coming weeks πŸ™‚.

As always, thanks for your ongoing support, and if you want to submit anything (links, feedback, etc.) just hit reply and we'll see your email.
— Peter Cooper and Chris Brandrick, editors

πŸ† Featured

▶  How to Write CSS That Works in Every Browser, Even the Old Ones — A great collection of videos from Jen Simmons with techniques and advice for writing resilient CSS.

Mozilla Hacks

Responsive Components: A Solution to the Container Queries ProblemContainer queries would let us style elements based on the size of a containing element rather than the viewport, but they’re still not available - this post presents a viable alternative.

Philip Walton

New Course: REST & GraphQL API Design in Node.js, v2 — Create an API from the ground up using Node.js, Express and MongoDB. In this course, you'll build a production-ready REST API, and migrate it over to GraphQL.

Frontend Masters sponsor

What's New in Chrome 65 for Web Developers — There’s a lot to enjoy in Chrome 65, including the CSS Paint API, the Server Timing API, and display: contents support. The DevTools also got support for local overrides. Or maybe you’d prefer a 3 minute video roundup?

Pete LePage

A Curated List of Frontend Case Studies — Do you appreciate a good explanation of how and why a company took a particular approach to a frontend development project? You’ll find something to enjoy here.

Andrew Romanov

Lesser Known CSS Quirks and Advanced Tips — A collection of “some of the weirdest CSS features, along with tips and tricks for advanced CSS users”. Stuff like having multiple backgrounds on a single element.

Peedu Tuisk

3 Techniques for Performant Custom Font Usage — Make your custom Web fonts faster by making them smaller, loading them earlier, and using the font-display property.

Ollie Williams

The 5 Most Popular Frontend Frameworks Compared — More summarized than compared, but still. A quick look at Bootstrap, Foundation, Semantic UI, Pure, and UIkit.

Ivaylo Gerchev

Real-Time Error Monitoring, Alerting, and Analytics for JavaScript πŸš€ — Report JS errors to Rollbar with full stack trace and diagnostic data.

ROLLBAR sponsor

πŸ’Ό Jobs

Software Engineer Web Framework (Berlin) — Join us and tackle the challenge of evolving our Mosaic architecture, working on backend for frontend API orchestration and more.

Zalando

Full Stack Developer & Team Lead — Booking.com is looking for a Team Lead – Front End Developer to join our development team in the heart of Amsterdam.

Booking.com

Find a Job You're Passionate About — Vettery connects you directly to hiring managers at over 4,000 top companies. Make a profile today and land your dream job.

Vettery

πŸ“ƒ Articles and Tutorials

Chrome Flash Usage Declines from 80% in 2014 to 8% Today — Should be 0% by Chrome 87. No, this is not a joke, Flash should be toast in 2020.

Catalin Cimpanu

CSS Techniques and Effects for Knockout Text — Goes deep into the visual effect of having text reveal a background. There's more to it than you might think..

Preethi

What Houdini Means for Animating Transforms

Ana Tudor

The Road to Layout Animations on the Web — More interesting now that Chrome (but only Chrome) supports Resize Observers.

Vincent Riemer slidedeck

▶  WebAssembly: What and What Next? — Two Googlers cover WebAssembly right from the basics up.

Ben Titzer and Andreas Rossberg video

We Write CSS Like We Did in the 90s, and Yes, It’s Silly — Guilty as charged. But Jens has some suggestions as to the "modern" approach.

Jens Oliver Meiert

πŸ”§ Code and Tools

Boxy SVG: A Web-Based SVG Editor

JarosΕ‚aw Foksa

Fontanello: See Font Info from Web Pages on the Fly — A Chrome and Firefox extension that reveals the typographic styles of any selected text by right-clicking it.

Oktavilla

Project Tracking, Teamwork & Client Reporting Like You've Never Seen Before

monday.com sponsor

28 CSS Menu Examples From CodePen — Both inspirational and handy to learn from.

Freebie Supply

Delighters.js: Trigger CSS Animations as a Page is Scrolled

Q42

FilePond: A Flexible JS File Uploader with Great UX — It’s GPLv3 licensed, however, so take care.

Rik Schennink

Woah.css: A Collection of 'Eccentric' Animations — Perhaps keep these for your internal demos only..

Joe Rezendes

Save Time with the Best, Fastest Angular Spreadsheets & UI Components

GrapeCity JavaScript Solutions sponsor


by via Frontend Focus

#197: Choosing Mobility Options in 2018

Mobile Dev Weekly March 7, 2018   #197
Brian Rinaldi recommends
Choosing Mobility Options in 2018 — A comparison of approaches to app development, with a look at Progressive Web Apps and JS-driven native frameworks such as NativeScript and React Native.
TJ VanToll
Chris Brandrick recommends
Starting Fast and Staying Fast with AMP and Progressive Web Apps — How to combine the best bits of Progressive Web Apps with AMP to “create experiences that start fast, and stay fast”.
Google Chrome Developers
Sponsored
Linux Cloud Hosting Starting at 1GB of RAM for $5/mo — Get a Linode server up and running in seconds. Simply choose your plan, distro and location and you’re ready to deploy your server. Get $20 credit on a new account.
Linode Cloud Hosting

Peter Cooper recommends
The Big List of Naughty Strings — An evolving list of strings which have a high probability of causing issues when used as user-input data in your apps, native, Web, or otherwise.
Max Woolf
Chris Brandrick recommends
Quick Guide: Designing for AR on Mobile
Bushra Mahmood
Za'e Johnson recommends
Apps, Trackers, Privacy, and Regulators: A Global Study of The Mobile Tracking Ecosystem — Here’s a spoiler: User tracking is widespread within the mobile app (mainly Android) ecosystem.
Adrian Colyer
Peter Cooper recommends
iOS Remote Push Notifications in a Nutshell — Apple Push Notification service (APNs) is at the core of iOS’s remote notifications feature, but how does it all work and what can it do?
Deyan Aleksandrov
Mobile Web
Peter Cooper recommends
Winning on Mobile — A ‘Speed Scorecard’ from Google to see how your site stacks up to the competition on mobile.
Google
Chris Brandrick recommends
A Comprehensive Guide To Wireframing And Prototyping
Christopher Murphy
Hybrid Apps
Holly Schinsky recommends
A Checklist for Ionic PWA Development — A checklist to help ensure full Progressive Web App support for your Ionic apps.
Mastering Ionic
Holly Schinsky recommends
Cordova Windows 6.0.0 Released — A major release that changes functionality you might rely on, so you may want to check the notes here.
Jan Piotrowski
Holly Schinsky recommends
Running Custom Native iOS Code in Ionic with Capacitor
Josh Morony
Native Development
Holly Schinsky recommends
Flutter: From Zero To Comfortable — An in-depth tutorial on getting started with the Flutter mobile app SDK framework from Google.
Daksh
Brian Rinaldi recommends
Easier React Native Development With Expo — Expo is a collection of tools that make it easier to code React Native apps.
Wernher-Bel Ancheta
Chris Brandrick recommends
The Swift 4.2 Release Process
Ted Kremenek
Brian Rinaldi recommends
How to Add Spotlight Support to Your iOS App
Dejan Atanasov
Brian Rinaldi recommends
Building An Ecommerce Search App with React Native
Deepak Grover
Chris Brandrick recommends
React Native: Build a Stopwatch App in 60 Minutes
React Native Academy
Peter Cooper recommends
Make Your Custom View 60 FPS on Android
Dmitriy Rabetckiy


by via Mobile Dev Weekly

7 Ways to Keep Your Infographics On Brand - #infographic

There are many ways in which marketers can work on a branding campaign for a company, small business or website. Nevertheless, everyone agrees that valuable content is probably the most important part of a marketing campaign. The types of content you are going to share depends mostly on your...

[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Web Desk via Digital Information World

Demystifying Python Recursion

Most complex tasks in Python can be broken down into simpler subtasks. Recursion helps to achieve this, hence making the code clean and neat. This tutorial will introduce recursion, the benefits of recursion, and how to use it in Python programming.

What Is Recursion?

Recursion is a method of solving a problem with the solutions to smaller instances of the same problem. This approach can be applied to many types of challenges in programming.

The Benefits of Using Recursion

Some of the benefits of using recursion are:

  • Recursion adds simplicity when writing code, hence making it easier to debug.
  • Recursion reduces the amount of time taken by an algorithm to run as a function of the length of the input.
  • Recursion is also preferred when solving very complex problems, especially problems on tree-based structures, because it performs better.

Introduction to the Python Recursive Function

Although recursion seems like a complicated procedure, it's not all that complicated. In layman's terms, assume you have two rectangles A and B. If you add them together, they form a rectangle C. This is in itself a recursive procedure. We have used smaller instances of a rectangle to define itself, and if we were to write a Python function, it would be as follows:

Since a recursive function calls itself, there needs to be a rule or a breakpoint at which the process or loop would terminate. Such a condition is known as a base condition. A base condition is a requirement in every recursive program, otherwise the procedure would result in an infinite loop.

The second requirement is the recursive case when the function calls itself.

Let's look at an example:

In this example, you will write a factorial function that takes an integer (positive) as an input. The factorial of a number is obtained by multiplying the number by all positive integers below it. For example, factorial(3) = 3 x 2 x 1, factorial(2) = 2 x 1, and factorial(0) = 1.

The first thing to do is to define our base case, which will be factorial(0) = 1.

As you can see above, there is a relationship between each consecutive factorial scenario. You should notice that factorial(4) = 4 x factorial(3). Similarly, factorial(5) = 5 x factorial(4).

The second part will be writing a function that calls itself.

Now that we have simplified it, the resulting function will be:

The solution if n==0 is:

Now that you know how to write recursive functions, let's look at several case studies that will solidify your understanding of recursion.

Case Study 1: Fibonacci

In a Fibonacci sequence, each number is the sum of the two preceding numbers, such as: 1 + 1 = 2; 1 + 2 = 3; 2 + 3 = 5; 3 + 5 = 8. The Fibonacci sequence has been applied in many areas, and the most common is in predicting price action in the stock market by forex traders.

The Fibonacci sequence starts with 0 and 1. The first number in a Fibonacci sequence is 0, the second number is 1, and the third term in the sequence is 0 + 1 = 1. The fourth is 1 + 1 = 2 and so on.

In order to come up with a recursive function, you need to have two base cases, i.e. 0 and 1. You can then translate the adding pattern into the else case.

The resulting function will be:

Case Study 2: Reversing a String

In this example, you will write a function that takes a string as input and then returns the reverse of the string.

The first thing to do is to define our base case, which will check if the string is equal to 0 and, if so, will return the string itself.

The second step is to recursively call the reverse function to slice the part of the string excluding the first character and then concatenate the first character to the end of the sliced string.

The resulting function is as shown below:

Case study 3: Sum of Elements

In this example, you will write a function that takes an array as input and then returns the sum of the elements in the list.

The first thing to do is to define our base case, which will check if the size of the list is zero, and return 0 if True.

The second step returns the element and a call to the function sum() minus one element of the list.

The solution is as shown below:

The solution for an empty list is as shown below:

Conclusion

This tutorial has covered what is necessary to use recursion to solve complex programs in Python. It's also important to note that recursion has its own limitations:

  • Recursion takes a lot of stack space, hence making it a bit slow to maintain the program.
  • Recursion functions require more space and time to execute.

Remember, don’t hesitate to see what we have available for sale and for study in the Envato Market, and please ask any questions and provide your valuable feedback using the feed below.


by Esther Vaati via Envato Tuts+ Code

Chrome 65 Is Now Available For Mac, Linux And Windows

In a latest announcement, Chrome 65 is now available for Mac, Linux and Windows and its being rolled out ahead of the Android variant. Primarily, the newest update emphasizes on launching various brand new features for the developers who can take benefit. Additionally, the update also focuses on...

[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Zubair Ahmed via Digital Information World

Google Lens Is Now Available To All Google Photos Users On Android

Google has announced first major expansion for Google Lens as it now available for all Google Photos users on Android. Formerly, this feature was available to those who had latest Pixel phones. Some of the advantages of Google Lens is that it can provide plenty of information about sights;...

[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Zubair Ahmed via Digital Information World