Wednesday, March 30, 2016

Behind The Hashtag: #WhyIStayed

Behind The Hashtag: #WhyIStayed

Long scrolling interactive One Pager telling us the story behind the traumatic #WhyIStayed hashtag. This micro-site is part of a weekly editorial called 'Behind The Hashtag'. Each week is published in the form of a Long-form Journalism interactive One Page website - each with unique design elements.

by Rob Hope via One Page Love

This Week in Mobile Web Development (#101)

Read this on the Web

Mobile Web Weekly March 30, 2016   #101
Brian Rinaldi recommends
How You Can Use Responsive Web Components Today — How do Web Components fit into the current state of the Web, work cross browser, and adapt to the space they’re allocated? David Berner shows us.
David Berner
Holly Schinsky recommends
Mobile Web Design Adaptations for Better UX — Tips to help you adapt your website content and animations to provide the best user experience across devices.
Speckyboy Design Magazine
Brian Rinaldi recommends
How to Avoid Common Mistakes when Publishing Accelerated Mobile Pages — Some common mistakes to look out for when working with AMP.
Sebastian Benz
This issue is sponsored by RANGLE.IO
React Native Webinar: A New Way to Write Native Mobile Apps — From leveraging polyfills to debugging and using Flexbox and CSS for styling, this webinar will show you how to apply the things you know and love about React to fully native mobile apps. Register today to tune in live from anywhere in the world and receive a video recording for reference afterwards.
RANGLE.IO

Holly Schinsky recommends
Progressive Web Apps — Thoughts on the the state of mobile, web and desktop in 2016 and the future of progressive web apps.
Benjamin Farrell
Brian Rinaldi recommends
Using PX, EM or REM for Media Queries? — The answer, according to this test, is to use em.
Zell Liew
Holly Schinsky recommends
The 9 Most Common Mistakes That Ionic Developers Make — Ionic has revolutionized the hybrid app scene, but the number of pitfalls developers need to look out for is still high. In this article, Julien Renaux outlines the most common mistakes that Ionic developers should know.
Julien Renaux
Holly Schinsky recommends
Announcing Windows Support in Ionic 2 — Ionic announces support for Windows Universal Platform App in Ionic 2 beta.3, complete with a total UI look-and-feel and component set.
The Official Ionic Blog
Chris Brandrick recommends
Google Will Start Ranking ‘Mobile-Friendly’ Sites Even Higher In May — Google has announced it is rolling out an update to mobile search results in May that “increases the effect” of its mobile-friendly ranking signal.
VentureBeat
Chris Brandrick recommends
Time for Flexbox First — We’ve seen ‘mobile-first’, now Calvin suggests that it’s time for ‘Flexbox First’.
Calvin Spealman
Brian Rinaldi recommends
Windows 10 Support coming to Tabris.js — Tabis.js 2.0 will support Windows 10.
EclipseSource Blog
Holly Schinsky recommends
Cordova 6.1.0 Released with new plugin compatibility support — Cordova 6.1.0 has been released and includes changes to ensure better plugin compatibility, platform and tooling updates and other important fixes.
Holly Schinsky recommends
Tips for Creating Beautiful and Engaging UI — Great tips and specific design concepts to focus on to ensure your interface provides the most positive and engaging experience.
Stephen Moyers
Holly Schinsky recommends
iPhone 6 Screen Size and Mobile Design Tips — Tips to help design your apps for the proper display size, resolution and pixel density across all variations of the iPhone 6.
Kyle J Larson
Holly Schinsky recommends
Testing the New Ionic User Service — Ray talks about new Ionic User Service features like social network login, custom data support, a new REST API and more with demo code to illustrate.
Raymond Camden
Brian Rinaldi recommends
AMP and the Sandbox Policy — Paul Bakaus and others a have developed a new SandBox Policy proposal that aims to create a standard around some of the optimization ideas within AMP.
The Sea of Ideas
Holly Schinsky recommends
Cross-platform Certificate Access with Cordova — The 2nd part in a series on how to write a Cordova plugin to access certificates on devices, this part focused on iOS.
Avisi Blog
Brian Rinaldi recommends
Build Your First Mobile App With Ionic 2 & Angular 2 - Part 7 — The final part in a series on building hybrid mobile apps with Ionic 2 and Angular 2
Ashteya Biharisingh
Brian Rinaldi recommends
Chrome Custom Tabs with NativeScript — How to use the Android custom tabs feature to open content within a Chrome window within your NativeScript app.
Brad Martin
Job listing
Stop Applying to Jobs - Let Companies Apply to You — On Hired, sign up in 10 minutes and get offers from top companies like Facebook, Uber, Stripe. Engineers get an average of 5 offers on the platform in 1 week. Try it today.
Hired.com

Curated by Brian Rinaldi and Holly Schinsky for Cooper Press.
Cooper Press is located at Office 30, Fairfield Enterprise Centre, Louth, LN11 0LS, UK
Update your email address
or stop receiving MWW here


by via Mobile Web Weekly

Learn How These Entrepreneurs Are Making $20,000 per Month

Learn how these entrepreneurs are making $20,000 per month

Maybe you've got a great side hobby that you know you can turn into a business with a little help. Maybe the only step you've got worked out in your plan to make a ton of cash is "…Step 3: Profit." Whatever your sitch, we've got you covered. Pay what you want for the Start a Business bundle at SitePoint Shop.

Pay what you want and you'll get eight amazing courses on sourcing products, importing, branding yourself, and marketing. Beat the average price and you'll get all 10. Either way, you'll get instant access to some amazing resources. Learn how to make thousands of dollars a month on eBay by selling products without pre-paying for the inventory. Find out how to source items from China and resell them using Amazon's FBA program. And learn how to attract customers with great packaging, a memorable brand name, and pro marketing tactics. You'll be learning from people who've done it…and who can stop you from making rookie mistakes along the way.

Step 1: grab this bundle. Step 2: profit. Pay what you want for the Start a Business bundle at SitePoint Shop.

Continue reading %Learn How These Entrepreneurs Are Making $20,000 per Month%


by SitePoint Offers via SitePoint

AMP in 60 Seconds

Sorting and Searching in Python

If you were given a piece of paper with a list of 1,000 names, and you were asked to find some name, but this list was not in any order (e.g. alphabetical order), it would be very frustrating, wouldn't it? Putting that list in order, although it takes a long time, makes finding the name much easier. Thus, having things in order is a natural desire we human beings have, and searching this list would clearly take less effort than searching an unordered list.

Let's move to the computer world, where the lists one may be required to search are very huge, and where performance might be affected even with fast computers. In this case, having a suitable sorting and searching algorithm would be a solution to such an issue. While sorting is about putting a list of values in order, searching is the process of finding the position of a value within a list.

To make it clear how critical this issue might be, let me show you what Donald Knuth, an American computer scientist, mathematician, and professor emeritus at Stanford University mentioned in The Art of Computer Programming, vol.3, Sorting and Searching, page 3:

Computer manufacturers of the 1960s estimated that more than 25 percent of the running time on their computers was spent on sorting, when all their customers were taken into account. In fact, there were many installations in which the task of sorting was responsible for more than half of the computing time. From these statistics, we may conclude that either (i) there are many important applications of sorting, or (ii) many people sort when they shouldn't, or (iii) inefficient sorting algorithms have been in common use.

In this tutorial, I will specifically describe the Selection Sort algorithm (sorting) and the Linear Search algorithm (searching).

Selection Sort Algorithm

The Selection Sort algorithm is based on successive selection of minima or maxima values. Assume that we have a list which we want to sort in ascending order (from smaller to larger values). The smallest element will be at the beginning of the list, and the largest element will be at the end of the list. 

Let's say that the original list looks as follows:

| 7 | 5 | 3.5 | 4 | 3.1 |

The first thing we do is find the minimum value in the list, which is in our case 3.1

After finding the minimum value, swap that minimum value with the first element in the list. That is, swap 3.1 with 7. The list will now look as follows:

| 3.1 | 5 | 3.5 | 4 | 7 |

Now that we are certain that the first element is in the correct position in the list, we repeat the above step (finding the minimum value) starting from the second element in the list. We can find that the minimum value in the list (starting from the second element) is 3.5. We thus now swap 3.5 with 5. The list now becomes as follows:

| 3.1 | 3.5 | 5 | 4 | 7 |

At this point, we are certain that the first element and the second element are in their correct positions.

Now, we check the minimum value in the remainder of the list, that is starting from the third element 5. The minimum value in the remainder of the list is 4, and we now swap it with 5. The list thus becomes as follows:

| 3.1 | 3.5 | 4 | 5 | 7 |

So we are now certain that the first three elements are in the correct positions, and the process continues that way. 

Let's see how the Selection Sort algorithm is implemented in Python (based on Isai Damier):

Let's test the algorithm by adding the following statements at the end of the above script:

In this case, you should get the following output:

[4.6, 4.7, 5.76, 7.3, 7.6, 25.3, 32.4, 43.5, 52.3, 55.3, 86.7]

Linear Search Algorithm

The Linear Search algorithm is a simple algorithm, where each item in the list (starting from the first item) is investigated until the required item is found, or the end of the list is reached. 

The Linear Search algorithm is implemented in Python as follows (based on Python School):

Let's test the code. Enter the following statement at the end of the Python script above:

When you enter the input, make sure it is between single or double quotes (i.e. 'pencil'). If you input 'pencil', for instance, you should get the following output:

Yes, the item is in the bag

Whereas, if you enter 'ruler' as input, you will get the following output:

Oops, your item seems not to be in the bag

As we can see, Python proves itself again to be a programming language that makes it easy to program algorithmic concepts as we did here, dealing with sorting and searching algorithms.

It is important to note that there are other types of sorting and searching algorithms. If you want to delve deeper into such algorithms using Python, you can refer to this page.


by A. Ahmed via Envato Tuts+ Code

Obsidian

opl-small

One Pager with neat thin line illustrations that "complete" as you scroll for 'Obsidian' - a collection of Open Source tools to improve your technical infrastructure.

by Rob Hope via One Page Love

What Is Ruby on Rails?