Buk Life

ROBERT
REINHARD

CTO

If someone wrote the lore of BKWLD, the turning point chapter in our story would be the day Robert was hired. It's been Robert's technical direction and dedication to learning new technology that has kept BKWLD at the forefront of our industry.

11 June 2009

Cufón speed test

We’re planning on using Cufón to a larger extent than we have before on our build for Gregory, which has to be localized in a number of languages.  Using a text replacer for the designed text will allow us to localize text without rendering out new gifs and pngs for every language and whenever copy changes.  Not knowing how fast Cufón could render when given a lot of text, I put a test together.  PHP renders out a bunch of random text in blocks ranging from 10 characters to 1,000,000 characters.  Then Cufón goes to task on each, in sequence.  JS tells  you how long it takes.  Try it out here, but be advised it can crash your browser.

Here are the results of my very non-scientific test:

picture-31

At 100,000 characters, FF3 threw “A script is running slow, blah blah” messages.  IE7 just crashed.  Safari 4 hung in there till 1,000,000 but then it gave up.  It looks like Apple’s claims about Safari 4’s speed have some truth.  I didn’t test any of the past generation of browsers, I may go back and add them later.

It looks like Cufón works perfectly fine on a page where it’s converting a thousand characters or less.  But it shouldn’t be used to convert the majority of the body copy of a page.  That’s perfectly acceptable to me.

10 June 2009

Great blog about banner ad effectiveness

blueprintCampaign Monitor, who we use for our mailing list, recently put up this great post about the effectiveness of banners they ran.  They provide real numbers on conversions for each of the banners and landing pages they built.  And it’s interesting to see which ads provided the greatest conversions.  So far they’ve recovered 25% of the cost.

Check it out: Promoting your product or service with banner ads – is it worth it?

4 June 2009

Making your MAMP domains public

We use MAMP PRO as our local environment when we do LAMP work.  Here’s how to set it up using DynDNS so that you can provide web accessible urls to your vhosts.  This is handy to share with clients or coworkers in other offices but also for using web apps like Litmus (which was the situation I was in today).

1) Create a free account at dyndns.com.  Once you’ve activated your account, go here to create your domains.  Name them whatever you want and use the auto detected IP address.  Go through the add to cart hoops, but it will be free.

DynDNS create screen

2) Setup port forwarding in your router.  You may not need to this, but I’m guessing most would and it’s the most confusing part IMO.  We have an Airport Extreme and the configuration is below.  10.0.1.201 is the local IP of my computer on our network.  I’m port 80 externally to my local port 80.

picture-22

3) Setup MAMP.  Last step, go into MAMP and add the domain you created in DynDNS as an alias of your vhost.  This isn’t super documented but I saw the tip here.  It should all be humming now.  Now you can go to whatever.hobby-site.org and the request will travel down to your local box.

Tags: , ,

3 June 2009

Google Apps for mail and using PHP mail()

We use Google Apps for our internal mail.  Not sure why this never came up earlier, but with the server configuration we had, it was not allowing our server generated mail to be sent from PHP’s mail().  BKWLD is hosted by (MT) and their support provided this answer:

1.  Turn mail off for the server from Plesk
2.  Remove domain from your /var/qmail/control/rcpthosts file.
3.  Remove domain from  your /var/qmail/control/virtualdomains file. (This step wasn’t actually needed, but it is necessary if the domain exists in this file).

Hopefully will be of use to someone else, regardless of your host.

Update: Added the link Chris Parsons provided in the comments

8 May 2009

Controlling JW Player from JS – a bug

I found an issue when trying to tell an instance of JW Player what to do from jQuery.  Here’s my code:

$('#broadcast_player').get(0).sendEvent('PLAY', false);

This video wasn’t stopping like it should.  I found a thread with the answer:

For Linux, add the flashvar id=player1 to match the name and id in your object code. Jeroen added the idflashvar specifically for Linux.

I did that and it worked.

23 April 2009

Motion Lab

http://www.biomotionlab.ca/Demos/BMLwalker.html

It’s pretty amazing how little visual information is needed to convey to us that a shape is “human.”  And moreover, to convey emotion.

picture-4

0 http://www.biomotionlab.ca/Demos/BMLwalker.html It’s pretty amazing how little visual information is needed to convey to us that a shape is “human.”  And moreover, to convey emotion. Robert Reinhard,CTO

April 23rd, 2009 at 07:57 AM
Posted By: Robert Reinhard in General

30 December 2008

MySQL : import a dump

This is an easy thing but I never took the time to figure it out because I use phpMyAdmin so much. Exporting a database is easy with phpMyAdmin, but importing if it is large can be hard because a lot of times your connection will time out or PHP is restricting how big you can upload or whatever. If you can SSH, this is easier:

mysql -u USER -p DBNAME < dump.sql

If you are on Media Temple’s DV server, like us, you can do this:

my DBNAME < dump.sql

So much easier!

1 October 2008

Restricted SVN users on Dreamhost

On a current project we wanted to restrict a vendor’s access to our SVN to a specific directory. We host our SVN repository on Dreamhost because they make it easy to administer and give you an F ton of space. Their SVN user creation system doesn’t let you setup any specific access control per user. Ben found this great link that describes how this is accomplished with SVN.

How you do this on Dreamhost is to first create all the users you’re going to need, regardless of access level. Then you log into your Dreamhost account by ftp or ssh. Lets say your repo is called myrepo. /svn/myrepo.access is what you want to edit. Here’s an example of what you might put in there:

[/]
robert = rw
ben = rw

[/Site]
vendor = rw

This would give vendor only access to the /Site subdirectory of your repo. Thus, they would access your repo by going to http://yourdomain.com/myrepo/Site. If you update this repo’s users via the control panel, though, this will be overwritten and vendor will get access to the root.

17 September 2008

Genius playlists

I’m really liking the genius feature and it’s pretty dead on. But check out what it came up with for Cassius 1999:

picture-2.png

Ghostland Cetera, then 2 Peter Ceteras, Mr. Mister, then Phoenix …. huh …

1 I’m really liking the genius feature and it’s pretty dead on. But check out what it came up with for Cassius 1999: Ghostland Cetera, then 2 Peter Ceteras, Mr. Mister, then Phoenix …. huh … Robert Reinhard,CTO

September 17th, 2008 at 03:55 PM
Posted By: Robert Reinhard in General

5 September 2008

Styling file upload fields

Great article on styling file upload fields. Still, seems better to avoid if you can. Can’t believe he’s trying support netscape 4! What a champ.

2 Great article on styling file upload fields. Still, seems better to avoid if you can. Can’t believe he’s trying support netscape 4! What a champ. Robert Reinhard,CTO

September 5th, 2008 at 12:51 PM
Posted By: Robert Reinhard in General