Best practices when switching to https
Here's a big list of things to be aware of when switching an http site over to https. Ignore the bit about social buttons, just don't use them.
Sevalla is the all-in-one PaaS for your web projects. Host and deploy your applications, databases, object storage, and static sites. Enjoy advanced deployment pipelines, a complete database studio, instant preview apps, and one-click templates. The pricing is simple: no hidden fees, no seat-based pricing, and you pay only for what you use. Get real human support from developers.
Get started now with a $50 credit at Sevalla.com.
Here's a big list of things to be aware of when switching an http site over to https. Ignore the bit about social buttons, just don't use them.
A perceptual hash is a fingerprint of a multimedia file derived from various features from its content. Unlike cryptographic hash functions which rely on the avalanche effect of small changes in input leading to drastic changes in the output, perceptual hashes are "close" to one another if the features are similar.The code: https://github.com/jenssegers/php-imagehash
The blogpost: http://jenssegers.be/blog/61/perceptual-image-hashes
Stay up to date with all things Laravel, PHP, and JavaScript.
You can follow me on these platforms:
On all these platforms, regularly share programming tips, and what I myself have learned in ongoing projects.
Every month I send out a newsletter containing lots of interesting stuff for the modern PHP developer.
Expect quick tips & tricks, interesting tutorials, opinions and packages. Because I work with Laravel every day there is an emphasis on that framework.
Rest assured that I will only use your email address to send you the newsletter and will not use it for any other purposes.
PHPCI is a free and open source continuous integration tool specifically designed for PHP. Built with simplicity in mind and featuring integrations with all of your favourite testing tools, we've created the very best platform for testing your PHP projects.https://www.phptesting.org/
Over at Sitepoint Peter Nijssen wrote a good overview of the offered functionality.
I've been playing around with the self-hosted version. It comes with a bunch of plugins that are installed by default.
I can recommended it if you, like me, are starting out with CI.
Event Sourcing is a concept you'll start to hear more and more in the development community. Yet, there's no real aggregate of different talks or just resources in general available. Everything is spread out. Getting started with Event Sourcing isn't the easiest thing to do.http://nicolaswidart.com/blog/get-up-and-running-with-event-sourcingThis post has as goal to regroup as much information as possible about event sourcing. This will include links to conference talks, slideshows, github repositories, blog posts, and so on.
Let's talk a bit about deployments.
All the new projects I work on are hosted on servers that are provisioned by Forge. Forge has a quick deploy feature that allows you to pull the lastest master-commit onto the server, install composer dependencies, run migrations and so on.
It has two main drawbacks:
Deployer is a deployment tool written in PHP, it's simple and functional. Deploy your code to all servers you want, it supports deploy via copy, or via VCS (like git), or via rsync. Run your tasks on all your servers, or use our recipes of common tasks for Symfony, Laravel, Zend Framework and Yii.You can install Deployer via composer. To use Deployer a deploy.php file must be added to your project. This file describes your deployment process. No worries, you can write it in php using a very clean and readable syntax. The documention on how to write the deploy.php-file is a bit vague at this point, but you'll get a good idea of how things work by taking a look at my deploy.php-file.
To run deployer you'll use this command:
[code lang="bash"]
dep
I've made a bash alias that uses the name of the git branch you're currently on:
[code lang="bash"]
alias deploy='dep deploy $(git symbolic-ref --short HEAD)'
Now deploying a branch is as easy as just typing "deploy" when standing on a git repo in your terminal. This is a much nicer way to handle deployments. What I really like is that, now a deploy.php stored in the git repo, the deployment process is also versioned.
If you find Deployer doesn't meet your needs, Rocketeer, Phing and Capistrano are some more advanced alternatives. Envoy is nice too, but I haven't found a way to run stuff locally.
http://www.quirksmode.org/blog/archives/2014/12/a_new_microsoft.htmlThe plan seems to be that the new IE12 will not carry all that cruft, but be a forward-looking modern browser. If you need legacy stuff you must start up another browser.
...
Internally, when talking to other web devs, you should treat the next Microsoft browser as IE12. Externally, however, when talking to clients and other non-techies, it could make sense to support the “Microsoft is creating a new browser” narrative.
I guess we'll see the new browser in action at the Windows 10 event on January 21st.
Patrick Dubroy explains how you can track down client-side performance problems using the Chrome Dev Tools.
http://vimeo.com/77322983
This package ensures that your application doesn't have installed dependencies with known security vulnerabilities.https://github.com/Roave/SecurityAdvisories...
The checks are only executed when adding a new dependency via
composer require
or when runningcomposer update
: deploying an application with a validcomposer.lock
and viacomposer install
won't trigger any security versions checking.
Awesome idea! It works by leveraging the "conflict"-property in the composer.json-file of the package.
A command bus helps separating business logic from all the stuff that needs to be done to communicate over the web.
Shawn McCool wrote up a good overview about the subject.
Think of a typical controller. Inside, you might find interactions with the model, form validation, and response generation; which includes view template rendering or redirect header generation. Some of these actions are related directly to the web, some of them directly to the core of your application.http://shawnmc.cool/command-bus
https://github.com/thephpleague/commonmark
This Markdown parser is released by the League of Extraordinary Packages, a group of developers who have banded together to build solid, well tested PHP packages using modern coding standards.
The VarDumper component provides mechanisms for walking through any arbitrary PHP variable. Built on top, it provides a better dump() function that you can use instead of var_dump.http://symfony.com/doc/current/components/var_dumper/introduction.html
Bruno Skvorc wrote a nice article about it on Sitepoint.com.
Taylor Otwell, the creator of Laravel, announced VarDumper will be included by default in Laravel 5.
Duet is the first app that allows you to use your iDevice as an extra display for your Mac using the Lightning or 30-pin cable.http://www.duetdisplay.com/
Very cool, almost no lag, works as advertised.
CodeIgniter 3.0 will support PHP 5.2. Anthony Ferrara wrote an interesting article on his blog why that's a very bad thing.
http://blog.ircmaxell.com/2014/12/on-php-version-requirements.html
Backblaze is transitioning from using 4 TB hard drives to 6 TB hard drives in the Storage Pods we will be deploying over the coming months. With over 10,000 hard drives needing to be purchased over the next several months, the choice of which 6TB hard drive to use is critical.https://www.backblaze.com/blog/6-tb-hard-drive-face-off/
Backblaze needs to store 130 TB of incoming customer data every day.
If you're interested in technology and enjoy a good series, you'd probably like Black Mirror. It's streaming on Netflix (America/UK).
The last episode is almost two years old, but last Tuesday a christmas special featuring Jon Hamm was aired.
https://www.youtube.com/watch?v=TDFcTmdQqIc
Highly recommended.
Social media buttons are not a social media strategy, even though they’re often sold that way. Excellent content, serious networking and constant human engagement is the way to build your profile. Adding those sleazy buttons won’t achieve anything.https://ia.net/blog/sweep-the-sleaze/
Squire is an HTML5 rich text editor, which provides powerful cross-browser normalisation, whilst being supremely lightweight and flexible.http://neilj.github.io/Squire/...
Unlike other HTML5 rich text editors, Squire was written as a component for writing documents (emails, essays, etc.), not doing wysiwyg websites. If you are looking for support for inserting form controls or flash components or the like, you'll need to look elsewhere.
Instant access to all desktop and mobile browsers. Say goodbye to your setup of virtual machines and devices.browserstack.com
If Paul Irish likes it, it's probably good.
Last week Bramus presented a cool mixed content scanner on his blog. Just for fun/as an excercise I made my own version.
The core scanner is mostly a copy of Bramus' code but there are a few noticeable differences. My version:
You'll find the instructions how to use it on github.