Although the title looks scary, if you’re looking for this information it can be kind of hard to find, especially for designer types hacking on personal projects. The basic idea is that you want to commit changes to a Git repository, and deploy those changes to your production box. To do this, we can set up what’s called a
post-receive hook in your production repository. This post-receive hook will run after changes are pushed. I use Webfaction, so I have SSH access, Git and all that good stuff.
To do this, you need to SSH into your server,
cd into the repo, and run some Git commands to create the hook. This will use the
cat command to create the
post-receive hook and make it executable.
$ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/home/username/webapps/reponame git checkout -f GIT_WORK_TREE=/home/username/webapps/reponame git reset --hard $ chmod +x hooks/post-receive
Obviously, you’re going to want to change the various directory names and such to what works for your setup.
Next you might want to add that repo as a remote. That’s simple.
git remote add production ssh://firstname.lastname@example.org/~/webapps/reponame/
Now Git is going to freak out on us when you try to push to production because it’s already checked out on the server. To get around this, we have to set the configuration option
git config receive.denyCurrentBranch ignore
That’ll get Git to shut up and you should be able to push to your new production environment.
Update: You might be wondering how you can push your changes to both Github and your live production server at the same time, instead of doing each one individually. What you can do is create a remote that has both of the repos you want to push to in it. For example, you
$ git remote add all origin-ssh://email@example.com/username/reponame.git $ git remote set-url --add all production-ssh://firstname.lastname@example.org/~/webapps/reponame/
You should then be able to run
git push all --all and have your changes be pushed to both your Github repo and your production one.
As a designer, getting new tools is second only to the love of creating something delightful for your audience. Recently, I’ve added a new tool to my arsenal, Apple’s presentation software, Keynote. There’s been quite a few people who have made the same realization, which is this: it’s a powerful tool for wireframing and creating digital assets. Let me show you some examples of where I’ve recently applied this tool.
For low-fidelity wireframes, Keynote excels with its powerful shapes, vector tools, smart guides, master layouts, and pixel-level precision. I applied this on a recent wireframe I did for RigShare (link), the social guitar gear sharing site I’ve been building in my free time. I wanted to redesign our “Gear Talk” area, a place where musicians could ask questions, discuss gear, and generally just shoot the shoot. With Keynote, I was able to whip up a decent looking mockup rather quickly.
The most-recent, stripped down version of this site was comped entirely in Keynote. Granted, the design is not overly complex and any junior-level developer could code it out, but Keynote’s ease of use makes it a perfect candidate for this type of design work. Using Photoshop to mock up such a site would have taken me much longer, with the added danger of causing me to lose interest in the project.
Another project’s design required me to make many new tag-like buttons, and I was able to use Keynote’s shape tools to create the right look and feel and paste them directly into Photoshop as vector smart objects. What a beautiful thing.
I was goofing around the other day, and wound up designing a logo for my band, Avapor, and used it to throw together imaginary album artwork. I also created a simple infographic. I was able to export both of these items as pdfs, which could then be inserted into Photoshop documents, edited with Illustrator, or mailed as-is.
There are a number of tools designers can use these days to get work done. Photoshop, Illustrator, Fireworks, etc… and even some new ones like Sketch that I’d like to try out. Whatever you use, it comes down to picking tools that help you get work done in the most creative, time-efficient manner and I’ve found Keynote to be a great asset in my production tool belt. Why not give it a try?
I can’t put into words what an amazing experience AgapeFest 2011 was. All in all, it was one of the most enjoyable experiences of my life. I met so many cool people, and we were able to play for a ton of people at a huge festival.
Some backstory: my band Avapor entered a Battle of the Bands for a spot on the main stage at the AgapeFest music festival. We placed in the top five and moved onto the second round which was held on the first day of the festival (April 29th).
Things went fairly smoothly for the second round. There was a rookie sound guy mixing our monitors via an iPad. He didn’t really seem to have a grasp on what he was doing or where channels were, so that made getting a usable mix for our in-ear monitors difficult. However, we made it through soundcheck okay, and thought we were good.
It came time to perform, and everything went really well. The energy was amazing and we were hitting the cues at the right time. The only issue was the sound engineer didn’t turn on our backing tracks in the house system, so there were some awkward pauses where music should have been. Thankfully, the judges were gracious with us being the first band and it didn’t seem to affect their scores too much.
After all of the bands were finished playing, the judges deliberated to find the winnders. This is when it was absolutely gut-wrenching. We were pretty tight with most of the bands there and as bad as everyone wanted to win, we each wanted each other to move on as well. But, there could only be one second-stage winner, and two main stage winners. It came time to announce the second round winners. They announced the cool guys in Boiling Point for third place, our band for second place, and Owen Pye for the first place winner. We were going to play the main stage! We were super excited. I was super-hoarse. So bad, in fact, my voice was gone. Uh oh.
We made a game plan for the next morning, which included me resting my voice as much as possible and we ironed out the setlist for the morning. From there we enjoyed the night by walking around, seeing Needtobreathe (they were amazing) and Hawk Nelson, getting some food, checking out some merch tables.
My recent tenure at Church Media Group has me in a dilemma between solving a user-experience problem and monotony on the web. You see, in the niche we fill at Church Media, there are a number of “standard” features and modules that most of our websites get. This includes things like audio and video pages, events, contact forms, etc… For all of these, we’ve built a default look and feel that solves the problem in the way Church Media would do it. They’re easy to implement because the back-end and front-end is already done, and it’s usually just a matter of changing colors and widths to get a module ready for launch.
One of the things we pride ourselves on our package websites is every site gets a completely custom homepage. You could look at our portfolio and debate with me how “custom” they look, based on the frequency and familiarity of the elements used, but I can assure you as one of the designers, these homepages are custom. And the fact that you would even debate with me the authenticity of our claim that our designs are bespoke and unique is an indication of a problem.
Take, for instance, an events module. This has been one of the things the design team has been talking about lately, so I think it fits well within this discussion. We have a standard, tabular look to our events listings that is our goto layout for these sections. The problem is, we don’t really feel like we’re solving any new problems or branching out and trying new things with them. I recently tried to rectify this and designed an events listing that scrolled using the jQuery cycle plugin. This was fresh to us. Often, we’ve been content to just stick with what we know works and not try anything new. But what could you try that is new? There’s not too many ways you could design a listing, constrained also by outside factors such as budget, timeline, and other constraints, so we usually just rest on our laurels and do what we’ve done before. I feel like we could do better, but I’m not sure how yet.