Open Guide to Boston

Posted in OpenGuides on November 19th, 2005 at 20:12:39

Since I’m now in a bigger, better, brighter city, I restarted some of the work I’d done on creating an OpenGuide for where I lived, previously Manchester, now Boston.

There was some discussion over simply using MediaWiki in a local LiveJournal community for the storage of the content, but I made an argument for structured metadata. After creating a Google Maps View of Things in Boston, I think that I convinced the detractors that the structured metadata technique evangelised by OpenGuides can be a much more useful for expansion.

As usual, however, the wiki nature of the OpenGuide has led to it lapsing as a data source. I can only spend so many hours a day adding and editing nodes, and with limited help, the resource is unfortunately limited in content.

This is a cry for help. If you are in Boston, or know of things in Boston, or know people who know of things in Boston, have them hop on the bandwagon. I’d love to see the Boston Guide take over from places like CitySearch for top Google hits. A service where people can contribute directly to the content, good or bad, is much more worthwhile to me as a user than one where all I get is the phone book description from an agency which probably charges to list there.

Help show the power of wiki! Help make the Open Guide to Boston great!

Digital Photography

Posted in Social on November 19th, 2005 at 19:55:56

In the next couple weeks, I’ll be getting a new Canon Digital Rebel XT (EOS 350D) with a 18-55 “kit” lens. I finally got tired of my 2 megapixel Kodak CX4230, and I got a nice deal worked out on the camera due to some rebate offers and talking with my father, who’s buying a Canon 20D.

I’d love to hear some interesting things that people are doing with creating and sharing digital photography from relatively high quality cameras.

MerriLUG and Ning

Posted in Ning, PHP, Social on November 18th, 2005 at 10:34:45

Attended my old Linux Users Group in NH last night: there was no scheduled speaker, so it was mostly just a “hang out and talk” type of meeting at Martha’s, in Nashua, NH.

Here’s a summary of how the meeting went from my point of view:

Had fun with all the MerriLUG folks last night. I also got to experience driving out of the Boston area during rush hour last night for the first time, which was significantly less fun.

Some things which were discussed:

* Results of the recent quarterly meeting, and location of the next one
* General questions on Linux:
** Why won’t my screen turn off when the computer goes into standby?
** How can I do load testing of MySQL and network traffic?
* Raffling off of books from Ken
* How Vendor/Client relationships are like teenage sex: They’re hormone driven and have no basis whatsoever in reality.

I also led some discussion on Ning. The reason I brought it up was in part because it is following the model of the open source world so much more closely than many other
services out there:

* Ning provides a “hosted” PHP framework
* All code, by default, is “open source” — can be viewed by anyone with an account.
* Users can “clone” applications: take the current application and customize it to their own liking from the same code
* Data is stored in a universal content store, and data is (by default) accessible to all applications across the server. So, my application “gnhlugbookshelf” can also read from the “restaurantreviewswithmaps application
* Income comes in via advertisements sold on the sidebar of the applications, as well as premium services (more space, removal of view source links, and the like)

Most of the time when this is described, it’s described as an “experiment” – can a company make money solely off ads to run their servers? Can premium services pay for all this? My experience with LiveJournal says yes: LiveJournal makes all its money off premium services (no ads), and they gross several million a year. However, their employees are paid much less than Ning’s are, so who knows.

I also mentioned the creation of GNHLUG Bookshelf, an application which “aims to store the suggestions and recommendations of the New Hampshire Linux Users Group on technical books that are the most useful of the bunch.”

Lots of interesting discussion on the business model behind Ning, where it could go from here, and how service is really where the money is these days. Give away the code: sell the service. RedHat learned from this model, and others are doing so too – Ning is simply a widescale demonstration of “give away the code”.

There are aspects of Ning which aren’t given away: the code that runs the playground itself is not open source, but the applications that run on it are. The “secret bits” are still probably important enough to Ning that open sourcing would give away a competitive advantage, but the PHP bits aren’t, since they’re easily reproducible.

Another thing that came up is how much control you have over code you write for Ning and taking it elsewhere. This is a question that has come up in developer discussion before, about how to take your application code elsewhere. What it comes down to is that Ning provides a lot of functionality: shared content store, tagging, user auth, etc., that doesn’t exist anywhere else. There’s no clone of the functionality which you can drop in and replace with something else. There’s nothing to stop people from mirroring the API and creating a way to drop Ning apps into your own webserver, it just hasn’t been done yet. So although you can take the code with you – you own it – it doesn’t do you much good without a lot of work to reproduce the functionality that Ning already provides for you.

Wikimania and Wikimedia

Posted in default, Social on November 11th, 2005 at 16:47:28

About a month ago, I participated in a couple of meetings at the Berkman Blog Group regarding Wikimania, the Wikimedia annual conference, which will be held this year in Boston. Talking with the local organizer, I was interesting in helping in a number of ways where I’m more useful than many other people — having a place to stay and possibly offer to other people, as well as technical skills which not everyone has that might be of assistance.

During the second meeting, I had the oppourtunity to engage with other Wikimedians who would be participating, and to get some of their feelings about the conference and the Berkman Blog Group’s attempt at trying to make things easier for them here in Boston during their convention.

I got a negative vibe from one of the people I spoke to, and later attempted to determine whether my understanding – that Wikimania was dedicated to Wikimedians, and local help in a significant way by people who were not active Wikimedia participants would be appreciated only so long as it didn’t affect the conference – was correct. Although I don’t have an exact quote of my question and the answer, the feeling was, again, negative.

The local organizer here asked me to clarify why I felt pushed away by the Wikimedia participants I had talked to, and this is what I wrote in response:

When I asked if it was the case that the purpose of Wikimania was to further the goals of Wikimedians, and that local people were not being invited to participate in the same way, I was informed that yes, this was the case: assistance from non-Wikimedians was unneccesary. (Sadly, I don’t have the log of this due to a client crash, because it’s the one thing that was said more than anything else that convinced me not to participate.)

Wikipedia has always had a very distinct aura of excluding outsiders. Although the wiki-nature of Wikipedia would seem to act as a counter to that point, many friends who have in the past been heavily involved in Wikipedia have left due to issues relating to negative personal interactions between themselves and other contributors. I have always held Wikipedia at arm’s length due to this, but given the local oppourtunity presenting itself, I thought that maybe I could be convinced otherwise.

What I stumbled into was exactly what I would have been led to expect – an elitist attitude taken by core contributors towards anyone who is not one of the “good ole boys”. Although you were extremely positive towards external help from the people on the ground, every other person I spoke to who in any way represented Wikimedia only left me with a bitter taste in my mouth.

I was hoping that Wikimedia was really a good group of people, done wrong by the masses who consider themselves to be “better than you” because they participate more. Instead, I found out that that attiude is perpetrated all the way to the top, at least from my external point of view.

As a result of the general vibe and the specific statements requesting that non-Wikimedians not take part in the planning and activities surrounding Wikimania, I’ve decided simply not to bother.

Another friend of mine put it best: “The only way to participate in Wikipedia is to just edit, and ignore all those people behind the ‘Discussion’ link.”

Long Tail Camp

Posted in Social on October 31st, 2005 at 02:36:25

Long Tail Camp Logo
I sometimes wonder if things may have gone too far. I’m not really sure. But whether they have or not, I’m all in favor of Long Tail Camp.

I think it’s about time that The Commune hosted a camp.

Make sure to check out the LongTailCamp homepage, for all the wiki-est info around.

(Is this humour, or just reality? I don’t know, but I’m in favor of it either way.)

Find A Developer

Posted in Ning on October 16th, 2005 at 03:12:34

Ever heard of Rent-a-Coder? Post a project and a bounty, and grab the next person who comes along. Like so many great apps, it’s now got a Ning equivilant: Find-a-Developer.

I’ve been playing with this app, and I can honestly say that it is the best architected web application I’ve seen in a long time. Links where I need them, when I need them, without me needing to think about them. I don’t need to look through navigation or search through mystery-meat menus: everything just flows so nicely.

The only problem I have with the app so far is that there are so few Ning developers. I know there are more people than just me out there who are interested in working on Ning, and feel they’d be up to it. The challenge isn’t that hard: get some code together, knock out an App (or link to some older projects) and get going!

Also, there’s the use case for someone who’s not a developer: the kind of people who want to get something done on Ning, but have more cash than time to throw at it. As you can see from Gina’s example, it’s easy to set out what project you want people to work on. Think you can tackle her request? Just drop her a message via the interface. But before you do, you might want to throw a profile together, just in case.

As with all apps on Ning, Find-a-Dev is clonable. Don’t want to work on Ning, but have a desire to set up a Python marketplace? Clone it, change some words, and you’re off. Want to create your own marketplace for knitting services and projects instead? Go for it.

Want to set up a marketplace for bodyguard services — but don’t think you have the PHP code for it? Well, a great place to start would be to post your idea to find-a-dev, and get some people interested in it. After all, there’s probably lots of people out there looking to help write some code for you — you just need to meet and interact. What more perfect playground to find them in than Ning?

(Meta-info: I had a bug in my RSS feed, so the past two entries were delayed. You’ll probably see three updates at once: sorry about that.)

PeopleFinder

Posted in Geolocation, Mobile Platform, Ning, Python, Symbian Python on October 14th, 2005 at 10:23:43

In my spare time (hah!) I’ve been hacking on an app on Ning, called PeopleFinder. The goal is to be a geolocation app, supporting a variety of things social. One of my many goals for a long time has been to create and use some kind of tool which allows me to generate MeNow data with no effort.

I’ve finally got it.

With the help of Geocoder, I can now type in an address, and have it automatically update my location on the website, including showing my position on a GMaps interface. The PeopleFinder API is still a bit weak, but using it, I can write a Client for Series 60 Python, which allows you to update via a GPS lat and long, or via an address.

I’ve created a token system for authentication via the API — when logged in, you simply hit the token link, grab the token, and put it into the client (in the “token” variable).

Eventually, once I write the functionality, it is my hope that I will be able to provide more features via this API — the ability to look for people nearby you, get their information, send them messages, and so on. However, right now this is just a 2-3 hour hack, and I’ve got piles of work to do – but this is so cool I had to share it.

As far as I know, this is the first example of a Ning App exporting a semi-usable API to remote clients. In part, this may be due to previous limitations on Ning’s end which have recently been resolved: looking at the phone client code, you’ll see the ?xn_auth=no parameter, which allows you to skip cookie authentication. It’s a pretty nice solution to the problem in my opinion — it solves what I need while not interfering with the rest of Ning.

So grab your phone, grab a client, and update your address on the go — then, the next time I see you in the neighborhood, I’ll drop by and give you a wave.

Logical and Precedence

Posted in default, Perl, PHP on October 14th, 2005 at 07:45:04

Something I was previously unaware of:

The reason for the two different variations of “and” and “or” operators is that they operate at different precedences.

PHP’s && vs. and have different precedence? Who thought this was a smart idea? What end or purpose could it possibly serve?

Yet another one of the things that just makes me smack my head. It does explain a few things — why I couldn’t do variable setting as I might in Perl, a la:

$var = $test || $default;

In this case, the test occurs first, setting $var = 1; Had I used:

$var = $test or $default;

All would have been fine.

How can someone think this is sane?

Hey! I was blogged!

Posted in default, Ning on October 14th, 2005 at 01:26:12

Today I did some work improving one of the Ning example apps, making it work faster, better, stronger. The app is Bookshelf, and it’s a ton of fun to watch. Basically, users add books (via the Amazon API), rate them, and comment on them.

Some aspects of the app were running way too slow, since it was designed and tested when the system was under no load at all, a situation which makes load testing very difficult. I won’t go into the technical details, but the long and short of it is that I took the book adding process and quartered the time it takes.

Apparently my changes were important, since Gina blogged about it. Although I’ll admit I had no idea who Marion Jones was until I Googled it, it sure made me feel special.

Gina also passed along the good news to me that helping out other projects in the free time I’ve got isn’t a problem from her end – so long as Ning projects come first. So, if you have interest in working to get an app running on Ning, but don’t have the spare time to learn all the ins and outs, feel free to drop me a line.

This is such a freedom after my last job, where doing any work outside the company was considered treason. It simply reassures me, yet again, that taking the job working for Ning is the best thing that has happened to me since I have left school — I’m working on fun projects, in a forward-looking environment, with great people, and a great management team above it all. While wedu is busy building the next version of We Don’t Get The Web, I’m helping to build the future, and I’m having the time of my life doing it.

Now to get some of my other apps up to snuff: a recent change in the core means that I can get access to pages without the use of cookies, which means it’s time to write that location updater client for my cell phone.

Updates as they come!

Ning Aggregator

Posted in Ning, PHP, Web Publishing on October 6th, 2005 at 04:10:39

Most of my work on Ning thus far has been in editing other apps, a large portion of it in testing and QA work. Since the launch, I’ve been taking a couple days “off” — still playing with ning, but at my own pace rather than at a “Almost time to release” pace.

Today, I built my first complete and clonable app from scratch.

Planet Ning is a planet style aggregation tool, supporting RSS 2.0 fields and the ability to rate any RSS item. This app took a total of about 1.5 hours to put together, a large part of that simply playing with design to get it to look semi decent. It uses the RSS alpha component for RSS parsing, XNC_HTML for the page bottom navigation, XNC_Rating for ratings, and the “bot” option to load new posts.

Pretty cool little app. One spot of trouble I ran into: XNC_Rating is designed to have only one form field per page. I overrode just one function to fix it though, testament to the flexibility of the code behind some of the XNC components. This is also a testament to Object Oriented code, and PHP 5 in general: in PHP4, I’m sure this would have been much harder, but PHP5’s exceptional class support, along with exception handling, make it so much more fun to work with than PHP4 was for me.

You can feel free to clone the app and play with it: it’s not ‘complete’ by any means, but it definitely works.