Hey!
I'm now building Prise — a smart productivity application for founders and freelancers!
Visit Prise for a free 14-day trial (no credit card required!).
Philip
Archives
-
Introducing Prise, a smart productivity application
-
What are Behaviours in Elixir?
-
What are Specifications and Types in Elixir?
-
Writing Comments and Documentation in Elixir
-
Working with Mnesia in Elixir
-
What is ETS in Elixir?
-
The Little Elixir & OTP Guidebook [Review]
-
Building a Casino in Elixir
-
Elixir in Action [Review]
-
Working with Supervisors in Elixir
-
Organising your Elixir project with Mix
-
Understanding GenServer in Elixir
-
Using Agents in Elixir
-
Working with State and Elixir Processes
-
Using Tasks in Elixir
-
Understanding Concurrency and Parallelism in Elixir
-
Artificial Intelligence - A Guide to Intelligent Systems [Review]
-
Implementing Password Reset using Ruby on Rails and Trailblazer
-
Working with Processes in Elixir
-
Writing Integration Tests in Ruby on Rails
-
Understanding Comprehensions in Elixir
-
Using Trailblazer Cells in Action Mailer
-
What are Elixir Protocols?
-
Confirming Users with Trailblazer
-
What are Elixir Structs?
-
Building out a User Confirmation flow in Trailblazer
-
Working with Enumerables and Streams in Elixir
-
Getting started with Trailblazer Cells
-
Understanding Recursion and Tail Call Optimisation in Elixir
-
Using Inheritance for Trailblazer Operations
-
Branching and Conditionals in Elixir
-
Using Trailblazer Operations in Controllers and Views
-
Multi-clause Functions with Pattern Matching and Guards in Elixir
-
What are Trailblazer Contracts?
-
Understanding Pattern Matching in Elixir
-
Getting started with Operations in Trailblazer
-
Functions as First-Class Citizens in Elixir
-
Getting started with Trailblazer and Ruby on Rails
-
Understanding Function Arity in Elixir
-
Trailblazer - A New Architecture For Rails [Review]
-
Using the Pipe Operator in Elixir
-
Working with CSVs in Ruby
-
Working with Functions and Modules in Elixir
-
Zero to One [Review]
-
Working with Keyword Lists and Maps in Elixir
-
Creating a Sign Up Form flow in Ruby on Rails Part 3
-
Understanding Lists in Elixir
-
Creating a Sign Up Form flow in Ruby on Rails Part 2
-
Using Tuples in Elixir
-
Creating a sign up form flow in Ruby on Rails Part 1
-
Working with Strings in Elixir
-
Writing Functional Tests in Ruby on Rails
-
Understanding the Types in Elixir
-
Testing Active Job and Active Mailer in Ruby on Rails
-
Programming Elixir [Review]
-
Getting started with Action Mailer in Ruby on Rails
-
Getting started with Elixir
-
Getting started with Active Job in Ruby on Rails
-
Advocacy - Championing ideas and influencing others [Review]
-
Replacing Fixtures with Factory Girl in Ruby on Rails
-
Setting up Mandrill Webhooks with Laravel
-
Using Form Objects in Ruby on Rails with Reform
-
Setting up and using Cron Jobs with Laravel and AWS Elastic Beanstalk
-
Migrating WordPress data for a Ruby on Rails application
-
Adding Intercom support to your Laravel application
-
Rendering Markdown and HTML in Ruby
-
Adding Slack Slash Commands to a Laravel application
-
Implementing Roles and Permissions in Ruby on Rails
-
Dealing with different types of something with The Strategy Pattern
-
Creating Polymorphic relationships in Ruby on Rails
-
Importing demo data into a Laravel application
-
Authenticating Users in Ruby on Rails
-
How to create a Zip Archive in PHP
-
TDD Active Record Models with MiniTest
-
Dealing with brute force attacks in Laravel
-
Creating Views in Ruby on Rails
-
How to test uploading and returning files in Laravel
-
Creating Controllers in Ruby on Rails
-
Returning secure files from an API with temporary URLs
-
Defining URL routes in Ruby on Rails
-
Dealing with scheduling in PHP
-
Querying with Active Record in Ruby on Rails
-
Sending data via Pusher in a Laravel Application
-
Understanding Active Record Callbacks
-
Authenticating with Pusher in a Laravel application
-
Design Patterns in Ruby [Review]
-
Setting up Pusher in a Laravel Application
-
What is Active Model?
-
Marshalling SQS jobs in Laravel
-
Using Form Objects in Ruby on Rails
-
How to design and build a PHP data export service
-
Working with Validation in Ruby on Rails
-
Generating PDFs from HTML and PhantomJS
-
Understanding Active Record Associations
-
Sorting Multiple Languages and Weird Characters in PHP and MySQL
-
Getting started with Active Record in Ruby on Rails
-
Sending template emails through Mandrill in Laravel
-
Understanding Ruby on Rails Migrations
-
Handling complex API requests with Pipelines
-
Creating your first Ruby on Rails Model
-
How to use the Pipeline Design Pattern in Laravel
-
Getting started with Ruby on Rails
-
Setting the Context in a Laravel Application
-
Getting started with Sinatra
-
Managing Context in a Laravel application
-
What is Ruby Rack?
-
Implementing Business Rules as Guards
-
Testing with RSpec
-
How to resolve environment specific implementations from Laravel's IoC Container
-
Testing with Mini Test
-
Migrating existing users to a new password hashing algorithm
-
Creating a Ruby Gem
-
Adding Oauth to a Laravel API
-
Confident Ruby [Review]
-
Dealing with Exceptions in a Laravel API application
-
Understanding and Using Ruby Rake
-
Adding Validation to Ember Forms
-
Eloquent Ruby [Review]
-
Creating new Ember Data objects
-
Using Ruby Exceptions
-
Transitioning to new pages in Ember
-
Practical Object-Oriented Design in Ruby [Review]
-
Adding related models to an Ember Application
-
Working with Mixins in Ruby
-
Mocking your JSON API with Ember CLI Mirage
-
Creating and using Modules in Ruby
-
Introducing Controllers and Models to an Ember.js Application
-
Understanding Inheritance in Ruby
-
Writing your first Ember.js Acceptance Test
-
What is Monkey Patching in Ruby?
-
Creating a new Ember project
-
Understanding Class Methods verses Instance Methods in Ruby
-
Understanding and Creating Components in Ember
-
The difference between Public, Protected and Private methods in Ruby
-
Finding, Creating and Saving records with Ember Data
-
Writing Ruby Classes
-
Working with Records in Ember Data
-
Working with Ruby Methods
-
Defining Models in Ember Data
-
What are Lambdas in Ruby?
-
Understanding Models and Ember Data
-
What are Ruby Procs?
-
Using Controllers in Ember
-
Understanding and using blocks in Ruby
-
Working with Routes in Ember
-
What are Symbols in Ruby?
-
Routes and Resources in Ember
-
Working with Structs in Ruby
-
Using Templates in Ember
-
Working with Hashes in Ruby
-
Getting started with Laravel and Ember
-
Working with Arrays in Ruby
-
Creating a New Post Application Service
-
Working with strings in Ruby
-
Creating a new Thread Application Service
-
Getting started with Ruby
-
Creating the Groups Application Services
-
Patterns of Enterprise Application Architecture [Review]
-
Creating the Follow a User Application Service
-
Creating a PHP Shopping Basket Part 7 - Transforming and Formatting
-
Setting up a Password Reminder Service
-
Creating a PHP Shopping Basket Part 6 - Meta data and Processing
-
Implementing the User Registration Process
-
Creating a PHP Shopping Basket Part 5 - The Reconciliation Process
-
Laying the Foundation of the Application Layer
-
Creating a PHP Shopping Basket Part 4 - The Basket object
-
Creating the Foundation of a User Settings System
-
Creating a PHP Shopping Basket Part 3 - Creating the Product object
-
Storing User Settings in a Relational Database
-
Creating a PHP Shopping Basket Part 2 - Working with Collections
-
Setting up a Notification system in PHP
-
Creating a PHP Shopping Basket Part 1 - Money, Currency and Taxes
-
Modelling a Notification System in PHP
-
What is Command Query Responsibility Segregation (CQRS)?
-
Converting Markdown to HTML in PHP
-
What is Service Oriented Architecture?
-
Using Aggregates as a Gateway to Functionality
-
What is Hexagonal Architecture?
-
Enforcing Business Rules through Aggregate Instantiation
-
What are Factories in Domain Driven Design?
-
Modelling a Discussion Forum
-
What are Aggregates in Domain Driven Design?
-
Using Entities in different Bounded Contexts
-
What are Modules in Domain Driven Design?
-
Creating Domain Objects Recap
-
6 Principles for Writing Maintainable Code
-
Moving to a new Bounded Context
-
Strategies for Integrating Bounded Contexts
-
Creating the Twitter Follower Model using Doctrine
-
What are Bounded Contexts and Context Maps in Domain Driven Design?
-
Failing Domain Rules and Validating User Input
-
What is the Domain Model in Domain Driven Design?
-
Creating and Using a Command Bus
-
Implementing Domain Driven Design [Review]
-
Creating your own Domain Event Dispatcher
-
Domain-driven Design: Tackling Complexity in the Heart of Software [Review]
-
Building a Password Reminder Domain Service
-
How to create an Active Record style PHP SDK Part 16
-
Creating a User Registration Domain Service
-
How to create an Active Record style PHP SDK Part 15
-
Creating and testing Doctrine Repositories
-
How to create an Active Record style PHP SDK Part 14
-
Creating a Mailer Infrastructure Service
-
How to create an Active Record style PHP SDK Part 13
-
Creating Domain Services
-
How to create an Active Record style PHP SDK Part 12
-
Implementing Domain Events
-
How to create an Active Record style PHP SDK Part 11
-
Defining the building blocks of Domain Driven Design
-
How to create an Active Record style PHP SDK Part 10
-
What are the benefits of using Repositories?
-
How to create an Active Record style PHP SDK Part 9
-
The User Entity and The Ubiquitous Language
-
How to create an Active Record style PHP SDK Part 8
-
Implementing The Specification Pattern
-
How to create an Active Record style PHP SDK Part 7
-
Encapsulating your application's business rules
-
How to create an Active Record style PHP SDK Part 6
-
Working with Doctrine 2 Filters
-
How to create an Active Record style PHP SDK Part 5
-
Understanding Doctrine 2 Lifecycle Events
-
How to create an Active Record style PHP SDK Part 4
-
Using Doctrine Query Language
-
How to create an Active Record style PHP SDK Part 3
-
Working with relationships in Doctrine 2
-
How to create an Active Record style PHP SDK Part 2
-
Working with Entities in Doctrine 2
-
How to create an Active Record style PHP SDK Part 1
-
How is Doctrine 2 different to Eloquent?
-
What is Reflection in PHP?
-
Getting started with Doctrine 2 and Laravel
-
What are PHP Traits?
-
The Foundations of CRUD in Laravel 4
-
What's the difference between Active Record and Data Mapper?
-
Creating Registration Events in Laravel 4
-
Working with Products, Orders and Sales in PHP
-
Adding Social Authentication to a Laravel 4 application Part 3
-
Working with Money and Currency in PHP
-
Adding Social Authentication to a Laravel 4 application Part 2
-
How to handle money and currency in web applications
-
Adding Social Authentication to a Laravel 4 application Part 1
-
Create a HMAC-SHA authentication implementation for PHP
-
Creating a basic user registration system in Laravel 4
-
Avoid arbitrary precision errors in PHP with BC Math
-
Creating an advanced Invitation System in Laravel 4 Part 3
-
How to create a PSR-4 PHP package
-
Creating an advanced Invitation System in Laravel 4 Part 2
-
What is the difference between Entities and Value Objects?
-
Creating an advanced Invitation System in Laravel 4 Part 1
-
What is the Decorator Pattern?
-
Creating a basic Invitation system with Laravel 4
-
What are PHP Magic Methods?
-
Sending Email with Laravel 4
-
When should you use an Exception?
-
Working with Configuration in Laravel 4
-
When should I code to an Interface?
-
Multi-Tenancy in Laravel 4
-
What are Abstract classes?
-
Exploring Laravel's IoC container
-
What is the Factory Method Design Pattern?
-
Eloquent tricks for better Repositories
-
How to build a PHP package
-
Using Events in Laravel 4
-
Why being a broker is a fool's errand
-
Model Presenters in Laravel 4
-
Competitive Strategy: Techniques for Analyzing Industries and Competitors [Review]
-
Working with Pagination in Laravel 4
-
Disrupt an industry through Deflationary Economics
-
Create a News Feed in Laravel 4
-
"Your margin is my opportunity"
-
Using View Composers in Laravel 4
-
How to ensure your software project is delivered on time
-
Laravel 4 Cache as a Service
-
Health startups and connected networks
-
Creating Entities in Laravel 4
-
What are Webhooks?
-
Extending the Laravel 4 Validator
-
Hatching Twitter [Review]
-
Advanced Validation as a Service for Laravel 4
-
How to create a product that gets shared
-
Working with Cache in Laravel 4
-
Fighting fragmentation in the web industry
-
Eager Loading in Laravel 4
-
Recovering from launching a product nobody wants
-
Planning the main screen of your application
-
Finding your competitors and the importance of supply and demand
-
Seeding a Laravel 4 database
-
Onboarding for online products
-
Adding Bourbon and Bourbon Neat with Bower
-
Getting Real [Review]
-
How to structure your Sass for large web applications
-
The 6 types of alliances you need to build a successful product
-
Getting started with Bower
-
The opportunity in aggregate data insights
-
Setting up Sass with Grunt
-
Analysing the AdWords business model
-
Getting started with Grunt
-
Should I use advertising to monetise my product?
-
Add an Asset Pipeline to Laravel 4
-
The Consumerisation of Enterprise Technology
-
How to build a Coming Soon page for your product
-
Build traction for your product through meta-modelling
-
Optimise your Photoshop workflow
-
Why you need to build your own distribution channel
-
How to create a Responsive Web Application
-
Techniques for Persuasion and the Art of Sales
-
How to wireframe a web application
-
The Four Steps to Persuasion
-
Researching and planning a web application
-
How brands use stories to sell their product
-
Password reminders and reset in Laravel 4
-
Why a great product needs a great story
-
How to use Laravel 4 Filters
-
Founders at Work [Review]
-
Registration and Authentication in Laravel 4
-
Building defensible barriers against disruption
-
Using Blade in Laravel 4
-
How to disrupt an industry through unbundling
-
Routing in Laravel 4
-
Customer acquisition for online products
-
Creating forms in Laravel 4
-
How to beat digital piracy
-
Building out RESTful Controller methods in Laravel 4
-
Building a profitable Open Source business from Cross Subsidisation
-
Extending Eloquent in Laravel 4
-
How to pitch your idea
-
Creating Laravel 4 Validation Services
-
Mistaking features for benefits is losing you money
-
Getting started with Mockery
-
Competitive Advantage - Creating and Sustaining Superior Performance [Review]
-
How to structure testable Controllers in Laravel 4
-
How to use the unique characteristics of the Internet to achieve success
-
Creating flexible Controllers in Laravel 4 using Repositories
-
Killing offline businesses online
-
Setting up your first Laravel 4 Controller
-
How to grow traction for social networks
-
Creating a Laravel 4 package
-
What is Freemium and how can it work for you?
-
Setting up Vagrant with Laravel 4
-
How to make product partnerships work
-
Laravel 4 Eloquent Model Relationships
-
How to build traction and acquire users for ecommerce or subscription based companies
-
Creating the Twitter following model in Laravel 4
-
How to create a unique product
-
Laravel 4 Fixture Replacement with Factory Muffin
-
Differentiation and it's role in Competitive Advantage
-
Getting started with testing Laravel 4 Models
-
The Long Tail [Review]
-
Setting up your first Laravel 4 Model
-
How to fuel the growth of a two sided marketplace
-
Laravel 4 Migrations
-
How to build a two sided marketplace
-
Getting started with Laravel 4
-
How to find disruptive opportunities
-
Does #Music signal the future of Twitter?
-
How to make the Groupon business model work
-
What are RESTful Web Services?
-
Adding a service layer to incumbent industries through discovery and curation
-
How to deploy WordPress themes with Git
-
The right way to build an online affiliate based business model
-
What is Dependancy Injection?
-
Why groundswell is critical to building successful online products
-
What are PHP Lambdas and Closures?
-
The importance of understanding what is working in online marketing
-
What analytics software should I use?
-
Getting started with PHPUnit
-
What is Test Driven Development?
-
Little Bets [Review]
-
Elements of effective testimonial pages
-
Finding your Product's Limiting Reactant
-
Getting started with Memcached
-
The huge opportunity of resource allocation in connected marketplaces
-
Getting started with Compass
-
Convert more customers with Product Qualified Leads
-
What is Object-Relational Mapping?
-
How to prequalify your traffic for higher conversions
-
How to save PHP Sessions to a database
-
Do More Faster [Review]
-
Great artists steal: How to dramatically improve as a Web Developer by stealing from Open Source
-
The importance of intent in building successful websites
-
Why do you need to Salt and Hash passwords?
-
My 4 secrets for creating a regular blog
-
Getting started with Sass
-
The intersection of Content and Commerce
-
What is PHP Composer?
-
Loyalty apps are dead: Why you need to solve the bigger problem
-
What is Namespacing?
-
Create a PHP Money Class
-
Blue Ocean Strategy [Review]
-
jQuery Effects
-
The Developer's Dilemma
-
jQuery Ajax
-
5 of the best Open Source framework websites, and what makes them so good
-
jQuery Form Events
-
Why your website isn't generating sales
-
jQuery Mouse Events
-
The death of the homepage
-
jQuery - Manipulating content
-
What is MVC? (Model-View-Controller)
-
Introduction to jQuery
-
The problem of Survivor Bias in Split Testing
-
Creating HTML email templates
-
Lessons to learn from Foursquare
-
A solution to lack of traction
-
Javascript Control Flow Structures
-
Is Freemium right for your product?
-
Surely you're joking Mr Feynman! [Review]
-
Create an automatic Email Marketing Campaign that actually works
-
Javascript Objects
-
Why you need to start using Git today
-
Javascript functions
-
How Betaworks is leading the new wave of intelligent media
-
Roll your own PDO PHP Class
-
The Ultralight Startup: Launching a Business Without Clout or Capital [Review]
-
Prevent PHP SQL Injection with PDO Prepared Statements
-
Basics of Javascript
-
How to design effective pricing tables
-
The correct way to approach B2B sales via Social Media
-
Introduction to HTML5
-
Quiet: The power of Introverts in a world that can't stop talking [Review]
-
The Sunk Cost Fallacy of Web Development
-
What does it take to found a startup? - 4 traits of successful Entrepreneurs
-
Create a CSS progress bar
-
How to spot a good WordPress developer
-
Elements of successful Social Commerce websites
-
Taking advantage of the rise of Ecommerce 2.0
-
Really simple inline Javascript validation
-
Hacking Distribution
-
Customising WorldPay and creating a Callback
-
The Startup Owner's Manual [Review]
-
Integrating WorldPay into a database driven website
-
Finding your Viral Coefficient
-
Getting started with WorldPay integration
-
Attract the right kind of traffic to your website
-
How to open files by file type in PHP
-
Why you should start your online business today
-
How to prevent CSRF attacks on your Web Apps
-
Startups that don't solve a real problem
-
How to prevent XSS attacks on your website
-
Functions to handle multidimensional arrays in PHP
-
Elements of inspiring "Work for us" job pages
-
9 of the most inspiring Commencement Addresses
-
Why your company does not need a mobile app
-
The Founder's Dilemmas [Review]
-
Enabling services for web tech startups
-
13 essential WordPress plugins
-
The decentralisation of our world
-
WordPress Bootstrap Theme
-
How to connect to MySQL through PHP
-
The 22 Immutable Laws of Marketing [Review]
-
What is your company's killer marketing word?
-
Dealing with Darwin [Review]
-
Resources for getting a job in the web industry
-
How to develop User Personas for your website
-
How to make a home page that converts
-
Should I interlink my website for SEO?
-
How to get the most from your business blog
-
Inside the Tornado [Review]
-
Why Apple winning the content consumption war is a good thing
-
Design features of Software as a Service and Web Applications
-
The importance of design in business
-
Should my business use an off-the-shelf WordPress template?
-
Failing to understand that success is the exception to the rule
-
Characteristics of landing pages that convert
-
Conversions are the foundations of a business website
-
Make data your competitive advantage
-
The value of email lists
-
The Start-up of You [Review]
-
Confusing visionaries with the mass market in new market startups
-
How to make decisions based on data, rather than assumptions
-
Why you need to constantly reinvent yourself online
-
Debunking 4 myths of small business digital marketing
-
The New Lanchester military strategy for startups
-
The Four Steps to the Epiphany [Review]
-
Choosing the right company structure in the UK
-
Why you shouldn't just jump straight into starting your first company
-
Moving your product from a fad to a utility
-
CSS3 Gradients and Textures
-
The evolution of online communities and the social web
-
Sheryl Sandberg - The most prolific woman in tech
-
Why Facebook is a success
-
Top 12 blogs for business startup advice
-
The ultimate guide to getting your first job in the Web Industry
-
The designers behind the hottest iPhone apps
-
Why Oink has already lost to Foursquare
-
The Lean Startup [Review]
-
The 3 levels of user authentication
-
Prediction: Microsoft to buy RIM in 2012
-
The Innovator's Dilemma [Review]
-
Knowing when to quit
-
What I have learnt this year
-
The top 10 Tumblr blogs ever
-
Highlights from Le Web 2011
-
Avoiding the "Brand partnership" trap
-
How to validate ideas and get honest feedback
-
Welcome to Culttt
-
Why personal branding will become more important than a degree
-
Flipboard is great, but...
-
10 of the most annoying Facebook statuses ever!
-
Why Path will finally succumb to Facebook
-
The real reason why domain names don't matter anymore
-
How to make vanity URLs using PHP, .htaccess and MySQL
-
3 simple steps for learning how to code
-
My top 10 Internet TV shows
-
The fragmentation of television, why TV will move online
-
How to align a DIV vertically and horizontally
-
How to create an invite system using PHP
-
The key to start up success is attacking the niche
-
Facebook's loss of relevancy, and the pivot into communication
-
Crossing the chasm [Review]
-
Is social going to kill SEO?
-
If you know where you're going, you're not pushing hard enough
-
If The Big Bang Theory cast were Googlers
-
The rebirth of Cultivatus!
-
The rise and fall of Internet super giants
-
Why Apple NEED Square and Jack Dorsey
-
Fighting the bloat: The curse of the start up
-
Twitter and Digg - A match made in user submitted news stories heaven!
-
My top viral advertisement videos of 2010
-
Using Twitter for B2B lead generation
-
Twitter for Business: It's not all about you!
-
Twitter for Business: Identifying yourself
-
Developing your online personal brand
-
Beginning Digital Strategy for Business
-
Digital strategy for the insurance industry
-
Creating intimacy on Twitter
-
What are the uses of Twitter?
-
Geo-based Social Networks, The game changer?
-
What the heck is Twitter?!
-
Crush It! Reviewed
subscribe via RSS
Hey!
I'm now building Prise — a smart productivity application for founders and freelancers!
Visit Prise for a free 14-day trial (no credit card required!).
Philip