Jens Segers

Entrepreneur and WiFi magician at auki.io • M.Sc Engineering Informatics • Developer • Hardware geek


Latest

CLI progress bars in Laravel

Laravel 5.1 was released this week, and it came with a lot of interesting goodies. One of those goodies was the addition of Symfony's progress bar support for console commands.

Jens Segers on

Laravel error logging with Sentry

Decent error logging is one of the most important things when it comes to building applications. It is so unprofessional when a client calls you about a bug and you have no idea what he is talking about.

Jens Segers on

Tilde and caret version constraints in Composer

Recently, Composer changed their default version constraint from using ~ (tilde) to ^ (caret).

Jens Segers on

Id transformation with Optimus

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.

Jens Segers on

Behold the power of yield

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.

Jens Segers on

Adding Whoops back to Laravel 5

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.

Jens Segers on

Easy id obfuscation with Laravel 5

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.

Jens Segers on

Automatically check your composer file for security vulnerabilities

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.

Jens Segers on

Laravel 5 Eloquent attribute casting is awesome

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.

Jens Segers on

Perceptual image hashes

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.

Jens Segers on

PHP profiling with Blackfire

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.

Jens Segers on

Vagrant manager

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.

Jens Segers on

Laravel pagination with grouping and eager loading

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.

Jens Segers on

Debugging Laravel

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.

Jens Segers on

Server provisioning with Chef and knife-solo

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.

Jens Segers on

Laravel OAuth client

David Desberg, also known as Lusitanian, has created an awesome OAuth 1 and 2 client, so I decided to integrate it into Laravel.

Jens Segers on

Using Eloquent without 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).

Jens Segers on

Laravel route model binding is awesome

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.

Jens Segers on

Laravel collections are awesome

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.

Jens Segers on

Using Guard to manage assets

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.

Jens Segers on

Installing the PHP mcrypt extension on OSX 10.9

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.

Jens Segers on

Combining Laravel and MongoDB

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.

Jens Segers on

Integrating Rollbar in Laravel

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.

Jens Segers on

Deploying websites with Git (and Composer)

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.

Jens Segers on

Setting up your own VPN server with PPTP on Ubuntu or Debian

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.

Jens Segers on

Infrastructure as Code

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.

Jens Segers on

Realtek RTL8188 based access point on Raspberry Pi

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.

Jens Segers on

How to install redmine on Ubuntu 12.10

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.

Jens Segers on

Ubuntu locale warning

While working on my personal Ubuntu server, I often run into the following locale warnings. perl: warning: Setting locale failed.

Jens Segers on

Advertising Ubuntu services to OSX using Avahi

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.

Jens Segers on

iRail Summer of code week #3

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.

Jens Segers on

iRail Summer of code day #2

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.

Jens Segers on

iRail Summer of code

A summer of code, that's right. I have been invited to join a fantastic event organized by iRail.

Jens Segers on

CodeIgniter sparks

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.

Jens Segers on

OSX: scan Wi-Fi networks with AirPort command line tool

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.

Jens Segers on

CodeIgniter resizing and cropping images on the fly

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.

Jens Segers on

CodeIginter HMVC Modules

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.

Jens Segers on

CodeIgniter email library bug

Today while creating a newsletter module for my personal CMS I ran into a weird CodeIgniter bug in the email library.

Jens Segers on

CodeIgniter secure authentication 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.

Jens Segers on

Amazon S3 SDK for CodeIgniter

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.

Jens Segers on

CodeIgniter template library

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.

Jens Segers on

The device, \Device\Ide\iaStor0, did not respond within the timeout period

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.

Jens Segers on

Codeigniter 2: CSRF Protection

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.

Jens Segers on

Website speed tip: leverage browser caching

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.

Jens Segers on

Redirect users to www using htaccess

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.

Jens Segers on

Codeigniter authentication library download

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.

Jens Segers on

Codeigniter authentication library 3/3

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.

Jens Segers on

Codeigniter authentication library 2/3

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.

Jens Segers on

Codeigniter authentication library 1/3

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.

Jens Segers on

Lithium-ion battery tips to maximize the lifespan

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.

Jens Segers on

jQuery: open external links in a new window

While working on some websites I needed a javascript that would open all external links in a new windows. So I did a quick search on google, only to find a lot of different solutions for this problem.

Jens Segers on

Windows dutch keyboard layout for bootcamp

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.

Jens Segers on

Cinch: Windows' areo snap for Mac OSX

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.

Jens Segers on