It's Majax
"Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
  • Projects and Tools
  • GitHub Projects
  • Talks
  • Contact Me
  • What is Software?

Updated Task Syncing

August 28, 2012 jmather Open Source, PHP, Programming 1 Comment

I just pushed out a couple updates to PffTaskSync which allow you to fully sync your Asana tasks with your Toggl Pro account.

Don't use Toggl or Asana? Help out and write a provider for your service!

Making life easier w/ PagodaBox and a special treat!

August 25, 2012 jmather Business, Open Source, PHP, Programming, Symfony2, Tutorials No Comments

Have you gotten tired of messing with servers? Doing updates? Maintaining security?

You may just be in the right mind set to look at an architecture as a service, such as PagodaBox or Orchestra.

And now for the treat:

I have set up an easy-to-use quickstart for symfony2 + sonata admin for you to use on PagodaBox.

Want to contribute? Send a PR to the GitHub repository!

Want to use the SonataAdminBundle without the hassle?

August 8, 2012 jmather Code Snippets, Open Source, PHP, Symfony2 No Comments

Just use my Symfony Sonata Distribution!

I have tried to make it super-simple to get up and running right away.

Please let me know if it helps, or if you have any suggestions.

Thanks!

How to test the hierarchal role structure in Symfony 2

August 4, 2012 jmather Code Snippets, PHP, Programming, Symfony2, Tutorials 1 Comment

So, there was a discussion in #symfony about how to test if ROLE_A was included within ROLE_B.

Long answer short -- there's no clear cut way that I found. That being said - I did figure out how to do it.

I'm sure there's slightly cleaner ways to do this, but I was just going for getting it running.

How to set up a friction free development setup

July 13, 2012 jmather OS X, PHP, Programming, Tutorials No Comments

So, I keep saying in #symfony (freenode IRC) "I need to blog about my setup". So, here it is.

Required Software

For my current setup, you'll need to buy two pieces of software.

If you use a Mac

  1. Parallels Desktop for Mac -- $79.99 (on sale for $49.99 in the iStack Mac Bundle)
  2. Your favorite linux distribution

If you use a Windows machine, I don't have a recommended virtual machine but I bet Parallels Workstation is reasonable.

HOLD IT! I'm not going to BUY software!

Then fine, don't. Enjoy your fiddling. Enjoy tweaking. Enjoy not working. My goal is to just get stuff done. And besides -- how much money do you make a year doing this stuff anyway? If you can't afford $80 in tools to do your job better, you're doing it wrong. If you really can't afford it, make the case to your boss. Download the demos and see the value. Don't have a boss? Then you're really in trouble.

ANYWAY

I say your favorite linux distribution because it really doesn't matter. The more you know about it, the less time you spend fiddling. For me, that's CentOS. For you, it could be Dumbledebian 5.4.2 XXL. It doesn't matter.

Installation

First, install your virtual machine. Set it up so it can talk to your computer, and the internet at large.

Next, decide a name for it. I call mine 'linux'. Fancy, eh?

Now, edit your /etc/hosts file on both your local machine and your VM. Add your VMs IP and point it to 'linux'. This is important. Now 'linux' refers to the VM on both your computer and the VM. That means in your db config, you can say to use 'linux' as the host, and it will work locally and remotely.

Here's my /etc/hosts addition:

10.211.55.4     linux

10.211.55.4     linux

Now it's time for the special sauce. The magic. The thing that makes this all worth it.

For this purpose, I will assume all of your development stuff lives within ~/Projects

On your Mac, export your home directory over your VM's network (/etc/exports):

/Users/[username] -mapall=[username] -network=10.211.55.0 -mask=255.255.255.0

/Users/[username] -mapall=[username] -network=10.211.55.0 -mask=255.255.255.0

and on your linux VM (/etc/fstab):

10.211.55.2:/Users/[username]  /home/[username]   nfs          rw            0    0

10.211.55.2:/Users/[username]  /home/[username]   nfs          rw            0    0

Now to assist your path parity (so that things understand where they live, since OS X uses /Users and linux uses /home), what I did was simply symlink /Users to /home on my OS X and symlink /home to /Users on the VM

#desktop
ln -sf /Users /home
 
#VM
ln -sf /home /Users

#desktop ln -sf /Users /home #VM ln -sf /home /Users

Now you just configure your apache:

<Directory /home/[username]>
  Options FollowSymLinks
  AllowOverride All
</Directory>
<VirtualHost *:80>
  DocumentRoot /home/[username]/Projects
  ServerName linux
  ErrorLog /var/log/httpd/linux.error_log
  CustomLog /var/log/httpd/linux.access_log combined
  RewriteLog /var/log/httpd/linux.rewrite_log
</VirtualHost>

<Directory /home/[username]> Options FollowSymLinks AllowOverride All </Directory> <VirtualHost *:80> DocumentRoot /home/[username]/Projects ServerName linux ErrorLog /var/log/httpd/linux.error_log CustomLog /var/log/httpd/linux.access_log combined RewriteLog /var/log/httpd/linux.rewrite_log </VirtualHost>

Restart your nfsd locally, and apache remotely, and remount /home/user on your linux vm, and you should be ready to enjoy some frictionless development. Work locally in your favorite IDE (I like PHPStorm), and via the magic of NFS, your changes are automatically running in an actual linux environment.

«‹ 9 10 11 12›»

About Jacob Mather

I have been developing websites professionally for over 10 years. I like to help solve complex problems, and have a knack for break down sophisticated systems into simple functional pieces. I advocate strongly about the value of community, and really love talking about how to be a better developer.

Recent Posts

  • Introduction to building a programming language – Open West 2015
  • Testing Browser JavaScript Completely – Open West 2015
  • Give Your Engineers Wings, not Anchors: Building Tools for the Cloud – Open West 2015
  • Managing technical debt extraction within a large code base
  • The why of the thing

Recent Comments

  1. Edwin on How to fix the heck out of your Brother Control Center in OS X!
  2. fredrik on How to fix the heck out of your Brother Control Center in OS X!
  3. Michael Adams on How to fix the heck out of your Brother Control Center in OS X!
  4. Yined on Much more Eggs than Bacon: A Development Environment Cookbook – Code PaLOUsa 2014
  5. Samir on Building your first Selenium test with PHPUnit

Categories

  • Business
  • Code Snippets
  • Design
  • Life
  • Open Source
  • OS X
  • Patterns
  • PHP
  • Programming
  • Responsive
  • San Francisco PHP
  • Silex
  • Symfony
  • Symfony2
  • Testing
  • Tutorials

Archives

  • May 2015
  • November 2014
  • June 2014
  • March 2014
  • February 2014
  • November 2013
  • October 2013
  • August 2013
  • May 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • April 2012
  • March 2012
  • February 2012
  • August 2011
  • April 2011
  • March 2011
  • January 2011
  • November 2010
  • October 2010
  • July 2010

↑

© It's Majax 2025
Powered by WordPress • Themify WordPress Themes