Wednesday, September 23, 2009

Printing on Brother HL-5070N on Snow Leopard MacOSX 10.6

I have one of those fancy network aware bonjour printers. The idea is that it communicates to MacOSX and lets it know its capabilities and tells my mac how to set things up. I love it.

This used to work nice and dandy for Leopard 10.5, but with Snow Leopard (10.6) it picks the wrong printer driver and uses the CUPS one. This is because for some reason the HL-5070N BR-Script3 driver is NOT supplied on the Snow Leopard DVD. grrh

I was banging my head for a long time (I hate printers and wanted nothing to do with it) and googling found no results. So in order to help any wandering lost souls, I thought I would write it up.

As I mentioned, when you set up your printer (SystemPreferences -> Print&Fax) and then add printer, it says it's using "Brother HL-5070N series CUPS". This is WRONG. Well its wrong for me anyway.

If you try printing you will get something like:

Useful isn't it? :)

So you need to pull the OLD printer driver from Leopard (10.5), to get this puppy to print.

It's called 'Brother HL-5070N series.gz' and is under: /Library/Printers/PPDs/Contents/Resources/Brother HL-5070N series.gz

If you look at this directory in Snow Leopard, the driver isn't there.

So drop that file Brother HL-5070N series.gz into the same directory in Snow Leopard (don't uncompress it), delete and re-add the printer and it should say:
Print Using: Brother HL-5070N BR-Script3. This is RIGHT!

Let me know if this works for you.

Tuesday, August 04, 2009

Minimum Viable Product

A lot of startups have great visions of them taking over the world without validating that there are customers who are willing to buy it.

This is the great area of 'Customer Development' which tries to create a feedback loop of conversation between you and your customers.

The 'Minimum Viable Product' is core to this idea. Build the least amount, get it out there and get feedback. Iterate.

Here's a great video from Eric Riles about M-V-P.

Wednesday, July 29, 2009

Running robots

The new Toyoto humanoid robot runs at 4mph. I hope they start programming the 3 laws into them.

I can imagine that scene in Star Wars I with all those robots on the hill.. :(

Sunday, July 26, 2009

Shopzilla site redo

Just watched a nice video from Philip Dixon (Shopzilla) about the performance gains when they redid their site.

The general philosophy is to refactor rather than rewrite. They had a mixed approach by slowly exposing more and more traffic (via load balancing) to the new infrastructure.

Something I didn't realize is the impact of serving static content from cookie-less domains. Sites like yahoo use (I always wondered why they did that!)

no such file to load -- builder

For my rails infrastructure, I used to use nginx talking to a mongrel cluster which was painful to figure out how to set it up. (This before the nginx module from Phusion Passenger)

I then switched to using apache which worked well, especially with the php files I also had to host (wordpress/drupal etc).

Last night I tried to go back to nginx.. bleeding edge nginx and Ruby Enterprise.
This was a whole load of pain. :( Google didn't seem helpful. WTF was going on?

Phusion Passenger worked fine with regular ruby (ruby 1.8.7) but when I tried using Ruby Enterprise I would get the following crypted error:

"no such file to load -- builder"

WTF was this all about? I spent all night hacking/slashing trying to get it to run.

It was obviously having a problem finding the 'builder' gem, but it was right there.. wasn't it?
# gem list
builder (2.1.2)

and that was the crux of the problem! REE uses its own gem command and its own location of gem packages.

# /opt/ruby-enterprise-1.8.6-20090610/bin/gem list
** builder not present **

AAARGGH! Apparently this is a good thing, not sure why.. but w-e.

# /opt/ruby-enterprise-1.8.6-20090610/bin/gem install builder

Heres some links for you.

Friday, May 15, 2009

Some Inspiration

When your working hard on an idea with no hope in sight or when your trying to solve the impossible, a little inspiration can help you get through it.

Wednesday, March 18, 2009

Sending files from ruby without blocking

Sometimes you need to provide some processing before sending large files. i.e To verify the user is logged in or has paid for the resource.

The problem with sending large files from Rails, is that the process can block until the file has completed. This knocks out one of your processes that could be dealing with requests.

Fortunately you can use X-Sendfile, which offloads the work to apache to handle and your process will continue working. You just say what file you want to send and it returns. There's an apache module that does all the hard work.

Here's a more thorough explanation.

Wednesday, March 04, 2009

Pics of Robots

I'm still patiently waiting for my own robot..

I'm amazed on how well they seem to keep their balance.
Here's some pictures that make me think the day is coming closer.

Hmm.. maybe we need to seriously start thinking about the Three-Laws-of-Robotics?

Friday, February 27, 2009

Start acting like a startup or call yourself something else.

What's the startup scene? How close is your company to the norm? What the hell is the norm?

Everyone likes to think they have the best people, the best vision, at exactly the best time to implement.

This opportunistic attitude drives things forward, it's great and is to be expected. But think seriously, is your startup working like that anymore, or are you coasting along burning through VC money and hence indirectly your equity share?

You get an image of a group of hackers sitting in a dimly lit room, all wearing headphones, chomping pizza, slurping mountain view and working crazy 18 hour days trying to get a release out.

This is not always how it is. For a lot of funded startups, they have nice office, nice equipment, reasonably salary and if they're lucky.. snacks and free lunches (well maybe not now).

They go out for long lunches every now and then and shoot the breeze near the snack food area. Everyone seems to have lots of time to goof off, rss/web-surf and talk BS about politics for a great deal of time during the day. Does that sound familiar?

What I'm saying is that a lot of so called 'startups' have lost their startup edge and have become 'small companies'. Wow that's a horrible description of something that started out soo well.

They still call it a 'startup' however, to sound cool and hip, but in reality it's not. It's an excuse for not having a good business plan and focusing on generating revenue.

What's that I hear you say? your focusing on 'market share' rather than 'revenue'. Does that mean that you don't work your balls off anymore?

I'm always curious what the engineer to non-engineer ratio is. (Is there a hip term for this? Please let me know). It generally starts out well, with just a group of around 5-6 crazy engineers knocking out some real cool shit. I love this part of the company.

Then the employee count hockey sticks (note I didn't say traffic) and everything turns to syrup. Stuff takes forever to get sorted out as everyone needs to justify their paycheck by having an opinion. WTF happened? Why are people always in meeting talking about strategy stuff that somehow never gets done.

I would love to know how google operates now that they're a little more.. mmhh mature? I've always had the impression that it was engineering driven. If so, I respect that.

I think that general idea is that everyone gets paid less than market rate and takes equity instead. What I hear is that most startups are very tight with their equity and pay reasonable salaries. One round of VC funding can cause an equity dilution of 1/2 - 1/3. Multiple rounds can mean employees are caring less and less about the company. What's in it for them?

This is going to sound crazy, but I've thought that rather than options being given out by the company, companies would be more driven if their employees had to buy them.

i.e. Each year everyone has to give the company $15,000 (??) to get their yearly stock. If you don't buy them you don't have a voice. Wouldn't you have paid to be able to work when google was around 20 people? I know I would have.

I think this would radically change the dynamics of the company. People wouldn't spend 4 hour meetings talking about stuff that never gets done, the CEO wouldn't micromanage everything and go to meetings on what the colour/text of web forms should be.

Is the existing equity model working or should there be another approach.

Time for WEBquity 3.0?

Friendfeeds use of mysql

I'm not a super big fan of the database, mainly because I'm an OO guy and RDBMS is clunky when doing O-R mapping. Before you start flapping, I've worked a lot with them and they are definitely useful!

Anyways.. I was reading an interesting article about how FriendFeed are using MySQL, but not in the traditional schema-heavy approach.

At my last place, adding a column or index to an existing MySQL database can take a LONG time if you have say 10M rows. To prevent your database being offline (which usually means your main webapp being offline as well), you have to starting using db-slaves and then doing a swaparoo. uuggh

FriendFeed uses a schema-less attitude to MySQL and uses tables as a key-value stores. It's kinda what you would have to do if your datastore was on Amazons S3 (before you had all these fancy shmancy products like SimpleDB and Persistent storage).

They have separate tables for *each* index, which prevents table lock up. Keeping all that data in sync when doing writes becomes a PITA, but its manageable.

It's a nice approach. I've implemented something similar, a key-store schema-less solution as well, but didn't have the scaling problems that forced me to think about using indexes in MySQL.

Thursday, February 19, 2009

Credit Crisis Explanation

It's hard to explain how the whole financial mess we're in got started.

This great video does a very good job of explaining the credit crisis.

Thursday, January 08, 2009

American Apparel

Interesting article about American Apparel and a VCs visit to them (in LA).

It shows that's american companies can compete in the worlds marketplace, by focusing on their employees rather than the bottom line.

Next time you go shopping, try and buy american rather than save an extra 0.50c

Tuesday, January 06, 2009

How to be Creative

If you want some ideas on how to be creative, go look at
I love the cartoons! :)