Archives for December 2007

Is MacFusion dead?

I just remembered about the nifty UI for MacFUSE called MacFusion. The latest available beta (1.2beta3) hails from July and warns about potentially incompatibilities with the latest MacFUSE 1.1.1 released in November. Is MacFusion development continuing? I can't tell from the web view of the repository.

31/12/2007 14:41 by Matt Mower | Permalink | comments:
More about:

Simple ActiveRecord versioning

Recently I've had the need to version ActiveRecord models for which, in the past, I have used Rick Olson's plugin acts_as_versioned.

Rick is a plugin dynamo and I happily use a number of his plugins in my projects but, for various reasons, I could never quite get on with acts_as_versioned. Perhaps it's because I struggled to follow the code in places or that I didn't like having an extra table and model for each model being versioned. Anyway it's not that acts_as_versioned doesn't work, I just wanted something simpler and more lightweight.

What I've ended up with is a plugin I've called SimplyVersioned. SimplyVersioned uses a single model and table to store version information from any number of application models using a polymorphic has_many relationship. Model attributes are stored in YAML format in a SQL text field.

My rationale is that access to version information won't be required often so the cost of pulling it out of a YAML hash is reasonable. There is the extra cost of converting to YAML on each save. Will that be an issue? If it is then perhaps Marshall#dump is an option. Time will tell I guess.

In use the interface is quite simple. To specify a model be versioned:

class Thing < ActiveRecord::Base
  simply_versioned :keep => 10

and from then on calls to create or save will automatically add versions. When there are more versions than you want to keep old versions are automatically destroyed.

To query versions:

thing.versions.each do |version| ... end
render :partial => 'thing_version', :collection => thing.versions

Revert changes:

thing.revert_to_version( 6, :except => [:name,:age] )

And if you don't want a version created when you save:

thing.without_versioning { }

The plugin includes a migration generator to create the versions table and requires no other modifications to your database or model classes. Install with:

./script/plugin install

To get this plugin working right I invested some time in getting the unit tests working right and, hopefully, I've done a reasonable job with it. If not please let me know about it. In particular I couldn't figure out how to get rcov to generate coverage for the plugin so there may be dark corners still to be illuminated.

30/12/2007 20:55 by Matt Mower | Permalink | comments:
More about:

For smooth running sites add Fluid

Fluid is a great new application from developer Todd Ditchendorf. Fluid allows you to create your own Site Specific Browsers. The SSB (sometimes known as a FluidInstance) is a full-fledged MacOSX application and can live in /Applications and be started with Quicksilver.

Each SSB is a complete Safari like environment specifically geared to a website. At the moment both Fluid and it's SSB's are quite basic. You specify the URL, an icon, and where the generated .app gets stored. Hopefully in the future Todd will add the ability for the SSB and the application it hosts to interact with each other.

30/12/2007 13:36 by Matt Mower | Permalink | comments:
More about:

We expect great things

I'm playing with Jay Fields new Expectations library.

While working on my latest project I have attempted to be more conscientious about testing. I'm still not a "test everything, test first" guy but I have taken to using tests as a way of speccing out complex behavior and to reproduce complex bugs before fixing them (and as a regression test). This is all using Test::Unit and fixtures.

I think a big problem for me in getting more into the testing mindset is the chore of setting up meaningful fixtures. It's one of the reasons I read Jay's blog since he advocates, and experiments with, more fluid means of testing.

At the moment I am pondering switching to RSpec and have a couple of top-funky's intro videos that I've skimmed. But RSpec seems to be a moving target with respect to Rails right now. And I'm not sure it solves my main gripe.. the setup.

Expectation has been designed to address test complexity arising from the use and misuse of the setup method in unit tests. Expectations don't allow for it, you define your tests like this:

Expectations do
  expect :runs do
    eval( "lola", :lola => :runs ) )

  expect RuntimeError do "unknown", {} )

My reading of Jay's arguments about setup is that an over-emphasis on DRY has lead to setup becoming a kind of Frankensteins monster that increases uncertainty about, and reduces maintainability of, individual tests as a test suite grows. Over time this reduces maintainability and comprehension of the tests and it's not worth it. I think there is a lot to be said for his arguments.

27/12/2007 23:46 by Matt Mower | Permalink | comments:
More about:

Diffly still alive

Okay so I need to stop being lazy and release a new version of Diffly.

Between 0.8.3 (the last released version, and the version I am using day to day) and the last version that I didn't release (labelled 0.9.0) there are a number of bug fixes and minor improvements. And, so far as I can tell, no new bugs.

But I can't remember why I didn't release 0.9.0 at that time and now I've upgraded to Leopard and am building it using XCode3 and I had to fiddle with the project a little and, well, I'm a little afraid to just push 0.9.0 out via Sparkle in case I break some people.

So if anyone that uses Diffly wants to volunteer to test 0.9.0 I'd be grateful. Drop me a line at self AT mattmower DOT com.

18/12/2007 13:54 by Matt Mower | Permalink | comments:
More about:

You have the right to pay us and keep paying.

Ed Foster, of the Gripeline, has a piece about how products employing DRM should be labelled:

"In each case subterfuge was used to get the customer to buy/use the product," the reader wrote. "To my mind there should be a DRM labeling law. I have the right to know pre-purchase that DRM is used on a CD, what kind it is, how it limits my use of the product, and whether -- absent the CD usage, of course -- I can remove the rootkit and how difficult it is to do."

I think this is quite right. Food that contains ingredients that may be harmful to you must be labelled as such. The same should apply to software, CD's, DVD's, remote controls, printers, or any other gizmo.

18/12/2007 11:15 by Matt Mower | Permalink | comments:
More about:

This story gets better

So I have a really bad head cold and the last thing I should be doing is sitting here reading RSS but...

I can't help commenting that I am really enjoying hearing Bob Cringely talking about Team Cringely's approach to winning the Google Lunar X prize.

2001 is receding into the past. 2010 is fast approaching. It's nice to know that some people still dream of space exploration.

16/12/2007 23:12 by Matt Mower | Permalink | comments:
More about:

Less is more appealing

Am I alone in not wanting Google Talk or more Google Talk integration with other Google services?

I didn't want Google Talk in the first place. I didn't want Google Talk integrated with GMail. I didn't want my mail contacts suddenly appearing in a chat application. Today I don't want Google Talk now suddenly insinuating itself into Google Reader.

This is the problem when you use software written by people with a completely different agenda to you. You often end up with a lot of crap you don't want shoved down your throat. There isn't even (so far as I am aware) a switch to turn Google Talk off (yes I looked in my account preferences).

Google Mail and Google Reader are, Safari issues aside, great apps that I am comfortable using. But I don't like the way they are going. There is less development of the kind of cool features that made me switch to them in the first place and more development of integrations designed, it seems to me, to increase dependence upon Google and increase Googles leverage on my attention and information.

The Google Mail trap has worked well; I have too much email and am too used to it to seriously consider switching to any of the alternatives I am aware of.

Going to Microsoft (not even as a joke) or Yahoo aren't options because they duplicate Googles intent. I have mirroring my GMail account but feels very cumbersome by comparison. Maybe I should have a look at Sup.

In the meantime I will probably start looking for an alternative news reader. It might be time to give client readers like Vienna another go.

16/12/2007 11:31 by Matt Mower | Permalink | comments:
More about:

Our lords and masters

The government says it want's an Identify Card scheme so that citizens can more easily identify themselves to the authorities.

Okay, fine. But I think this should cut both ways.

I think that, if this is to be the case, then the government should have to identify itself first.

What I mean is. When the government wants access to your data the official carrying out the request should first have to identify themselves and their authority for that request.

Think about it this way:

[F/X: Sound of a telephone ringing. There is some muffled cursing and swearing and the sound of a receiver being picked up.]
BRIAN (for it is he): "Hello Mr Mower I am Brian from your bank."
MR MOWER (grumpily) "Hello Brian"
B: "Can you please confirm for me your full name, date of birth, sort code, account number, and pin?"
M: "Umm... which bank are you again?"
B: "Your bank"
M: "Okay and why do you want to know all this?"
B: "We just need you to confirm those details so we can manage your account better. Trust us."
M: "Umm"

Okay even with the WGA strike I guess I shall not be asked to script any episodes of Heroes. But, as absurd as this hypothetical conversation is it mirrors how the government treats us. We know how crazy it would be for us to answer such questions over the phone from some implausible (or even plausible) sounding official.

Yet this is the world the government wants to impose upon us for our most sensitive personal information. The real difference being that the government has no intention of asking us. They just plan to skip the asking bit and force us to hand all our data over to them.

Oh and then to keep it up to date. Or go to prison. You think that, at some point, it won't become illegal to not properly maintain your central identity record?

"You may say I'm a dreamer, but I'm not the only one." Sing along with me.

Perhaps you think the Data Protection Act will act as some kind of guarantee of fair play? If so then I think you have, perhaps, never read it. You also haven't watched as our hapless information commissioner, Richard Thomas, flops about like a haddock on the quay side. The government loses over 7 million bank records but it's not even news any more.

And if the concept of what is happening is not worrying enough try imagining the design! Here is Lee Bryant from an excellent piece on the subject:

Finally, I cannot help thinking that the way private sector companies are used in this process is also part of the problem. Requirements for next year's big IT system must all be known ahead of time, and then the contractor backends the work to outsourced developers who know only the derived specification, not the client or the real needs, and they deliver a solution that can be ticked off against the documentation. This is the very opposite of agile development, and it places government agencies in a worringly dependent position on commercial suppliers.

I think Lee nails it. In a world where we are increasingly moving towards more distributed, low-cost, focused systems that communicate small amount of information among themselves to achieve their aims we have a bureaucracy with an appalling track record on IT trying to create the largest centralized "golden egg for malfeasants" ever dreamed of.

Warms your heart don't it?

I think we need to envisage an identity system for the 21st century that puts us at the centre of of a web of identity and where each request made of us can be evaluated on it's merits. If I am talking to the government about tax (or it's tax time) and a request arrives for information about me from a (securely identified) official in my department of the Inland Revenue I am likely to approve it.

I can reject any spurious or suspicious requests for my information reporting them to an independent and well armed Identity Privacy Office and - if they are genuine - all the government has to do is demonstrate why.

To this the government will say "Ah but unless we have the data we won't be able to catch criminals." My response is "Prove it. Prove that it makes a shred of meaningful difference." I'm far from convinced that trading even a single inch of my essential liberty is worth any imaginary improvement the government will make in dealing with crime. And that this massive white elephant they are building will not create far more opportunities for wrong-doing and incompetent blunder than it fixes.

But their reasoning is, in any case, a smoke screen. The real reason they will hate such a system is that it transfers power from the bureaucracy to the individual. Such a system would make government officials supplicant to us, and not us to them.

But isn't that as it should be? Aren't they supposed to be civil servants and not our lords and masters?

You decide.

14/12/2007 10:56 by Matt Mower | Permalink | comments:

Your data is safe with the government

How many times does the government have to fuck up with our data before we get the message:


This time:

The Driver and Vehicle Agency in Northern Ireland has lost the personal details of 6,000 people.

The data was on two discs and went missing after being sent to the agency's headquarters in Swansea.

The head of the agency said the information was not encrypted. It included details of 7,685 vehicles and more than 6,000 vehicle keepers.

The data includes the keeper's name, address, registration mark of the vehicle, chassis number, make and colour.

However, the DVA said no personal financial data was on the discs. -- [BBC News]

Oh they didn't include your bank details this time. How kind. But it's not hard to see how this information might be pressed into use (e.g. maybe the next time your car goes on Eurostar or a ferry your house gets robbed).

We need to press our MP's to take some serious action against the government and start making them culpable for how they misuse and abuse information about us.

If civil servants and ministers could find themselves in the dock (what a lovely thought) facing charges that could lead to them personally being fined or jailed if deemed responsible we might start seeing a government taking notice of the message on privacy.

11/12/2007 23:18 by Matt Mower | Permalink | comments:

Hi ho! Hi ho! It's off to Paris I go!

Well it was quite unexpected but yesterday evening I got the call to say I may be going to LeWeb3 and, today, I've spent a hectic few hours making last minute arrangements for transfer of ticket, hotels, and - best of all - a 6.40am flight to Paris tomorrow morning. It is now 9.56pm so this bodes for me doing a great impression of a zombie tomorrow. If you see me please top up my zombie elixir.

Nevertheless I am very happy that I will be able to be there when Paolo launches the product that our team has been working so hard on for the last couple of months. It's amazing how quickly we've brought it all together and it'll be good to finally have it out in the open and talk about it.

I'd write more now but I am dog tired and still haven't finished packing. If you're among the 1,700 odd people going to be at LeWeb3... see you there! (What a crazy number)

09/12/2007 21:57 by Matt Mower | Permalink | comments:

Collision course

I'm reading Mastery by George Leonard which is a book that feels right as you read it. It seems to have quite a lot to teach me. One of my major self-criticisms is as myself as a dabbler. It really worries me the idea that, when I hit the next plateau in karate, I might get discouraged. Reading Leonard reminds me that, if I remember that I am not doing it to hit some arbitrary goal (black belt is nice, but just a stage in the journey) but because I enjoy it, that I will overcome.

Something Leonard wrote about society (and how we are addicted to "climaxes") and, in particular, Western society struck me especially hard. Writing in 1992 he said:

The victory is real and celebration is in order. But so is some cautious self-examination, for there's perhaps no more dangerous time for any society than its moment of greatest triumph. It would be truly foolish to let the decline of communism blind us to the long-term contradictions in a free-market economy unrestrained by considerations of the environment and social justice, and driven by heedless consumerism, instant gratification, and the quick fix. Our dedication to growth at all costs puts us on a collision course with the environment. Our dedication to the illusion of endless climaxes puts us on a collision course with the human psyche.

I am for the free market because nothing else I know of provides the copious opportunities of the market while also employing the feedback mechanisms that allows us to evolve and respond to new challenges.

However I believe the market must be tempered by our reason, our compassion, and our good sense. The market allows us to be thoughtless hedonists but we should choose not to be.

And there in lies the difficulty.

09/12/2007 21:10 by Matt Mower | Permalink | comments:

Debugging rake tasks

I just had need to drop into the debugger while running a rake db:migrate task. After a few moments thought I tried:

 rdebug -n /opt/local/bin/rake db:migrate

and was pleasantly suprised to hit the debugger statement in my migration.

09/12/2007 10:12 by Matt Mower | Permalink | comments:
More about:

A world without scissors

Via Wil Weaton I came across this presentation by Wellington Grey about his brush with the DMCA. It's really short, you can click through it in two or three minutes.

08/12/2007 10:24 by Matt Mower | Permalink | comments:
More about:

No IM today thank you Google

Am I the only person who doesn't want AIM integration in GMail? I didn't even want jabber/GTalk in GMail.

I'd prefer it if the GMail team focused on making the mail parts of GMail work better. Like making sure the Safari support didn't break every 5 minutes. Instead we get AIM integration and little coloured boxes next to labels. Innovation this is not.

I still like GMail well enough but it's fair to say I don't like it any more than I did back in 2004 when I first started using it and lately it actually seems to have gotten worse. I've had to bookmark the "Old Version" link because the "New Version" interface seems to work so crappily in Safari 3.

06/12/2007 22:21 by Matt Mower | Permalink | comments:
More about:

Justifying civil disobedience

Chris Bateman on Thoreau and the duty of civil disobedience:

The central issue in justifying civil disobedience was whether the ethical course of action was to obey unjust laws while working to change them, or if an unjust law could be broken on ethical grounds. Thoreau asks in his seminal essay: “Unjust laws exist; shall we be content to obey them, or shall we endeavour to amend them, and obey them until we have succeeded, or shall we transgress them at once?” and concludes in this regard that “the authority of government… is still an impure one: to be strictly just, it must have the sanction and consent of the governed. It can have no pure right over my person and property but what I concede to it.”

Thoreau refused to pay his poll tax and went to jail for it. Brave man. Chris examines the position of refusing to pay taxes a little further. It's a topic close to my heart:

Thoreau’s act of civil disobedience was a refusal to pay taxes, and although tax resistance is an option, it often produces severe reprimand from the State, which requires tax income to operate. There are also ethical arguments against this form of resistance – firstly, that if everyone refused to pay tax over any disagreement with the Government, little or no tax could be raised, and secondly (and critically) that Government monies are used to pay for public goods such as roads, law enforcement and health care [emphasis added, ed.], and thus refusal to pay makes one a “free rider” (the Free Rider problem being a central issue in political philosophy).

I have been attacked on the grounds that I want to see the role of the state, drastically, reduced. In some peoples eyes questioning the role of the state in providing, for example, health care is enough to render you heartless.

But even accepting the notion of "public good" as Chris defines it above I think it leaves a lot of wiggle room. The government does wayy more than fix the roads and hospitals and our tax burden, certainly since I have been a taxpayer, never seems to lessen. What the government gives with one hand they always take away with the other.

But few of us seems to care about this and I don't seem to have the moral fiber required to become a tax martyr and fight a state that is prepared to deal very harshly with those it doesn't like.

It's all very depressing. Maybe Chris' piece on Gandhi will help lift my spirits.

06/12/2007 15:42 by Matt Mower | Permalink | comments:

Ruby Powerhouse

EngineYard is really becoming a Ruby powerhouse with now quality guys like Evan Phoenix, Eric Hodel, and Ryan Davis, working full-time on Rubinius.

I think Ruby 1.9 is going to be a great release but, long term, my bets have been on Rubinius to deliver the goods. I also think EngineYard is a great model of a company that gains from its focus on, and support of, the ruby community.

06/12/2007 11:56 by Matt Mower | Permalink | comments:
More about:

About Facebook

Via Stowe: Seems I was, at least, partially wrong in my views about Facebook. They've done something approaching a 180 degree turn on Beacon:

We've made a lot of mistakes building this feature, but we've made even more with how we've handled them. We simply did a bad job with this release, and I apologize for it. While I am disappointed with our mistakes, we appreciate all the feedback we have received from our users.

This has been the philosophy behind our recent changes. Last week we changed Beacon to be an opt-in system, and today we're releasing a privacy control to turn off Beacon completely. You can find it here. If you select that you don't want to share some Beacon actions or if you turn off Beacon, then Facebook won't store those actions even when partners send them to Facebook.

The boyish Zuckerberg giving the heartfelt apology is almost enough to persuade me that it's a genuine reversal. Almost. Well at least it's not some meely=mouthed marketing puff-piece. But I have to say I am more persuaded by Fred Stutzman's arguments:

Couple of caveats. First and foremost, this isn't all MoveOn's doing. This was a legitimate story, and many covered it as such. Second, once a story like this gets going, it picks up a life of its own. I will say, however, were it not for the MoveOn campaign, we wouldn't be where we are right now. Their media strategy simply ran an end-around Facebook's proposed plan of action in dealing with angry users or A-list bloggers. They were blindsided by all of the media coverage.

As Facebook apologizes for Beacon, one can sense their disappointment in not being able to push Beacon they way they intended. Their product was crafted to take advantage of unsuspecting users, and to that extent they pulled their strategy off pretty well. Perhaps this was their major error; rather than dealing with angry users, they were forced to deal with the media. Through their own machinations, Facebook no longer exists in a world where it can bully users without consequence; as they attempt to keep up appearances of a major company, they will be forced to adopt a front of responsibility. The media is now Facebook's watchdog, and because of that, Facebook's in a very new world

I'm inclined to think that Zuckerberg's handlers read the tea-leaves and realized this one wasn't going away. Once you've had a $15bn valuation the thought of all those stock options withering must be galling. Given time I suspect they will find another way.

After all, if you read the fine-print of the new Beacon you will notice that partners are still sending stories to Facebook, only now they are supposed to be ignored. Facebook have changed the rules once, twice, who says it won't be thrice? I would only be comfortable with a system that prevented the stories being generated in the first place.

Net: I don't trust Facebook and the convenience of being a member doesn't compensate for having to continually watch my back for their next move. Maybe in a couple of years if they prove they can be trusted.

06/12/2007 09:49 by Matt Mower | Permalink | comments:
More about:

Fortress Europe

I was listening to a program on BBC Radio 4 this morning about illegal immigrants trying to use the Ukraine/Slovenia border to enter the EU and all the money being spent at the Slovenian border to stop them (I believe they spent $50m this year and caught a little over 1,000 trying to cross illegally).

I couldn't help but imagine Europe as some big gated community where we only let the peasants in when our BMW's need waxing.

05/12/2007 09:06 by Matt Mower | Permalink | comments:

Risk free. Buy now!

Steve Dekorte writes, about issues in the US economy, in response to a Paul Krugman op-ed:

He suggests that the problem is a market which is too free, but it seems to me that the actions of the government have removed the healthy feedback mechanisms of a true free market and created perverse incentives for bad investments on a massive scale.

Is it reasonable to call a system in which a government creates a monopoly on currency and hands the printing presses to a small oligopoly of powerful banks a "free market"? Or is it more appropriate to call it a state mercantilism system?

This is one of my big problems with arguments with other people about the economy. They point to the problems we face and then argue with me on the basis "this is what your 'free market' does" and then I spend an, often heated, half hour trying to persuade them that a market so distorted by government actions can hardly be labelled free. We rarely make it back to the point at hand which I take as a serious indictment of my ability to argue a case.

When Northern Rock bank hit troubles this year I found myself seemingly isolated in my wondering why the government were "bailing out" Northern Rock with tax-payers money at all? Was Northern Rock under state management? Surely as a commercial agent it took it's own risks and should face the consequences? Why is my tax money being spent to prop it up?

One problem with this attitude is that a lot of people, particularly those on the low rungs of the financial ladder, would lose a great deal of money this way. If they have savings (and they are smart enough not to be putting them into some "savings club" that doesn't pay interest) they are liable to be in a bank like NR and not diversified. They are put into great difficulty if an entity they thought was safe turns out to be what it really is: a risky commercial venture.

There was a time when banks were not the semi-regulated monsters they are today and when putting your money into a bank was obviously a risk. You presumably had to ask yourself if the bank was well protected against being robbed? Did the banker lend to sensible people? Would the bank collapse? Putting your money into a bank required that you trust the banker. These days we all implicitly trust the high street banks at least to the extent that they won't abscond with the funds.

This is our mistake! It is, however, a mistake that we are ably assisted in making by both the government and the banks themselves. As Steve points out the banks know when they are on to a good thing.

What we have today is a conflation of interests. We have people who want a safe place to put their money and we have people who want to make a great return on their money. There are probably people who want both of those but I won't argue on behalf of the deluded.

I suspect that the beginnings of our current troubles rest in early moves intended to make banks safer. When the government does this their method always seems to be the same: take responsibility away from people. In this case the responsibility to make safe investments. This would have been all well and good if this regulated banking system stood apart from the unregulated. For example if a regulated bank was unable to make risky investments.

I'm in favour of most things that lead to a net decrease in the activities and interests of the state. Here I think we have a clear answer.

There is already a safe place to put your money. It's called National Savings and Investments and it's backed by the state so as long as we have tanks and helicopters ready to collect the taxes it will pay out. All thats required is to get them to drop things like "high potential returns" which must, inevitably, involve risks the tax payer should not be forced to back.

Then we need to figure out how to de-regulate the banking industry, dismantle the banking parts of the treasury (maybe the whole thing, I don't know how many pies it has fingers in), and start educating people about their responsibilities.

If you want a guaranteed low risk investment put your money in National Savings. Otherwise, make sure you trust the banker you are giving your money to.

I'd also be in favour of some kind of investment risk grading scheme that financial services companies like banks could take part in. This would be like Dunn & Bradstreet for the rest of us. A voluntary scheme that would estimate exposure to risk and publish their numbers.

Many banks would not want to allow outsiders such access and that would be fine and, if you want to invest your money with them knowing this, that's fine too. It's also, then, fine for the rest of us to sit back and watch you lose your money because: it was your choice and your responsibility. If anyone feels badly about it they are, of course, personally at liberty to offer you charity. But don't turn around to the tax payer and expect to be bailed out.

As people who are less risk averse took their money out of such institutions others would enter the market to fill the need.

Okay. I'm not an economist. I don't know if this could be made to work or work better than what we have now. But I think it's worth discussing.

04/12/2007 10:38 by Matt Mower | Permalink | comments:
More about:

QuickLook for zips

Via Gruber:

Fantastic — freeware Quick Look preview generator by Robert Rezabek that works with a slew of archive formats, including zip, gzip, and bzip. Works great.

QuickLook is a really fabulous part of Leopard. I mean it's totally simple and understated: press space to see the contents of the file without loading any app. But it's just so handy.

The BetterZip QuickLook generator is brilliant because it makes it easy to peek into tars, zips, and all those kinds of pesky compressed formats.

03/12/2007 20:43 by Matt Mower | Permalink | comments:
More about:

Why I won't be back to Facebook this millenia

John Howard quotes a Facebook exec:

Q. But some people are asking for a single opt-out.

A. "One of the things we try to do is listen to feedback as much as possible. Just to give you where a lot of this feedback is coming from, it’s coming more from the press than specific users," he said. "Right now, the right thing to do is to make sure we speak to actual users, not the pundits."

And of course you can talk to Facebook like I did and, in response to you enquiries about opt-in they will tell you (very politely of course) to go fuck yourself. They say they are interested in the feedback of their users. Did they ask any? I mean why would any right thinking user prefer to a selective opt-in to having their data captured from god knows where? Be sensible you whining privacy freaks.

Okay let me translate for the author of those words, Mr. Palihapitiya (VP of product marketing and operations) at Facebook who has clearly been in marketing too long:

Q. But some people are asking for a single opt-out.

A. "Our business model requires exploiting the cattlevalued members as fast as we possibly can and an opt-in strategy would screw that up wouldn't it? Users? La la la we can't hear you."

If the backlash grows (I read that some of the early partners like Coke are now backpedalling on the opt-out) maybe Facebook will be forced to grudgingly back, probably claim "Oh we always planned to offer an opt-in. This was just an experiment." But I predict they won't give up easy.

If they put their hands up, admit they got it wrong, and suspend Beacon back until they can rethink it then I might consider rejoining Facebook. Under no other terms that I can think of though.

03/12/2007 19:29 by Matt Mower | Permalink | comments:
More about:

Getting Rails 2.0 multi-views to work

So in the 2.0 Preview Release notes DHH talks about exactly what I want to do:

Speaking of the iPhone, we’ve made it easier to declare “fake” types that are only used for internal routing. Like when you want a special HTML interface just for an iPhone. All it takes is something like this:

I want lots of different interfaces and the whole "adding multiple view_paths" thing wasn't working out so this seemed to be the way to go.

I spent a very frustrating morning with this example:

# should go in config/initializers/mime_types.rb
Mime.register_alias "text/html", :iphone

class ApplicationController < ActionController::Base
  before_filter :adjust_format_for_iphone

  def adjust_format_for_iphone
    if request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/(iPhone|iPod)/]
      request.format = :iphone

class PostsController < ApplicationController
  def index
    respond_to do |format|
      format.html   # renders index.html.erb
      format.iphone # renders index.iphone.erb

Getting the wrong behavior. Depending on how I fiddled with it I would either get 406 "Not Accepted" errors or I would get the right template rendered first time but, after that, it would always select (for example) the iPhone template and never the default template.

The answer turned out to be very simple:

request.format = :iphone


require.format = "iphone"

That was all it took. That one change made it work.

Update: Well checking with DHH his tests seemed to indicate that it shouldn't make any difference if you use a symbol or a string. I tried changing it back to a symbol in my own code and... it worked. Puzzling. Something was interfering with it, but it could be hard now to work out what.

03/12/2007 19:04 by Matt Mower | Permalink | comments:
More about:

At least one end is pointy

Okay, so, let's deconstruct this. RockYou makes money by advertising your Facebook app on Facebook, getting your app a bunch of installs. If this is the Facebook app business model, then what you are supposed to do is get enough users such that you can start selling services similar to RockYou. Fuck, this is a pyramid scheme. Getting users for your app can only make you money by virtue of helping other apps get a bunch of users. There is no money input into this system except venture capital.

Uncov on Facebook apps.

03/12/2007 18:55 by Matt Mower | Permalink | comments:

It is discovery, not diversion that I seek

Perhaps I am not the anti-Stowe after all since I caught him quoting Paul Theroux thusly:

Theroux is also dead on about the cold, leaden comfort of solitude and how it's dead weight can act as a pendulum, turning our gears as writers, or artists:

[...] it is discovery not diversion that I seek. What is required is the lucidity of loneliness to capture that vision which, however banal, seems in my private mood to be special and worthy of interest.

Being with people so much, up close, intimately: it's like playing in the waves at the beach. It's exhilarating, but quickly tires you, and then you are on the beach, panting with purplish lips, waiting for the stillness and the distant sun to warm your bones again.

I'd always thought of myself as the anti-Stowe since, despite the convergence of our interests, he can be so much more extrovert than I am. To a level I find it painful to contemplate. But this is another side of him in which he he neatly sums up one of the key difficulties of my life:

That no matter how much I enjoy the company of others I find it a drain on some part of my psyche that I do not pretend to understand. And that my solitude is not an enclosure, so much as a space in which I can both recover and explore.

03/12/2007 11:01 by Matt Mower | Permalink | comments:

Different filters

Via Marc Canter I read Fred Wilson talking about how he has (seemingly overnight) become an Apple hater:

My brand image of Apple these days is fear and loathing. I am afraid to upgrade to a new version of iTunes because it might make my music and video unusable or it might brick my iPhone. I am afraid to upgrade to Leopard because it might brick my MacBook.

I fear Apple and I hate them. As much as Microsoft. Who I've hated for years.

The final straw for him seemed to be about how he couldn't jailbreak his iPhone (although Jailbreaks for 1.1.2 iPhones and iTouch's do seem to be available. I haven't bothered with my iPod Touch ).

A couple of things puzzle me about his attitude.

The first is that he seems to have an awful lot of equipment from a company he avows such hatred of. I mean, I dislike Microsoft but I'm not going anywhere near Vista. Why is Fred trying to upgrade to Leopard at all?

The second is that his hatred seems, from where I stand, to be a little irrational. He lumps Apple in with Microsoft. Yet Microsoft are convicted for anti-trust criminals (and that was just the tip of the iceberg).

He complains about his iPhone but he bought it knowing full-well that Apple had a lock-in deal with AT&T that they would have to go to some lengths to protect. He complains about Leopard bricking his MacBook but does he think that's part of some dastardly plot on Apples part? If not, well it's unfortunately, but it's not like Apple would be the first company to experience upgrade problems.

I think Apple can be pretty slow to respond to problems consumers have. Well known rubyist David Black has been having problems with his MacBook for ages and it seems pretty deplorable to me the way he's been treated by his local Apple Store. There was the heat and whining problems with early Intel macs that, again, Apple were slow to get on top of.

But I'm struggling to reach hatred about any of this. It might argue that you shouldn't buy particular products, or should wait until they've had a rev or two to work out initial problems. Or that you should get AppleCare Pro so that Apple want to be nice to you, or something.

My iPod Touch is happily playing a lot of music and video and none of it comes from the iTunes music store, but I do check for DRM free stuff now and I'm sure I will soon be a customer. My MacBookPro is happily running Leopard and has no annoying activation or licensing issues. I look forward to being able to install 3rd party software on my iPod Touch without hassle, hopefully in February but... I'd still love it even if I could never install 3rd party software.

Thank god there are governments in other parts of the world that are willing to stand up for the rights of the consumer.

What? Telco's are the some of the biggest government lobbyist's around. I'm not sure it's Apple fault that phone & contract bundling is so prevalent. Is his problem with Apple bundling at all? Or the exclusivity with AT&T?

In the former case he should point to all those other successful phones that didn't get bundled with a telco contract like...

If it's about exclusivity then I'd agree it's regrettable: I probably wouldn't want a contract from AT&T in the states any more than I'd want one from O2 here. But that's my irrationality since I've no evidence why O2 are worse than T-mobile, my current provider. T-mobile have, so far, been good but it took Orange a long time to piss me off so T-mobile are still on double-secret probation as far as I'm concerned.

But here is the irrationality again:

Instead of forcing Verizon to open up like Google does

So Google are some kind of panacea of openness? It's interesting because the way I read the article he refers to is that Google are using their power to force others to be open while they, themselves, remain one of the most tight-lipped, plotting, secretive organizations around.

They are exploiting their power & position to weaken future competitors and enact their own strategies for dominance. It would be as well to remember that "Don't be evil" as a mantra is now firmly a part of the Google myth not the Google reality.

Google are long-term plays into the communications space but look at how they play in the search space to see how they will play in the telco space if they ever become dominant. There is no altruism here and I'm surprised Fred appears blind to that.

I think it would have been perfectly reasonable for Fred to say that he didn't care for Apple or how they do business. I'd have some room to agree with him. Different companies make different trade-offs in their quest for profit. Apple, Microsoft, Google. They'd all run you over for a buck if nobody was looking. At least Apple would make the experience stylish enough that you'd want to try it again.

I'm having a hard time seeing this as anything other than a rant. Not that there's anything wrong with having a rant on your own blog I guess (yes okay I am a hypocrite).

03/12/2007 10:25 by Matt Mower | Permalink | comments:
More about: