Tilde and caret version constraints in Composer
Recently, Composer changed their default version constraint from using ~ (tilde) to ^ (caret).
Recently, Composer changed their default version constraint from using ~ (tilde) to ^ (caret).
Recently I wrote a blog post and gave a talk at php.gent about id obfuscation and how it can help hide your application internals from malicious users.
The first time I read about yield in PHP was in the PHP 5.5 changelog back in 2013. Actually, I did not really give it that much attention, since I thought it was not that big of deal at the time.
If you have ever used Laravel 4, you have probably seen the following Whoops error screen÷ In Laravel 5, Taylor Otwell decided not to include the package by default anymore.
Obfuscating ids in urls is a great way of hiding your application's internals from your visitors. It reduces the chance for malicious users to guess urls and prevents everyone from knowing how many user accounts or articles your website has.
SensioLabs' Security Checker is a command line tool that checks if your application uses dependencies with known security vulnerabilities. Adding this to an existing project to automatically scan your composer file is really easy.
Attribute casting is a new feature of Laravel's Eloquent model that was recently added without really getting much attention (yet). So what does it do, and how can you use it.
I recently discovered perceptual image hashes when I was in charge of removing thumbnails from a large set of images. Perceptual hashes are a completely different concept compared to the usual cryptographic hashing methods such as MD5 or SHA.
Blackfire is a PHP profiler that allows you to inspect your app's performance. It's great for discovering what exactly is slowing down your application, or what is eating away precious memory.
This week I discovered a small Vagrant utility for OSX that makes managing your Vagrant boxes really easy. Some may argue that Vagrant doesn't really need UI tool since the command line interface is so simple.
I found myself in a bit of a strange situation when I was doing this query in Laravel: DB::with('relation')groupBy('something')paginate(50); I was using this query to display a large amount of records in a paginated table.
Often you will want to debug what is going on in the background of your Laravel application, by doing something like var_dump or dd. When I used to work on a lot of CodeIgniter projects, we always had this debug bar enabled, that would show us all the query and logging information.
Configuration management tools are awesome, if you are still doing everything manually or with bash scripts, then check out my blog post on infrastructure as code.
David Desberg, also known as Lusitanian, has created an awesome OAuth 1 and 2 client, so I decided to integrate it into Laravel.
Not many people know this, but you can actually use the Laravel database component outside the Laravel framework (PyroCMS is actually using it in their CMS).
If you haven't looked at Laravel's route model binding, you should definitely do it. Model binding allows you to inject model instances into your routes.
The Collection class in Laravel is really awesome. In Laravel, database query results are actually returned as a collection object, that contains the actual results.
I have been using jasonlewis/basset for quite a while to manage my assets in Laravel projects. It is definitely not the most optimal/performant solution out there, but it did the job.
The following steps will explain you how to install the mcrypt extension for the default PHP version (5.4.24) that is shipped with OSX Mavericks. You need this extension for stuff like Laravel and phpMyAdmin.
Unfortunately, Laravel 4 has no native support for Mongo databases. Once I started searching for open source Mongo packages on GitHub, I was disappointed that not one package was able to seamlessly integrate a Mongo database driver into Laravel 4.
Recently I discovered rollbar.com, which is a remote error logging system that allows you to collect errors and logs from multiple applications into a single dashboard.
I have been using Git to deploy my websites for quite some time now. It is so much easier than having to drag 'n drop files with FTP or SFTP.
I often connect to my own VPN server because of ports that are blocked on public networks, or if I want to access something on my home network. I use a PPTP server because OSX and Windows support it right out of the box, without having to download an additional VPN client.
For my master's degree thesis I did research about infrastructure automation with configuration management software. I discovered the power and advantages of these tools and would like to share my findings about Infrastructure as Code with my readers.
I had some trouble getting my Edimax EW-7811Un wireless adapter to work on my Raspberry Pi. This Realtek RTL8188CUS chipset based adapter works right out of the box when you use it to connect to wireless networks.
Redmine is a free and open source, web-based project management and bug-tracking tool. I would recommend Redmine for everybody working on private projects, and I will guide you through the installation process on Ubuntu.
While working on my personal Ubuntu server, I often run into the following locale warnings. perl: warning: Setting locale failed.
At home I have an Ubuntu file server where I keep all my files and backups. On my macbook I have a startup script that mounts my shared folders into finder.
I was quite nervous to be starting as a project manager of 2 projects during these 3 weeks. But looking back at the past 2 weeks I think I did a great job leading and helping both teams.
Day 2 of the iRail summer of code: hackathon time. All teams participed to experience all of the thought and development processes for the next 3 weeks in one single thrilling day.
A summer of code, that's right. I have been invited to join a fantastic event organized by iRail.
Sparks is a package management system for Codeigniter that will allow you install high-quality libraries into your applications instantly. These sparks are like packages of reusable code that developers make available for download, just like ruby gems.
I recently bought a new router and was going through the basic configuration. Like most routers, the default Wi-Fi channel is set to automatic.
One of the more popular articles on my blog was "Codeigniter: resizing and cropping images on the fly". At the time I wrote the article I wanted to create a code that would be really easy to use.
This extension for CodeIgniter enables the use of the Hierarchical Model View Controller(HMVC) pattern and makes your application modular. This allows easy distribution of independent components (MVC) in a single directory across other CodeIgniter applications.
Today while creating a newsletter module for my personal CMS I ran into a weird CodeIgniter bug in the email library.
A few months ago I released a simple cookie-only authentication library for simple websites. Security is getting more important these days so I decided to release my secure library that I use for more serious/bigger websites that need this security.
Amazon's Simple Storrage Service is a great service for storing lots of files on a solid and stable system. I have been experimenting with it for a few days and quickly found the need for a CodeIgniter library to upload files to S3.
Codeigniter has no functionality for handling multiple views/themes/layouts. This gives the developer a lot of freedom to choose what template library he wants to use, but some may find this a bit of a struggle.
Beneath my desk I have an Intel i5 (Asus H67) powered Windows 2008 R2 server running serving as a NAS with a whole bunch of hard drives. The disk mode is set to 'RAID' in the BIOS because of a RAID 1 array I use to store my important data.
Codeigniter 2.0 adds an new security feature to prevent CSRF attacks. Cross Site Request Forgery (CSRF) is one of the most common vulnerabilities in websites and web applications.
One of the most common suggestions on Google's page speed test is Leverage browser caching. This means that for those resources the browser does not know how long to keep these file in its cache.
On all my websites I redirect all users to the domain including the www prefix. I prefer it this way just because I think it looks cleaner.
Download Many of you guys prefer to just download a complete code instead of reading my 3 piece tutorial on how to create this library.
Further implementation In the previous part of the authentication library posts I explained how to generate a secure token for each user and the basic functions that are needed to create and delete the cookie.
Generating a personal authentication token We will generate a unique personal authentication token that will tell us whether the user is logged in or not.
Intro: safe cookies Website security is becoming more and more important to every web developer. I wanted to write a simple yet secure authentication library for Codeigniter that would not need a lot of resources.
The last few days I did some research about Lithium-ion batteries that are used by cellphones, laptops and many other electronic devices. Whenever I get a new device I try to take care of the battery as much as possible.
When you have a Windows bootcamp partition, Apple's bootcamp setup will install a 'Dutch - Apple' keyboard layout. But for some strange reason this layout is not completely correct.
When regularly switching between operating systems like Windows 7 and Mac OSX like myself, you'll often notice handy features missing in both operating systems that you're used to.