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.
Author: Matt Croydon
-
Nokia is Serious About Linux and Maemo
-
Django + lighttpd + FastCGI
Hugo has taken the plunge and provides installation instructions for Django + lighttpd + FastCGI. Thanks, Hugo!
-
Nokia 6682 For $25?
I’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
I 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
-
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 replacingfrom whrandom import choice
tofrom 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 ofrandom
.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 movedStrike that, you still need the environment variable, the name is just user configurable. (Thanks Stefano!) And of course the addition ofDJANGO_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.django-admin.py runserver
lets you bypassmod_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
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!
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 yourdjango_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:
- 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 thetest
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 - 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 yourPYTHONPATH
variable to/path/to
. On a per-session basis you can do this by doing something like exportPYTHONPATH=/path/to
- 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. - Really pay attention to the install instructions and make sure you symlink your django install to
/usr/lib/python
correctly./site-packages - 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 thetest
collision will show up if you’ve been foolish enough to name your projecttest
. 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.
- Don’t name your project
-
Django: Python on Rails?
Let the buzz over Django begin. I first saw it fly by very early this morning as Clint Ecker pointed to some documentation. Simon Willison has given it a proper introduction this morning.
I definitely need to take a close look at Django if it can approach the productivity of Rails while speaking my native Python. I could be missing something, but I think one very important thing that Django needs in order to have that running start in development productivity is to ship with a small HTTP server available by default. Rails uses WEBrick for this and allows development without the need to mess with Apache or lighttpd in order to start coding. It should be trivial to add similar functionality to Django (with CGIHTTPServer and all).
I don’t mean to rag on the new framework on the block. I think Django has a ton of potential. It’s off to the right start, having been extracted from a working environment being worked on by some really smart people.
We’ll see how this turns out, but I’m extremely excited.
-
XM Radio: The Tipping Point?
While walking around the electronics section at Target last weekend, I began to wonder if XM Radio had reached the tipping point, and I”m beginning to think that the answer is “yes.”
XM claims to have over 4 million subcribers, vs. Sirius‘ 1.4 million. It remains the horse to beat, something that I’ve felt since the two satellite radio services launched.
Why do I think that XM is reaching the tipping point? Many reasons actually, but I think it all hit me in the electronics aisle of Target. First off, they’ve been playing a heck of a lot of Live 8 content on some of their channels, which is cool.
The second part hit me when I actually used an XM device for a bit a few weeks ago. It’s actually my parents equipment in my old bedroom at their place. Yep, my parents have XM, not me. XM has an amazing range of content. There’s stuff that my dad loves, and stuff that I really like too. Two of my favorite channels so far are XM Cafe and The Loft. In addition to a station playing Live 8 stuff I found myself flipping between these two channels because they offered that sort of eclectic mix that I can never seem to get enough of.
Everything came together when I saw the XM receiver kit that my mom had bought my father on the shelf at Target for $50. Holy crap, that’s cheap. XM is also sneaking its way in to car CD players, new cars, boomboxes, and home stereo systems. It’s really starting to pop up everywhere. I also love the idea of the XM2Go portable receiver which is bigger than an iPod but smaller than a CD player, goes with you everywhere, and lets you record up to 5 hours of content.
Call me slow, but I think XM is at its tipping point (if it’s not well past it and I just didn’t get the memo) and it’s smooth sailing from here. Heck, for the monthly subscription fee you can also listen to some of their channels online.