Busy making things: @mcnotestinycastgithublinksphotos.

  • Symbian Community Newsletter Bits

    I can’t tell you how much fun I have every time a Symbian Community Newsletter hits my inbox. It’s a great resource and there are always at least one or two juicy morsels that I feel compelled to share. This month my favourites are search.forum.nokia.com and a DVD on programming Symbian, Series 60, and UIQ.

    The meta-search covers forum.nokia.com, Series60.com, PreminetSolution.com, softwaremarket.nokia.com, and symbian.com and is powered by google. The DVD looks like it covers a lot of ground and is quite reasonably priced at $24.95.

    Thanks again to David Mery for the excellent (as always) newsletter!

  • Anaranjado

    The other day I was musing out loud (in #mobitopia) about weather an Orange network in Spain would be called Orange or if it would be called Anaranjado. With the announcement that FT plans to buy Amena, Spain’s third largest mobile carrier, I may just find out. My nickel says that Amena will slowly be transitioned in to Orange branding over the next year or two and that in 2-3 years Orange (or Anaranjado) will be at least the #2 carrier in Spain.

  • Nokia is Serious About Linux and Maemo

    This entry at Gnome FootNotes confirms that the Maemo/770/Linux team is indeed growing and that Nokia really is serious about this whole Linux and open source thing. There are currently 9 open job positions relating to the Maemo platform. Sure that’s a drop in the bucket for a company as large as Nokia, but it’s significant too.

  • Django + lighttpd + FastCGI

    Hugo has taken the plunge and provides installation instructions for Django + lighttpd + FastCGI. Thanks, Hugo!

  • Nokia 6682 For $25?

    Nokia 6682I’ve been rabidly checking Cingular, Amazon, and LetsTalk for pricing and availability on the Nokia 6682 on contract. I believe that I’ve struck paydirt today.

    According to this link on Amazon (yeah I tacked my associate ID on there), the 6682 will be available for $25 after rebates and activation. Let me break it down: $174.99 up front with activation – $150 mail in rebate = $24.99. The kicker of course is that (as of 7:30AM EDT) the phone isn’t yet available.

    Amazon has been known to be a little trigger happy on new products, but the sheer fact taht it’s listed online today and wasn’t 2 days ago is a very good sign. I’m going to be refreshing this page every 5 minutes or so until the 6682 is available, so please allow me a spot in line, as this is one of those deals that are best mentioned after you’ve picked one up.

  • Darla Joins PhoneMag!

    I missed the formal announcement, but congrats to Darla Mack on her new job as an associate editor at PhoneMag! I’ve subscribed to their RSS feed and have been quite pleased with the amount of high quality content coming from over there.

    Go, Darla, Go!

  • Moto Q

    Motorola QI haven’t seen a whole lot of details about the Motorla Q aside from this press release, but I’m a bit perplexed. It looks a lot like a flattened Treo running Windows Mobile. I can’t tell from the small pictures I’ve seen, but the screen rez doesn’t look particularly spectactular.

    We’ll see, this could be the next Treo runaway hit (in the US anyway, the Treo numbers are crap when you look at worldwide smartphone sales).

    I wonder whatever happened to that iTunes phone…

    Update:

    I guess the thing that bugs me the most is the Windows Mobile Smartphone UI on a screen that’s just way too big for that. I guess that’s the only way to not have to involve a stylus, but it just looks weird. At least it’s got the ‘tooth.

  • Konfabulator!

    It’s official: Yahoo snagged Konfabulator. It’s free now too. I really love it when cool tech gets bought by the big guys and re-released for free. Having apps like Konfabulator and Google Earth definitely gets rid of that “Cool but is it $X cool?” barrier.

    Go Yahoo! Nice buy.

  • Thoughts on Ajaxian Advertising

    When I read Jason Calacanis’ post about Ajax and ad revenues I couldn’t help but think about the flip side of the coin: how can advertisers (and webloggers/content publishers take advantage of Ajax-fu to increase revenues?

    Sure, advertisers have been taking advantage of Javascript to serve up popups, pop-unders, hijack your screen holding you hostage, and a myriad of other nasties. That’s not what I’m talking about (although there’s always something new to make me look at crappy ads). I’m thinking more about smart stuff that can be done to increase value for advertisers as well as readers. What the heck am I talking about? Here are some thoughts:

    • Auto-Refreshing Text ads. This would have to be done carefully, as I tend to stay as far away as possible from ads that make my eyes bleed. I really love text ads because (at least with Google) they tend to be right on the money, relate to the rest of the content on the page, and often enough are interesting enough to click on in a short attention span kind of way. You could do all kinds of sexy stuff, like scroll the top ad off and bring one up from the bottom in a skyscraper configuration, or just do a fade swap for a new ad. Because they’re still text ads, and the new ad is probably just as targeted, it just might work. Most text ads are pay per click not pay per view, so costs per ad wouldn’t got up any, you wouldn’t have to pay the content publisher any more unless there’s an actual click involved.
    • Context-Sensitive Ads, Part I: Take the success of text ads one step further. Who’s to say that an Ajaxian click can’t involve another impression? If someone chooses to drill down to more pictures of Lindsay Lohan, why not update that ugly sidebar ad? Or of course you could use the opportunity to scan the new content and update text ads if necessary. That’d be kinda cool.
    • Context-Sensitive Ads, Part II: Hey, take that one step further. How about ads that update themselves onHover(). Again, don’t be stupid. Get too fancy or make my eyes bleed and I’ll probably not come back. But couple this with unobtrusive value-adding textads (Hover over a title containing the word “giraffe” and you get some text ads involving giraffes). This may not work quite as well as an ajaxian fold/expand call (a click would make the user more likely to expect an “event” to happen). It’s also mighty tempting to flog something like this to death.
    • Interactivity in a meaningful way: No, I don’t want to punch the monkey. But how can Ajax help me interact with an ad in a way that I might find useful? What about an ad that provides me with some information (or something else) that I’m looking for. For example, if I were hawking Wikipedia, I might infer something based on the content from the page and serve up an excerpt from a related article. If I didn’t get it right the first time maybe I’d offer some other suggestions. A click on that suggestion might provide another excerpt rather than just send me on over to the page. Something like this might have the same effect as the Google multi-click banner ads that Jason describes here.
    • Something completely different: This whole Ajax thing is still a baby. There’s a lot that hasn’t been done with Ajax yet, and even more stuff that hasn’t been thought up yet. There’s a ton of potential here and I expect a lot of smart people to push the envelope. Who knows, some of them might even apply it to online ads.
    • Nokia Device Program Dissapears?

      I wouldn’t exactly call this huge news, but it appears that Forum Nokia has discontinued their device loaner program (at least in the US). I’m not sure if the program has migrated over to Forum Nokia PRO or if it’s been dropped completely. Either way, I’m not too suprised, as I’ve submitted a couple of requests for loaners over the past year or so and haven’t heard back. They’re probably swamped with more requests than they can handle. Yeah, it’s sad to see a resource like this dissapear (I’m pretty sure it was still around amonth or so ago), but at the same time I was never able to take advantage of it. I wouldn’t be suprised if they just didn’t see any commercial value in my request, but I’d rather think that my request just got lost in a gigantic stack of requests and they never got around to looking at it…

    • Latest WordPress

      Please bear with the default WP theme for a little bit. I hope to get my previous template back up soon, but I finally took the plunge and updated to the latest WordPress release (something I should have done some time ago). Let me know if you experience anything super weird.

    • Hang In There Londoners

      More realtime news in London again today (thanks to JibberJim for relaying the breaking news). BBC News and Sky News are reporting that a suspected suicide bomber has been shot at Stockwell station this morning.

      Hang in there, guys and gals.

    • Nokia 6682: Finally!

      It’s a little past Q2, but that’s okay, because according to Russ, the 6682 is available directly from Nokia USA. It definitely has the early adopter tax applied to it, weighing in at about 600 bucks.

      I’m hoping that Cingular (or more likely) Let’s Talk or another reseller has it in stock so I can pick one up on contract (and hopefully at least take a couple hundred bucks off the list price). I really wish that I was in the position to drop $600 on this phone that I’ve been waiting for since it was announced, but that’s just not in the cards. Too much talk and not enough action on my part I guess. I am hoping to pick it up as soon as I can on contract, so I should be somewhere behind the affluent early adopters but before the masses.

      Thanks for getting this one out the door Nokia, I look forward to snagging one.

      Update:

      I just re-read this post and I realized that it comes across a bit cranky. Sorry about that, yesterday was a long day.

      According to the specs and what I’ve heard the 6682 is an awesome little phone. When I snagged my 3650 (again, after Russ but before most of the American blogosphere picked up on how much it rocked) list price was probaly close to if not at $600. Lucky for me it had been out just long enough to be free after rebates through Amazon.

      Oh, 6682, you will be mine soon enough…

    • Django: Trivial Patch

      Last night I ran across a deprecation warning when running django-admin.py startproject <projectname>, so I went to file a ticket but found that someone else had experienced the same problem. I looked at the solution, and on the surface it looked like the fix involved replacing from whrandom import choice to from random import choice. Indeed that was all it took, so I submitted a (trivial) patch and continued to bang on Django a bit more.

      That trivial patch made me really wish that there were unit tests for Django. I would have felt a lot better knowing that after applying my patch n tests still passed with flying colors. Without a test framework in place, I really had no idea if my trivial search and replace broke something. It’s possible that somewhere in the code was really expecting some behavior specific to whrandom that was just slightly different than the behavior of random.

      I’m going to hunt around for other little trivial fixes that don’t require carnal knowledge of the codebase and submit patches if I can come up with a fix. At the same time I hope that Nelson’s test suite ticket gets noticed. I wouldn’t mind doing some of the dirty work once a framework is in place, but as always I defer to Adrian and the core Django team when it comes to policy and implementation.

    • Keeping Up With Django

      It’s been quite amazing watching this framework called Django, pulled from a production environment, evolve in realtime right before my eyes. Adrian has been committing changes left and right, fixing bugs, adding features, and most importantly lowering the barrier for new users. Docs and tutorials are being clarified, things made simpler, and a few of those nagging problems are dissapearing in front of my eyes.

      Yesterday Adrian modified the cookie system so that we didn’t have to add a custom setting in order to make it work. He’s also moved DJANGO_SETTINGS_MODULE to a Python variable so you should no longer have to set an environment variable in order to tel the system which module you want to run. Strike that, you still need the environment variable, the name is just user configurable. (Thanks Stefano!) And of course the addition of django-admin.py runserver lets you bypass mod_python or another WSGI-compliant server while you are just checking out the framework or during initial development.

      jango team and everyone in the quickly expanding community. If you’re having trouble with something, hop on #django at Freenode, there’s probably someone else in there who has experienced the exact same thing. And don’t forget to svn up often!

      Now that I’ve gone through the tutorials and have reasonably wrapped my head around the framework I plan to work on a small project to flex my newly found Django muscles.

      Update:

      As always, Adrian has made our lives simpler, this time with Changeset 247:

      Added ‘–settings’ option to django-admin. This specifies which settings module to use, if you don’t want to deal with setting the DJANGO_SETTINGS_MODULE environment variable. Refactored django-admin to use optparse. Updated the tutorials to use ‘–settings’ instead of environment variables, which can be confusing.

    • OXLook for OPEN-XCHANGE

      Nice! I was looking for more information on how much OXLook for the open source version of OPEN-XCHANGE is, and they’re only $20 a seat! More information on the Outlook connector can be found here.

      In an ideal world it would be awesome if I could use the built-in exchange syncronisation on my Dell X30, but that’s a no-go. Plugging it in to a windows desktop in order to sync changes made from the web portal or from ical-over-webdav to Evolution( (I hope) might be the closest I can get to perfection.

      I’m still not sure what is going to be best to get me organized, but right now I think a “try something and see if it works” attitude is the way to go.

    • Pimp My Django

      Pimp My Django

      Yeah, baby! Thanks to tons of SVN updates, I’ve managed to plow through the second Django tutorial unscathed. I’m really impressed with the admin interface and how a dab of Python can do stuff like create a sidebar or create a rocking search interface.

      Huzzah!

    • Hey Apple: That\’s Just Silly!

      AppleInsider:

      Under the revised store hours, most Apple retail locations will operate: 7 a.m. to 10 p.m. Mon-Fri, 8 a.m. to 10 p.m. on Saturdays, and 10 a.m. to 9:30 p.m. on Sundays, according to ifoAppleStore.

      Aww, comeon. Who did you pay how much to come up with that? You’re going to loose money on this and go back to the old hours eventually. Trust me.

    • Django: Making it Easier

      Yes! Adrian has just commited a patch that bypasses mod_python completely!

      mcroydon@mobilematt:~/django/proj$ django-admin.py runserver
      Starting server on port 8000. Go to http://127.0.0.1:8000/ for Django.

      svn up in your django_src dir and enjoy.

    • Django Gotchas

      I know that a lot of these things will get ironed out or explained more clearly once the platform matures and more people start using it, but here are some tips for early Django adopters trying to get through the tutorials:

      1. Don’t name your project test. I know it sounds like a good idea now. I did the same. Trust me though, at the beginning of Tutorial 2 you’ll start kicking yourself when you run in to namespace collisions with the test module. In order to make this warning a bit more abstract, you’re best off not naming your project anything that is a Python module in the Python Standard Library
      2. Your project directory should be somewhere in your Python Path. Under Linux your best bet is to set the PYTHONPATH environment variable. Here’s the gotcha, if your project is in /path/to/project, you actually want to set your PYTHONPATH variable to /path/to. On a per-session basis you can do this by doing something like export PYTHONPATH=/path/to
      3. In order to really use django-admin.py as often as you’re going to, you really want to symlink it to /bin or /usr/bin. For me (again, under Ubuntu having checked out Django via Subversion), ln -s /usr/lib/python2.4/site-packages/django/bin/django-admin.py /usr/bin/django-admin.py did the trick.
      4. Really pay attention to the install instructions and make sure you symlink your django install to /usr/lib/python/site-packages correctly.
      5. I’m still dealing with the newbie cookie authentication bug that tends to creep up partway through the second tutorial, but I was able to get the admin login to pop up by using the following settings for Apache2 and mod_python (with special thanks to #django and the Django on OSX installation guide):
        <location /admin/>
                SetHandler mod_python
                PythonHandler django.core.handler
                PythonPath sys.path+['/home/mcroydon/django']
                SetEnv DJANGO_SETTINGS_MODULE proj.settings.admin
                PythonDebug On
        </location>

        The PythonPath to the directory containing your project is again quite critical. This is where the test collision will show up if you’ve been foolish enough to name your project test. Make sure that DJANGO_SETTINGS_MODULE points to your project. This worked perfectly for me under Ubuntu Hoary, but YMMV. PythonDebug On is your friend here and turns a plain jane 500 error into a traceback.

      Gotchas like these are going to have to be minimized in order to not scare away newbies and also enable that “running start” feeling that you get with Rails. I’m sure that a few of these are mitigated by setup.py in the tarball and the rest should be made a lot easier once WSGI support is added (and I’m glad to hear that adding a built-in server is on the list somewhere) should take care of the rest.

      I do have to say that so far (gotchas aside) I’m really impressed with the platform. It’s great to be able to work with the Python interpreter to flush out some test data (you can do similar things with the Ruby interpreter with Rails, but Python is my native language). I also got warm fuzzies when someone asked if there was a mail module for Django. Heck, Python has an awesome standard library, why not use it?

      Thanks again to everyone in #django on Freenode for all the help and guidance. Now it’s time to get back to that login gotcha.

      Note: Django is a moving target right now. Since I wrote this early this morning, support for a standalone server has been added (just after WSGI support was added) and lots of little bugs and niggles are being taken care of as I type.