September 29, 2006

Flickr on Flex - A tutorial

I couldn’t get it to work right with the Wordpress editor, so I wrote it on a standalone web page.

A tutorial on using the Flickr API with Flex 2.0

Steve Yegge on Agile

A lot of other people have piled on Stevey’s rant. I already posted in the comments on his blog, but I thought I would hit the highlights here as well.

  1. Steve holds Google up as a paradigm of “the right way to do software.” But as far as I know, none of Google’s projects are profitable, except search. So they hardly qualify as “successful” in any meaningful sense of the word. (Which is unfortunate, because I wish Google nothing but the best)
  2. Steve seems to think the entire concept of a methodology is bad. Or, at least calling it a methodology is bad. Whatever.
  3. He says that if 90% of the projects following your process “don’t do it right”, then it is a bad process. Which is true. It is, of course, true of all methodologies.

Economists often point out that you can’t compare the messy, inefficient marketplace of the real world with the imaginary perfect marketplace in your head. Tou have to compare it to another real-world thing. Stevey seems to think that Agile doesn’t hold up to the imaginary process in his head, which is basically Google’s process, plus, I assume, profitability. But again, that process doesn’t yet exist - if it eventually does work out, I suspect more poeple will follow it, and that wouldn’t be a bad thing.

But bottom line, at the current moment, I think you can sum up Agile development with the following quote: “Agile Software Development is the worst possible software methodology - except for all the others.”

September 28, 2006

Flex and Flickr

So I sat down last night, and tried to learn the Flex library for building Flickr apps. (You can find the libraries at labs.adobe.com)

Good News

I was eventually able to get it to work.

Bad News

It took a long time to debug the library enough to make it work. I don’t think it’s been updated recently. I thought I would post this, in a hope that someone somewhere will find it, and it will help them avoid some of the problems that I had.

The Adventure

The Flickr library is dependent on the corelib, and you need to download both. Make sure you download the source - you’re going to need it!

You will also need a Flickr API key, which you can get from Flickr by logging in (create an account if you need to) and going here: http://www.flickr.com/services/ - to apply for a key.
Here’s what I discovered:

  • You can’t use the flickr.swc - you must either include the flickr api source code in your app, or recompile the flickr.swc file for yourself. I did the former.
  • You have to include the flickr api source code at the right directory - src/trunk/src/actionscript3
  • As a starting point for understanding how the Flickr api works, there are no tutorials. However, there is a manual test - src/trunk/tests/ManualFlickrTest/ManualFlickrTest.mxml
    • Note that it doesn’t work as is - you have to edit the code in a couple of places (see below)
  • You need to make several changes to the existing Flickr code:
    • src\trunk\src\actionscript3\com\adobe\webapis\flickr\FlickrService.as - you must change the two END_POINT urls - they need to be api.flickr.com, not just ‘flickr.com’ (I’ll explain why at the end)
    • src\trunk\src\actionscript3\com\adobe\webapis\flickr\methodgroups\Auth.as - you must change the checkToken function - where it says ‘false’ on line three of the MethodGroupHelper call, it needs to be ‘true’.
    • src\trunk\tests\ManualFlickrTest\ManualFlickrTest.mxml - In a couple of places (getFrobResponse & getTokenResponse), listeners attempts to get data directly from event.data. But you can’t. You have to get data from event.data.frob and event.data.auth, respectively.
  • If you try to test out ManualFlickrTest, be aware that it has hardcoded values for all of the parameters - so if you’re trying to use the API, it will probably return the wrong results until you go into the code and fix it.
  • And, here’s the punchline - this whole app is a big security hole, because you have to include your secret Flickr API key. That key lets a clever hacker pretty much do anything to your flickr account except change your password. So you can’t really put apps out there for public consumption.
    • I have a theoretical fix in mind for this problem, but it will take some time to write it. In the meantime, just beware!

Here’s the updated source code for the Flickr API for Flex

September 26, 2006

Carnival of the Agilists - September 22nd Edition

Courtesy of Pete Behrens - great job as always.

September 14, 2006

How not to deliver a game

I have been waiting impatiently for Lego Star Wars II for quite a while now, and once it arrived I gleefully raced to the store to pick it up.

  • They didn’t have it for PC.  They have it for Xbox, PS2, PSP and XBox 360, but not for PC

“Huh”, I wondered aloud. “Maybe they didn’t make it for PC.”  Sinking feeling…

I checked online - no, there’s definitely a windows version of it.   Ok.  Back to the store, two days later.

  • They don’t have it either

Ok, this is ridiculous.  Drive to another store.

  • They have one copy.

Here we go!  I take it home.  Hand it to my son who eagerly starts the install while I chat with the neighbor.

Three minutes later, the boy storms outside with a look so sour that milk curdled miles away.  “It won’t install.” He growls.  (He’s prone to growling at this age)

Huh.  I go inside and try for myself.  Sure enough, it doesn’t work.  Gives me an error claiming that the main “cabinet” file is corrupt.  Odd.

I get the exact error code and google for it, and, lo and behold, LucasArts released a bad disk.  Every single Windows copy (apparently) has this problem.

O.M.F.G. - Who doesn’t test that the gold disk installs properly?  W.T.F.???????????

So I go to the LucasArts website.  Any patches or downloads?  No.  Bugger all.  Not a sausage.

But the hackers and crackers and pirates - they have it fixed.  They have instructions that tell me exactly how to fix the problem and get the right version of the install MSI file (apparnetly Lucas packaged a truncated MSI).

So I follow those instructions, and download the new MSI file and start installing.  It flashes by the error and starts copying.  And then,

  • “Can’t find ‘nuconfig.txt’” in defaul~1.cab

GAH!  What???  Who tested this program?  What the heck is going on here??????

So now I’m trying to download a copy off of the Internet, in hopes that it will run.  Meanwhile, I’m educating myself about MSI files so I can kick the person who wrote this one in the head.

September 12, 2006

Step-by-step tutorial of 10 dimensions

Very well-produced explanation of the 10 dimensions, from a one-dimensional line all the way to “all possible timelines in all possible universes”

September 8, 2006

Bahahahahah

I want this error message somewhere in my next app!

Hat tip (and image supplied by: The Daily WTF

Question from Finesse…

I saw this question:

Should you ever override concrete methods?

My next thought:

Of course you should! It’s not like they’re set in stone….

Oh wait.

September 7, 2006

Carnival of the Agilists - 07-sept-06

Welcome to the September 7th edition of the Carnival of the Agilists - providing you with news and information from the last two weeks of the agile blogosphere.

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

  • Sparked by a conversation on the Scrum Development Yahoo group, Glen Alleman produced a three part series on Critical Path, agility and estimation. Part 1, Part 2, Part 3

Agile in the news

Fun

Previous Editions

The Carnival is published on the first and third Thursday of every month. All previous editions are referenced at the Agile Alliance website.

Join in the fun!

A big thank-you to all those who sent in suggestions for this edition of the carnival - please keep ‘em coming. If you have something that you think is worth sharing - especially from a blog we haven’t featured before, send us a link by emailing agilists.carnival@gmail.com, or use the carnival submission form.