PHP UK Conference 2017 - YouTube
Share your videos with friends, family, and the world
Saved
on: 2017-04-04
Announcing AudioSet: A Dataset for Audio Event Research
Posted by Dan Ellis, Research Scientist, Sound Understanding TeamSystems able to recognize sounds familiar to human listeners have a wide range of ...
Saved
on: 2017-04-03
The Accident No One Talked About
When a family tries to sweep tragedy under the rug, the damage is deep and lasting.
Tags:
#read-later
Saved
on: 2017-04-02
How to set up your Laravel application for zero-downtime (Envoyer/Capistran
If you've ever worked with Capistrano or Envoyer, you've probably seen a directory structure in your webroot that looks something like this:
root root 4096 Mar 29 18:44 .
root root 4096 Mar 28 14:15 ..
root root 47 Mar 29 14:54 current -> ./releases/1490824249
root root 4096 Mar 29 14:50 releases
Where you're expecting to see your webroot containing your Git repository, instead it's this weird structure. What gives?
A brief introduction to Capistrano-style zero-downtime deploys
The reason you're getting zero-downtime deploy from these tools is because the entire deploy process—clone, composer install, etc.—doesn't happen in the directory that is currently serving your site. Instead, each new release gets its own separate "release" directory, all while your site is still being served from its current "release" directory.
- current -> ./releases/1490802721 * apache/nginx serves from this directory
- releases
- 1490802133 (the new release you're building right now)
- 1490802721 (latest complete release)
- 1490803081 (a little bit older release)
- 1490824249 (an even older release)
All of these release directories are just subdirectories of releases. Each directory here represents one of your deploys, and each directory individually has everything needed to serve your site. Your web server points to yourproject/current/public and therefore the "currently served" release is just that which has a symlink pointed at it from yourproject/current.
So, once the build process is complete for each new release, your deploy tool will delete the current symlink and create a new current symlink that points to your latest release. Boom. Now that release is live.
Caveats
In general, Laravel is no different from any other project in that this style of deployment works great. In fact, a tool provided by Taylor Otwell, Envoyer, is predicated around this release style.
However, every tool has a different set of caveats around how to handle them well in zero-downtime settings. Here's why:
There are always some things that you want to persist between releases. Most of it lives in databases and caches, which is fine—nothing's wiping your database on every deploy. But some isn't. Take the storage folder; do you want to wipe that every time you push a new release? Naw. What about the .env file? Definitely naw. So there are a few quick tricks.
How to set up your deploy for Laravel
Remember: If you use Envoyer, this is all handled for you. But if you don't, here's what to do.
Clone your release into a new release folder. This should be handled by your deploy tool.
composer install -o --no-interaction
php artisan migrate --no-interaction --force
(optional, if you don't commit your built scripts) npm install (or yarn) and either gulp --production (Elixir) or npm run production (Mix)
rm -rf storage && ln -s ../../storage ./
(Delete the storage directory and symlink it to a storage folder in the parent)
ln -s ../../.e
Saved
on: 2017-03-31
markerikson/react-redux-links: Curated tutorial and resource links I've collected on React, Redux, ES6, and more
Curated tutorial and resource links I've collected on React, Redux, ES6, and more - markerikson/react-redux-links
Saved
on: 2017-03-31
Apollo Client 1.0: A flexible, community-focused JavaScript GraphQL client | Apollo GraphQL Blog
Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.
Saved
on: 2017-03-31
explainshell.com - match command-line arguments to their help text
match command-line arguments to their help text
Saved
on: 2017-03-30
The Iron by Henry Rollins | Oldtime Strongman
IRON AND THE SOUL by Henry Rollins I believe that the definition of definition is reinvention. To not be like your parents. To not be like your friends. To be yourself. Completely. When I was young I had no sense of myself. All I was, was a product of all the fear and humiliation I … Continue reading "Iron and The Soul by Henry Rollins"
Saved
on: 2017-03-29
2016 Favorites | CSS-Tricks
As the year closes, it's good to reflect on all of the things we as a community have built, contemplated, and contributed to. Here are some of the things we
Saved
on: 2017-03-27
Case Study: My First Practical CSS Grid Layout - Cloud Four
A challenge cropped up in one of our projects that served as a simple, self-contained example of how grid layout can make things easier.
Saved
on: 2017-03-27
Typography, the right way with JoliTypo
Most of content on the web are full of typography mistakes—and I will not talk about grammar, that's another story. Content of your website is like your code, if it’s not well indented, if you don't put a carriage return in the right place, if you don’t respect code standard and
Tags:
#php
Saved
on: 2017-03-24
intro-to-vuejs/README.md at master · thewhitetulip/intro-to-vuejs
Introduction to VueJS the anti-textbook (work in progress) - thewhitetulip/intro-to-vuejs
Tags:
#vuejs
Saved
on: 2017-03-24
https://trackchanges.postlight.com/modern-javascript-for-ancient-web-developers-58e7cae050f9#.f09rs02ud
Tags:
#javascript
Saved
on: 2017-03-23
How to Build a NASA Photo Gallery with Zend Expressive — SitePoint
Saved
on: 2017-03-22
Thiên Đường Trò Chơi
TDTC là một cổng game trực tuyến mới tại Việt Nam, Thiên Đường Trò Chơi cung cấp một loạt các trò chơi giải trí đa dạng từ game bài, casino trực tuyến, nổ hũ...
Saved
on: 2017-03-21
How We Engineered CMS Airship to be Simply Secure - Paragon Initiative Enterprises Blog
A deep dive into the security engineering decisions that went into CMS Airship. A lot of the decisions we made are subtle.
Saved
on: 2017-03-20
GitHub - readbeyond/aeneas: aeneas is a Python/C library and a set of tools
aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment) - readbeyond/aeneas
Saved
on: 2017-03-19
Too Many People Are Going to New Zealand. And That’s a Problem
When their flight home to the U.S. from Auckland was delayed last month, a group of 53 elderly American tourists was put up in a traditional Maori meeting house for the night because all the city’s hotels were full.
Saved
on: 2017-03-18
Animista - On-Demand CSS Animations Library
Animista is a CSS animation library and a place where you can play with a collection of ready-made CSS animations and download only those you will use.
Tags:
#css
Saved
on: 2017-03-17
Advanced Web Scraping: Bypassing "403 Forbidden," captchas, and more | sang
Saved
on: 2017-03-16
Slevomat Coding Standard 2.0, which helps with transition to PHP 7.0 & 7.1 and includes a lot of cool features, is out! : r/PHP
Tags:
#php
Saved
on: 2017-03-14
A Programmer’s Introduction to Unicode – Nathan Reed’s coding blog
Pixels and polygons and shaders, oh my!
Tags:
#programming
Saved
on: 2017-03-13
The Absolute Minimum Every Software Developer Absolutely, Positively Must K
Ever wonder about that mysterious Content-Type tag? You know, the one you’re supposed to put in HTML and you never quite know what it should be? Did you ever get an email from your friends in…
Tags:
#programming
Saved
on: 2017-03-13
Planet Satellite Imaging | Planet
Discover how Planet's daily satellite imagery and insights empower global decisions and actions with a multidimensional view of our changing planet.
Saved
on: 2017-03-10
Why the bounce rate of my AMP pages is so high? - Blog de Christian Oliveira
Your AMP pages have a higher than usual bounce rate? Don't worry, your data may be wrong. In this article, I explain you why.
Tags:
#amp-project
Saved
on: 2017-03-10
donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. - donnemartin/system-design-primer
Saved
on: 2017-03-09
Using Repository Pattern in Laravel 5 - Bosnadev - Code Factory
Implementation of Repository Pattern in Laravel means separations of the data access logic from the business logic. Communication between the data access
Saved
on: 2017-03-03
The Complete Guide to CSS Grid | Codrops CSS Reference
CSS Grid is a two-dimensional layout system created specifically to tackle grid-based user interfaces on the web. Grids
Saved
on: 2017-03-02
Optimising the front end for the browser
If you looked up optimisation (or optimization for our American readers) in the dictionary it would say something along the lines of Making the most of what we’ve got.
Saved
on: 2017-02-24
Using Neutrino to jump-start modern JavaScript development ★ Mozilla Hacks
Neutrino is a tool which brings together the best parts of the modern JavaScript toolchain with the ease of zero upfront configuration. Built to let you hit the ground running, ...
Saved
on: 2017-02-24
API design guide | Cloud API Design Guide | Google Cloud
A set of guidelines for designing APIs that are consistent with Google AIPs.
Tags:
#programming
Saved
on: 2017-02-23
A is for Albert
An animated alphabetical adventure exploring the highs and lows of parenting.
Saved
on: 2017-02-21
AWS Lambda For The Impatient Part 1
Programming book reviews, programming tutorials,programming news, C#, Ruby, Python,C, C++, PHP, Visual Basic, Computer book reviews, computer history, programming history, joomla, theory, spreadsheets and more.
Saved
on: 2017-02-21
Welcome to the New AWS AI Blog! | AWS AI Blog
If you ask 100 people for the definition of “artificial intelligence,” you’ll get at least 100 answers, if not more. At AWS, we define it as a service or system which can perform tasks that usually require human-level intelligence such as visual perception, speech recognition, decision making, or translation. On this new AWS blog, we’ll […]
Saved
on: 2017-02-21
Emil Kristensen's answer to What tools SEO companies use to do their job? -
Emil Kristensen's answer: Today, there is a ton of tools I love to use every single day. Here is a quick list of my favorite.
* Google Webmaster tools
* Google Analytics
* Rank tracking
*
* Google Search Console
* SEO Monitor
* Authority Labs
* AMZ tracker
* Positionly
* SEMrush (my f...
Tags:
#seo
Saved
on: 2017-02-14
The Google Analytics Setup I Use on Every Site I Build — Philip Walton
Thoughts on web development, open source, software architecture, and the future.
Saved
on: 2017-02-14
Wait But Why
A popular long-form, stick-figure-illustrated blog about almost everything.
Tags:
#blog
Saved
on: 2017-02-13
Connect with OAuth enabled services (like social networks) without any servers.
Sometimes I have the need to check if a certain idea is possible, just to be sure or learn about a certain workflow / technology. Just like I wanted to know how I could connect social networks without the need for any use of solid servers that would run 24/7/365(–6).
Tags:
#aws
Saved
on: 2017-02-10
Migrating a PHP 5 App to PHP 7 (Tools & Implementation) - Part 3
Let's go through migrating a simple PHP 5 app to PHP 7 and also the tools that will help to make the process painless!
Tags:
#php
Saved
on: 2017-02-09
Vue.js Pokemon Battle Tutorial – Medium
What you’re getting into: A very detailed read that goes through the creation of a Pokemon Battle using Vue.js. I try my best not to make assumptions, but there’s a lot of stuff to go through (it…
Saved
on: 2017-02-09
Our journey migrating 100k lines of code from AngularJS to React (Chapter 1
Saved
on: 2017-02-06
A Complete Guide to Flexbox | CSS-Tricks
Our comprehensive guide to CSS flexbox layout. This complete guide explains everything about flexbox, focusing on all the different possible properties for the parent element (the flex container) and the child elements (the flex items). It also includes history, demos, patterns, and a browser support chart.
Saved
on: 2017-02-06
uraimo.com | Building a LISP from scratch with Swift
This article describes how you can build a simple LISP, based on the 1978 article 'A Micro Manual For LISP - Not The Whole Truth' with Swift, taking advantage where possible of the features the language offers.
Tags:
#programming
Saved
on: 2017-02-06
Pause! We Can Go Back! | by Bill McKibben | The New York Review of Books
Everyone I know seems a little ashamed of the compulsive phone-checking, but it is, circa 2017, our species-specific calling card, as surely as the bobbing head-thrust identifies the pigeon. No one much likes spending half the workday on e-mail, but that’s what work is for many of us. Our accelerating disappearance into the digital ether now defines us—we are the mediated people, whose contact with one another and the world around us is now mostly veiled by a screen. We threaten to rebel, just as we threaten to move to Canada after an election. But we don’t; the current is too fierce to swim to shore.
Saved
on: 2017-02-05
chvin/react-tetris: Use React, Redux, Immutable to code Tetris. 🎮
Use React, Redux, Immutable to code Tetris. 🎮
Tags:
#react-js
Saved
on: 2017-02-04
Decoding Google's Referral String (or, how I surviVED Secure Search) - Moz
With initiatives like Google Secure Search, Universal Search, and Knowledge Graph, it's becoming increasingly difficult for marketers to figure out how and why they receive Google referrals. It's time to reclaim your data by analyzing the VED paramater to make sense of the black hole (not provided) has left in Google referral traffic.
Tags:
#seo
Saved
on: 2017-02-03
Online migrations at scale
Online payment processing for internet businesses. Stripe is a suite of payment APIs that powers commerce for businesses of all sizes.
Saved
on: 2017-02-03
More Than React: Why You Shouldn’t Use ReactJS For Complex Interactive Fron
Yang Bo showcases reasons why React stumbles when used in complicated front-end projects and how his Binding.scala framework improves the experience.
Saved
on: 2017-02-02
Truly, Madly, Guiltily
For a mother, libido, as she once knew it, is gone, replaced by all-consuming maternal desire. Except, that is, for me.
Tags:
#kids
Saved
on: 2017-02-02
How Children Lost the Right to Roam in Just 4 Generations
This Daily Mail piece by David Derbyshire is so profound it has been cited over and over: How Children Lost the Right to Roam in Four Generations: an interview with four generations of the same family about how far they were allowed to wander as kids. It comes from Britain but will sound familiar to
Saved
on: 2017-02-02
CSS Grid – Table layout is back. Be there and be square. | Web | Google
CSS Grid is a new layout system for the web.
Saved
on: 2017-02-01
Etsy Engineering | How Etsy Manages HTTPS and SSL Certificates for Custom Domains on Pattern
In April of 2016 Etsy launched Pattern, a new product that gives Etsy sellers the ability to create their own hosted e-commerce...
Tags:
#webdev
Saved
on: 2017-02-01
Guided meditation for beginners (for free) from QuietKit
Learn to decrease stress and increase focus with our simple guided meditation for beginners (for free).
Saved
on: 2017-01-31
Front-end Developer Handbook 2017 · GitBook
Forget building and maintaining your own custom docs platform. With GitBook you get beautiful documentation for your users, and a branch-based Git workflow your team will love.
Saved
on: 2017-01-31
Ask HN: Which developers do you closely follow? | Hacker News
Tags:
#programming
Saved
on: 2017-01-30
CRAFT: Create React App From Template – Medium
CRAFT (Create React App From Template) is a command-line utility that helps you get started with your new React app using a starting point of your liking: one you created yourself or maybe one…
Saved
on: 2017-01-30
Ask HN: How to best teach a group of children how to code? | Hacker News
Saved
on: 2017-01-27
Build a Music Player with Angular & Electron II : Making the UI | Scotch
Saved
on: 2017-01-27
How to be perfectly unhappy - The Oatmeal
Saved
on: 2017-01-26
Writing good code: how to reduce the cognitive load of your code – Christia
Tags:
#programming
Saved
on: 2017-01-21
Progressive Web Apps with Angular 2
Progressive Web Applications have been the talk of the town in the past few months. In short, they use modern web capabilities to provide a user experience similar to that of mobile apps. Still a r...
Saved
on: 2017-01-19
The tech of PIXAR part 1: Piper – daring to be different | fxguide
In the run up to the Oscar Short film nominations, we invited guest writer Leif Pedersen to deep dive into the tech of Pixar's Piper.
Tags:
#video
Saved
on: 2017-01-18
Introduction
If you want to lace shoes, tie shoes or learn about shoelaces, “Ian's Shoelace Site” is the place!
Tags:
#weird
Saved
on: 2017-01-16
What Romance Really Means After 10 Years of Marriage
It's not about suspense; it's about survival.
Tags:
#read-later
Saved
on: 2017-01-15
Ask Andrew W.K.: 'Do You Ever Get Depressed?' | Village Voice
Tags:
#read-later
Saved
on: 2017-01-13
Secure Headers for PHP
Recently I've been working on a drop in class to manage certain "Secure Headers" in PHP.
Saved
on: 2017-01-08
I made my son cannabis cookies. They changed his life
It’s time to reexamine the cultural and legal restrictions we put on medical marijuana.
Tags:
#read-later
Saved
on: 2017-01-08
Andrew W.K. on Growth - VICE
In ways both real and imagined, how you see the world colors what you see in the world.
Tags:
#read-later
Saved
on: 2017-01-05
The Isdalen mystery - Dokumentar
A woman lies dead and severely burned in a scree slope outside the centre of Bergen. All clues to who she might be, have been removed. No one has made any progress in this case – until now.
Tags:
#read-later
Saved
on: 2017-01-03
PhospheneFX – Phosphene is a New York-based independent design and visual e
Phosphene® is a New York-based, award winning, independent design and visual effects studio.
Tags:
#webdesign
Saved
on: 2017-01-03
10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring
Using sar you can monitor performance of various Linux subsystems (CPU, Memory, I/O..) in real time. Using sar, you can also collect all performance data on an on-going basis, store them, and do historical analysis to identify bottlenecks. Sar is part of the sysstat package. This article explains how to install and con
Saved
on: 2017-01-03
My very first attempt to Hexagonal architect, Symfony, PHPSpec, TDD. Could
Saved
on: 2017-01-02
Twagios 2.0 – Nagios notifications revisited – EdVoncken.NET
In a previous blog post, I described how to use Twitter for Nagios notifications – dubbing it “Twagios”.
Saved
on: 2017-01-02
What Is Money And How Is It Created?
Saved
on: 2017-01-02
Where in the World Is Carmen Sandiego? Becoming a Secret Travel Agent [video] | Hacker News
Saved
on: 2016-12-31
CodePen - Musical Chord Progression Arpeggiator
A quick way to sketch out musical chord progressions. uses my [Scale Generator](http://codepen.io/jakealbaugh/pen/NrdEYL/) and [Arpeggio Pattern Gener...
Saved
on: 2016-12-29
Programming (mental) models
Terminology like this is sprinkled throughout programming blog posts, conference talks, papers, and text books. But don’t be turned off by this jargon. Let’s jump right in and break some of these…
Tags:
#programming
Saved
on: 2016-12-28
Print styles – A List Apart Sidebar – Medium
I really wanted to make sure that the print styles for Resilient Web Design were pretty good — or at least as good as they could be given the everlasting lack of support for many print properties in…
Saved
on: 2016-12-28